VR-Forces 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::DtTritonWakeModel Class Reference

A model of a triton wake is used to interface with the triton API to generate a Kelvin wake effect.

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

Public Member Functions

 DtTritonWakeModel (DtDe &de, DtUniqueID id)
 
virtual ~DtTritonWakeModel ()
 
virtual void setModelDefinition (const std::string &modelDef)
 
virtual const std::string & className () const
 
virtual void addToScene (const DtUniqueID &sceneObjectId, DtModelSetId modelSet, int visualizerType)
 
virtual void removeFromScene ()
 
virtual void setVisible (bool isVisible)
 
virtual void setIsSupportModel (bool isSupport)
 
virtual void setSprayEnabled (bool b)
 
virtual bool sprayEnabled () const
 
virtual void setSternWaveEnabled (bool b)
 
virtual bool sternWaveEnabled () const
 
virtual void setWakeOffset (double offset)
 
virtual double wakeOffset () const
 
virtual void setBowSprayOffset (double offset)
 
virtual double bowSprayOffset () const
 
virtual void setBowWaveOffset (double offset)
 
virtual double bowWaveOffset () const
 
virtual void setSternWaveOffset (double offset)
 
virtual double sternWaveOffset () const
 
virtual void setShipLength (double length)
 
virtual double shipLength () const
 
virtual void setBeamWidth (double width)
 
virtual double beamWidth () const
 
virtual void setPropWashEnabled (bool b)
 
virtual bool propWashEnabled () const
 
virtual void setPropWashOffset (double offset)
 
virtual double propWashOffset () const
 
virtual void setPropWashFadeTime (double fadeTime)
 
virtual double propWashFadeTime () const
 
virtual void setDraft (double draft)
 
virtual double draft () const
 
virtual void setSprayVelocityScale (double scale)
 
virtual double sprayVelocityScale () const
 
virtual void setBowWaveScale (double scale)
 
virtual double bowWaveScale () const
 
virtual void setMaxBowWaveAmplitude (double amplitude)
 
virtual double maxBowWaveAmplitude () const
 
virtual void setBowSize (double size)
 
virtual double bowSize () const
 
virtual void setSpraySizeScale (double scale)
 
virtual double spraySizeScale () const
 
virtual void setNumHullSprays (int numSprays)
 
virtual int numHullSprays () const
 
virtual void setHullSprayStart (double extent)
 
virtual double hullSprayStart () const
 
virtual void setHullSprayEnd (double extent)
 
virtual double hullSprayEnd () const
 
virtual void setHullSprayVelocityScale (double scale)
 
virtual double hullSprayVelocityScale () const
 
virtual void setHullSpraySizeScale (double scale)
 
virtual double hullSpraySizeScale () const
 
virtual void setHullSprayVerticalOffset (double scale)
 
virtual double hullSprayVerticalOffset () const
 
- Public Member Functions inherited from makVrv::DtWakeModel
 DtWakeModel (DtDe &de, DtUniqueID id)
 
virtual ~DtWakeModel ()
 
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 
virtual ~DtModel ()
 
DtModelInstancecreateModelInstance (const std::string &modelDefName, bool realize=true)
 
virtual const std::string & modelDefinitionName ()
 
virtual void saveModelToFile (const std::string &filename)
 
virtual DtUniqueID uniqueId () const
 
unsigned int transformSize () const
 
virtual void setPosition (int vtx, const DtVector &position)
 
virtual const DtVectorposition (int vtx=0) const
 
virtual void removePosition (int vtx)
 
virtual void setPositionOffset (const DtVector &positionOffset)
 
virtual const DtVectorpositionOffset () const
 
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 
virtual void setPositionAndOrientation (int vtx, const DtVector &positionOffset, const DtTaitBryan &orientation)
 
virtual const DtTaitBryan & orientation (int vtx=0) const
 
virtual void setOrientationOffset (const DtTaitBryan &orientationOffset)
 
virtual const DtTaitBryan & orientationOffset () const
 
virtual void enableColorBlending (bool b)
 
virtual void setBlendColor (float r, float g, float b, float a)
 
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 
virtual bool colorBlendingEnabled () const
 
virtual void setColor (float r, float g, float b, float a)
 
virtual void enableLighting (bool l)
 
virtual DtModelSetId modelSet () const
 
