28 #ifndef TRIALDISPLAY_DSARROW_H
29 #define TRIALDISPLAY_DSARROW_H
42 template <
class T>
class DParameterRange;
DParameterRange< casacore::Int > * itsHeadSize
virtual void setLength(const casacore::Float &pixelLength)
These are to enable the use of arrows more easily in vector plots.
virtual void move(const casacore::Float &dX, const casacore::Float &dY)
casacore::Matrix< casacore::Float > itsUnrotatedHead
A casacore::Matrix of the unRotated arrow head.
DSArrow::ArrowHead itsArrowHeadStyle
Style of arrow head.
virtual void updateArrowHead()
Caluclate angle etc.
Arrow implementation;adds a polygon to a DSLine to represent the arrow head.
virtual void setDefaultOptions()
Set default options.
virtual void setCenter(const casacore::Float &xPos, const casacore::Float &yPos)
This does nothing, it's so arrow and other inheriting classes can take note of new centers...
virtual void setAngle(const casacore::Float &angle)
DSArrow()
Default constructor.
Base class defining interface to pixel-based output devices.
virtual void setEndPoint(const casacore::Vector< casacore::Float > &endPoint)
Implementation of a line.
virtual ~DSArrow()
Destructor.
casacore::Vector< casacore::Float > itsStartPoint
Temp storage while I am being set up.
casacore::Vector< casacore::Float > itsEndPoint
ArrowHead
Supported arrow head types.
virtual void scale(const casacore::Float &scaleFactor)
Scale the shape about its center by the scaleFactor.
Implementation of a Polygon.
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
casacore::Bool itsValidEnd
virtual void draw(PixelCanvas *pc)
Standard Display Shape functions.
casacore::Float itsOffset
Offset needed to make sure the tip of the arrow is at the end of the line.
virtual void changePoint(const casacore::Vector< casacore::Float > &pos, const casacore::Int n)
Changes the nth point making up the DisplayShape ot the specified location.
virtual void setStartPoint(const casacore::Vector< casacore::Float > &startPoint)
Standard (changePoint) and specific funtions for altering the arrow.
virtual void rotateAbout(const casacore::Float &angle, const casacore::Float &aboutX, const casacore::Float &aboutY)
Does nothing currently.
casacore::Float itsLength
If someone calls "setLength" before "setCenter", we can store our length until they DO call setLength...
virtual void buildArrowHead()
Make a new arrow head (which is simply a DSPoly)
virtual void rotate(const casacore::Float &angle)
Rotate the shape about its center by a set angle (angle in degrees).
virtual casacore::Bool setOptions(const casacore::Record &newSettings)
Set options.
virtual void make()
Construct the line segment of the arrow when we have valid start / end points.
static const int numArrowHeads
For checking setoptions(arrowheadstyle = ?)
casacore::Bool itsValidStart
Have I been supplied with valid points yet.
virtual casacore::Record getOptions()
Return an option record describing the shape.