### Segments

 Path segment (unsigned int factor, [real angle = 0, [bool closed = `true`]]) `const` function
 Returns a `Path` representing a segment of the `Reg_Cl_Plane_Curve`. factor must be >1 and <= `number_of_points`. If it is not, an error message is issued and an empty `Path` is returned. If angle is non-zero, the segment `Path` is rotated by angle about a line from `center` in the direction of the normal to the plane of the `Reg_Cl_Plane_Curve`. Please note, that a `Reg_Cl_Plane_Curve` must have a meaningful `center`, in order for rotation to work. If the absolute value of angle >360, a warning is issued, and `fmod(`angle`, 360)` is used. If closed is `true`, the `Path` will be a cycle, with the ends of the curved segment joined using the connector `--`. The curved segment is joined to the line using `&` on each side. ``` Circle c(origin, 4, 30, 30, 30); Path p = c.segment(3, 130); p.show("p:"); -| p: points.size() == 8 connectors.size() == 8(-0.00662541, -0.888379, -1.79185) .. (0.741088, -0.673392, -1.73128) .. (1.37598, -0.355887, -1.40714) .. (1.80139, 0.0157987, -0.868767) .. (1.95255, 0.385079, -0.198137) .. (1.80646, 0.695735, 0.502658) & (1.80646, 0.695735, 0.502658) -- (-0.00662541, -0.888379, -1.79185) & cycle; ``` Fig. 156.

 Path half ([real angle = 0, [bool closed = true]]) `const` inline function
 Returns a `Path` using half of the `Points` on the `Reg_Cl_Plane_Curve`. The effect of the arguments angle and closed is similar to that in `segment()`, above. ``` Ellipse e(origin, 3, 5, 20, 15, 12.5); Path p = e.half(0, false); ``` Fig. 157.

 Path quarter ([real angle = 0, [bool closed = `true`]]) `const` inline function
 Returns a `Path` using a quarter of the `Points` on the `Reg_Cl_Plane_Curve`. The effect of the arguments angle and closed is similar to that in `segment()`, above. ``` Ellipse e(origin, 3, 5, 60, 5, 2.5); Path p = e.quarter(180, false); ``` Fig. 158.