bool is_on_free_store (void)  const function 
Returns true , if the Path was dynamically allocated on the
free store, otherwise false .

bool is_planar ([const bool verbose = false , [string text = ""]])

const virtual function 
Uses get_normal() to determine
whether the Path is planar or not. Returns true , if it is,
otherwise false . If verbose is true , text is written to
standard output, or "Path:", if text is the empty string,
followed by a message saying whether the Path is planar or not.

bool is_linear ([const bool verbose = false , [string text = ""]])

const function 
Returns true , if line_switch is true . Otherwise,
is_linear() uses get_normal() to determine whether the
Path is linear. If it is, is_linear() returns
true , otherwise false .

bool is_cycle (void)  Inline const function 
Returns true if the Path is cyclical, i.e.,
cycle_switch = true , otherwise false . Only cyclical
Paths are fillable.

int size (void)  Inline function 
Returns the number of Points on points , i.e.,
points.size() .

bool get_line_switch (void)  Inline const function 
Returns the value of line_switch . line_switch is only
true, if the Path was created, directly or indirectly, using the
constructor taking two Point arguments only.
See Path Reference; Constructors and Setting Functions.

real slope ([char a = 'x', [char b = 'y']])  Function 
Returns the slope of the Path in the plane indicated by the
arguments, if is_linear() returns true . Otherwise,
slope() issues an error message and returns INVALID_REAL .

Path subpath (size_t start, size_t end, [const bool cycle = false, [const string connector = ""]])  const function 
Returns a new Path using points[ start] through
points[ end  1] . If cycle is true , then the new
Path will be a cycle, whether
*this is or not. One optional connector
argument can be used. If it is, it will be the only connector.
Otherwise, the appropriate connectors from *this are used.
start must be < end. It is not possible to
have start > end, even if 
const Point& get_point (const unsigned short a)  const function 
Returns the Point *points[ a] , if a <
points.size() and the Path is nonempty, otherwise
INVALID_POINT .

const Point& get_last_point (void)  const function 
Returns the Point pointed to by the last pointer on points .
Equivalent to get_point(get_size()  1) , but more convenient to
type. Returns INVALID_POINT , if the Path is empty.

size_t get_size (void)  const inline virtual function 
Returns points.size() .

Line get_line (void)  const function 
Returns a Line corresponding to the Path , if the latter is
linear. Otherwise, INVALID_LINE is returned.
See Line Reference.

Point get_normal (void)  const virtual function 
Returns a Point representing a unit vector in the direction of the
normal to the plane of the Path , or INVALID_POINT , if
the Path is nonplanar.
Point P(1, 1, 1); Rectangle r(P, 4, 4, 30, 30, 30); Point N = r.get_normal();
In 3DLDF, plane figures generally have constructors taking a Point
argument for the center, a variable number of real arguments for the
dimensions, and three real arguments for the rotation about the major
axes. The object is first created in the xz plane, and the

Plane get_plane (void)  const virtual function 
Creates and returns a Plane p corresponding to the Path ,
if the latter is planar, otherwise INVALID_PLANE .
If the Path is planar, p.point will be the
Point pointed to by this>points[0] .
See Plane Reference.
Point P(1, 1, 1); Rectangle r(P, 4, 4, 45, 20, 15); Plane q = r.get_plane(); q.show("q:");  q: normal: (0.0505914, 0.745607, 0.664463) point: (0.0178869, 0.727258, 1.01297) distance == 0.131735

void set_cycle ([const bool c = true ])

Function 
Sets cycle_switch to c.

Path reverse (bool assign)  Function 
Path reverse (void)  const function 
These functions return a Path with the same Points and
connectors as *this , but in reversed order.
reverse() can only be applied to noncyclical Paths . If
*this is a cycle, reverse() issues an error message and
returns *this unreversed.
If the first version is called with assign = 