Open and closed spline component subjects, views, and postscript external representations
#include <Unidraw/Components/spline.h>
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(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(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(SplineComp* = nil)
Construct a PostScript external representation of the given subject, if any.
virtual const char* Name()
PSSpline identifies itself as "BSpl" in the PostScript output.
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(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(ClosedSplineComp* = nil)
Construct a PostScript external representation of the given subject, if any.
virtual const char* Name()
PSClosedSpline identifies itself as "CBSpl" in the PostScript output.
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)