casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
casa::DSEllipse Class Reference

Implementation of a ellipse. More...

#include <DSEllipse.h>

Inheritance diagram for casa::DSEllipse:
casa::DSClosed casa::DSBasic casa::DisplayShape casa::DSCircle casa::DSPixelEllipse casa::DSScreenEllipse casa::DSWorldEllipse

Public Member Functions

 DSEllipse (const casacore::Bool &onlyShowOneHandle=false)
 Constructors and destructors. More...
 
 DSEllipse (const DSEllipse &other)
 
 DSEllipse (const casacore::Float &xPos, const casacore::Float &yPos, const casacore::Float &major, const casacore::Float &minor, const casacore::Bool &hasHandles=false, const casacore::Bool &drawHandles=false, const casacore::Bool &onlyShowOneHandle=false)
 
virtual ~DSEllipse ()
 
virtual void draw (PixelCanvas *pix)
 General DisplayShape functions. More...
 
virtual void move (const casacore::Float &dX, const casacore::Float &dY)
 
virtual casacore::Bool inObject (const casacore::Float &xPos, const casacore::Float &yPos)
 Is the supplied point within the DisplayShape? 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 setCenter (const casacore::Float &xPos, const casacore::Float &yPos)
 Sets the center of the DisplayShape. More...
 
virtual casacore::Vector
< casacore::Float
getCenter ()
 Returns the center of the DisplayShape (x,y). More...
 
virtual void changePoint (const casacore::Vector< casacore::Float > &newPoint)
 Changes the closest point to the supplied location to that location. More...
 
virtual void changePoint (const casacore::Vector< casacore::Float > &newPoint, const casacore::Int nPoint)
 Changes the nth point making up the DisplayShape ot the specified location. More...
 
virtual void scale (const casacore::Float &scaleFactor)
 Scale the shape about its center by the scaleFactor. More...
 
virtual casacore::Float getMinorAxis ()
 Functions to set / get the minor and major axis of the ellipse (in pixels). More...
 
virtual casacore::Float getMajorAxis ()
 
virtual void setMajorAxis (const casacore::Float &newMajor)
 
virtual void setMinorAxis (const casacore::Float &newMinor)
 
virtual casacore::Record getOptions ()
 Get and set options. More...
 
virtual casacore::Bool setOptions (const casacore::Record &settings)
 
- Public Member Functions inherited from casa::DSClosed
 DSClosed ()
 Constructors and destructors. More...
 
 DSClosed (const DSClosed &other)
 
virtual ~DSClosed ()
 
virtual void setFillStyle (DSClosed::FillStyle fill)
 Get / Set fill options. More...
 
virtual DSClosed::FillStyle getFillStyle ()
 
virtual void setFillColor (casacore::String color)
 
virtual casacore::String getFillColor ()
 
- 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 &degrees)
 Convert degrees to radians. More...
 
virtual casacore::Float toDegrees (const casacore::Float &radians)
 Conver radians to degree. More...
 
