15 #include <vlutil/vlTime.h>
20 #include <osg/ref_ptr>
25 class WakeGeneratorParameters;
28 class TidalStreamWake;
40 class DtDynamicOceanObject;
41 class DtPlanarReflection;
43 class DtTritonDrawable;
44 class DtTritonEventProcessor;
46 class DtDynamicOceanObjectManager;
58 TritonSpectralModel_JonSwap = 0
59 , TritonSpectralModel_Pierson_Moskowitz
60 , TritonSpectralModel_Tessendorf
74 virtual void addToScene();
76 virtual void oceanLayerAdded();
77 virtual void oceanLayerToBeDeleted();
79 virtual void setSeaLevel(
float level);
80 virtual float seaLevel()
const;
82 virtual void setElevationLod(
double maxElevation);
83 virtual double elevationLod()
const;
89 virtual void setWind(
double speed,
double direction,
double fetch = 0.0);
99 virtual void setDouglasSeaState(
103 virtual void addSwell(
float wavelength,
float waveHeight,
float radiansClockwiseFromNorth);
104 virtual void clearSwells();
108 virtual void setChoppiness(
float chop);
111 virtual bool getIsUnderwater(
const osg::Camera* osgCamera)
const;
112 virtual void setUnderwaterVisibility(
double distance);
113 virtual bool setUnderwaterFogColor(
const DtVector& fogColor);
114 virtual void setUnderwaterFogEnabled(
bool enabled);
117 virtual void setWaterColor(
const DtVector& waterColor);
118 virtual DtVector waterColor()
const;
121 virtual double waterVisibility()
const;
122 virtual void setWaterVisibility(
double distance);
123 virtual void setSurfaceTransparency(
double transparency);
126 virtual bool setSurgeDepth(
float depth);
127 virtual bool getSurgeDepth(
float& depth)
const;
129 virtual void setDepthOffset(
float offset);
134 DtVector& normalOut,
float waterlineAdjustment = 0.0);
141 virtual bool intersectSeaLevel(
const DtVector& position,
150 double& height,
DtVector& normalOut);
152 virtual Triton::WakeGenerator* createWake(
153 const Triton::WakeGeneratorParameters& parameters);
155 virtual Triton::RotorWash* createRotorWash(
double rotorDiameter);
157 virtual Triton::Impact* createImpact(
double impactorDiameter,
double mass,
165 virtual Triton::TidalStreamWake* createTidalStreamWake(
double size,
166 double draft,
double maxWaveHeight,
double offset);
169 virtual void setWaveSprayEffects(
bool waveSprayEnabled);
170 virtual bool waveSprayEffects()
const;
173 virtual void setDecalEffects(
bool decalsEnabled);
174 virtual bool decalEffects()
const;
177 virtual void setGodRayEffects(
bool godRaysEnabled);
178 virtual bool godRayEffects()
const;
180 virtual void setBreakingWaveAmplitude(
float meters);
181 virtual float getBreakingWaveAmplitude()
const;
184 virtual float getMaximumWaveHeight();
187 virtual void setHeightMapResolution(
float metersPerTexel);
188 virtual bool getHeightMapResolution(
float& metersPerTexel)
const;
195 virtual void setPlanarReflections(
bool enable);
196 virtual bool planarReflections()
const;
198 virtual void setHeightMap(
bool enable);
199 virtual bool heightMap()
const;
201 virtual void setCorrelateIntersectionsToVisuals(
bool visualCorrelation);
202 virtual bool correlateIntersectionsToVisuals()
const;
205 virtual void setIncludeWakesInIntersections(
bool includeWakes);
208 virtual bool includeWakesInIntersections()
const;
213 virtual void setOceanMaskTextureEnabled(
bool enable);
214 virtual bool isOceanMaskTextureEnabled()
const;
217 virtual void setQuality(
unsigned int quality);
221 virtual TritonQuality quality()
const;
225 virtual void setSpectralModel(
unsigned int spectralModel);
227 virtual TritonSpectralModel spectralModel()
const;
240 virtual bool isOverWater(
const DtVector& localPosition,
bool isVisible =
true);
242 virtual bool addedToScene();
246 virtual void setIsVisible(
bool visible,
unsigned int frameNum);
249 virtual bool getIsVisible();
253 virtual DtTime oceanTime()
const;
258 virtual double getOceanZoomOverride()
const;
259 virtual void setOceanZoomOverride(
double zoomOverride);
262 virtual void setFreezeEnabled(
bool enable);
265 virtual bool freezeEnabled()
const;
268 virtual void setFreezeTime(
DtTime freezeAtTime);
270 virtual DtTime freezeTime(
void)
const;
285 void slot_postInitialize();
286 void slot_driverToBeDestroyed(
DtDriver& driver);
287 virtual void installEventProcessor();
291 void slot_postUpdate();
314 bool myIncludeWakesInIntersections =
true;
323 bool myFreezeEnabled =
false;
osg::ref_ptr< DtTritonDrawable > myTritonDrawable
Definition: DtTritonManager.h:304
DtDe & myDe
Definition: DtTritonManager.h:297
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
The declaration of the makVrv::DtEnvironment class.
boost::signalslib::signal< void()> signal_oceanToBeDestroyed
Definition: DtTritonManager.h:276
float myElevationRange
Definition: DtTritonManager.h:310
DtDynamicOceanObjectManager & myDynamicOceanObjectManager
Definition: DtTritonManager.h:299
voidpf uLong int origin
Definition: ioapi.h:42
DtTritonEventProcessor * myEventProcessor
Definition: DtTritonManager.h:302
Definition: featureContext.h:37
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
voidpf void uLong size
Definition: ioapi.h:39
unsigned int myLastFrameNum
Definition: DtTritonManager.h:315
bool myVisualIntersections
Definition: DtTritonManager.h:313
TritonQuality myTritonQuality
Definition: DtTritonManager.h:307
boost::signalslib::signal< void(double)> signal_shipSpeedChanged
Definition: DtTritonManager.h:282
Definition: DtTritonManager.h:52
double myOceanZoomOverride
Definition: DtTritonManager.h:319
bool myWaterVisible
Definition: DtTritonManager.h:316
The declaration of the makVrv::DtBeaufortWindScale class.
Manager that provides direct access to the dynamic ocean objects in use within a display engine...
Definition: DtDynamicOceanObjectManager.h:27
Contains DLL export macros.
double myWaterVisibility
Definition: DtTritonManager.h:312
Scale
Definition: DtDouglasSeaScale.h:33
static const float theMaxWindSpeedForWindFetch
Definition: DtTritonManager.h:326
boost::signalslib::signal< void()> signal_removedFromScene
Definition: DtTritonManager.h:275
The base dynamic ocean object. An actual (do-nothing) implementation is provided so that an implement...
Definition: DtDynamicOceanObject.h:29
Scale
Definition: DtBeaufortWindScale.h:29
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
The DtDriver is an abstract class. Developers derive from this to create logic that "directs" things ...
Definition: DtDriver.h:31
Definition: DtTritonManager.h:53
boost::signalslib::signal< void()> signal_addedToScene
Definition: DtTritonManager.h:274
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
Scale
Definition: DtDouglasSeaScale.h:114
DtSignalConnectionManager mySignals
Definition: DtTritonManager.h:301
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
TritonSpectralModel mySpectralModel
Definition: DtTritonManager.h:308
bool myOceanMaskTextureEnabled
Definition: DtTritonManager.h:320
osg::ref_ptr< DtTritonGroup > myTritonRoot
Definition: DtTritonManager.h:305
float mySeaLevel
Definition: DtTritonManager.h:311
Definition: DtTritonEventProcessor.h:22
Definition: DtTritonManager.h:48
TritonSpectralModel
Definition: DtTritonManager.h:57
boost::signalslib::signal< void(DtPlanarReflection *reflection)> signal_planarReflectionCreated
Signal emitted when a new planar reflection has been created.
Definition: DtTritonManager.h:279
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:70
An OSG Drawable representing Triton's infinite ocean. /ingroup vrvTriton.
Definition: DtTritonDrawable.h:62
TritonQuality
Definition: DtTritonManager.h:51
boost::signalslib::signal< void()> signal_oceanInitialized
Definition: DtTritonManager.h:273
voidpf uLong offset
Definition: ioapi.h:42
DtVector myWaterColor
Definition: DtTritonManager.h:318
bool myDecalEffects
Definition: DtTritonManager.h:317