VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
makVrv::DtTacticalSmokeModelInstance Class Reference

A model instance of a tactical smoke cloud consisting of several puffs of smoke. This requires the use of a new Fx Particle System (the model definition passed to ::realize() must contain an "FxSystem" parameter.

Inheritance diagram for makVrv::DtTacticalSmokeModelInstance:
Inheritance graph
[legend]

Public Member Functions

 DtTacticalSmokeModelInstance (DtDe &de)
 
virtual ~DtTacticalSmokeModelInstance ()
 
virtual bool realize (DtModelDefinition &definition)
 
virtual void setVisible (bool isVisible)
 
virtual void setPuffPosition (int puffIndex, const DtVector &fxSysPosition)
 
virtual void setWindDirection (const DtVector &winddir)
 
virtual void slot_handleWindDirectionChanged (float dir)
 
virtual void slot_handleWindSpeedChanged (float speed)
 
virtual void start ()
 
virtual void stop ()
 
virtual void pause ()
 
virtual void resume ()
 
- Public Member Functions inherited from makVrv::DtOsgModelInstance
virtual ~DtOsgModelInstance ()
 
virtual bool cloneInstance (DtModelDefinition &definition)
 
virtual void addToConnector (DtOsgSceneConnector *connector)
 
virtual bool removeFromConnector (DtOsgSceneConnector *connector)
 
virtual bool saveModelToFile (const std::string &filename) const
 
virtual void enableColorBlending (bool b)
 
virtual void setBlendColor (float r, float g, float b, float a)
 
virtual void enableTexture (bool onOff)
 
virtual osg::Node * rootNode ()
 
virtual const osg::Node * rootNode () const
 
virtual osg::Node * sensorNode ()
 
virtual const osg::Node * sensorNode () const
 
virtual void setDynamicSensorRegion (const std::string &region, bool state)
 
virtual bool dynamicSensorRegion (const std::string &region)
 
virtual const
SensorRegionStateMap
dynamicSensorRegionMap () const
 
virtual void slot_atcGlobalModelEnableChanged ()
 
virtual bool alphaToCoverageEnabled ()
 
virtual void registerLightPoints (const std::string &groupName, bool daylightControlledLights)
 
- Public Member Functions inherited from makVrv::DtModelInstance
 DtModelInstance (DtDe &de)
 
virtual ~DtModelInstance ()
 
const std::string & realizedDefinitionName () const
 
const DtVectorboundingBoxExtents () const
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVectorboundingBoxCenter () const
 
void getBoundingBoxCenter (double &x, double &y, double &z) const
 
void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 
const DtVectorallGeometryboundingBoxExtents () const
 
void getAllGeometryBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVectorallGeometryboundingBoxCenter () const
 
void getAllGeometryBoundingBoxCenter (double &x, double &y, double &z) const
 
void getAllGeometryBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 
virtual void setContributesToBound (bool trueOrFalse)
 
bool contributesToBound () const
 

Protected Member Functions

virtual void destroyEffect ()
 
virtual void updateWind ()
 
virtual void createFxSystem (DtModelDefinition &definition)
 
virtual void slot_coordinateSystemChanged ()
 
- Protected Member Functions inherited from makVrv::DtOsgModelInstance
 DtOsgModelInstance (DtDe &de)
 
virtual void updateColorBlending ()
 
virtual void updateColorBlending (osg::Node *node)
 
virtual void enableTexture (osg::Node *root, bool onOff)
 
virtual void updateBoundingBoxViaContents ()
 
virtual void setRootNode (osg::Node *node)
 
virtual void setUpDepthTest (osg::StateSet *stateSet)
 

Protected Attributes

DtParticleSystemModelInstancemyFxCloud
 
DtVector myPosition
 
DtSignalConnectionManager myConnections
 
float myWindSpeed
 
float myWindDirection
 
DtVector myUp
 
bool myUpSet
 
DtCoordinateSystemmyCoordinateSystem = nullptr
 
- Protected Attributes inherited from makVrv::DtOsgModelInstance
osg::ref_ptr< osg::Node > myModelRoot
 
osg::ref_ptr< osg::StateSet > myCachedState
 
SensorRegionStateMap mySensorRegionMap
 
AlphaToCoverageState myAlphaToCoverageState
 
DtSignalConnectionManager myConnections
 
bool myModelInstanceShaderSet
 
- Protected Attributes inherited from makVrv::DtModelInstance
DtDemyDe
 
std::string myRealizedModelDefinitionName
 
DtVector myBoundingBoxCenter
 
DtVector myBoundingBoxExtents
 
DtVector myBoundingBoxMinimum
 
DtVector myBoundingBoxMaximum
 
DtVector myAllGeometryBoundingBoxCenter
 
DtVector myAllGeometryBoundingBoxExtents
 
DtVector myAllGeometryBoundingBoxMinimum
 
DtVector myAllGeometryBoundingBoxMaximum
 
bool myContributesToBound
 
bool myColorBlendingEnabled
 
float myBlendRed
 
float myBlendBlue
 
float myBlendGreen
 
float myBlendAlpha
 

Friends

class DtTacticalSmokeModelInstanceCreator
 

Additional Inherited Members

- Public Types inherited from makVrv::DtOsgModelInstance
enum  AlphaToCoverageState { USE_GLOBAL, FORCE_OFF, FORCE_ON }
 
typedef std::unordered_map
< std::string, bool
SensorRegionStateMap
 
- Static Public Member Functions inherited from makVrv::DtOsgModelInstance
static osg::Vec4 readVec4 (const std::string &paramName, const DtModelDefinition &definition, const osg::Vec4 &initValue=osg::Vec4(1, 1, 1, 1))
 
static osg::Vec3 readVec3 (const std::string &paramName, const DtModelDefinition &definition, const osg::Vec3 &initValue=osg::Vec3(1, 1, 1))
 
- Static Public Member Functions inherited from makVrv::DtModelInstance
static float readFloat (const std::string &paramName, const DtModelDefinition &definition)
 
static DtVector readVector (const std::string &paramName, const DtModelDefinition &definition)
 
- Public Attributes inherited from makVrv::DtOsgModelInstance
boost::signalslib::signal
< void(const std::string &) > 
signal_dynamicSensorRegionAdded
 
boost::signalslib::signal
< void(const std::string
&, bool) > 
signal_dynamicSensorRegionChanged
 
boost::signalslib::signal
< void(bool)> 
signal_atcModeEnableChanged
 
- Public Attributes inherited from makVrv::DtModelInstance
boost::signalslib::signal
< void(DtModelInstance *)> 
signal_modelInstanceChanged
 

Constructor & Destructor Documentation

makVrv::DtTacticalSmokeModelInstance::DtTacticalSmokeModelInstance ( DtDe de)

Initializing CTOR.

Parameters
[in]deis a reference to the display engine.
virtual makVrv::DtTacticalSmokeModelInstance::~DtTacticalSmokeModelInstance ( )
virtual

Virtual DTOR.

Member Function Documentation

virtual bool makVrv::DtTacticalSmokeModelInstance::realize ( DtModelDefinition definition)
virtual

Attempt to realize the instance of this model from a definition.

Parameters
[in]definitionis the model definition. The model definition must have an "fxSystem" parameter identifying the fx particle system to use
Return values
trueif the instance was realized.
falseotherwise.

Reimplemented from makVrv::DtOsgModelInstance.

virtual void makVrv::DtTacticalSmokeModelInstance::setVisible ( bool  isVisible)
virtual

Set the visible state of this object. Currently unimplemented.

Parameters
[in]isVisibleis the new visible state.

Implements makVrv::DtModelInstance.

virtual void makVrv::DtTacticalSmokeModelInstance::setPuffPosition ( int  puffIndex,
const DtVector fxSysPosition 
)
virtual

Set the position of a smoke-puff of particles.

Parameters
[in]puffIndexis the id of the the particle effect.
[in]fxSysPositionis the position of new particles (new fx system).
virtual void makVrv::DtTacticalSmokeModelInstance::setWindDirection ( const DtVector winddir)
virtual

Set the wind direction and intensity.

Parameters
[in]winddiris the direction and intensity of the wind.
virtual void makVrv::DtTacticalSmokeModelInstance::slot_handleWindDirectionChanged ( float  dir)
virtual

connection for the wind direction.

virtual void makVrv::DtTacticalSmokeModelInstance::slot_handleWindSpeedChanged ( float  speed)
virtual

connection for the wind intensity.

virtual void makVrv::DtTacticalSmokeModelInstance::start ( )
virtual

Tell the model to start emitting particles.

virtual void makVrv::DtTacticalSmokeModelInstance::stop ( )
virtual

Tell the model to stop emitting particles.

virtual void makVrv::DtTacticalSmokeModelInstance::pause ( )
virtual

Freeze the particle emitters.

virtual void makVrv::DtTacticalSmokeModelInstance::resume ( )
virtual

Resume the animation.

virtual void makVrv::DtTacticalSmokeModelInstance::destroyEffect ( )
protectedvirtual

Remove effect from scene-graph, destroy children and destroy effect.

virtual void makVrv::DtTacticalSmokeModelInstance::updateWind ( )
protectedvirtual

update the underlying wind params.

virtual void makVrv::DtTacticalSmokeModelInstance::createFxSystem ( DtModelDefinition definition)
protectedvirtual

helper function to deal with multiple creation paths

virtual void makVrv::DtTacticalSmokeModelInstance::slot_coordinateSystemChanged ( )
protectedvirtual

slot for when the coordinate system changes

Friends And Related Function Documentation

Member Data Documentation

DtParticleSystemModelInstance* makVrv::DtTacticalSmokeModelInstance::myFxCloud
protected
DtVector makVrv::DtTacticalSmokeModelInstance::myPosition
protected
DtSignalConnectionManager makVrv::DtTacticalSmokeModelInstance::myConnections
protected
float makVrv::DtTacticalSmokeModelInstance::myWindSpeed
protected
float makVrv::DtTacticalSmokeModelInstance::myWindDirection
protected
DtVector makVrv::DtTacticalSmokeModelInstance::myUp
protected
bool makVrv::DtTacticalSmokeModelInstance::myUpSet
protected
DtCoordinateSystem* makVrv::DtTacticalSmokeModelInstance::myCoordinateSystem = nullptr
protected

local clone of the system wide coordinate system. for thread safety.


The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)