casa
5.7.0-16
|
Implementation of a polyline. More...
#include <DSPolyLine.h>
Public Member Functions | |
DSPolyLine () | |
Constructors and Destructors. More... | |
DSPolyLine (const DSPolyLine &other) | |
DSPolyLine (const casacore::Matrix< casacore::Float > &points, const casacore::Bool &handles, const casacore::Bool &drawHandles) | |
virtual | ~DSPolyLine () |
virtual void | draw (PixelCanvas *pc) |
General DisplayShape functions. More... | |
virtual casacore::Bool | inObject (const casacore::Float &xPos, const casacore::Float &yPos) |
Is the supplied point within the DisplayShape? More... | |
virtual void | move (const casacore::Float &dX, const casacore::Float &dY) |
virtual casacore::Vector < casacore::Float > | getCenter () |
Returns the center of the DisplayShape (x,y). More... | |
virtual void | setCenter (const casacore::Float &xPos, const casacore::Float &yPos) |
Sets the center of the DisplayShape. More... | |
virtual void | scale (const casacore::Float &scaleFactor) |
Scale the shape about its center by the scaleFactor. More... | |
virtual void | rotate (const casacore::Float &angle) |
Rotate the shape about its center by a set angle (angle in degrees). More... | |
virtual void | rotateAbout (const casacore::Float &angle, const casacore::Float &aboutX, const casacore::Float &aboutY) |
virtual void | changePoint (const casacore::Vector< casacore::Float > &pos) |
Point manipulation functions. More... | |
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. More... | |
virtual void | addPoint (const casacore::Vector< casacore::Float > &newPos) |
If applicable, this function will add a point to the shape in the most meaningful location. More... | |
virtual void | setPoints (const casacore::Matrix< casacore::Float > &points) |
virtual casacore::uInt | nPoints () |
Return the number of points. More... | |
virtual casacore::Bool | setOptions (const casacore::Record &newSettings) |
Get and set this shapes options. More... | |
virtual casacore::Record | getOptions () |
Settings. More... | |
Public Member Functions inherited from casa::DSBasic | |
DSBasic () | |
Default constructor. More... | |
DSBasic (const DSBasic &other) | |
Copy constructor. More... | |
virtual | ~DSBasic () |
Destructor. More... | |
virtual void | setLineWidth (const casacore::Int pixels) |
Manage line width. More... | |
virtual casacore::Int | getLineWidth () |
Public Member Functions inherited from casa::DisplayShape | |
DisplayShape () | |
Default constructor. More... | |
DisplayShape (const DisplayShape &other) | |
Copy constructor. More... | |
virtual | ~DisplayShape () |
Destructor. More... | |
virtual casacore::Matrix < casacore::Float > | rotatePolygon (const casacore::Matrix< casacore::Float > &toRotate, const casacore::Float &angle, const casacore::Float &aboutX, const casacore::Float &aboutY) |
Rotate the supplied polygon (column 1 - x values, column 2 - y values) about the supplied point by the supplied angle. More... | |
virtual casacore::Vector < casacore::Float > | rotatePoint (const casacore::Vector< casacore::Float > &toRotate, const casacore::Float &angle, const casacore::Float &aboutX, const casacore::Float &aboutY) |
Rotates a point around the point specified. More... | |
virtual casacore::Matrix < casacore::Float > | translateMatrix (const casacore::Matrix< casacore::Float > &points, const casacore::Float &dx, const casacore::Float &dy) |
Translate an entire matrix by the specified dx / dy amounts. More... | |
virtual casacore::Bool | inPolygon (const casacore::Matrix< casacore::Float > &points, const casacore::Float &xPos, const casacore::Float &yPos) |
Is xPos, YPos inside the supplied points (column 1 - x values, clolumn 2 - y values) More... | |
virtual casacore::Bool | closestLine (const casacore::Matrix< casacore::Float > &points, const casacore::Float &xPos, const casacore::Float &yPos, casacore::Int &firstVert, casacore::Int &secondVert, const casacore::Bool &closedPoly=true) |
Determine the two vertices (firstVert, secondVert) which join the line closest to the xPos, yPos point supplied. More... | |
virtual casacore::Bool | closestPoint (const casacore::Matrix< casacore::Float > &points, const casacore::Float &xPos, const casacore::Float &yPos, casacore::Int &out) |
For a specified set of points, find the closest to xPos,YPos. More... | |
virtual casacore::Bool | closestPoints (const casacore::Matrix< casacore::Float > &points, const casacore::Float &xPos, const casacore::Float &yPos, casacore::Int &outClosest, casacore::Int &outSecond) |
Find the closest two Points from a casacore::Matrix to the specified point. More... | |
virtual casacore::Float | toRadians (const casacore::Float °rees) |
Convert degrees to radians. More... | |
virtual casacore::Float | toDegrees (const casacore::Float &radians) |
Conver radians to degree. More... | |
virtual void | addLocked (DisplayShape *toLock) |
Allow locking of other shapes onto this one. More... | |
virtual void | removeLocked (DisplayShape *removeLock) |
Removes a lock from the specified shape. More... | |
virtual void | buildHandles (const casacore::Matrix< casacore::Float > &startPoints) |
Handle management. More... | |
virtual casacore::Matrix < casacore::Float > | getHandleLocations () |
virtual void | setHandlePositions (const casacore::Matrix< casacore::Float > &newPoints) |
virtual DSClosed * | makeHandle (const casacore::Vector< casacore::Float > &newHandlePos) |
virtual void | addHandle (const casacore::Vector< casacore::Float > &newHandlePos, const casacore::Bool &atEnd=true, const casacore::Int position=0) |
virtual casacore::Bool | removeHandle (const casacore::Vector< casacore::Float > &getRidOf) |
virtual casacore::Bool | removeHandle (const casacore::Int nHandle) |
virtual casacore::Bool | onHandles (const casacore::Float &xPos, const casacore::Float &yPos) |
virtual casacore::Bool | whichHandle (const casacore::Float &xPos, const casacore::Float &yPos, casacore::Int &out) |
virtual void | setDrawHandles (const casacore::Bool &shouldIDraw) |
virtual casacore::Bool | drawingHandles () |
virtual void | setHasHandles (const casacore::Bool &hasHandles) |
virtual void | setHandleShape (const DisplayShape::HandleShape &shape) |
virtual void | setHandleSize (const casacore::Int pixelSize) |
virtual void | setHandleColor (const casacore::String &handleColor) |
virtual casacore::uInt | nHandles () |
virtual void | setColor (const casacore::String &newColor) |
Manage the color of object. More... | |
virtual casacore::String | getColor () |
virtual void | recalculateScreenPosition () |
Protected Member Functions | |
virtual casacore::Matrix < casacore::Float > | getPoints () |
Return all my points. More... | |
Private Member Functions | |
virtual void | setDefaultOptions () |
Used when default constructor called. More... | |
Private Attributes | |
casacore::Matrix< casacore::Float > | itsPoints |
casacore::Vector< casacore::Float > | itsCenter |
casacore::Bool | itsValidCenter |
Additional Inherited Members | |
Public Types inherited from casa::DisplayShape | |
enum | HandleShape { Filled_Square, Open_Square, Filled_Circle, Open_Circle, Filled_Triangle, Open_Triangle } |
Handle style. More... | |
Implementation of a polyline.
DSPolyLine is a method of managing the drawing of a polyline onto a PixelCanvas.
DSPolyLine manages a collection of points, which when called it draws. It also manages actions like the addition and removal of points from/to the line.
There are generally two ways to make DisplayShape(s); To create them in "one hit" by providing arguments to the constructor, or by using the default constructor and then the "setOptions" method. A simple interface for all classes inheriting from the DisplayShape class is provided by DisplayShapeInterface.
The need to draw, move and manipulate a polyline.
Definition at line 76 of file DSPolyLine.h.
casa::DSPolyLine::DSPolyLine | ( | ) |
Constructors and Destructors.
casa::DSPolyLine::DSPolyLine | ( | const DSPolyLine & | other | ) |
casa::DSPolyLine::DSPolyLine | ( | const casacore::Matrix< casacore::Float > & | points, |
const casacore::Bool & | handles, | ||
const casacore::Bool & | drawHandles | ||
) |
|
virtual |
|
virtual |
If applicable, this function will add a point to the shape in the most meaningful location.
Reimplemented from casa::DisplayShape.
Reimplemented in casa::DSWorldPolyLine, and casa::DSScreenPolyLine.
|
virtual |
Point manipulation functions.
The changePoint with only one argument moves the closest point to the location specified.
Implements casa::DisplayShape.
Reimplemented in casa::DSArrow, casa::DSWorldPolyLine, casa::DSScreenArrow, casa::DSWorldArrow, and casa::DSScreenPolyLine.
|
virtual |
Changes the nth point making up the DisplayShape ot the specified location.
Implements casa::DisplayShape.
Reimplemented in casa::DSArrow, casa::DSWorldPolyLine, casa::DSScreenArrow, casa::DSWorldArrow, and casa::DSScreenPolyLine.
|
virtual |
General DisplayShape functions.
Reimplemented from casa::DSBasic.
Reimplemented in casa::DSArrow, casa::DSWorldPolyLine, and casa::DSWorldArrow.
|
virtual |
Returns the center of the DisplayShape (x,y).
Implements casa::DisplayShape.
|
virtual |
Settings.
Reimplemented from casa::DSBasic.
Reimplemented in casa::DSArrow, casa::DSLine, casa::DSWorldPolyLine, casa::DSScreenArrow, casa::DSWorldArrow, casa::DSScreenPolyLine, casa::DSPixelPolyLine, and casa::DSPixelArrow.
Referenced by casa::DSPixelPolyLine::getRawOptions(), casa::DSScreenPolyLine::getRawOptions(), and casa::DSWorldPolyLine::getRawOptions().
|
protectedvirtual |
Return all my points.
|
virtual |
Is the supplied point within the DisplayShape?
Implements casa::DisplayShape.
|
virtual |
Reimplemented from casa::DSBasic.
Reimplemented in casa::DSArrow, casa::DSScreenArrow, casa::DSWorldPolyLine, casa::DSWorldArrow, and casa::DSScreenPolyLine.
|
virtual |
Return the number of points.
|
virtual |
Rotate the shape about its center by a set angle (angle in degrees).
Implements casa::DisplayShape.
Reimplemented in casa::DSArrow, casa::DSScreenArrow, casa::DSWorldPolyLine, casa::DSWorldArrow, and casa::DSScreenPolyLine.
|
virtual |
Reimplemented from casa::DSBasic.
Reimplemented in casa::DSArrow.
|
virtual |
Scale the shape about its center by the scaleFactor.
Implements casa::DisplayShape.
Reimplemented in casa::DSArrow, casa::DSScreenArrow, casa::DSWorldPolyLine, casa::DSWorldArrow, and casa::DSScreenPolyLine.
|
virtual |
Sets the center of the DisplayShape.
Implements casa::DisplayShape.
Reimplemented in casa::DSArrow, casa::DSLine, casa::DSScreenArrow, casa::DSWorldPolyLine, casa::DSWorldArrow, and casa::DSScreenPolyLine.
|
privatevirtual |
Used when default constructor called.
Reimplemented from casa::DisplayShape.
Reimplemented in casa::DSArrow.
|
virtual |
Get and set this shapes options.
Reimplemented from casa::DSBasic.
Reimplemented in casa::DSArrow, casa::DSLine, casa::DSWorldPolyLine, casa::DSScreenArrow, casa::DSWorldArrow, casa::DSScreenPolyLine, casa::DSPixelPolyLine, and casa::DSPixelArrow.
|
virtual |
Reimplemented in casa::DSWorldPolyLine, and casa::DSScreenPolyLine.
|
private |
Definition at line 126 of file DSPolyLine.h.
|
private |
Definition at line 125 of file DSPolyLine.h.
|
private |
Definition at line 127 of file DSPolyLine.h.