VR-Forces 4.6 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) 2015 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  static const DtStateVisualizer::TypeInfo& theTypeInfo();
127 
128  protected:
129 
134  virtual void slot_oceanWakesEnabledChanged(bool enabled);
135 
138  virtual void slot_hullSprayEffectsChanged(bool enabled);
139 
140  virtual bool active() const;
141 
143  virtual void createModelAgents();
144 
146  virtual void destroyModelAgents();
147 
149  virtual void setModelDefinitionForAgents();
150 
153  virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef);
154 
156  virtual void setEmbarkedOn(const std::string&);
157 
160  virtual bool visible() const;
161 
168  virtual void updateWakeEffects();
169 
174  virtual bool areWakeEffectsEnabled() const;
175 
181  virtual void updateSprayEffects();
182 
186  virtual bool areSprayEffectsEnabled() const;
187 
190  virtual void slot_wakeDefaultLODDistanceChanged(double distance);
191 
192  protected:
193  DtWakeModelAgent* myWakeModel;
194  DtWakeUpdaterAgent* myWakeUpdater;
195  bool myDestroyed;
198 
201  double myWakeOffset;
209  double myShipLength;
210  double myBeamWidth;
216  double myDraft;
222  double myBowSize;
233 
236 
238 
239  // The connection to the entity display settings default LOD distance is handled
240  // separately, so it can be disconnected if setLODDistance() is called from the API
241  boost::signalslib::connection myWakeLODDistanceChangedConnection;
242 
243  };
244 
245 
250 }
251 

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)