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 | Static Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtEntityWakeVisualizer Class Reference

Visualizer for kelvin wakes.

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

Public Member Functions

 DtEntityWakeVisualizer (DtBaseConnection &simulation, DtStateListener &listener, DtSceneObjectAgent *sceneObject, DtModelSetId modelSet)
 
virtual ~DtEntityWakeVisualizer ()
 
 DtEntityWakeVisualizer ()=delete
 
 DtEntityWakeVisualizer (const DtEntityWakeVisualizer &)=delete
 
DtEntityWakeVisualizeroperator= (const DtEntityWakeVisualizer &)=delete
 
virtual void initialize () override
 
virtual void setWakeEnabled (bool enabled)
 
virtual void setSprayEnabled (bool enabled)
 
virtual void setSternWaveEnabled (bool enabled)
 
virtual void setWakeOffset (double offset)
 
virtual void setBowSprayOffset (double offset)
 
virtual void setBowWaveOffset (double offset)
 
virtual void setSternWaveOffset (double offset)
 
virtual void setShipLength (double length)
 
virtual void setBeamWidth (double width)
 
virtual void setPropWashEnabled (bool b)
 
virtual void setPropWashOffset (double offset)
 
virtual void setPropWashFadeTime (double fadeTime)
 
virtual void setDraft (double draft)
 
virtual void setLODDistance (double distance)
 
virtual void setSprayVelocityScale (double scale)
 
virtual void setBowWaveScale (double scale)
 
virtual void setMaxBowWaveAmplitude (double amplitude)
 
virtual void setBowSize (double size)
 
virtual void setSpraySizeScale (double scale)
 
virtual void setNumHullSprays (int numSprays)
 
virtual void setHullSpraySizeScale (double scale)
 
virtual void setHullSprayStart (double offset)
 
virtual void setHullSprayEnd (double offset)
 
virtual void setHullSprayVelocityScale (double scale)
 
virtual void setHullSprayVerticalOffset (double offset)
 
virtual void setDamageState (EntityStateListener::DamageState damageState)
 
virtual const
DtStateVisualizer::TypeInfo
typeInfo () const
 
virtual void setIsFrozen (bool frozen)
 
virtual void setMaxRenderAngle (double angle)
 
virtual void setSpeedRenderCuttof (double cutoff)
 
- Public Member Functions inherited from makVrv::DtEntityStateVisualizer
 DtEntityStateVisualizer (DtBaseConnection &simulation, DtStateListener &listener, DtSceneObjectAgent *sceneObject, DtModelSetId modelSet)
 
virtual ~DtEntityStateVisualizer ()
 
virtual void setState (int stateNumber, int stateValue)
 
DtEntityStateListenerentityStateListener ()
 
- Public Member Functions inherited from makVrv::DtStateVisualizer
 DtStateVisualizer (DtBaseConnection &connection, DtStateListener &listener, DtSceneObjectAgent *sceneObjectAgent, DtModelSetId modelSet)
 
virtual ~DtStateVisualizer ()
 
virtual DtModelSetId modelSet ()
 
virtual void setSceneObjectAgent (DtSceneObjectAgent *sceneObject)
 
void setModelDefinition (const std::string &definition)
 
const std::string & modelDefinition () const
 
virtual void implementVisibility (bool visible)
 
virtual void slot_setSelected (bool b)
 
void setName (const std::string &)
 
const std::string & name () const
 
virtual void setPickable (bool)
 
virtual bool pickable () const
 
virtual DtUniqueID sceneObjectID () const
 
int visualizerType () const
 
virtual void setVisualizerDefinition (const DtVisualizerDefinition &)
 
DtStateListenerlistener ()
 
const DtStateListenerlistener () const
 
DtBaseConnectionsimulation ()
 
void setDistribute (bool b)
 
bool distribute () const
 
virtual bool setVisualizerIsVisible (bool vis, DtVisualizerShowHideContext::VisualizerShowHideContext context)
 

Static Public Member Functions

