VR-Forces 4.8 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:
63  virtual bool realize( DtModelDefinition& definition );
64 
66  virtual void addToConnector( DtOsgSceneConnector* connector );
67 
68  virtual void updateRibbonWidth();
69 
71  virtual bool removeFromConnector( DtOsgSceneConnector* connector );
72 
74  virtual void setParentSceneObject( const DtUniqueID& sceneObjID );
75 
78  virtual DtSceneObject* parentSceneObject();
79 
82  virtual void setOcclusionEnabled( bool enabled );
83 
85  virtual void setRibbonSpacing( float spacing );
86 
91  virtual void setRibbonLength( int maxSamples );
92 
96  virtual void setRibbonTimeout(float duration);
97 
99  virtual void setColor( const osg::Vec4& color );
100 
102  virtual void setVisible( bool isVisible ) {}
103 
105  virtual void update();
106 
108  osg::Node* sensorNode();
109 
111  const osg::Node* sensorNode() const;
112 
113  protected:
115  virtual osg::Node* findFromCache( DtModelDefinition& definition );
116 
117  protected:
118 
126  osg::Vec4 myColor;
127 
128  boost::signalslib::connection myBoundingVolumeConnection;
129  boost::signalslib::connection myParentSceneObjectConnection;
130 
131  };
132 
133 
137  : public DtModelInstanceCreator
138  {
139  public:
140 
142  static void registerCreator( DtDe& de );
143 
145  virtual ~DtRibbonModelInstanceCreator();
146 
148  virtual DtModelInstance* create( DtDe& de );
149 
150  protected:
151 
154 
155  };
156 
157 }
The base class for all model instances.
Definition: DtModelInstance.h:39
boost::signalslib::connection myBoundingVolumeConnection
Definition: DtRibbonModelInstance.h:128
boost::signalslib::connection myParentSceneObjectConnection
Definition: DtRibbonModelInstance.h:129
float myRibbonTimeout
Definition: DtRibbonModelInstance.h:124
DtUniqueID myParentId
Definition: DtRibbonModelInstance.h:120
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
int myRibbonLength
Definition: DtRibbonModelInstance.h:123
Creator for the DtRibbonModelInstance class.
Definition: DtRibbonModelInstance.h:136
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:33
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:72
virtual void setVisible(bool isVisible)
no-op
Definition: DtRibbonModelInstance.h:102
osg::ref_ptr< DtOsgRibbon > myRibbon
Definition: DtRibbonModelInstance.h:119
The polymorphic creator for the DtModelInstance.
Definition: DtModelInstance.h:148
bool myOcclusionEnabled
Definition: DtRibbonModelInstance.h:121
float myRibbonSpacing
Definition: DtRibbonModelInstance.h:122
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
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:125
osg::Vec4 myColor
Definition: DtRibbonModelInstance.h:126

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)