const DtVectorboundingBoxExtents () const
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVectorboundingBoxCenter () const
 
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 
void setContributesToBound (bool trueOrFalse)
 
bool contributesToBound () const
 
DtDede ()
 
virtual void setModelInstance (DtModelInstance *modelInstance)
 
virtual void promoteBackgroundModelInstance (const DtModelDefinition &defintion)
 
virtual bool visible () const
 
DtUniqueID sceneObjectId () const
 
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 
virtual void addedToSceneObject (const DtUniqueID &sceneObj, DtModelSetId modelSet, int visualizerType)
 
virtual void setElementId (DtElementID id)
 
virtual void removedFromSceneObject ()
 
virtual void setSolid (bool isSolid)
 
virtual bool isProp ()
 
virtual void updateMinLastFrameDistance (float distance)
 
virtual void resetLastFrameDistance ()
 
virtual float minLastFrameDistance () const
 
virtual DtModelInstancemodelInstance ()
 
virtual const DtModelInstancemodelInstance () const
 
int visualizerType () const
 
virtual bool supportsMultithreadedLoad ()
 
virtual void backgroundLoad ()
 
virtual void foregroundLoad ()
 
virtual bool isActivelyBackgroundLoading ()
 
virtual DtLoaderHandlegetLoadQueueHandle ()
 

Protected Member Functions

virtual DtTritonWakeModelInstancewakeModelInstance ()
 
virtual DtTritonWakeModelInstancewakeModelInstance () const
 
virtual DtSceneObjectsceneObject () const
 
virtual void calcDefaults ()
 
virtual void setIsOverWater (bool overWater)
 
virtual void slot_oceanAddedToScene ()
 
- Protected Member Functions inherited from makVrv::DtModel
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 
virtual void initializeModelInstance ()
 
void slot_modelInstanceChanged (DtModelInstance *instance)
 
virtual void waitAndClearLoadHandle ()
 
virtual void removedFromLoadQueue ()
 
virtual void setDoneBackgroundLoading ()
 
virtual void setActivelyBackgroundLoading ()
 

Protected Attributes

boost::signalslib::connection myTritonManagerConnection
 
- Protected Attributes inherited from makVrv::DtModel
DtLoaderHandlemyInLoadQueueHandle
 
DtDemyDe
 
const DtUniqueID myUniqueId
 
DtUniqueID myElementId
 
DtUniqueID myParentSceneObjectID
 
bool myColorBlendingEnabled
 
DtModelInstancemyBackgroundModelInstance
 
float myMinLastFrameDistance
 
TransformList myTransforms
 
DtModelInstancemyModelInstance
 
DtModelSetId myModelSet
 
int myVisualizerType
 
bool myContributesToBound
 
bool myIsPropFlag
 
float myBlendColor [4]
 
bool myVisibleFlag
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
std::string myModelDefinitionName
 
bool myRequireModelInstance = true
 

Friends

class DtTritonWakeUpdater
 

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signalslib::signal
< void(DtModel *)> 
signal_modelToBeDestroyed
 
boost::signalslib::signal
< void(DtModel *)> 
signal_modelChanged
 
boost::signalslib::signal
< bool(DtModel *, bool),
SlotReturnOR
signal_visibilityChangeRequested
 
boost::signalslib::signal
< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 
boost::signalslib::signal
< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList
 
- Static Protected Attributes inherited from makVrv::DtModel
static bool theInittedState
 

Constructor & Destructor Documentation

makVrv::DtTritonWakeModel::DtTritonWakeModel ( DtDe de,
DtUniqueID  id 
)

CTOR.

virtual makVrv::DtTritonWakeModel::~DtTritonWakeModel ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtTritonWakeModel::setModelDefinition ( const std::string &  modelDef)
virtual

Initialize this model from a model-definition.

Implements makVrv::DtWakeModel.

virtual const std::string& makVrv::DtTritonWakeModel::className ( ) const
virtual

Get the class name of the model instance owner. This is used to control how model instances are created.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtTritonWakeModel::setSprayEnabled ( bool  b)
virtual

Set/Get whether spray is enabled at the bow and hull of the ship.

Implements makVrv::DtWakeModel.

virtual bool makVrv::DtTritonWakeModel::sprayEnabled ( ) const
virtual