static const
DtStateVisualizer::TypeInfo
theTypeInfo ()
 

Protected Member Functions

virtual void slot_oceanWakesEnabledChanged (bool enabled)
 
virtual void slot_hullSprayEffectsChanged (bool enabled)
 
virtual bool active () const
 
virtual void createModelAgents ()
 
virtual void destroyModelAgents ()
 
virtual void setModelDefinitionForAgents ()
 
virtual void connectToListenerSignals () override
 
virtual void setInitialValuesFromVisualizerDefinition () override
 
virtual void slot_embarkedStateChanged ()
 
virtual bool visible () const
 
virtual void updateWakeEffects ()
 
virtual bool areWakeEffectsEnabled () const
 
virtual void updateSprayEffects ()
 
virtual bool areSprayEffectsEnabled () const
 
virtual void slot_wakeDefaultLODDistanceChanged (double distance)
 
- Protected Member Functions inherited from makVrv::DtStateVisualizer
virtual void makeVisible ()
 
virtual bool isVisible () const
 
template<typename T , typename C >
void connectAndUpdate (boost::signalslib::signal< void(T)> &sig, void(C::*fp)(T), T val)
 

Protected Attributes

DtWakeModelAgent * myWakeModel
 
DtWakeUpdaterAgent * myWakeUpdater
 
bool myDestroyed
 
bool myEmbarked
 
bool myEffectEnabled
 
bool mySprayEnabled
 
bool mySternWaveEnabled
 
double myWakeOffset
 
bool myWakeOffsetSet
 
double myBowSprayOffset
 
bool myBowSprayOffsetSet
 
double myBowWaveOffset
 
bool myBowWaveOffsetSet
 
double mySternWaveOffset
 
bool mySternWaveOffsetSet
 
double myShipLength
 
double myBeamWidth
 
bool myPropWashEnabled
 
double myPropWashOffset
 
bool myPropWashOffsetSet
 
double myPropWashFadeTime
 
bool myPropWashFadeTimeSet
 
double myDraft
 
double myLODDistance
 
double mySprayVelocityScale
 
double myBowWaveScale
 
double myMaxBowWaveAmplitude
 
bool myMaxBowWaveAmplitudeSet
 
double myBowSize
 
double mySpraySizeScale
 
int myNumHullSprays
 
double myHullSprayStart
 
bool myHullSprayStartSet
 
double myHullSprayEnd
 
bool myHullSprayEndSet
 
double myHullSprayVerticalOffset
 
bool myHullSprayVerticalOffsetSet
 
double myHullSprayVelocityScale
 
double myHullSpraySizeScale
 
double myMaxRenderAngle
 
double mySpeedRenderCuttoff
 
bool myOceanWakesEnabledGlobalFlag
 
bool mySprayEffectsEnabledGlobalFlag
 
bool myIsAmphibious
 
boost::signalslib::connection myWakeLODDistanceChangedConnection
 
- Protected Attributes inherited from makVrv::DtEntityStateVisualizer
DtEntityStateListenermyEntityListener
 
- Protected Attributes inherited from makVrv::DtStateVisualizer
DtBaseConnectionmySimulation
 
DtStateListenermyListener
 
bool myDistributeFlag
 
DtUniqueID mySceneObjectID
 
std::string myName
 
std::string myModelDefinition
 
DtSignalConnectionManager myConnections
 
DtModelSetId myModelSet
 
int myVisualizerType
 
bool myPickable
 
bool myVisible
 
const DtVisualizerDefinitionmyVisualizerDefinition
 
DtSceneObjectAgent * mySceneObjectAgent
 
bool myInitialInitializeDone
 
ShowHideContextVector myVisualizerShowHideContexts
 

Additional Inherited Members

- Public Types inherited from makVrv::DtStateVisualizer
enum  Type {
  AllVisualizerTypes = 0, EntityVisualizerType = 1, EnvironmentalVisualizerType, InteractionVisualizerType,
  AggregateVisualizerType, IntervisibilityVisualizerType, TacticalSmokeVisualizerType, UserType = 10000
}
 
