SplineComp(3U)

NAME
SplineComp, SplineView, PSSpline, ClosedSplineComp, ClosedSplineView, PSClosedSpline - open and closed spline component subjects, views, and PostScript external representations

SYNOPSIS
#include <Unidraw/Components/spline.h>

DESCRIPTION
SplineComp and ClosedSplineComp are VerticesComps that define open and closed splines, respectively. SplineComp uses an SFH_OpenBSpline graphic to store its graphical attributes, while ClosedSplineComp uses an SFH_ClosedBSpline. SplineView and ClosedSplineView are VerticesViews for displaying open and closed splines. PSSpline and PSClosedSpline are PSVertices that externalize their subject's information in PostScript form.

SPLINECOMP PUBLIC OPERATIONS

SplineComp(SFH_OpenBSpline* = nil)
    The constructor takes an optional control point hit-detecting stroked-filled open B-spline graphic that defines the attributes of the spline.

SFH_OpenBSpline* GetSpline()
    Return the SFH_OpenBSpline graphic that defines the spline's attributes. GetSpline is simply a more specific form of the GetGraphic operation.

SPLINEVIEW PUBLIC OPERATIONS

SplineView(SplineComp* = nil)
    Create a SplineView, optionally supplying the subject.

virtual Manipulator* CreateManipulator(

Viewer*, Event&, Transformer*, Tool*

)

virtual void InterpretManipulator(Manipulator*)
    SplineView redefines its response to manipulation with a GraphicCompTool. The user clicks the left mouse button to specify each vertex and clicks with the middle mouse button to specify the final vertex. Vertex positioning will be constrained by gravity, if any. SplineView also defines a response to the ReshapeTool, allowing the user to click on one of its control points to reposition it. The subject is actually replaced (via ReplaceCmd) with a new SplineComp subject reflecting the repositioned control point. Repositioning will be influenced by gravity.

SplineComp* GetSplineComp()
    Return the subject.

PSSPLINE PUBLIC OPERATIONS

PSSpline(SplineComp* = nil)
    Construct a PostScript external representation of the given subject, if any.

PSSPLINE PROTECTED OPERATIONS

virtual const char* Name()
    PSSpline identifies itself as "BSpl" in the PostScript output.

CLOSEDSPLINECOMP PUBLIC OPERATIONS

ClosedSplineComp(SFH_ClosedBSpline* = nil)
    The constructor takes an optional control point hit-detecting stroked-filled closed B-spline graphic that defines the attributes of the closed spline.

SFH_ClosedBSpline* GetClosedSpline()
    Return the SFH_ClosedBSpline graphic that defines the closed spline's attributes. GetClosedSpline is simply a more specific form of the GetGraphic operation.

CLOSEDSPLINEVIEW PUBLIC OPERATIONS

ClosedSplineView(ClosedSplineComp* = nil)
    Create a ClosedSplineView, optionally supplying the subject.

virtual Manipulator* CreateManipulator(

Viewer*, Event&, Transformer*, Tool*

)

virtual void InterpretManipulator(Manipulator*)
    ClosedSplineView redefines its response to manipulation with a GraphicCompTool. The user clicks the left mouse button to specify each vertex and clicks with the middle mouse button to specify the final vertex. Vertex positioning will be constrained by gravity, if any. ClosedSplineView also defines a response to the ReshapeTool, allowing the user to click on one of its control points to reposition it. The subject is actually replaced (via ReplaceCmd) with a new ClosedSplineComp subject reflecting the repositioned control point. Repositioning will be influenced by gravity.

ClosedSplineComp* GetClosedSplineComp()
    Return the subject.

PSCLOSEDSPLINE PUBLIC OPERATIONS

PSClosedSpline(ClosedSplineComp* = nil)
    Construct a PostScript external representation of the given subject, if any.

PSCLOSEDSPLINE PROTECTED OPERATIONS

virtual const char* Name()
    PSClosedSpline identifies itself as "CBSpl" in the PostScript output.

SEE ALSO
Event(3I), GraphicComp(3U), GraphicCompTool(3U), GraphicView(3U), Grid(3U), PatternCmd(3U), PostScriptView(3U), ReshapeTool(3U), Rubband(3I), Transformer(3I), VerticesComp(3U), Viewer(3U), align(3U), edit(3U), splines(3U)