VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDecalModelInstance.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2017 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <osg/BoundingSphere>
15 
16 namespace osg
17 {
18  class Geode;
19  class Group;
20 }
21 
22 namespace makVrv
23 {
24 
25  class DtOsgRibbon;
26  class DtSceneObject;
27 
32  {
33  public:
34 
36  virtual ~DtDecalModelInstance();
37 
40  virtual bool realize( DtModelDefinition& definition );
41 
43  virtual void addToConnector( DtOsgSceneConnector* connector );
44 
46  virtual bool removeFromConnector( DtOsgSceneConnector* connector );
47 
49  virtual void setParentSceneObject( const DtUniqueID& sceneObjID );
50 
53  virtual DtSceneObject* parentSceneObject();
54 
58  virtual void setOcclusionEnabled( bool enabled );
59 
61  virtual void setColor( const osg::Vec4& color );
62 
64  virtual void setVisible( bool isVisible ) {}
65 
67  virtual void update();
68 
71  virtual void setNewParticleVisible( bool enabled );
72 
77  virtual void setPositionOffset(const osg::Vec3& offset);
78 
79  protected:
80 
82 
85 
87  virtual DtOsgRibbon* createRibbonEffect( const osg::Vec3& pointA,
88  const osg::Vec3& pointB );
89 
91  virtual osg::Node* findFromCache( DtModelDefinition& definition );
92 
93  protected:
94 
98  bool myColorSet;
99  osg::Vec4 myColor;
101  osg::Vec3 myPositionOffset;
102 
103  // When the class is destructed, the parent scene object may or may not
104  // exist. Using a separate connection variable makes it possible to
105  // 'disconnect' even if the scene object has been deleted.
106  boost::signalslib::connection mySceneObjectConnection;
107 
108  };
109 
110 
114  : public DtModelInstanceCreator
115  {
116  public:
117 
119  static void registerCreator( DtDe& de );
120 
122  virtual ~DtDecalModelInstanceCreator();
123 
125  virtual DtModelInstance* create( DtDe& de );
126 
127  protected:
128 
130 
131  };
132 
133 }
The base class for all model instances.
Definition: DtModelInstance.h:39
A Creator for the makVrv::DtOsgSimpleModelInstance class.
Definition: DtDecalModelInstance.h:113
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
virtual void setVisible(bool isVisible)
no-op
Definition: DtDecalModelInstance.h:64
osg::Vec3 myPositionOffset
Definition: DtDecalModelInstance.h:101
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
bool myNewParticleVisible
Definition: DtDecalModelInstance.h:100
bool myColorSet
Definition: DtDecalModelInstance.h:98
bool myOcclusionEnabled
Definition: DtDecalModelInstance.h:97
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:72
The polymorphic creator for the DtModelInstance.
Definition: DtModelInstance.h:148
osg::ref_ptr< DtOsgRibbon > myRibbon
Definition: DtDecalModelInstance.h:95
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
DtUniqueID myParentId
Definition: DtDecalModelInstance.h:96
Base class for OSG ribbon implementations.
Definition: DtOsgRibbon.h:25
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
voidpf uLong offset
Definition: ioapi.h:42
boost::signalslib::connection mySceneObjectConnection
Definition: DtDecalModelInstance.h:106
A model instance creates a decal ribbon model instance effect from a model definition.
Definition: DtDecalModelInstance.h:31
osg::Vec4 myColor
Definition: DtDecalModelInstance.h:99

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)