VR-Forces 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) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
16 
18 
19 #include <osg/ref_ptr>
20 #include <osg/Switch>
21 #include <osg/Vec2>
22 #include <osg/Vec4>
23 
24 #include <string>
25 #include <vector>
26 
27 #include <matrix/vlVector.h>
28 
29 
30 namespace makVrv
31 {
32  class DtDe;
33  class DtModelDefinition;
34  class DtParticleSystemModelInstance;
35  class DtCoordinateSystem;
36 
37  class DtTacticalSmokeModelInstance;
38 
39  template <>
40  inline const char* modelInstanceClassName<DtTacticalSmokeModelInstance>(void) { return "DtTacticalSmokeModelInstance"; }
41 
42  template <>
43  inline const char* modelInstanceObjectClass<DtTacticalSmokeModelInstance>(void) { return "DtOsgTacticalSmokeModel"; }
44 
46 
53  {
55 
56  public:
60 
63 
69  virtual bool realize(const DtModelDefinition& definition);
70 
73  virtual void setVisible(bool isVisible);
74 
78  virtual void setPuffPosition(int puffIndex, const DtVector& fxSysPosition);
79 
82  virtual void setWindDirection(const DtVector& winddir);
83 
85  virtual void slot_handleWindDirectionChanged(float dir);
86 
88  virtual void slot_handleWindSpeedChanged(float speed);
89 
91  virtual void start();
92 
94  virtual void stop();
95 
97  virtual void pause();
98 
100  virtual void resume();
101 
102  protected:
104  virtual void destroyEffect();
105 
107  virtual void updateWind();
108 
110  virtual void createFxSystem(const DtModelDefinition& definition);
111 
113  virtual void slot_coordinateSystemChanged();
114 
115  protected:
119 
120  float myWindSpeed;
123  bool myUpSet;
124 
127  DtCoordinateSystem* myCoordinateSystem = nullptr;
128  };
129 }
130 
const char * modelInstanceObjectClass< DtTacticalSmokeModelInstance >(void)
Definition: DtTacticalSmokeModelInstance.h:43
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: DtTemplatedModelInstanceCreator.h:32
DtSignalConnectionManager myConnections
Definition: DtTacticalSmokeModelInstance.h:118
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
friend DtTacticalSmokeModelInstanceCreator
Definition: DtTacticalSmokeModelInstance.h:54
Contains makVrv::DtOsgModelInstance class.
DtVector myUp
Definition: DtTacticalSmokeModelInstance.h:122
The base class for simple OSG based model instances. This call can&#39;t be instantiated itself...
Definition: DtOsgModelInstance.h:77
Contains the DtTemplatedModelInstanceCreator class declaration.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
const char * modelInstanceClassName< DtTacticalSmokeModelInstance >(void)
Definition: DtTacticalSmokeModelInstance.h:40
DtVector myPosition
Definition: DtTacticalSmokeModelInstance.h:117
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
float myWindDirection
Definition: DtTacticalSmokeModelInstance.h:121
A virtual base class for a particle effect from a model definition.
Definition: DtParticleSystemModelInstance.h:35
Base class to provide boost signal/slot management.
DtTemplatedModelInstanceCreator< DtTacticalSmokeModelInstance > DtTacticalSmokeModelInstanceCreator
Definition: DtTacticalSmokeModelInstance.h:45
Contains DLL export macros.
bool myUpSet
Definition: DtTacticalSmokeModelInstance.h:123
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:72
float myWindSpeed
Definition: DtTacticalSmokeModelInstance.h:120
DtParticleSystemModelInstance * myFxCloud
Definition: DtTacticalSmokeModelInstance.h:116
A model instance of a tactical smoke cloud consisting of several puffs of smoke. This requires the us...
Definition: DtTacticalSmokeModelInstance.h:52

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)