Set/Get whether spray is enabled at the bow and hull of the ship.

virtual void makVrv::DtTritonWakeModel::setSternWaveEnabled ( bool  b)
virtual

Set/Get whether a stern wave is enabled.

Implements makVrv::DtWakeModel.

virtual bool makVrv::DtTritonWakeModel::sternWaveEnabled ( ) const
virtual

Set/Get whether a stern wave is enabled.

virtual void makVrv::DtTritonWakeModel::setWakeOffset ( double  offset)
virtual

Set/get the offset from the ship's origin used to position all wake effects.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::wakeOffset ( ) const
virtual

Set/get the offset from the ship's origin used to position all wake effects.

virtual void makVrv::DtTritonWakeModel::setBowSprayOffset ( double  offset)
virtual

Set/get the distance from the wake origin to where the spray at the bow appears, if enabled.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::bowSprayOffset ( ) const
virtual

Set/get the distance from the wake origin to where the spray at the bow appears, if enabled.

virtual void makVrv::DtTritonWakeModel::setBowWaveOffset ( double  offset)
virtual

Set/get the distance from the wake origin to where the bow wake wave appears.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::bowWaveOffset ( ) const
virtual

Set/get the distance from the wake origin to where the bow wake wave appears.

virtual void makVrv::DtTritonWakeModel::setSternWaveOffset ( double  offset)
virtual

Set/get the distance from the wake origin to where the stern wake waves appear.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::sternWaveOffset ( ) const
virtual

Set/get the distance from the wake origin to where the stern wake waves appear.

virtual void makVrv::DtTritonWakeModel::setShipLength ( double  length)
virtual

Set/get the length of the ship.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::shipLength ( ) const
virtual

Set/get the length of the ship.

virtual void makVrv::DtTritonWakeModel::setBeamWidth ( double  width)
virtual

Set/get the beam width (widest point) of the ship.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::beamWidth ( ) const
virtual

Set/get the beam width (widest point) of the ship.

virtual void makVrv::DtTritonWakeModel::setPropWashEnabled ( bool  b)
virtual

Set/get whether prop wash effects are enabled.

Implements makVrv::DtWakeModel.

virtual bool makVrv::DtTritonWakeModel::propWashEnabled ( ) const
virtual

Set/get whether prop wash effects are enabled.

virtual void makVrv::DtTritonWakeModel::setPropWashOffset ( double  offset)
virtual

Set/get the distance from the wake origin to where the prop wash appears, if enabled.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::propWashOffset ( ) const
virtual

Set/get the distance from the wake origin to where the prop wash appears, if enabled.

virtual void makVrv::DtTritonWakeModel::setPropWashFadeTime ( double  fadeTime)
virtual

Set/get the amount of time, in seconds, over which the prop wash will dissipate., if enabled.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::propWashFadeTime ( ) const
virtual

Set/get the amount of time, in seconds, over which the prop wash will dissipate., if enabled.

virtual void makVrv::DtTritonWakeModel::setDraft ( double  draft)
virtual

Set/get the draft, or the distance the hull extends underwater. Used to influence the bow wake.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::draft ( ) const
virtual

Set/get the draft, or the distance the hull extends underwater. Used to influence the bow wake.

virtual void makVrv::DtTritonWakeModel::setSprayVelocityScale ( double  scale)
virtual

Set/get the velocity scaling for bow spray effects.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::sprayVelocityScale ( ) const
virtual

Set/get the velocity scaling for bow spray effects.

virtual void makVrv::DtTritonWakeModel::setBowWaveScale ( double  scale)
virtual

Set/get the scaling for bow wave effects.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::bowWaveScale ( ) const
virtual

Set/get the scaling for bow wave effects.

virtual void makVrv::DtTritonWakeModel::setMaxBowWaveAmplitude ( double  amplitude)
virtual

Set/get the max amplitude for bow waves.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::maxBowWaveAmplitude ( ) const
virtual

Set/get the max amplitude for bow waves.

virtual void makVrv::DtTritonWakeModel::setBowSize ( double  size)
virtual

Set/get the size of the bow (0 for a pointy one.)

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::bowSize ( ) const
virtual

Set/get the size of the bow (0 for a pointy one.)

virtual void makVrv::DtTritonWakeModel::setSpraySizeScale ( double  scale)
virtual

