VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityWakeVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
12 
13 namespace makVrv
14 {
15  class DtWakeModelAgent;
16  class DtWakeUpdaterAgent;
17 
21  {
22  public:
25  DtStateListener& listener, int modelSet);
26 
28  virtual ~DtEntityWakeVisualizer();
29 
33  virtual void setWakeEnabled(bool enabled);
34 
36  virtual void setSprayEnabled(bool enabled);
37 
39  virtual void setSternWaveEnabled(bool enabled);
40 
43  virtual void setWakeOffset(double offset);
44 
47  virtual void setBowSprayOffset(double offset);
48 
50  virtual void setBowWaveOffset(double offset);
51 
53  virtual void setSternWaveOffset(double offset);
54 
56  virtual void setShipLength(double length);
57 
59  virtual void setBeamWidth(double width);
60 
62  virtual void setPropWashEnabled(bool b);
63 
66  virtual void setPropWashOffset(double offset);
67 
70  virtual void setPropWashFadeTime(double fadeTime);
71 
74  virtual void setDraft(double draft);
75 
78  virtual void setLODDistance(double distance);
79 
81  virtual void setSprayVelocityScale(double scale);
82 
84  virtual void setBowWaveScale(double scale);
85 
87  virtual void setMaxBowWaveAmplitude(double amplitude);
88 
90  virtual void setBowSize(double size);
91 
93  virtual void setSpraySizeScale(double scale);
94 
97  virtual void setNumHullSprays(int numSprays);
98 
100  virtual void setHullSpraySizeScale(double scale);
101 
103  virtual void setHullSprayStart(double offset);
104 
106  virtual void setHullSprayEnd(double offset);
107 
110  virtual void setHullSprayVelocityScale(double scale);
111 
113  virtual void setHullSprayVerticalOffset(double offset);
114 
115  virtual void setDamageState(int state);
116 
118  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
119 
123  virtual void setParent( DtStateVisualizer* parent );
124 
126  virtual void setIsFrozen(bool frozen);
127 
129  static const DtStateVisualizer::TypeInfo& theTypeInfo();
130 
131  protected:
132 
137  virtual void slot_oceanWakesEnabledChanged(bool enabled);
138 
141  virtual void slot_hullSprayEffectsChanged(bool enabled);
142 
143  virtual bool active() const;
144 
146  virtual void createModelAgents();
147 
149  virtual void destroyModelAgents();
150 
152  virtual void setModelDefinitionForAgents();
153 
156  virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef);
157 
159  virtual void setEmbarkedOn(const std::string&);
160 
163  virtual bool visible() const;
164 
171  virtual void updateWakeEffects();
172 
177  virtual bool areWakeEffectsEnabled() const;
178 
184  virtual void updateSprayEffects();
185 
189  virtual bool areSprayEffectsEnabled() const;
190 
193  virtual void slot_wakeDefaultLODDistanceChanged(double distance);
194 
195  protected:
196  DtWakeModelAgent* myWakeModel;
197  DtWakeUpdaterAgent* myWakeUpdater;
198  bool myDestroyed;
201 
204  double myWakeOffset;
212  double myShipLength;
213  double myBeamWidth;
219  double myDraft;
225  double myBowSize;
236 
239 
241 
242  // The connection to the entity display settings default LOD distance is handled
243  // separately, so it can be disconnected if setLODDistance() is called from the API
244  boost::signalslib::connection myWakeLODDistanceChangedConnection;
245 
246  };
247 
248 
253 }
254 
bool myWakeOffsetSet
Definition: DtEntityWakeVisualizer.h:205
double mySternWaveOffset
Definition: DtEntityWakeVisualizer.h:210
Base class for entity state visualizers (using the DtModelVisualizer schema)
Definition: DtEntityStateVisualizer.h:23
double myPropWashFadeTime
Definition: DtEntityWakeVisualizer.h:217
DtWakeModelAgent * myWakeModel
Definition: DtEntityWakeVisualizer.h:196
bool mySprayEnabled
Definition: DtEntityWakeVisualizer.h:202
double mySprayVelocityScale
Definition: DtEntityWakeVisualizer.h:221
double myHullSprayVelocityScale
Definition: DtEntityWakeVisualizer.h:234
bool myEmbarked
Definition: DtEntityWakeVisualizer.h:199
bool mySprayEffectsEnabledGlobalFlag
Definition: DtEntityWakeVisualizer.h:238
voidpf void uLong size
Definition: ioapi.h:39
Definition: DtStateVisualizer.h:309
double myBowWaveOffset
Definition: DtEntityWakeVisualizer.h:208
bool myPropWashOffsetSet
Definition: DtEntityWakeVisualizer.h:216
bool myPropWashFadeTimeSet
Definition: DtEntityWakeVisualizer.h:218
double myBeamWidth
Definition: DtEntityWakeVisualizer.h:213
double myWakeOffset
Definition: DtEntityWakeVisualizer.h:204
bool myHullSprayVerticalOffsetSet
Definition: DtEntityWakeVisualizer.h:233
double myBowSprayOffset
Definition: DtEntityWakeVisualizer.h:206
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
bool myOceanWakesEnabledGlobalFlag
Definition: DtEntityWakeVisualizer.h:237
bool myBowSprayOffsetSet
Definition: DtEntityWakeVisualizer.h:207
bool myHullSprayEndSet
Definition: DtEntityWakeVisualizer.h:231
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
double myShipLength
Definition: DtEntityWakeVisualizer.h:212
double myPropWashOffset
Definition: DtEntityWakeVisualizer.h:215
bool myMaxBowWaveAmplitudeSet
Definition: DtEntityWakeVisualizer.h:224
bool mySternWaveOffsetSet
Definition: DtEntityWakeVisualizer.h:211
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
double myHullSprayVerticalOffset
Definition: DtEntityWakeVisualizer.h:232
bool myHullSprayStartSet
Definition: DtEntityWakeVisualizer.h:229
bool myPropWashEnabled
Definition: DtEntityWakeVisualizer.h:214
bool myBowWaveOffsetSet
Definition: DtEntityWakeVisualizer.h:209
double myHullSprayEnd
Definition: DtEntityWakeVisualizer.h:230
DtStateVisualizerCreatorTemplate< DtEntityWakeVisualizer > DtEntityWakeVisualizerCreator
Creator that will be registered with the state visualizer factory to create this class.
Definition: DtEntityWakeVisualizer.h:252
bool myEffectEnabled
Definition: DtEntityWakeVisualizer.h:200
bool myIsAmphibious
Definition: DtEntityWakeVisualizer.h:240
boost::signalslib::connection myWakeLODDistanceChangedConnection
Definition: DtEntityWakeVisualizer.h:244
double myHullSprayStart
Definition: DtEntityWakeVisualizer.h:228
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:30
double myBowSize
Definition: DtEntityWakeVisualizer.h:225
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
double myMaxBowWaveAmplitude
Definition: DtEntityWakeVisualizer.h:223
Contains makVrv:DtEntityStateVisualizer class.
double myHullSpraySizeScale
Definition: DtEntityWakeVisualizer.h:235
voidpf uLong offset
Definition: ioapi.h:42
double mySpraySizeScale
Definition: DtEntityWakeVisualizer.h:226
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
bool myDestroyed
Definition: DtEntityWakeVisualizer.h:198
double myDraft
Definition: DtEntityWakeVisualizer.h:219
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
double myBowWaveScale
Definition: DtEntityWakeVisualizer.h:222
Visualizer for kelvin wakes.
Definition: DtEntityWakeVisualizer.h:20
double myLODDistance
Definition: DtEntityWakeVisualizer.h:220
bool mySternWaveEnabled
Definition: DtEntityWakeVisualizer.h:203
int myNumHullSprays
Definition: DtEntityWakeVisualizer.h:227
DtWakeUpdaterAgent * myWakeUpdater
Definition: DtEntityWakeVisualizer.h:197

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)