16 #include <matrix/vlVector.h>
21 class DtDynamicOceanObjectManager;
56 virtual bool findNearestIntersection(
double x,
double y,
double z,
60 double maxIsectorLength,
bool useHighLod );
75 virtual bool findIntersectionsThroughPoint(
double x,
double y,
double z,
76 double vx,
double vy,
double vz,
80 double maxIsectorLength,
bool sort,
bool useHighLod );
87 virtual bool intersectLineSegmentWithScene(
double x,
double y,
double z,
88 double end_x,
double end_y,
double end_z,
93 bool returnHitTriangle=
false,
bool useHighLod=
false );
100 virtual bool intersectLineSegmentWithScene(
double x,
double y,
double z,
101 double end_x,
double end_y,
double end_z,
106 bool returnHitTriangle=
false,
bool sort=
true,
bool useHighLod=
false );
110 virtual bool pick( osgViewer::View& view,
double mx,
double my,
114 bool returnHitTriangle=
false );
118 virtual bool pick( osgViewer::View& view,
double mx,
double my,
122 bool returnHitTriangle=
false );
125 virtual bool doOceanPick(
const DtCameraNode& sceneCamera,
double mx,
126 double my,
DtVector& oceanIntersectLocation,
DtVector& oceanIntersectNormal,
129 virtual bool pickTritonWaves(
const DtCameraNode& sceneCamera,
double mx,
133 virtual bool pickTritonSeaLevel(
const DtCameraNode& sceneCamera,
140 virtual bool intersectTritonWaves(
const DtVector& start,
const DtVector& dir,
143 virtual bool intersectTritonSeaLevel(
const DtVector& start,
const DtVector& dir,
149 virtual bool addOceanIntersectIfCloser(
const DtVector& start,
const DtVector& end,
152 virtual void fillOceanIntersection(
const DtVector& oceanIntersectLocation,
155 virtual bool calcEndpointsFromDirectionAndLength(
double x,
double y,
156 double z,
double vx,
double vy,
double vz,
double length,