20 #if GEOM_PSEUDO3D==GEOM_TRUE
26 #if GEOM_PSEUDO3D==GEOM_TRUE
27 namespace GEOM_FADE25D {
28 #elif GEOM_PSEUDO3D==GEOM_FALSE
29 namespace GEOM_FADE2D {
31 #error GEOM_PSEUDO3D is not defined
42 typedef std::multimap<Point2,Segment2*> MMPS;
44 typedef MMPS::iterator MMPSIt;
57 explicit IsoContours(std::vector<Triangle2*>& vTriangles);
100 bool getContours(
double height,std::vector<std::vector<Segment2> >& vvContours,
bool bVerbose,
bool bAutoPerturbate=
true);
119 bool getIntersectionSegments(
double height,std::vector<Segment2*>& vIntersectionSegments);
121 void createContours(MMPS& mmPS,std::vector<std::vector<Segment2> >& vvContours);
123 void getIntersection(
Triangle2* pT,
double height,
int i,std::vector<Point2>& vIntersectionPoints);
126 std::vector<Triangle2*> vTriangles;
128 GeomTest* pGeomPredicates;
130 std::set<double> sForbiddenHeights;
134 std::vector<Point2*> vVtx;
IsoContours uses a fast datastructure to compute intersections of horizontal planes with a given list...
Definition: IsoContours.h:52
void getProfile(const Point2 &p, std::vector< Segment2 > &vSegmentsOut)
IsoContours(std::vector< Point2 > &vCorners, const Vector2 &dirVec)
bool getContours(double height, std::vector< std::vector< Segment2 > > &vvContours, bool bVerbose, bool bAutoPerturbate=true)
Point.
Definition: Point2.h:53
Triangle.
Definition: Triangle2.h:60
Vector.
Definition: Vector2.h:42