VR-Forces 4.6 Class Documentation
 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. More...

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

Public Member Functions

 DtTritonWakeModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtTritonWakeModel ()
 DTOR.
virtual void setModelDefinition (const std::string &modelDef)
 Initialize this model from a model-definition.
virtual std::string className () const
 Get the class name of the model instance owner.
virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)
 AddToScene is called by the scene object with which this model is associated after it has been initialized.
virtual void removeFromScene ()
 Destroy the triton wake object.
virtual void setVisible (bool isVisible)
 Set the visible state of the model.
virtual void setIsSupportModel (bool isSupport)
 Unused, but required for all DtModels.
virtual void setSprayEnabled (bool b)
 Set/Get whether spray is enabled at the bow and hull of the ship.
virtual bool sprayEnabled () const
virtual void setSternWaveEnabled (bool b)
 Set/Get whether a stern wave is enabled.
virtual bool sternWaveEnabled () const
virtual void setWakeOffset (double offset)
 Set/get the offset from the ship's origin used to position all wake effects.
virtual double wakeOffset () const
virtual void setBowSprayOffset (double offset)
 Set/get the distance from the wake origin to where the spray at the bow appears, if enabled.
virtual double bowSprayOffset () const
virtual void setBowWaveOffset (double offset)
 Set/get the distance from the wake origin to where the bow wake wave appears.
virtual double bowWaveOffset () const
virtual void setSternWaveOffset (double offset)
 Set/get the distance from the wake origin to where the stern wake waves appear.
virtual double sternWaveOffset () const
virtual void setShipLength (double length)
 Set/get the length of the ship.
virtual double shipLength () const
virtual void setBeamWidth (double width)
 Set/get the beam width (widest point) of the ship.
virtual double beamWidth () const
virtual void setPropWashEnabled (bool b)
 Set/get whether prop wash effects are enabled.
virtual bool propWashEnabled () const
virtual void setPropWashOffset (double offset)
 Set/get the distance from the wake origin to where the prop wash appears, if enabled.
virtual double propWashOffset () const
virtual void setPropWashFadeTime (double fadeTime)
 Set/get the amount of time, in seconds, over which the prop wash will dissipate., if enabled.
virtual double propWashFadeTime () const
virtual void setDraft (double draft)
 Set/get the draft, or the distance the hull extends underwater.
virtual double draft () const
virtual void setSprayVelocityScale (double scale)
 Set/get the velocity scaling for bow spray effects.
virtual double sprayVelocityScale () const
virtual void setBowWaveScale (double scale)
 Set/get the scaling for bow wave effects.
virtual double bowWaveScale () const
virtual void setMaxBowWaveAmplitude (double amplitude)
 Set/get the max amplitude for bow waves.
virtual double maxBowWaveAmplitude () const
virtual void setBowSize (double size)
 Set/get the size of the bow (0 for a pointy one.)
virtual double bowSize () const
virtual void setSpraySizeScale (double scale)
 Set/get the scaling for size of bow spray effects.
virtual double spraySizeScale () const
virtual void setNumHullSprays (int numSprays)
 Set/get the number of spray particle systems emitted along the hull of the ship.
virtual int numHullSprays () const
virtual void setHullSprayStart (double extent)
 Set/get the start position along the vector toward the ship's bow that hull spray particles are emitted.
virtual double hullSprayStart () const
virtual void setHullSprayEnd (double extent)
 Set/get the end position along the vector toward the ship's bow that hull spray particles are emitted.
virtual double hullSprayEnd () const
virtual void setHullSprayVelocityScale (double scale)
 Set/get the initial velocity of hull spray particles as a percent of the ship velocity.
virtual double hullSprayVelocityScale () const
virtual void setHullSpraySizeScale (double scale)
 Set/get the initial size of hull spray particles.
virtual double hullSpraySizeScale () const
virtual void setHullSprayVerticalOffset (double scale)
 Set/get the vertical offset applied to hull spray particle origins.
virtual double hullSprayVerticalOffset () const
- Public Member Functions inherited from makVrv::DtWakeModel
 DtWakeModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtWakeModel ()
 DTOR.
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtModel ()
 DTOR.
virtual void saveModelToFile (const std::string &filename)
unsigned int transformSize () const
 Get the number of position/orientations this model has.
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of a control vertex in the model.
virtual void removePosition (int vtx)
 Remove a transform at the given position.
const DtVectorposition (int vtx=0) const
 Get the Position of a given point.
const DtTaitBryan & orientation (int vtx=0) const
 Get the Orientation of a given point.
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Set the orientation of a vertex in the model.
virtual void enableColorBlending (bool b)
 Enable / disable color blending for this model.
virtual void setBlendColor (float r, float g, float b, float a)
 Set color to use if color blending is enabled.
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 Returns the blend color.
virtual bool colorBlendingEnabled () const
 Returns whether or not blending is enabled.
virtual void setColor (float r, float g, float b, float a)
 set the model's color
virtual void enableLighting (bool l)
 set whether the model is lit; this may not be an option on all models
virtual int modelSet () const
 Get the model set this model is part of.
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance.
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance.
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the minimum and maximum X,Y,Z components of the bounding box.
void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume.
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume.
DtDede ()
 Get the DtDe object.
virtual void setModelInstance (DtModelInstance *modelInstance)
 Internally set the model instance pointer.
virtual bool visible () const
 Get the visible state of the model.
DtUniqueID parentSceneObjectID () const
 Parent of the model.
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 Called when a scene object added the model as a prop.
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.
virtual void setElementId (DtUniqueID id)
 Called when the element ID of the model's parent object is set.
virtual void removedFromSceneObject ()
 Called when the model was removed from a scene object.
virtual void setSolid (bool isSolid)
 Set whether or not other this model is drawn filled in.
virtual bool isProp ()
 Return whether or not this model was added as a prop.
virtual DtModelInstancemodelInstance ()
 Get the model instance.
virtual const DtModelInstancemodelInstance () 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.

Protected Member Functions

virtual DtTritonWakeModelInstancewakeModelInstance ()
 Get a properly cast version of the model instance this model creates.
virtual DtTritonWakeModelInstancewakeModelInstance () const
 Get a properly cast const version of the model instance this model creates.
virtual DtSceneObjectsceneObject () const
 Get the scene object that owns this model (and the ship's model)
virtual void calcDefaults ()
 Calculate defaults for geometric parameters based on the ship model's bounding geometry.
virtual void setIsOverWater (bool overWater)
 Called by the wake updater to tell us if we are over water.
virtual void slot_oceanAddedToScene ()
 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.

Protected Attributes

boost::signalslib::connection myTritonManagerConnection
std::string myModelDefinitionName

Friends

class DtTritonWakeUpdater
 Allow the updater to use our protected methods.

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signal< void(DtModel *)> signal_modelToBeDestroyed
 Signal emitted when the model is to be destroyed.
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.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 Signal emitted when the model instance is created.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 Signal emitted when the model instance is to be destroyed.
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList

Detailed Description

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

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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
virtual void makVrv::DtTritonWakeModel::addToScene ( const DtUniqueID sceneObjectId,
int  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
std::string makVrv::DtTritonWakeModel::myModelDefinitionName
protected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)