- Protected Types inherited from makVrv::DtStateVisualizer
typedef std::vector
< DtVisualizerShowHideContext::VisualizerShowHideContext
ShowHideContextVector
 

Constructor & Destructor Documentation

makVrv::DtEntityWakeVisualizer::DtEntityWakeVisualizer ( DtBaseConnection simulation,
DtStateListener listener,
DtSceneObjectAgent *  sceneObject,
DtModelSetId  modelSet 
)

CTOR.

virtual makVrv::DtEntityWakeVisualizer::~DtEntityWakeVisualizer ( )
virtual

DTOR.

makVrv::DtEntityWakeVisualizer::DtEntityWakeVisualizer ( )
delete

not allowed - default constructor

makVrv::DtEntityWakeVisualizer::DtEntityWakeVisualizer ( const DtEntityWakeVisualizer )
delete

not allowed - copy constructor

Member Function Documentation

DtEntityWakeVisualizer& makVrv::DtEntityWakeVisualizer::operator= ( const DtEntityWakeVisualizer )
delete

not allowed - equals operator

virtual void makVrv::DtEntityWakeVisualizer::initialize ( )
overridevirtual

called soon after construction to initialize the signals/state from the listener

Reimplemented from makVrv::DtStateVisualizer.

virtual void makVrv::DtEntityWakeVisualizer::setWakeEnabled ( bool  enabled)
virtual

Enable or disable wake This call stores the enabled state for processing whether all wake effects should be enabled on this entity.

virtual void makVrv::DtEntityWakeVisualizer::setSprayEnabled ( bool  enabled)
virtual

Enable or disable spray at the bow and hull of the ship.

virtual void makVrv::DtEntityWakeVisualizer::setSternWaveEnabled ( bool  enabled)
virtual

Enable or disable a stern wave.

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

Set the distance from the center of the ship to the origin point of the circles use to generate the wake.

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

Set the distance from the wake origin to where the spray appears, if enabled.

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

Set the offset to the bow wake.

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

Set the offset to the stern wakes.

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

Set the length of the ship.

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

Set the beamwidth (widest point) of the ship.

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

Set whether prop wash effects are enabled.

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

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

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

Set the amount of time, in seconds, over which the prop wash will dissipate.

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

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

virtual void makVrv::DtEntityWakeVisualizer::setLODDistance ( double  distance)
virtual

Set the distance at which the prop wash segments and waves are halved.

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

Set the velocity scaling for bow spray effects.

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

Set the scaling for bow wave effects.

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

Set the max amplitude for bow waves.

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

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

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

Set the particle size scaling for bow spray effects.

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

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

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

Set the initial size of hull spray particles.

virtual void makVrv::DtEntityWakeVisualizer::setHullSprayStart ( double  offset)
virtual

Set the start offset of hull spray effects.

virtual void makVrv::DtEntityWakeVisualizer::setHullSprayEnd ( double  offset)
virtual

Set the end offset of hull spray effects.

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

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

virtual void makVrv::DtEntityWakeVisualizer::setHullSprayVerticalOffset ( double  offset)
virtual

Set the initial vertical position of hull spray particles.

virtual void makVrv::DtEntityWakeVisualizer::setDamageState ( EntityStateListener::DamageState  damageState)
virtual
virtual const DtStateVisualizer::TypeInfo& makVrv::DtEntityWakeVisualizer::typeInfo ( ) const
virtual

The instance's type info.

Implements makVrv::DtStateVisualizer.

virtual void makVrv::DtEntityWakeVisualizer::setIsFrozen ( bool  frozen)
virtual

Set if the entity this wake is part of is in the frozen state.

static const DtStateVisualizer::TypeInfo& makVrv::DtEntityWakeVisualizer::theTypeInfo ( )
static

This class's type info.

virtual void makVrv::DtEntityWakeVisualizer::setMaxRenderAngle ( double  angle)
virtual

Maximum angle between the ship's heading and the wakes direction before the wake is NOT rendereed. Radians.

