VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTacticalSmokeModelInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
16 
17 #include <osg/ref_ptr>
18 #include <osg/Switch>
19 #include <osg/Vec2>
20 #include <osg/Vec4>
21 
22 #include <string>
23 #include <vector>
24 
25 #include <matrix/vlVector.h>
26 
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtModelDefinition;
32  class DtParticleSystemModelInstance;
33  class DtCoordinateSystem;
34 
41  {
43 
44  public:
48 
51 
57  virtual bool realize(DtModelDefinition& definition);
58 
61  virtual void setVisible(bool isVisible);
62 
66  virtual void setPuffPosition(int puffIndex, const DtVector& fxSysPosition);
67 
70  virtual void setWindDirection(const DtVector& winddir);
71 
73  virtual void slot_handleWindDirectionChanged(float dir);
74 
76  virtual void slot_handleWindSpeedChanged(float speed);
77 
79  virtual void start();
80 
82  virtual void stop();
83 
85  virtual void pause();
86 
88  virtual void resume();
89 
90  protected:
92  virtual void destroyEffect();
93 
95  virtual void updateWind();
96 
98  virtual void createFxSystem(DtModelDefinition& definition);
99 
101  virtual void slot_coordinateSystemChanged();
102 
103  protected:
107 
108  float myWindSpeed;
111  bool myUpSet;
112 
115  DtCoordinateSystem* myCoordinateSystem = nullptr;
116  };
117 
118 
123  {
124  public:
125 
127  static void registerCreator(DtDe& de);
128 
131 
133  virtual DtModelInstance* create(DtDe& de);
134 
135  protected:
137  };
138 
139 
140 }
141 
The base class for all model instances.
Definition: DtModelInstance.h:39
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
virtual ~DtTacticalSmokeModelInstanceCreator()
DTOR.
Definition: DtTacticalSmokeModelInstance.h:130
DtSignalConnectionManager myConnections
Definition: DtTacticalSmokeModelInstance.h:106
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.
DtVector myUp
Definition: DtTacticalSmokeModelInstance.h:110
The base class for simple OSG based model instances. This call can&#39;t be instantiated itself...
Definition: DtOsgModelInstance.h:77
DtTacticalSmokeModelInstanceCreator()
Definition: DtTacticalSmokeModelInstance.h:136
The polymorphic creator for the DtModelInstance.
Definition: DtModelInstance.h:148
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtVector myPosition
Definition: DtTacticalSmokeModelInstance.h:105
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:41
float myWindDirection
Definition: DtTacticalSmokeModelInstance.h:109
A virtual base class for a particle effect from a model definition.
Definition: DtParticleSystemModelInstance.h:35
Base class to provide boost signal/slot management.
A Creator for the makVrv::DtTacticalSmokeModelInstance class.
Definition: DtTacticalSmokeModelInstance.h:121
Contains DLL export macros.
bool myUpSet
Definition: DtTacticalSmokeModelInstance.h:111
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
float myWindSpeed
Definition: DtTacticalSmokeModelInstance.h:108
DtParticleSystemModelInstance * myFxCloud
Definition: DtTacticalSmokeModelInstance.h:104
A model instance of a tactical smoke cloud consisting of several puffs of smoke. This requires the us...
Definition: DtTacticalSmokeModelInstance.h:40

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)