15 #include <vlutil/vlTime.h>
17 #include <boost/signal.hpp>
18 #include <osg/ref_ptr>
25 class WakeGeneratorParameters;
28 class TidalStreamWake;
40 class DtDynamicOceanObject;
42 class DtTritonDrawable;
43 class DtTritonEventProcessor;
45 class DtDynamicOceanObjectManager;
58 virtual void oceanLayerAdded();
59 virtual void oceanLayerToBeDeleted();
61 void setSeaLevel(
float level);
62 float seaLevel()
const;
64 void setElevationLod(
double maxElevation);
65 double elevationLod()
const;
71 void setWind(
double speed,
double direction,
double fetch = 0.0);
81 void setDouglasSeaState(
82 int seaState,
double seaStateDirection,
83 int swellState,
double swellStateDirection);
85 void addSwell(
float wavelength,
float waveHeight,
float radiansClockwiseFromNorth);
90 void setChoppiness(
float chop);
93 bool getIsUnderwater(
const osg::Camera* osgCamera)
const;
94 void setUnderwaterVisibility(
double distance);
95 bool setUnderwaterFogColor(
const DtVector& fogColor);
96 void setUnderwaterFogEnabled(
bool enabled);
99 void setWaterColor(
const DtVector& waterColor);
103 double waterVisibility()
const;
104 void setWaterVisibility(
double distance);
105 void setSurfaceTransparency(
double transparency);
108 bool setSurgeDepth(
float depth);
109 bool getSurgeDepth(
float& depth)
const;
111 void setDepthOffset(
float offset);
116 DtVector& normalOut,
float waterlineAdjustment=0.0);
120 bool intersectSeaLevel(
const DtVector& position,
126 double& height,
DtVector& normalOut);
128 Triton::WakeGenerator* createWake(
129 const Triton::WakeGeneratorParameters& parameters );
131 Triton::RotorWash* createRotorWash(
double rotorDiameter);
132 Triton::Impact *createImpact(
double impactorDiameter,
double mass,
140 Triton::TidalStreamWake* createTidalStreamWake(
double size,
141 double draft,
double maxWaveHeight,
double offset);
144 void setSplashEffects(
bool screenSplashEnabled);
145 bool splashEffects()
const;
148 void setSprayEffects(
bool screenSprayEnabled);
149 bool sprayEffects()
const;
152 void setWaveSprayEffects(
bool waveSprayEnabled);
153 bool waveSprayEffects()
const;
156 void setDecalEffects(
bool decalsEnabled);
157 bool decalEffects()
const;
160 void setGodRayEffects(
bool godRaysEnabled);
161 bool godRayEffects()
const;
163 void setBreakingWaveAmplitude(
float meters);
164 float getBreakingWaveAmplitude()
const;
167 float getMaximumWaveHeight();
170 void setHeightMapResolution(
float metersPerTexel);
171 bool getHeightMapResolution(
float &metersPerTexel)
const;
173 void setSeaState(
unsigned int beaufortScale);
174 unsigned int seaState()
const;
178 void setPlanarReflections(
bool enable);
179 bool planarReflections()
const;
181 void setHeightMap(
bool enable);
182 bool heightMap()
const;
184 void setCorrelateIntersectionsToVisuals(
bool visualCorrelation);
185 bool correlateIntersectionsToVisuals()
const;
189 void setOceanMaskTextureEnabled(
bool enable);
190 bool isOceanMaskTextureEnabled()
const;
201 virtual void setQuality(
unsigned int quality);
202 virtual TritonQuality getQuality()
const;
214 virtual bool isOverWater(
const DtVector& localPosition,
bool isVisible=
true);
220 void setIsVisible(
bool visible,
unsigned int frameNum);
239 virtual double getOceanZoomOverride()
const;
240 virtual void setOceanZoomOverride(
double zoomOverride);
245 void slot_postInitialize();
246 void slot_driverToBeDestroyed(
DtDriver& driver);
osg::ref_ptr< DtTritonDrawable > myTritonDrawable
Definition: DtTritonManager.h:255
Virtual base class.
Definition: DtVirtualBaseClass.h:22
The declaration of the makVrv::DtEnvironment class.
float myElevationRange
Definition: DtTritonManager.h:258
DtDynamicOceanObjectManager & myDynamicOceanObjectManager
Definition: DtTritonManager.h:268
voidpf uLong int origin
Definition: ioapi.h:42
DtTritonEventProcessor * myEventProcessor
Definition: DtTritonManager.h:253
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
Contains makVrv::DtOceanStateInterface class.
unsigned int myLastFrameNum
Definition: DtTritonManager.h:263
bool myVisualIntersections
Definition: DtTritonManager.h:261
boost::signal< void(double)> signal_shipSpeedChanged
Definition: DtTritonManager.h:237
Definition: DtTritonManager.h:193
double myOceanZoomOverride
Definition: DtTritonManager.h:267
bool myWaterVisible
Definition: DtTritonManager.h:264
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:260
float myWaveDampingDistance
Definition: DtTritonManager.h:262
The base dynamic ocean object.
Definition: DtDynamicOceanObject.h:27
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
The DtDriver is an abstract class.
Definition: DtDriver.h:34
Definition: DtTritonManager.h:194
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
DtSignalConnectionManager mySignals
Definition: DtTritonManager.h:252
boost::signal< void()> signal_oceanToBeDestroyed
Definition: DtTritonManager.h:234
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
bool myOceanMaskTextureEnabled
Definition: DtTritonManager.h:270
osg::ref_ptr< DtTritonGroup > myTritonRoot
Definition: DtTritonManager.h:256
float mySeaLevel
Definition: DtTritonManager.h:259
Definition: DtTritonEventProcessor.h:21
DtTritonManager::TritonQuality myTritonQuality
Definition: DtTritonManager.h:269
boost::signal< void()> signal_removedFromScene
Definition: DtTritonManager.h:233
Definition: DtTritonManager.h:48
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: DtOceanStateInterface.h:20
An OSG Drawable representing Triton's infinite ocean.
Definition: DtTritonDrawable.h:61
TritonQuality
Definition: DtTritonManager.h:192
boost::signal< void()> signal_oceanInitialized
Definition: DtTritonManager.h:231
voidpf uLong offset
Definition: ioapi.h:42
DtVector myWaterColor
Definition: DtTritonManager.h:266
boost::signal< void()> signal_addedToScene
Definition: DtTritonManager.h:232
bool myDecalEffects
Definition: DtTritonManager.h:265