Name
Segments -- segment object and related functions.
Description
Segments are defined by their two GtsVertex. They are not oriented.
When destroying a GtsSegment, all the vertices not used by another edge are also destroyed. This default behaviour can be changed punctually by setting the global variable gts_allow_floating_vertices to TRUE. You must not forget to set this variable back to FALSE as all the algorithms of GTS assume the default behaviour.
Details
GTS_SEGMENT_CLASS()
#define GTS_SEGMENT_CLASS(klass) |
Casts klass to GtsSegmentClass.
GTS_IS_SEGMENT()
#define GTS_IS_SEGMENT(obj) |
Evaluates to TRUE if obj is a descendant of GtsSegment, FALSE otherwise.
struct GtsSegmentClass
struct GtsSegmentClass {
GtsObjectClass parent_class;
}; |
The segment class. No virtual functions are assiocated.
struct GtsSegment
struct GtsSegment {
GtsObject object;
GtsVertex * v1, * v2;
}; |
The segment is just derived from GtsObject.
Fields v1 and v2 are the two GtsVertex, endpoints of the segment.
gts_segments_are_identical()
#define gts_segments_are_identical(s1, s2) |
Evaluates to TRUE if s1 and s2 link the same vertices, FALSE otherwise.
gts_segments_are_intersecting ()
gts_segment_is_duplicate ()
gts_segment_connect()
#define gts_segment_connect(s, e1, e2) |
Evaluates to TRUE if s connects e1 with e2, FALSE otherwise.
gts_segments_touch()
#define gts_segments_touch(s1, s2) |
gts_segments_from_vertices ()
GSList* gts_segments_from_vertices (GSList *vertices); |