Segments in GEOMLIB are stored in the following structure:
struct geom_segment { struct geom_curve curve; /* ancestor instance structure */ struct geom_point a, b; /* endpoints */ };
The TIME
parametrization is given by formula:
The implementation of segments is very simple and intuitive. Some virtual methods are not redefined for segments, so Bézier expansion to non-rational linear curve is necessary. Details can be found in the files geomlib/segment.h and geomlib/segment.c.