<!-- ##### SECTION Title ##### -->
Segments

<!-- ##### SECTION Short_Description ##### -->
segment object and related functions.

<!-- ##### SECTION Long_Description ##### -->
<para>
Segments are defined by their two #GtsVertex. They are not oriented.
</para>
<para>
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.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### MACRO GTS_SEGMENT_CLASS ##### -->
<para>
Casts @klass to #GtsSegmentClass.
</para>

@klass: a descendant of #GtsSegmentClass.


<!-- ##### MACRO GTS_SEGMENT ##### -->
<para>
Casts @obj to #GtsSegment.
</para>

@obj: a descendant of #GtsSegment.


<!-- ##### MACRO GTS_IS_SEGMENT ##### -->
<para>
Evaluates to %TRUE if @obj is a descendant of #GtsSegment, %FALSE otherwise.
</para>

@obj: a pointer to test.


<!-- ##### STRUCT GtsSegmentClass ##### -->
<para>
The segment class. No virtual functions are assiocated.
</para>

@parent_class: 

<!-- ##### STRUCT GtsSegment ##### -->
<para>
The segment object.
</para>

@object: The parent object.
@v1: First endpoint of the segment.
@v2: Second endpoint of the segment.

<!-- ##### FUNCTION gts_segment_class ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION gts_segment_new ##### -->
<para>

</para>

@klass: 
@v1: 
@v2: 
@Returns: 


<!-- ##### MACRO gts_segments_are_identical ##### -->
<para>
Evaluates to %TRUE if @s1 and @s2 link the same vertices, %FALSE otherwise.
</para>

@s1: a #GtsSegment.
@s2: another #GtsSegment.


<!-- ##### FUNCTION gts_segments_are_intersecting ##### -->
<para>

</para>

@s1: 
@s2: 
@Returns: 


<!-- ##### FUNCTION gts_segment_is_duplicate ##### -->
<para>

</para>

@s: 
@Returns: 


<!-- ##### FUNCTION gts_segment_is_ok ##### -->
<para>

</para>

@s: 
@Returns: 


<!-- ##### MACRO gts_segment_connect ##### -->
<para>
Evaluates to %TRUE if @s connects @e1 with @e2, %FALSE otherwise.
</para>

@s: a #GtsSegment.
@e1: a #GtsVertex.
@e2: another #GtsVertex.


<!-- ##### MACRO gts_segments_touch ##### -->
<para>

</para>

@s1: 
@s2: 


<!-- ##### FUNCTION gts_segments_from_vertices ##### -->
<para>

</para>

@vertices: 
@Returns: 


<!-- ##### FUNCTION gts_segment_midvertex ##### -->
<para>

</para>

@s: 
@klass: 
@Returns: 


