![]() |
VR-Forces 4.8 Class Documentation
|
The interface for a model of a Kelvin rotorWash from Triton or the particle system. More...

Public Member Functions | |
| DtRotorWashModel (DtDe &de, DtUniqueID id) | |
| CTOR. More... | |
| virtual | ~DtRotorWashModel () |
| DTOR. More... | |
| virtual const std::string & | className () const |
| Return the class name of this model. More... | |
| virtual void | setModelDefinition (const std::string &def) |
| Override the set model definition function. More... | |
| virtual void | setRotorDiameter (double diameter) |
| Set/get the diameter of the rotors (tip to tip) generating the wake. More... | |
| virtual double | rotorDiameter () const |
| virtual void | setRotorWindSpeed (double speed) |
| Set/get the speed of the down-draft created by the rotors. More... | |
| virtual double | rotorWindSpeed () const |
| virtual void | setRotorWashType (const std::string &type) |
| Set/get the type of rotor wash (e..g, "triton", "particle") More... | |
| virtual const std::string & | rotorWashType () const |
| virtual void | addToScene (const DtUniqueID &id, int modelSet, int visualizerType) |
| Attaches the model to the scene If this model has a modelinstance, it is attached to the scene. More... | |
| virtual void | removeFromScene () |
| Detaches the model to the scene If this model has a modelinstance, it is detached to the scene. More... | |
| virtual void | setIsSupportModel (bool isSupport) |
| Unused, but required for all DtModels. More... | |
| virtual void | start () |
| Start the rotorwash effect (particle) More... | |
| virtual void | stop () |
| Stop the rotor wash effect (particle) More... | |
| virtual void | setOffsetPos (const DtVector &offset) |
| position the particle system via an offset vector More... | |
| virtual void | setOffsetDist (const double dist) |
| position the particle system via a distance from helicopter More... | |
| virtual void | setVisible (bool isVisible) |
| Set the visible state of the model. More... | |
| virtual bool | isStopped () |
| Get whether the rotorwash has stopped (to early out from the updater) More... | |
Public Member Functions inherited from makVrv::DtModel | |
| DtModel (DtDe &de, DtUniqueID id) | |
| CTOR. More... | |
| virtual | ~DtModel () |
| DTOR. More... | |
| DtModelInstance * | createModelInstance (const std::string &modelDefName, bool realize=true) |
| Set the model definition and creates an instance of the model. More... | |
| virtual const std::string & | modelDefinitionName () |
| returns the model definition name. More... | |
| virtual void | saveModelToFile (const std::string &filename) |
| unsigned int | transformSize () const |
| Get the number of position/orientations this model has. More... | |
| virtual void | setPosition (int vtx, const DtVector &position) |
| Set the position of a control vertex in the model. More... | |
| virtual const DtVector & | position (int vtx=0) const |
| Get the Position of a given point. More... | |
| virtual void | removePosition (int vtx) |
| Remove a transform at the given position. More... | |
| virtual void | setPositionOffset (const DtVector &positionOffset) |
| Set the position offset of the model. More... | |
| virtual const DtVector & | positionOffset () const |
| Get the Position Offset of the model. More... | |
| virtual void | setOrientation (int vtx, const DtTaitBryan &orientation) |
| Set the orientation of a vertex in the model. More... | |
| virtual void | setPositionAndOrientation (int vtx, const DtVector &positionOffset, const DtTaitBryan &orientation) |
| Set the position and orientation of a vertex in the model at the same time. More... | |
| virtual const DtTaitBryan & | orientation (int vtx=0) const |
| Get the Orientation of a given point. More... | |
| virtual void | setOrientationOffset (const DtTaitBryan &orientationOffset) |
| Set the Orientation Offset of the model. More... | |
| virtual const DtTaitBryan & | orientationOffset () const |
| Get the Orientation Offset of the model. More... | |
| virtual void | enableColorBlending (bool b) |
| Enable / disable color blending for this model. More... | |
| virtual void | setBlendColor (float r, float g, float b, float a) |
| Set color to use if color blending is enabled. More... | |
| virtual void | getBlendColor (float &r, float &g, float &b, float &a) |
| Returns the blend color. More... | |
| virtual bool | colorBlendingEnabled () const |
| Returns whether or not blending is enabled. More... | |
| virtual void | setColor (float r, float g, float b, float a) |
| set the model's color More... | |
| virtual void | enableLighting (bool l) |
| set whether the model is lit; this may not be an option on all models More... | |
| virtual int | modelSet () const |
| Get the model set this model is part of. More... | |
| const DtVector & | boundingBoxExtents () const |
| Get the bounding box extents of the model instance. More... | |
| void | getBoundingBoxExtents (double &x, double &y, double &z) const |
| Get the bounding box extents of the model instance. More... | |
| const DtVector & | boundingBoxCenter () const |
| Get the bounding box center of the model instance. More... | |
| virtual void | getBoundingBoxCenter (double &x, double &y, double &z) const |
| Get the bounding box center of the model instance. More... | |
| virtual void | getBoundingBoxComponents (DtVector &minimum, DtVector &maximum) |
| Get the minimum and maximum X,Y,Z components of the bounding box. More... | |
| void | setContributesToBound (bool trueOrFalse) |
| Set whether this model instance contributes to an object's overall bounding volume. More... | |
| bool | contributesToBound () const |
| Get whether this model instance contributes to an object's overall bounding volume. More... | |
| DtDe & | de () |
| Get the DtDe object. More... | |
| virtual void | setModelInstance (DtModelInstance *modelInstance) |
| Internally set the model instance pointer. More... | |
| virtual void | promoteBackgroundModelInstance (DtModelDefinition &defintion) |
| Internally set the model instance pointer to the background one, also realizes and sends signal. More... | |
| virtual bool | visible () const |
| Get the visible state of the model. More... | |
| DtUniqueID | parentSceneObjectID () const |
| Parent of the model. More... | |
| virtual void | addedToSceneObjectAsProp (const DtUniqueID &sceneObj) |
| Called when a scene object added the model as a prop. More... | |
| virtual void | addedToSceneObject (const DtUniqueID &sceneObj, int modelSet, int visualizerType) |
| Called when a scene object added the model with the given model set and visualizer type. More... | |
| virtual void | setElementId (DtUniqueID id) |
| Called when the element ID of the model's parent object is set. More... | |
| virtual void | removedFromSceneObject () |
| Called when the model was removed from a scene object. More... | |
| virtual void | setSolid (bool isSolid) |
| Set whether or not other this model is drawn filled in. More... | |
| virtual bool | isProp () |
| Return whether or not this model was added as a prop. More... | |
| virtual void | updateMinLastFrameDistance (float distance) |
| updates the closest distance to an observer over the last frame More... | |
| virtual void | resetLastFrameDistance () |
| resets the closest distance to an observer More... | |
| virtual float | minLastFrameDistance () const |
| gets the closest distance to an observer last frame More... | |
| virtual DtModelInstance * | modelInstance () |
| Get the model instance. More... | |
| virtual const DtModelInstance * | modelInstance () const |
| int | visualizerType () const |
| The visualizer type determines which channel-specific group node this model will be parented to, and consequently, which observer setting will cause it to be rendered in which channel. More... | |
| virtual bool | supportsMultithreadedLoad () |
| can be quickly overridden to disable background loading More... | |
| virtual void | backgroundLoad () |
| the chunk of loading that can safely happen in the background More... | |
| virtual void | foregroundLoad () |
| the chunk of loading that must happen happen in the foreground, adding to scene graph etc. More... | |
| virtual bool | isActivelyBackgroundLoading () |
| is this being actively loaded (it has a myInLoadQueueHandle object and it's loading) More... | |
| virtual DtLoaderHandle * | getLoadQueueHandle () |
| returns the load queue object More... | |
Protected Member Functions | |
| virtual DtRotorWashModelInstanceInterface * | rotorWashModelInstanceInterface () |
| Get a properly cast version of the model instance this model creates. More... | |
| virtual const DtRotorWashModelInstanceInterface * | rotorWashModelInstanceInterface () const |
| Get a properly cast const version of the model instance this model creates. More... | |
| virtual DtVector | currentHeloPosition () const |
| Get the helo's current position that this rotorWash is attached to. More... | |
| virtual DtTaitBryan | currentHeloOrientation () const |
| Ge the helo's current orientation that this rotorWash is attached to. More... | |
| virtual DtSceneObject * | sceneObject () const |
| Get the scene object that owns this model (and the ship's model) More... | |
| virtual void | calcTritonDefaults () |
| Calculate defaults for geometric parameters based on the ship model's bounding geometry. More... | |
| virtual void | calcParticleSystemDefaults () |
| Set default values for particle system based rotor wash The default is to use the parameters set in the particle system description and only override if values are set in the entity. More... | |
| DtVector | calcRotorDownDirection (const DtVector ¤tPos, const DtTaitBryan &orientation) |
| Calculate the down direction of the helicopter in world space. More... | |
| virtual void | setIsOverWater (bool overWater) |
| Called by the rotorWash updater to tell us if we are over water. More... | |
| virtual bool | anyObserverMimic () |
| We don't want to hide the rotorwash when in mimic mode so check if any observer in is mimic or mimic track. More... | |
| virtual void | slot_oceanAddedToScene () |
| If a rotorWash is requested and Triton hasn't been initialized, this model connects to the DtTritonManager's signal_addedToScene signal, and creates the rotorWash (and disconnects) when the signal is raised. More... | |
Protected Member Functions inherited from makVrv::DtModel | |
| virtual void | addToSceneAsProp (const DtUniqueID &sceneObjectId) |
| Add this model to the scene as a prop. More... | |
| virtual void | initializeModelInstance () |
| Push any state maintained by the model to the model instance. More... | |
| void | slot_modelInstanceChanged (DtModelInstance *instance) |
| Called when the model instance changed. More... | |
| virtual void | waitAndClearLoadHandle () |
| avoids race condition, on destruction subclasses need to wait for the model to cleanly finish loading this can happen if an object times in and out very quickly More... | |
| virtual void | removedFromLoadQueue () |
| deletes the myInLoadQueueHandle handle More... | |
| virtual void | setDoneBackgroundLoading () |
| called by async task, updates myCurrentlyLoading atomic More... | |
| virtual void | setActivelyBackgroundLoading () |
| called right before tbb task creation More... | |
Protected Attributes | |
| DtSignalConnectionManager | myConnections |
| std::string | myRotorWashType |
| bool | myRotorWashStopped |
Protected Attributes inherited from makVrv::DtModel | |
| DtLoaderHandle * | myInLoadQueueHandle |
| DtDe & | myDe |
| const DtUniqueID | myUniqueId |
| The unique id is constant after initialization. More... | |
| bool | myColorBlendingEnabled |
| The color blending enabled is needed to be set by the derived class so it doesn't get down to the model instances when instancing is enabled. More... | |
| DtModelInstance * | myBackgroundModelInstance |
| holds the model created in the background for a bit More... | |
| float | myMinLastFrameDistance |
| last frames mimimal distance to the camera, calculated by the instancing system More... | |
| TransformList | myTransforms |
| We keep our own copy in case we get updates before we get a model instance. More... | |
| DtModelInstance * | myModelInstance |
| int | myModelSet |
| int | myVisualizerType |
| bool | myContributesToBound |
| DtUniqueID | myParentSceneObjectID |
| bool | myIsPropFlag |
| float | myBlendColor [4] |
| bool | myVisibleFlag |
| DtVector | myPositionOffset |
| DtTaitBryan | myOrientationOffset |
| std::string | myModelDefinitionName |
Friends | |
| class | DtTritonRotorWashUpdater |
| class | DtParticleRotorWashUpdater |
Additional Inherited Members | |
Public Attributes inherited from makVrv::DtModel | |
| boost::signal< void(DtModel *)> | signal_modelToBeDestroyed |
| Signal emitted when the model is to be destroyed. More... | |
| boost::signal< void(DtModel *)> | signal_modelChanged |
| boost::signal< bool(DtModel *, bool), SlotReturnOR > | signal_visibilityChangeRequested |
| Signal when the visibility has been requested, if any slot returns false, it will not change. More... | |
| boost::signal< void(DtModelInstance *, DtModel *)> | signal_modelInstanceCreated |
| Signal emitted when the model instance is created. More... | |
| boost::signal< void(DtModelInstance *, DtModel *)> | signal_modelInstanceToBeDestroyed |
| Signal emitted when the model instance is to be destroyed. More... | |
Protected Types inherited from makVrv::DtModel | |
| typedef std::vector < ObjectTransform > | TransformList |
Static Protected Attributes inherited from makVrv::DtModel | |
| static bool | theInittedState |
The interface for a model of a Kelvin rotorWash from Triton or the particle system.
| makVrv::DtRotorWashModel::DtRotorWashModel | ( | DtDe & | de, |
| DtUniqueID | id | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
virtual |
Return the class name of this model.
Reimplemented from makVrv::DtModel.
Reimplemented in makVrv::DtOsgRotorWashModel.
|
virtual |
Override the set model definition function.
Use this to parse a model after it is loaded.
Reimplemented from makVrv::DtModel.
|
virtual |
Set/get the diameter of the rotors (tip to tip) generating the wake.
Only applies to water rotor wash.
|
virtual |
|
virtual |
Set/get the speed of the down-draft created by the rotors.
Only applies to water rotor wash.
|
virtual |
|
virtual |
Set/get the type of rotor wash (e..g, "triton", "particle")
|
virtual |
|
virtual |
Attaches the model to the scene If this model has a modelinstance, it is attached to the scene.
Implements makVrv::DtModel.
Reimplemented in makVrv::DtOsgRotorWashModel.
|
virtual |
Detaches the model to the scene If this model has a modelinstance, it is detached to the scene.
Implements makVrv::DtModel.
Reimplemented in makVrv::DtOsgRotorWashModel.
|
virtual |
Unused, but required for all DtModels.
Implements makVrv::DtModel.
|
virtual |
Start the rotorwash effect (particle)
|
virtual |
Stop the rotor wash effect (particle)
|
virtual |
position the particle system via an offset vector
|
virtual |
position the particle system via a distance from helicopter
|
virtual |
Set the visible state of the model.
| [in] | isVisible | is the new visible state; true = visible, false = hidden. There is a special case for mimic mode, we want the active rotor wash to continue being visible |
Reimplemented from makVrv::DtModel.
|
virtual |
Get whether the rotorwash has stopped (to early out from the updater)
|
protectedvirtual |
Get a properly cast version of the model instance this model creates.
|
protectedvirtual |
Get a properly cast const version of the model instance this model creates.
|
protectedvirtual |
Get the helo's current position that this rotorWash is attached to.
|
protectedvirtual |
Ge the helo's current orientation that this rotorWash is attached to.
|
protectedvirtual |
Get the scene object that owns this model (and the ship's model)
|
protectedvirtual |
Calculate defaults for geometric parameters based on the ship model's bounding geometry.
|
protectedvirtual |
Set default values for particle system based rotor wash The default is to use the parameters set in the particle system description and only override if values are set in the entity.
|
protected |
Calculate the down direction of the helicopter in world space.
|
protectedvirtual |
Called by the rotorWash updater to tell us if we are over water.
|
protectedvirtual |
We don't want to hide the rotorwash when in mimic mode so check if any observer in is mimic or mimic track.
|
protectedvirtual |
If a rotorWash is requested and Triton hasn't been initialized, this model connects to the DtTritonManager's signal_addedToScene signal, and creates the rotorWash (and disconnects) when the signal is raised.
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |