NAME¶
VerticesComp, VerticesView, PSVertices - abstract base classes for vertexed
  graphical component subjects and their views and PostScript external
  representations
SYNOPSIS¶
#include <Unidraw/Components/vertices.h>
DESCRIPTION¶
VerticesComp is an abstract base class for graphical components whose geometry
  can be expressed as a list of coordinate pairs. VerticesComp uses a Vertices
  graphic to store its graphical attributes. VerticesView is an abstract
  GraphicView subclass for displaying a VerticesComp. PSVertices is an abstract
  PostScriptView for subclasses that externalize VerticesComp information in
  PostScript form.
VERTICESCOMP PUBLIC OPERATIONS¶
  - Vertices* GetVertices()
 
  - Return the Vertices graphic that defines the vertices's attributes.
      GetVertices is simply a more specific form of the GetGraphic
    operation.
 
VERTICESCOMP PROTECTED OPERATIONS¶
  - VerticesComp(Vertices* = nil)
 
  - The constructor takes an optional vertices graphic that defines the
      component's graphical attributes.
 
VERTICESVIEW PUBLIC OPERATIONS¶
  - virtual void Interpret(Command*)
 
  - VerticesView interprets AlignToGridCmd to align its first vertex to the
      grid.
 
  - virtual void GetVertices(Coord*& x, Coord*& y, int&
    count)
 
  - Return the view's vertices in canvas coordinates. GetVertices allocates
      new arrays each time it is called.
 
  - VerticesComp* GetVerticesComp()
 
  - Return the subject.
 
VERTICESVIEW PROTECTED OPERATIONS¶
  - VerticesView(VerticesComp* = nil)
 
  - Initialize a VerticesView, optionally supplying the subject.
 
  - virtual void CreateHandles()
 
  - VerticesView redefines CreateHandles to create a RubberHandles object that
      draws a handle coinciding with each vertex.
 
  - virtual boolean VertexChanged()
 
  - Returns whether or not the vertices as stored in the view are different in
      any way from those stored in the subject. The Update function relies on
      the result to determine whether to recreate the view's structured graphic
      based on the subject's. VerticesView::VertexChanged (conservatively)
      returns false by default; subclasses should redefine this function
      to make a more discerning decision, thereby increasing the efficiency of
      the update operation.
 
PSVERTICES PROTECTED OPERATIONS¶
  - PSVertices(VerticesComp* = nil)
 
  - Initialize a PostScript external representation of the given subject, if
      any.
 
  - virtual const char* Name()
 
  - Subclasses should redefine Name to return the proper tag for the object in
      the PostScript output as required for idraw compatibility.
 
SEE ALSO¶
GraphicComp(3U), GraphicView(3U), Grid(3U), PatternCmd(3U), PostScriptView(3U),
  Vertices(3U), align(3U), idraw(3I)