virtual void makVrv::DtEntityWakeVisualizer::setSpeedRenderCuttof ( double  cutoff)
virtual

Loweest speed that the wake will render with.

virtual void makVrv::DtEntityWakeVisualizer::slot_oceanWakesEnabledChanged ( bool  enabled)
protectedvirtual

Receives notification of global settings changes for ocean wakes. This call stores the global enabled state for processing whether all wake effects should be enabled on all entities.

Parameters
enabledis the new global state.
virtual void makVrv::DtEntityWakeVisualizer::slot_hullSprayEffectsChanged ( bool  enabled)
protectedvirtual

Receives notification of global settings changes for hull-spray.

Parameters
enabledis the new global state.
virtual bool makVrv::DtEntityWakeVisualizer::active ( ) const
protectedvirtual
virtual void makVrv::DtEntityWakeVisualizer::createModelAgents ( )
protectedvirtual

Create the wake and wake updater agents.

Reimplemented from makVrv::DtEntityStateVisualizer.

virtual void makVrv::DtEntityWakeVisualizer::destroyModelAgents ( )
protectedvirtual

Destroy the wake and wake updater agents.

Reimplemented from makVrv::DtEntityStateVisualizer.

virtual void makVrv::DtEntityWakeVisualizer::setModelDefinitionForAgents ( )
protectedvirtual

No-op. Required for all DtState visualizers, but not used here.

Reimplemented from makVrv::DtEntityStateVisualizer.

virtual void makVrv::DtEntityWakeVisualizer::connectToListenerSignals ( )
overrideprotectedvirtual

Connect the visualizer to the listeners signals Called by DtStateVisualizer::initialize()

Reimplemented from makVrv::DtStateVisualizer.

virtual void makVrv::DtEntityWakeVisualizer::setInitialValuesFromVisualizerDefinition ( )
overrideprotectedvirtual

Sets member variables from the visualizer definition if they exist Should not call this directly. Called by DtStateVisualizer::initialize.

Reimplemented from makVrv::DtStateVisualizer.

virtual void makVrv::DtEntityWakeVisualizer::slot_embarkedStateChanged ( )
protectedvirtual

Called by signal when the entity's embarked state changes.

virtual bool makVrv::DtEntityWakeVisualizer::visible ( ) const
protectedvirtual

Used locally, checks all the conditions to determine if a wake should be generated for this entity.

virtual void makVrv::DtEntityWakeVisualizer::updateWakeEffects ( )
protectedvirtual

Used locally, enables/disables the wake, spray and prop-wash by creating or destroying all model-agents. This call performs the work of enabling/disabling the effects, but does not save the enabled state of the effects.

See Also
setWakeEnabled(bool)
slot_oceanWakesEnabledChanged(bool)
virtual bool makVrv::DtEntityWakeVisualizer::areWakeEffectsEnabled ( ) const
protectedvirtual

Used locally, returns if wake effects are enabled, both locally and globally.

Return values
trueif wake effects are locally and globally enabled.
falseotherwise
virtual void makVrv::DtEntityWakeVisualizer::updateSprayEffects ( )
protectedvirtual

Used locally, enables/disables the spray (bow-spray, hull-spray, etc). This call performs the work of enabling/disabling the effects, but does not save the enabled state of the effects.

See Also
setSprayEnabled(bool)
slot_hullSprayEffectsChanged(bool)
virtual bool makVrv::DtEntityWakeVisualizer::areSprayEffectsEnabled ( ) const
protectedvirtual

Used locally, returns if the spray effects is enabled globally.

Return values
trueif spray effect is globally enabled.
falseotherwise
virtual void makVrv::DtEntityWakeVisualizer::slot_wakeDefaultLODDistanceChanged ( double  distance)
protectedvirtual

Receives notification of global settings changes for wake lod default distance.

Parameters
distanceis the new global state.

Member Data Documentation

