## SYNOPSIS

**#include <Unidraw/Graphic/verts.h>**

## DESCRIPTION

Vertices is an abstract base class for graphics such as polygons and splines whose geometry is specified by a set of coordinate pairs. The Vertices class supports vertex-related operations common to all such graphical objects and also supports extent caching.## PUBLIC OPERATIONS

**virtual ~Vertices()**- The destructor deallocates the list of coordinate pairs stored in the graphic.
**virtual int GetOriginal(const Coord*& x, const Coord*& y)**- Return pointers to the arrays of Coords stored internally that define the graphic's vertices. GetOriginal's return value reflects the size of the arrays.
**virtual boolean operator == (Vertices&)****virtual boolean operator != (Vertices&)**-
Compare
*this*to the given Vertices instance and return whether they (do not) store identical sets of vertices.

## PROTECTED OPERATIONS

**Vertices(Graphic* = nil)****Vertices(Coord* x, Coord* y, int count, Graphic* = nil)**- The constructors are protected to disallow instantiation of the abstract class. Subclasses can pass a set of vertices to copy into internal storage and an optional graphic from which to obtain an initial set of graphics state. Vertices itself stores no additional graphics state over that in the Graphic base class.
**void s_getExtent(****float&, float&, float&, float&, float&, Graphic*****)****void f_getExtent(****float&, float&, float&, float&, float&, Graphic*****)**-

Helper functions that return extent information based on the bounding box that the vertices define. s_getExtent returns an extent that accounts for the width of a brush, as would be necessary if the vertices defined a stroked path, while f_getExtent assumes that the vertices define the graphic's extremities, as would be the case if the vertices defined a filled path. These operations cache the extent they compute initially.