18 #include <boost/unordered_map.hpp>
28 class DtSceneObjectAgent;
29 class Dt3DSegmentedLineModelAgent;
56 return !(*
this == rhs);
140 NodesThatReceivesShadows = 4,
141 NodesThatCastsShadows = 8
146 DynamicOceanPropertyMsl = 0,
147 DynamicOceanPropertyWaves = 1,
148 DynamicOceanPropertyIgnore = 2
181 virtual bool findNearestIntersectionToPoint(
double x,
double y,
double z,
184 std::vector<DtElementID>* ignoreList = 0,
bool returnTriangle =
false,
185 double maxIsectorLength = -1.,
bool useHighLod =
false ) = 0;
194 virtual bool findAllIntersectionsThroughPoint(
double x,
double y,
double z,
197 std::vector<DtElementID>* ignoreList = 0,
bool sort =
true,
198 bool useHighLod =
false ) = 0;
206 virtual bool findFirstIntersectWithLineSegment(
207 double x,
double y,
double z,
double end_x,
double end_y,
double end_z,
210 std::vector<DtElementID>* ignoreList=0,
211 bool useHighLod =
false) = 0;
219 virtual bool findAllIntersectWithLineSegment(
220 double x,
double y,
double z,
double end_x,
double end_y,
double end_z,
223 std::vector<DtElementID>* ignoreList=0,
bool sort=
true,
224 bool useHighLod =
false ) = 0;
231 virtual bool pick(
DtChannel& channel,
double mx,
double my,
234 std::vector<DtElementID>* ignoreList=0) = 0;
240 virtual bool pickAll(
DtChannel* channel,
double mx,
double my,
243 std::vector<DtElementID>* ignoreList=0) = 0;
253 virtual void setDefaultMaxClamp(
double maximumIsectorLength);
254 virtual double defaultMaxClamp()
const;
308 virtual void setColors(
const DtColorValue& failedColor,
328 virtual void update(
DtTime tNow );
330 virtual void drawIntersection(
363 virtual void registerCharacterIntersector(
DtIntersector* intersector);
369 virtual void drawIntersection(