25 class GmMultiPolyIntersectionSorter;
36 static boost::shared_ptr<GmMultiPolyIntersector>
New(
37 const std::vector<Pt3d>& a_points,
38 const std::vector<std::vector<int> >& a_polys,
39 boost::shared_ptr<GmMultiPolyIntersectionSorter> a_sorter,
40 int a_startingId = 1);
44 virtual void TraverseLineSegment(
double a_x1,
48 std::vector<int>& a_polyids,
49 std::vector<double>& a_tvalues) = 0;
50 virtual void TraverseLineSegment(
double a_x1,
54 std::vector<int>& a_polyids) = 0;
55 virtual void TraverseLineSegment(
double a_x1,
59 std::vector<int>& a_polyids,
60 std::vector<Pt3d>& a_pts) = 0;
61 virtual void TraverseLineSegment(
double a_x1,
65 std::vector<int>& a_polyids,
66 std::vector<double>& a_tvalues,
67 std::vector<Pt3d>& a_pts) = 0;
68 virtual int PolygonFromPoint(
const Pt3d& a_pt) = 0;
See GmMultiPolyIntersectorImpl comments.
GmMultiPolyIntersectorQueryEnum
Type of query.
static boost::shared_ptr< GmMultiPolyIntersector > New(const std::vector< Pt3d > &a_points, const std::vector< std::vector< int > > &a_polys, boost::shared_ptr< GmMultiPolyIntersectionSorter > a_sorter, int a_startingId=1)
Creates a new GmMultiPolyIntersectorImpl object.
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)