15 #include <vlutil/vlTime.h>
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);
123 bool intersectSeaLevel(
const DtVector& position,
132 double& height,
DtVector& normalOut);
134 Triton::WakeGenerator* createWake(
135 const Triton::WakeGeneratorParameters& parameters );
137 Triton::RotorWash* createRotorWash(
double rotorDiameter);
138 Triton::Impact *createImpact(
double impactorDiameter,
double mass,
146 Triton::TidalStreamWake* createTidalStreamWake(
double size,
147 double draft,
double maxWaveHeight,
double offset);
150 void setSplashEffects(
bool screenSplashEnabled);
151 bool splashEffects()
const;
154 void setSprayEffects(
bool screenSprayEnabled);
155 bool sprayEffects()
const;
158 void setWaveSprayEffects(
bool waveSprayEnabled);
159 bool waveSprayEffects()
const;
162 void setDecalEffects(
bool decalsEnabled);
163 bool decalEffects()
const;
166 void setGodRayEffects(
bool godRaysEnabled);
167 bool godRayEffects()
const;
169 void setBreakingWaveAmplitude(
float meters);
170 float getBreakingWaveAmplitude()
const;
173 float getMaximumWaveHeight();
176 void setHeightMapResolution(
float metersPerTexel);
177 bool getHeightMapResolution(
float &metersPerTexel)
const;
179 void setSeaState(
unsigned int beaufortScale);
180 unsigned int seaState()
const;
184 void setPlanarReflections(
bool enable);
185 bool planarReflections()
const;
187 void setHeightMap(
bool enable);
188 bool heightMap()
const;
190 void setCorrelateIntersectionsToVisuals(
bool visualCorrelation);
191 bool correlateIntersectionsToVisuals()
const;
195 void setOceanMaskTextureEnabled(
bool enable);
196 bool isOceanMaskTextureEnabled()
const;
207 virtual void setQuality(
unsigned int quality);
208 virtual TritonQuality getQuality()
const;
220 virtual bool isOverWater(
const DtVector& localPosition,
bool isVisible=
true);
226 void setIsVisible(
bool visible,
unsigned int frameNum);
245 virtual double getOceanZoomOverride()
const;
246 virtual void setOceanZoomOverride(
double zoomOverride);
251 void slot_postInitialize();
252 void slot_driverToBeDestroyed(
DtDriver& driver);
osg::ref_ptr< DtTritonDrawable > myTritonDrawable
Definition: DtTritonManager.h:261
Virtual base class.
Definition: DtVirtualBaseClass.h:19
The declaration of the makVrv::DtEnvironment class.
boost::signalslib::signal< void()> signal_oceanToBeDestroyed
Definition: DtTritonManager.h:240
float myElevationRange
Definition: DtTritonManager.h:264
DtDynamicOceanObjectManager & myDynamicOceanObjectManager
Definition: DtTritonManager.h:273
voidpf uLong int origin
Definition: ioapi.h:42
DtTritonEventProcessor * myEventProcessor
Definition: DtTritonManager.h:259
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:268
bool myVisualIntersections
Definition: DtTritonManager.h:267
boost::signalslib::signal< void()> signal_oceanInitialized
Definition: DtTritonManager.h:237
Definition: DtTritonManager.h:199
double myOceanZoomOverride
Definition: DtTritonManager.h:272
bool myWaterVisible
Definition: DtTritonManager.h:269
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:266
boost::signalslib::signal< void()> signal_removedFromScene
Definition: DtTritonManager.h:239
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:31
Definition: DtTritonManager.h:200
boost::signalslib::signal< void()> signal_addedToScene
Definition: DtTritonManager.h:238
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
DtSignalConnectionManager mySignals
Definition: DtTritonManager.h:258
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool myOceanMaskTextureEnabled
Definition: DtTritonManager.h:275
osg::ref_ptr< DtTritonGroup > myTritonRoot
Definition: DtTritonManager.h:262
float mySeaLevel
Definition: DtTritonManager.h:265
Definition: DtTritonEventProcessor.h:21
DtTritonManager::TritonQuality myTritonQuality
Definition: DtTritonManager.h:274
boost::signalslib::signal< void(double)> signal_shipSpeedChanged
Definition: DtTritonManager.h:243
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:62
TritonQuality
Definition: DtTritonManager.h:198
voidpf uLong offset
Definition: ioapi.h:42
DtVector myWaterColor
Definition: DtTritonManager.h:271
bool myDecalEffects
Definition: DtTritonManager.h:270