54 #if GEOM_PSEUDO3D==GEOM_TRUE
55 namespace GEOM_FADE25D {
56 #elif GEOM_PSEUDO3D==GEOM_FALSE
57 namespace GEOM_FADE2D {
59 #error GEOM_PSEUDO3D is not defined
62 class SegmentCheckerData;
207 void getIllegalSegments(
bool bAlsoEndPointIntersections,std::vector<Segment2*>& vIllegalSegmentsOut)
const;
238 bool bAlsoEndPointIntersections,
239 std::vector<std::pair<Segment2*,SegmentIntersectionType> >& vIntersectorsOut)
const;
242 #if GEOM_PSEUDO3D==GEOM_TRUE
286 void getIntersectionSegment(
const Segment2& seg0,
349 void addSegments(
const std::vector<Segment2*>& vSegments_);
352 SegmentCheckerData* pSCD;
SegmentIntersectionType
Definition: SegmentChecker.h:36
@ SIT_ENDPOINT
Definition: SegmentChecker.h:41
@ SIT_UNINITIALIZED
Definition: SegmentChecker.h:37
@ SIT_NONE
Definition: SegmentChecker.h:38
@ SIT_SEGMENT
Definition: SegmentChecker.h:39
@ SIT_POINT
Definition: SegmentChecker.h:40
ClipResult
Definition: SegmentChecker.h:45
@ CR_EMPTY
Definition: SegmentChecker.h:47
@ CR_CLIPPED_NONDEGENERATE
Definition: SegmentChecker.h:49
@ CR_INVALID
Definition: SegmentChecker.h:46
@ CR_COMPLETE_NONDEGENERATE
Definition: SegmentChecker.h:51
@ CR_COMPLETE_DEGENERATE
Definition: SegmentChecker.h:50
@ CR_CLIPPED_DEGENERATE
Definition: SegmentChecker.h:48
Bbox2 is an axis aligned 2D bounding box.
Definition: Bbox2.h:37
MsgBase, a base class for message subscriber classes.
Definition: MsgBase.h:47
Point.
Definition: Point2.h:53
Segment.
Definition: Segment2.h:39
SegmentChecker identifies intersecting line segments.
Definition: SegmentChecker.h:80
void showSegments(const char *name) const
void setLimit(const Bbox2 &bbx)
size_t getNumberOfSegments() const
void getIntersectors(Segment2 *pTestSegment, bool bAlsoEndPointIntersections, std::vector< std::pair< Segment2 *, SegmentIntersectionType > > &vIntersectorsOut) const
void getIntersectionPoint(SegmentIntersectionType typ, const Segment2 &seg0, const Segment2 &seg1, Point2 &ispOut) const
static const char * getIntersectionTypeString(SegmentIntersectionType sit)
void unsubscribe(MsgType msgType, MsgBase *pMsg)
void getIntersectionSegment(const Segment2 &seg0, const Segment2 &seg1, Segment2 &issOut) const
void subscribe(MsgType msgType, MsgBase *pMsg)
int getIndex(Segment2 *pSeg) const
SegmentIntersectionType getIntersectionType(const Segment2 *pSeg1, const Segment2 *pSeg2) const
Segment2 * getSegment(size_t i) const
SegmentChecker(const std::vector< Segment2 * > &vSegments_)
void showIllegalSegments(bool bAlsoEndPointIntersections, const char *name) const
ClipResult clipSegment(Segment2 &seg)
void getIllegalSegments(bool bAlsoEndPointIntersections, std::vector< Segment2 * > &vIllegalSegmentsOut) const