virtual void addPoint (const casacore::Vector< casacore::Float > &)
 If applicable, this function will add a point to the shape in the most meaningful location. 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 DSClosedmakeHandle (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 void calculateHandlePositions ()
 Required on update. More...
 

Private Member Functions

virtual void setDefaultOptions ()
 Called when def. More...
 

Private Attributes

casacore::Vector< casacore::FloatitsCenter
 
casacore::Float itsAngle
 
casacore::Float itsMajorAxis
 
casacore::Float itsMinorAxis
 
casacore::Bool itsValid
 
casacore::Bool itsOneHandle
 
casacore::Matrix< casacore::FloatitsHandleLocation
 

Additional Inherited Members

- Public Types inherited from casa::DSClosed
enum  FillStyle {
  No_Fill,
  Full_Fill
}
 Type of fill to use. More...
 
- Public Types inherited from casa::DisplayShape
enum  HandleShape {
  Filled_Square,
  Open_Square,
  Filled_Circle,
  Open_Circle,
  Filled_Triangle,
  Open_Triangle
}
 Handle style. More...
 

Detailed Description

Implementation of a ellipse.

Prerequisite

Etymology

DSEllipse is a method of managing the drawing of a ellipse onto a PixelCanvas.

Synopsis

DSEllipse is the DisplayShape implementation of the primitive ellipse.

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.

Motivation

To allow the management of ellipses being draw to a pixel canvas.

Example

Definition at line 71 of file DSEllipse.h.

Constructor & Destructor Documentation

casa::DSEllipse::DSEllipse ( const casacore::Bool onlyShowOneHandle = false)

Constructors and destructors.

the 'onlyShowOneHandle' flag is primarily for use if the ellipse is intended to remain symmetrical i.e. a circle.

casa::DSEllipse::DSEllipse ( const DSEllipse other)
casa::DSEllipse::DSEllipse ( const casacore::Float xPos,
const casacore::Float yPos,
const casacore::Float major,
const casacore::Float minor,
const casacore::Bool hasHandles = false,
const casacore::Bool drawHandles = false,
const casacore::Bool onlyShowOneHandle = false 
)
virtual casa::DSEllipse::~DSEllipse ( )
virtual

Member Function Documentation

virtual void casa::DSEllipse::calculateHandlePositions ( )
protectedvirtual

Required on update.

virtual void casa::DSEllipse::changePoint ( const casacore::Vector< casacore::Float > &  newPos)
virtual

Changes the closest point to the supplied location to that location.

Implements casa::DisplayShape.

Reimplemented in casa::DSCircle, casa::DSWorldEllipse, and casa::DSScreenEllipse.

virtual void casa::DSEllipse::changePoint ( const casacore::Vector< casacore::Float > &  newPoint,
const casacore::Int  nPoint 
)
virtual

Changes the nth point making up the DisplayShape ot the specified location.

Implements casa::DisplayShape.

Reimplemented in casa::DSCircle, casa::DSWorldEllipse, and casa::DSScreenEllipse.

virtual void casa::DSEllipse::draw ( PixelCanvas pix)
virtual

General DisplayShape functions.

Reimplemented from casa::DSClosed.

Reimplemented in casa::DSWorldEllipse.

virtual casacore::Vector<casacore::Float> casa::DSEllipse::getCenter ( )
virtual

Returns the center of the DisplayShape (x,y).

Implements casa::DisplayShape.

virtual casacore::Float casa::DSEllipse::getMajorAxis ( )
virtual
virtual casacore::Float casa::DSEllipse::getMinorAxis ( )
virtual

Functions to set / get the minor and major axis of the ellipse (in pixels).

virtual casacore::Record casa::DSEllipse::getOptions ( )
virtual
virtual casacore::Bool casa::DSEllipse::inObject ( const casacore::Float xPos,
const casacore::Float yPos 
)
virtual

Is the supplied point within the DisplayShape?

Implements casa::DisplayShape.

Reimplemented in casa::DSCircle.

virtual void casa::DSEllipse::move ( const casacore::Float dX,
const casacore::Float dY 
)
virtual

Reimplemented from casa::DSClosed.

Reimplemented in casa::DSWorldEllipse, and casa::DSScreenEllipse.

virtual void casa::DSEllipse::rotate ( const casacore::Float angle)
virtual

Rotate the shape about its center by a set angle (angle in degrees).

Implements casa::DisplayShape.

Reimplemented in casa::DSCircle, casa::DSWorldEllipse, and casa::DSScreenEllipse.

virtual void casa::DSEllipse::rotateAbout ( const casacore::Float angle,
const casacore::Float aboutX,
const casacore::Float aboutY 
)
virtual

Reimplemented from casa::DSClosed.

virtual void casa::DSEllipse::scale ( const casacore::Float scaleFactor)
virtual

Scale the shape about its center by the scaleFactor.

Implements casa::DisplayShape.

virtual void casa::DSEllipse::setCenter ( const casacore::Float xPos,
const casacore::Float yPos 
)
virtual

Sets the center of the DisplayShape.

Implements casa::DisplayShape.

Reimplemented in casa::DSCircle, casa::DSWorldEllipse, and casa::DSScreenEllipse.

virtual void casa::DSEllipse::setDefaultOptions ( )
privatevirtual

Called when def.

constructor used

Reimplemented from casa::DSClosed.

Reimplemented in casa::DSCircle.

virtual void casa::DSEllipse::setMajorAxis ( const casacore::Float newMajor)
virtual

Reimplemented in casa::DSCircle.

virtual void casa::DSEllipse::setMinorAxis ( const casacore::Float newMinor)
virtual

Reimplemented in casa::DSCircle.

virtual casacore::Bool casa::DSEllipse::setOptions ( const casacore::Record settings)
virtual

Member Data Documentation

casacore::Float casa::DSEllipse::itsAngle
private

Definition at line 122 of file DSEllipse.h.

casacore::Vector<casacore::Float> casa::DSEllipse::itsCenter
private

Definition at line 121 of file DSEllipse.h.

casacore::Matrix<casacore::Float> casa::DSEllipse::itsHandleLocation
private

Definition at line 126 of file DSEllipse.h.

casacore::Float casa::DSEllipse::itsMajorAxis
private

Definition at line 123 of file DSEllipse.h.

casacore::Float casa::DSEllipse::itsMinorAxis
private

Definition at line 123 of file DSEllipse.h.

casacore::Bool casa::DSEllipse::itsOneHandle
private

Definition at line 124 of file DSEllipse.h.

casacore::Bool casa::DSEllipse::itsValid
private

Definition at line 124 of file DSEllipse.h.


The documentation for this class was generated from the following file: