VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRibbonModelInstance.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 #include <vrvOsg/DtOsgRibbon.h>
16 
18 
19 #include <matrix/vlVector.h>
20 
21 #include <osg/ref_ptr>
22 
23 namespace osg
24 {
25  class Geode;
26  class Group;
27 }
28 
29 namespace makVrv
30 {
31 
32  class DtOsgRibbon;
33  class DtSceneObject;
34 
39  {
40  public:
41 
43  virtual ~DtRibbonModelInstance();
44 
45  protected:
46 
48 
51 
52  private:
59 
60  public:
64  virtual bool realize( DtModelDefinition& definition );
65 
67  virtual void addToConnector( DtOsgSceneConnector* connector );
68 
69  virtual void updateRibbonWidth();
70 
72  virtual bool removeFromConnector( DtOsgSceneConnector* connector );
73 
75  virtual void setParentSceneObject( const DtUniqueID& sceneObjID );
76 
79  virtual DtSceneObject* parentSceneObject();
80 
83  virtual void setOcclusionEnabled( bool enabled );
84 
86  virtual void setRibbonSpacing( float spacing );
87 
92  virtual void setRibbonLength( int maxSamples );
93 
97  virtual void setRibbonTimeout(float duration);
98 
100  virtual void setColor( const osg::Vec4& color );
101 
103  virtual void setVisible( bool isVisible ) {}
104 
106  virtual void update();
107 
109  osg::Node* sensorNode();
110 
112  const osg::Node* sensorNode() const;
113 
114  protected:
116  virtual osg::Node* findFromCache( DtModelDefinition& definition );
117 
118  protected:
119 
127  osg::Vec4 myColor;
128 
129  boost::signalslib::connection myBoundingVolumeConnection;
130  boost::signalslib::connection myParentSceneObjectConnection;
131 
132  };
133 
134 
138  : public DtModelInstanceCreator
139  {
140  public:
141 
143  static void registerCreator( DtDe& de );
144 
146  virtual ~DtRibbonModelInstanceCreator();
147 
149  virtual DtModelInstance* create( DtDe& de );
150 
151  protected:
152 
155 
156  };
157 
158 }
The base class for all model instances.
Definition: DtModelInstance.h:39
boost::signalslib::connection myBoundingVolumeConnection
Definition: DtRibbonModelInstance.h:129
boost::signalslib::connection myParentSceneObjectConnection
Definition: DtRibbonModelInstance.h:130
float myRibbonTimeout
Definition: DtRibbonModelInstance.h:125
DtUniqueID myParentId
Definition: DtRibbonModelInstance.h:121
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
int myRibbonLength
Definition: DtRibbonModelInstance.h:124
Creator for the DtRibbonModelInstance class.
Definition: DtRibbonModelInstance.h:137
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:38
Contains makVrv::DtOsgModelInstance class.
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:76
A model instance creates a ribbon model instance effect from a model definition.
Definition: DtRibbonModelInstance.h:38
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:76
virtual void setVisible(bool isVisible)
no-op
Definition: DtRibbonModelInstance.h:103
osg::ref_ptr< DtOsgRibbon > myRibbon
Definition: DtRibbonModelInstance.h:120
The polymorphic creator for the DtModelInstance.
Definition: DtModelInstance.h:148
bool myOcclusionEnabled
Definition: DtRibbonModelInstance.h:122
float myRibbonSpacing
Definition: DtRibbonModelInstance.h:123
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class to provide boost signal/slot management.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Base class for ribbons.
bool myColorSet
Definition: DtRibbonModelInstance.h:126
osg::Vec4 myColor
Definition: DtRibbonModelInstance.h:127

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)