NAME¶
Vertices - abstract base class for graphics defined by a set of coordinate pairs
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.
SEE ALSO¶
Graphic(3U)