DtWakeModelAgent* makVrv::DtEntityWakeVisualizer::myWakeModel
protected
DtWakeUpdaterAgent* makVrv::DtEntityWakeVisualizer::myWakeUpdater
protected
bool makVrv::DtEntityWakeVisualizer::myDestroyed
protected
bool makVrv::DtEntityWakeVisualizer::myEmbarked
protected
bool makVrv::DtEntityWakeVisualizer::myEffectEnabled
protected
bool makVrv::DtEntityWakeVisualizer::mySprayEnabled
protected
bool makVrv::DtEntityWakeVisualizer::mySternWaveEnabled
protected
double makVrv::DtEntityWakeVisualizer::myWakeOffset
protected
bool makVrv::DtEntityWakeVisualizer::myWakeOffsetSet
protected
double makVrv::DtEntityWakeVisualizer::myBowSprayOffset
protected
bool makVrv::DtEntityWakeVisualizer::myBowSprayOffsetSet
protected
double makVrv::DtEntityWakeVisualizer::myBowWaveOffset
protected
bool makVrv::DtEntityWakeVisualizer::myBowWaveOffsetSet
protected
double makVrv::DtEntityWakeVisualizer::mySternWaveOffset
protected
bool makVrv::DtEntityWakeVisualizer::mySternWaveOffsetSet
protected
double makVrv::DtEntityWakeVisualizer::myShipLength
protected
double makVrv::DtEntityWakeVisualizer::myBeamWidth
protected
bool makVrv::DtEntityWakeVisualizer::myPropWashEnabled
protected
double makVrv::DtEntityWakeVisualizer::myPropWashOffset
protected
bool makVrv::DtEntityWakeVisualizer::myPropWashOffsetSet
protected
double makVrv::DtEntityWakeVisualizer::myPropWashFadeTime
protected
bool makVrv::DtEntityWakeVisualizer::myPropWashFadeTimeSet
protected
double makVrv::DtEntityWakeVisualizer::myDraft
protected
double makVrv::DtEntityWakeVisualizer::myLODDistance
protected
double makVrv::DtEntityWakeVisualizer::mySprayVelocityScale
protected
double makVrv::DtEntityWakeVisualizer::myBowWaveScale
protected
double makVrv::DtEntityWakeVisualizer::myMaxBowWaveAmplitude
protected
bool makVrv::DtEntityWakeVisualizer::myMaxBowWaveAmplitudeSet
protected
double makVrv::DtEntityWakeVisualizer::myBowSize
protected
double makVrv::DtEntityWakeVisualizer::mySpraySizeScale
protected
int makVrv::DtEntityWakeVisualizer::myNumHullSprays
protected
double makVrv::DtEntityWakeVisualizer::myHullSprayStart
protected
bool makVrv::DtEntityWakeVisualizer::myHullSprayStartSet
protected
double makVrv::DtEntityWakeVisualizer::myHullSprayEnd
protected
bool makVrv::DtEntityWakeVisualizer::myHullSprayEndSet
protected
double makVrv::DtEntityWakeVisualizer::myHullSprayVerticalOffset
protected
bool makVrv::DtEntityWakeVisualizer::myHullSprayVerticalOffsetSet
protected
double makVrv::DtEntityWakeVisualizer::myHullSprayVelocityScale
protected
double makVrv::DtEntityWakeVisualizer::myHullSpraySizeScale
protected
double makVrv::DtEntityWakeVisualizer::myMaxRenderAngle
protected

Maximum angle between the ship's heading and the wakes direction before the wake is NOT rendereed. Radians.

double makVrv::DtEntityWakeVisualizer::mySpeedRenderCuttoff
protected
bool makVrv::DtEntityWakeVisualizer::myOceanWakesEnabledGlobalFlag
protected
bool makVrv::DtEntityWakeVisualizer::mySprayEffectsEnabledGlobalFlag
protected
bool makVrv::DtEntityWakeVisualizer::myIsAmphibious
protected
boost::signalslib::connection makVrv::DtEntityWakeVisualizer::myWakeLODDistanceChangedConnection
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)