18 #include <matrix/vlVector.h>
23 class DtDynamicOceanObjectManager;
24 class DtCoordinateConverter;
25 class DtTritonManager;
67 virtual bool findNearestIntersection(
double x,
double y,
double z,
71 double maxIsectorLength,
bool useHighLod )
const override;
86 virtual bool findIntersectionsThroughPoint(
double x,
double y,
double z,
87 double vx,
double vy,
double vz,
91 double maxIsectorLength,
bool sort,
bool useHighLod )
const override;
98 virtual bool intersectLineSegmentWithScene(
double x,
double y,
double z,
99 double end_x,
double end_y,
double end_z,
104 bool returnHitTriangle=
false,
bool useHighLod=
false )
const override;
111 virtual bool intersectLineSegmentWithScene(
double x,
double y,
double z,
112 double end_x,
double end_y,
double end_z,
117 bool returnHitTriangle=
false,
bool sort=
true,
bool useHighLod=
false )
const override;
121 virtual bool pick(
const osgViewer::View& view,
double mx,
double my,
125 bool returnHitTriangle=
false )
override;
129 virtual bool pick(
const osgViewer::View& view,
double mx,
double my,
133 bool returnHitTriangle=
false )
override;
136 virtual bool doOceanPick(
const DtVector& start,
const DtVector& end
137 , DtVector& oceanIntersectLocation, DtVector& oceanIntersectNormal,
138 DtVector* nearPlanePosition=0 )
const;
140 virtual bool pickTritonWaves(
const DtVector& start,
const DtVector& end
141 , DtVector& result, DtVector& normal,
142 DtVector* nearPlanePosition=0 )
const;
144 virtual bool pickTritonSeaLevel(
const DtVector& start,
const DtVector& end
145 , DtVector& result, DtVector& normal,
146 DtVector* nearPlanePosition=0 )
const;
148 virtual bool doOceanIntersect(
const DtVector& start,
const DtVector& end,
149 DtVector& oceanIntersectLocation, DtVector& oceanIntersectNormal )
const;
151 virtual bool intersectTritonWaves(
const DtVector& start,
const DtVector& dir,
152 DtVector& result, DtVector& normal )
const;
154 virtual bool intersectTritonSeaLevel(
const DtVector& start,
const DtVector& dir,
155 DtVector& seaPlane, DtVector& normal )
const;
160 virtual bool addOceanIntersectIfCloser(
const DtVector& start,
const DtVector& end,
163 virtual void fillOceanIntersection(
const DtVector& oceanIntersectLocation,
166 virtual bool calcEndpointsFromDirectionAndLength(
double x,
double y,
167 double z,
double vx,
double vy,
double vz,
double length,
169 DtVector& endPoint )
const;
172 virtual void transformSeaLevelForTritonManager(DtVector& seaLevel)
const;
175 virtual void slot_coordinateSystemChanged();
std::vector< DtSceneRoot > DtSceneRootList
A list of DtOsgRenderer::SceneRoots.
Definition: DtSceneRoot.h:135
const DtDynamicOceanObjectManager & myDynamicOceanObjectManager
Definition: DtTritonIntersector.h:178
DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters.
Definition: DtCoordinateConverter.h:25
Contains makVrv:DtOsgIntersector class.
DtIntersector is an abstract class that provides the interface for requesting intersections with the ...
Definition: DtIntersector.h:25
DtOsgIntersector is the OSG-specific implementation of the DtIntersector class. It provides a variety...
Definition: DtOsgIntersector.h:66
DtOsgIntersectorResult is the OSG-specific implementation of DtIntersectorResult; it is a container c...
Definition: DtOsgIntersectorResult.h:25
Descriptor for a single intersection result.
Definition: DtIntersectorResult.h:21
std::vector< DtOsgIntersectorResult > DtOsgIntersections
Note that even with intersection debug drawing enabled, these OSG-specific functions do not result in...
Definition: DtOsgIntersector.h:181
Abstract creator base class.
Definition: DtTritonIntersector.h:191
static const unsigned int FlagAllOn
Nodemask bitflag definitions.
Definition: DtOsgNodeTraversalFlags.h:19
Manager that provides direct access to the dynamic ocean objects in use within a display engine...
Definition: DtDynamicOceanObjectManager.h:27
Contains DLL export macros.
DtTritonManager & myTritonManager
Definition: DtTritonIntersector.h:186
DtTritonIntersector works with the methods in the DtOsgIntersector class to provide a Triton-aware im...
Definition: DtTritonIntersector.h:32
DtOsgItersectorExclusions is a list of osg nodes from the scene graph and a list of element IDs to ex...
Definition: DtOsgIntersector.h:53
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager myConnections
Definition: DtTritonIntersector.h:180
DT_DLL_vrfutil bool intersection(const DtRailSegment *currentSegment, const DtRailSegment *nextSegment)
Given two segments, determine if where they meet is an intersection or just a bend in the road...
Base class to provide boost signal/slot management.
Definition: DtTritonManager.h:49
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.
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:76
Abstract creator base class.
Definition: DtIntersectorCreator.h:24
DtModelSetId
Definition: DtModelSetEnums.h:19