Set/get the scaling for size of bow spray effects.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::spraySizeScale ( ) const
virtual

Set/get the scaling for size of bow spray effects.

virtual void makVrv::DtTritonWakeModel::setNumHullSprays ( int  numSprays)
virtual

Set/get the number of spray particle systems emitted along the hull of the ship.

Implements makVrv::DtWakeModel.

virtual int makVrv::DtTritonWakeModel::numHullSprays ( ) const
virtual

Set/get the number of spray particle systems emitted along the hull of the ship.

virtual void makVrv::DtTritonWakeModel::setHullSprayStart ( double  extent)
virtual

Set/get the start position along the vector toward the ship's bow that hull spray particles are emitted.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::hullSprayStart ( ) const
virtual

Set/get the start position along the vector toward the ship's bow that hull spray particles are emitted.

virtual void makVrv::DtTritonWakeModel::setHullSprayEnd ( double  extent)
virtual

Set/get the end position along the vector toward the ship's bow that hull spray particles are emitted.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::hullSprayEnd ( ) const
virtual

Set/get the end position along the vector toward the ship's bow that hull spray particles are emitted.

virtual void makVrv::DtTritonWakeModel::setHullSprayVelocityScale ( double  scale)
virtual

Set/get the initial velocity of hull spray particles as a percent of the ship velocity.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::hullSprayVelocityScale ( ) const
virtual

Set/get the initial velocity of hull spray particles as a percent of the ship velocity.

virtual void makVrv::DtTritonWakeModel::setHullSpraySizeScale ( double  scale)
virtual

Set/get the initial size of hull spray particles.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::hullSpraySizeScale ( ) const
virtual

Set/get the initial size of hull spray particles.

virtual void makVrv::DtTritonWakeModel::setHullSprayVerticalOffset ( double  scale)
virtual

Set/get the vertical offset applied to hull spray particle origins.

Implements makVrv::DtWakeModel.

virtual double makVrv::DtTritonWakeModel::hullSprayVerticalOffset ( ) const
virtual

Set/get the vertical offset applied to hull spray particle origins.

virtual void makVrv::DtTritonWakeModel::addToScene ( const DtUniqueID sceneObjectId,
DtModelSetId  modelSet,
int  visualizerType 
)
virtual

AddToScene is called by the scene object with which this model is associated after it has been initialized. If the wake should be visible, this will cause the triton wake object to be created.

Implements makVrv::DtModel.

virtual void makVrv::DtTritonWakeModel::removeFromScene ( )
virtual

Destroy the triton wake object.

Implements makVrv::DtModel.

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

Set the visible state of the model.

Parameters
[in]isVisibleis the new visible state; true = visible, false = hidden.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtTritonWakeModel::setIsSupportModel ( bool  isSupport)
inlinevirtual

Unused, but required for all DtModels.

Implements makVrv::DtModel.

virtual DtTritonWakeModelInstance* makVrv::DtTritonWakeModel::wakeModelInstance ( )
protectedvirtual

Get a properly cast version of the model instance this model creates.

virtual DtTritonWakeModelInstance* makVrv::DtTritonWakeModel::wakeModelInstance ( ) const
protectedvirtual

Get a properly cast const version of the model instance this model creates.

virtual DtSceneObject* makVrv::DtTritonWakeModel::sceneObject ( ) const
protectedvirtual

Get the scene object that owns this model (and the ship's model)

virtual void makVrv::DtTritonWakeModel::calcDefaults ( )
protectedvirtual

Calculate defaults for geometric parameters based on the ship model's bounding geometry.

virtual void makVrv::DtTritonWakeModel::setIsOverWater ( bool  overWater)
protectedvirtual

Called by the wake updater to tell us if we are over water.

virtual void makVrv::DtTritonWakeModel::slot_oceanAddedToScene ( )
protectedvirtual

If a wake is requested and Triton hasn't been initialized, this model connects to the DtTritonManager's signal_addedToScene signal, and creates the wake (and disconnects) when the signal is raised.

Friends And Related Function Documentation

friend class DtTritonWakeUpdater
friend

Allow the updater to use our protected methods.

Member Data Documentation

boost::signalslib::connection makVrv::DtTritonWakeModel::myTritonManagerConnection
protected

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

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)