VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTritonWakeModel.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvTriton/vrvTriton.h>
13 
14 #include <vrvCore/DtWakeModel.h>
15 
16 #include <vrvUtil/signalslib.h>
17 
18 #include <boost/signals/connection.hpp>
19 
20 #include <matrix/vlVector.h>
21 
22 namespace makVrv
23 {
24  class DtSceneObject;
25  class DtTritonWakeModelInstance;
26 
31  {
32  public:
33 
35  friend class DtTritonWakeUpdater;
36 
39 
41  virtual ~DtTritonWakeModel();
42 
44  virtual void setModelDefinition(const std::string& modelDef);
45 
48  virtual const std::string& className() const;
49 
51  virtual void setSprayEnabled( bool b );
53  virtual bool sprayEnabled() const;
55 
57  virtual void setSternWaveEnabled( bool b );
59  virtual bool sternWaveEnabled() const;
61 
63  virtual void setWakeOffset( double offset );
66  virtual double wakeOffset() const;
68 
70  virtual void setBowSprayOffset( double offset );
73  virtual double bowSprayOffset() const;
75 
77  virtual void setBowWaveOffset( double offset );
80  virtual double bowWaveOffset() const;
82 
84  virtual void setSternWaveOffset( double offset );
87  virtual double sternWaveOffset() const;
89 
91  virtual void setShipLength( double length );
93  virtual double shipLength() const;
95 
97  virtual void setBeamWidth( double width );
99  virtual double beamWidth() const;
101 
103  virtual void setPropWashEnabled( bool b);
105  virtual bool propWashEnabled() const;
107 
109  virtual void setPropWashOffset( double offset );
112  virtual double propWashOffset() const;
114 
116  virtual void setPropWashFadeTime( double fadeTime );
119  virtual double propWashFadeTime() const;
121 
123  virtual void setDraft( double draft );
126  virtual double draft() const;
128 
130  virtual void setSprayVelocityScale( double scale );
132  virtual double sprayVelocityScale() const;
134 
136  virtual void setBowWaveScale( double scale );
138  virtual double bowWaveScale() const;
140 
142  virtual void setMaxBowWaveAmplitude( double amplitude );
144  virtual double maxBowWaveAmplitude() const;
146 
148  virtual void setBowSize( double size );
150  virtual double bowSize() const;
152 
154  virtual void setSpraySizeScale( double scale );
156  virtual double spraySizeScale() const;
158 
160  virtual void setNumHullSprays( int numSprays );
163  virtual int numHullSprays() const;
165 
167  virtual void setHullSprayStart( double extent );
170  virtual double hullSprayStart() const;
172 
174  virtual void setHullSprayEnd( double extent );
177  virtual double hullSprayEnd() const;
179 
181  virtual void setHullSprayVelocityScale( double scale );
184  virtual double hullSprayVelocityScale() const;
186 
188  virtual void setHullSpraySizeScale( double scale );
190  virtual double hullSpraySizeScale() const;
192 
194  virtual void setHullSprayVerticalOffset( double scale );
196  virtual double hullSprayVerticalOffset() const;
198 
202  virtual void addToScene( const DtUniqueID& sceneObjectId,
203  DtModelSetId modelSet, int visualizerType );
204 
206  virtual void removeFromScene();
207 
211  virtual void setVisible(bool isVisible);
212 
214  virtual void setIsSupportModel(bool isSupport) {}
215 
216  protected:
218  virtual DtTritonWakeModelInstance* wakeModelInstance();
219 
222  virtual DtTritonWakeModelInstance* wakeModelInstance() const;
223 
225  virtual DtSceneObject* sceneObject() const;
226 
229  virtual void calcDefaults();
230 
232  virtual void setIsOverWater( bool overWater );
233 
237  virtual void slot_oceanAddedToScene();
238 
239  protected:
240  boost::signalslib::connection myTritonManagerConnection;
241  };
242 
243 }
Contains the DtWakeModel class declaration.
A model of a triton wake is used to interface with the triton API to generate a Kelvin wake effect...
Definition: DtTritonWakeModel.h:30
voidpf void uLong size
Definition: ioapi.h:39
Updater for the Kelvin wake model.
Definition: DtTritonWakeUpdater.h:35
The (abstract) interface for a model of a Kelvin wake.
Definition: DtWakeModel.h:23
Contains DLL export macros.
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
Implementation of a Triton wake model.
Definition: DtTritonWakeModelInstance.h:33
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
virtual void setIsSupportModel(bool isSupport)
Unused, but required for all DtModels.
Definition: DtTritonWakeModel.h:214
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
boost::signalslib::connection myTritonManagerConnection
Definition: DtTritonWakeModel.h:240

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)