VR-Forces 5.0.2 Developer's Guide
 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) 2020 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  {
34 
35  public:
36 
38  virtual ~DtDecalModelInstance();
39 
40  private:
41 
44 
47 
49  DtDecalModelInstance &operator=(const DtDecalModelInstance&);
50 
51  public:
52 
56  virtual bool realize( DtModelDefinition& definition );
57 
59  virtual void addToConnector( DtOsgSceneConnector* connector );
60 
62  virtual bool removeFromConnector( DtOsgSceneConnector* connector );
63 
65  virtual void setParentSceneObject( const DtUniqueID& sceneObjID );
66 
69  virtual DtSceneObject* parentSceneObject();
70 
74  virtual void setOcclusionEnabled( bool enabled );
75 
77  virtual void setColor( const osg::Vec4& color );
78 
80  virtual void setVisible( bool isVisible ) {}
81 
83  virtual void update();
84 
87  virtual void setNewParticleVisible( bool enabled );
88 
93  virtual void setPositionOffset(const osg::Vec3& offset);
94 
95  protected:
96 
99 
101  virtual DtOsgRibbon* createRibbonEffect( const osg::Vec3& pointA,
102  const osg::Vec3& pointB );
103 
105  virtual osg::Node* findFromCache( DtModelDefinition& definition );
106 
107  protected:
108 
113  osg::Vec4 myColor;
115  osg::Vec3 myPositionOffset;
116 
117  // When the class is destructed, the parent scene object may or may not
118  // exist. Using a separate connection variable makes it possible to
119  // 'disconnect' even if the scene object has been deleted.
120  boost::signalslib::connection mySceneObjectConnection;
121 
122  };
123 
124 
128  : public DtModelInstanceCreator
129  {
130  public:
131 
133  static void registerCreator( DtDe& de );
134 
136  virtual ~DtDecalModelInstanceCreator();
137 
139  virtual DtModelInstance* create( DtDe& de );
140 
141  protected:
142 
144 
145  };
146 
147 }
The base class for all model instances.
Definition: DtModelInstance.h:39
A Creator for the makVrv::DtOsgSimpleModelInstance class.
Definition: DtDecalModelInstance.h:127
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
virtual void setVisible(bool isVisible)
no-op
Definition: DtDecalModelInstance.h:80
osg::Vec3 myPositionOffset
Definition: DtDecalModelInstance.h:115
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
bool myNewParticleVisible
Definition: DtDecalModelInstance.h:114
bool myColorSet
Definition: DtDecalModelInstance.h:112
bool myOcclusionEnabled
Definition: DtDecalModelInstance.h:111
The base class for simple OSG based model instances. This call can&#39;t be instantiated itself...
Definition: DtOsgModelInstance.h:77
The polymorphic creator for the DtModelInstance.
Definition: DtModelInstance.h:148
osg::ref_ptr< DtOsgRibbon > myRibbon
Definition: DtDecalModelInstance.h:109
DtUniqueID myParentId
Definition: DtDecalModelInstance.h:110
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:42
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
voidpf uLong offset
Definition: ioapi.h:42
boost::signalslib::connection mySceneObjectConnection
Definition: DtDecalModelInstance.h:120
A model instance creates a decal ribbon model instance effect from a model definition.
Definition: DtDecalModelInstance.h:31
osg::Vec4 myColor
Definition: DtDecalModelInstance.h:113

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)