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;
133 bool getContours(
double height,std::vector<std::vector<Segment2> >& vvContours,
bool bVerbose,
bool bAutoPerturbate=
true);
154 bool getIntersectionSegments(
double height,std::vector<Segment2*>& vIntersectionSegments);
156 void createContours(MMPS& mmPS,std::vector<std::vector<Segment2> >& vvContours);
158 void getIntersection(
Triangle2* pT,
double height,
int i,std::vector<Point2>& vIntersectionPoints);
161 std::vector<Triangle2*> vTriangles;
163 GeomTest* pGeomPredicates;
165 std::set<double> sForbiddenHeights;
169 std::vector<Point2*> vVtx;
The IsoContours class computes intersections of planes with a set of triangles, generating iso-contou...
Definition: IsoContours.h:64
CLASS_DECLSPEC IsoContours(std::vector< Point2 > &vCorners, const Vector2 &dirVec)
Constructor to initialize IsoContours with a set of triangle corners and slice direction.
CLASS_DECLSPEC ~IsoContours()
Destructor.
CLASS_DECLSPEC void getProfile(const Point2 &p, std::vector< Segment2 > &vSegmentsOut)
Get the profile at a specified point.
CLASS_DECLSPEC bool getContours(double height, std::vector< std::vector< Segment2 > > &vvContours, bool bVerbose, bool bAutoPerturbate=true)
Get the contours at a specified height.
CLASS_DECLSPEC double getMinHeight()
Get the minimum height (smallest z-coordinate).
CLASS_DECLSPEC IsoContours(std::vector< Triangle2 * > &vTriangles)
Constructor.
CLASS_DECLSPEC double getMaxHeight()
Get the maximum height (largest z-coordinate).
Represents a 2.5D point.
Definition: Point2.h:76
Represents a triangle in a triangulation.
Definition: Triangle2.h:59
Vector.
Definition: Vector2.h:47