22 #include <boost/unordered_map.hpp>
24 #include <matrix/vlVector.h>
29 class DtIntersectorCache;
58 virtual bool findNearestIntersectionToPoint(
double x,
double y,
double z,
61 std::vector<DtElementID>* ignoreList = 0,
bool returnTriangle =
false,
62 double maxIsectorLength = -1.,
bool useHighLod=
false );
71 virtual bool findAllIntersectionsThroughPoint(
double x,
double y,
double z,
74 std::vector<DtElementID>* ignoreList = 0,
bool sort =
true,
bool useHighLod=
false );
82 virtual bool findFirstIntersectWithLineSegment(
83 double x,
double y,
double z,
double end_x,
double end_y,
double end_z,
85 std::vector<DtElementID>* ignoreList=0,
bool useHighLod=
false);
93 virtual bool findAllIntersectWithLineSegment(
94 double x,
double y,
double z,
double end_x,
double end_y,
double end_z,
96 std::vector<DtElementID>* ignoreList=0,
bool sort=
true,
bool useHighLod=
false );
103 virtual bool pick(
DtChannel& channel,
double mx,
double my,
105 std::vector<DtElementID>* ignoreList=0);
111 virtual bool pickAll(
DtChannel* channel,
double mx,
double my,
113 std::vector<DtElementID>* ignoreList=0);
120 virtual void setCacheLimit(
int);
123 virtual void clearCache();