casa::DDDPolygon Class Reference

Implementation of aan ellipse object for DrawingDisplayData class. More...

#include <DDDPolygon.h>

Inheritance diagram for casa::DDDPolygon:
casa::DDDObject casa::WCRefreshEH casa::WCMotionEH casa::WCPositionEH casa::DisplayEH

List of all members.

Public Member Functions

 DDDPolygon (const Record &description, DrawingDisplayData *owner)
 Constructor taking a Record description.
virtual ~DDDPolygon ()
 Destructor.
virtual void draw (const Display::RefreshReason &reason, WorldCanvas *worldcanvas)
 Draw this rectangle object for the given reason on the provided WorldCanvas.
virtual Record description ()
 Return a record describing this object.
virtual void setDescription (const Record &rec)
 Update this object based on the information in the provided Record.
virtual void operator() (const WCRefreshEvent &)
 Event handlers.
virtual void operator() (const WCPositionEvent &ev)
 Default just prints the event to cout.
virtual void operator() (const WCMotionEvent &ev)
 default sends event to cout

Protected Member Functions

 DDDPolygon ()
 (Required) default constructor.
 DDDPolygon (const DDDPolygon &other)
 (Required) copy constructor.
void operator= (const DDDPolygon &other)
 (Required) copy assignment.

Private Member Functions

void convertToPixel ()
 COnvert parameters from world to pixel.
void updateWorldValues ()
 Update private world parameters from current pixel values.
void decode (const RecordInterface &description, Bool required)
 Decode record into private data.
void encode (RecordInterface &description) const
 Encode private data into record.
void createCorners ()
 compute corners of rectangle of bounding box of polygon
void createHandles ()
 create handles, one per vertex
void listWorld ()
 Debugging routines.
void listPixel ()

Private Attributes

Bool itsOutline
 Fill style.
Quantum< Vector< Double > > itsWorldX
 Define x and y.
Quantum< Vector< Double > > itsWorldY
Vector< Double > itsPixelX
Vector< Double > itsPixelY
uInt itsNPoints
Matrix< Double > itsCorners
 Rotated Rectangle Corners to draw in screen pixel.
Block< DDDHandleitsHandles
 List of handles.
DDDObject::Mode itsMode
 Mode.
Double itsBaseMoveX
 Store for movement bases.
Double itsBaseMoveY
Bool itsRecompute
 In function draw(), recompute all pixel coordinates when true else use what is currently set.
LogIO itsLogger
 LOgger.
DisplayCoordinateSystem itsCoordinateSystem
 DisplayCoordinateSystem in screen pixel coordinates.
WorldCanvasitsWorldCanvasPtr
 pointer to world canvas (shallow copy)
Bool itsFracX
 Fractional indicators.
Bool itsFracY

Detailed Description

Implementation of aan ellipse object for DrawingDisplayData class.

Synopsis

This class implements the interface defined by DDDObject, to provide a polygon object for registration with DrawingDisplayData objects.

Definition at line 62 of file DDDPolygon.h.


Constructor & Destructor Documentation

casa::DDDPolygon::DDDPolygon ( const Record &  description,
DrawingDisplayData owner 
)

Constructor taking a Record description.

Fields in the record, on top of what is consumed by the DDDObject constructor, are: Required : x (quantum of vector double) and y (quantum of vector double). Other, not required fields are outline & editable which default to True. When editable=False the object can be moved but not reshaped, when True it can be moved and reshaped. When outline=False the ellipse is filled.

virtual casa::DDDPolygon::~DDDPolygon (  )  [virtual]

Destructor.

casa::DDDPolygon::DDDPolygon (  )  [protected]

(Required) default constructor.

casa::DDDPolygon::DDDPolygon ( const DDDPolygon other  )  [protected]

(Required) copy constructor.


Member Function Documentation

void casa::DDDPolygon::convertToPixel (  )  [private]

COnvert parameters from world to pixel.

void casa::DDDPolygon::createCorners (  )  [private]

compute corners of rectangle of bounding box of polygon

void casa::DDDPolygon::createHandles (  )  [private]

create handles, one per vertex

void casa::DDDPolygon::decode ( const RecordInterface &  description,
Bool  required 
) [private]

Decode record into private data.

virtual Record casa::DDDPolygon::description (  )  [virtual]

Return a record describing this object.

Presently returns only construction description.

Reimplemented from casa::DDDObject.

virtual void casa::DDDPolygon::draw ( const Display::RefreshReason reason,
WorldCanvas worldcanvas 
) [virtual]

Draw this rectangle object for the given reason on the provided WorldCanvas.

Implements casa::DDDObject.

void casa::DDDPolygon::encode ( RecordInterface &  description  )  const [private]

Encode private data into record.

void casa::DDDPolygon::listPixel (  )  [private]
void casa::DDDPolygon::listWorld (  )  [private]

Debugging routines.

virtual void casa::DDDPolygon::operator() ( const WCMotionEvent ev  )  [virtual]

default sends event to cout

Implements casa::DDDObject.

virtual void casa::DDDPolygon::operator() ( const WCPositionEvent ev  )  [virtual]

Default just prints the event to cout.

Implements casa::DDDObject.

virtual void casa::DDDPolygon::operator() ( const WCRefreshEvent  )  [inline, virtual]

Event handlers.

The parent DrawingDisplayData will distribute events as necessary to the various DDDObjects which comprise it.

Implements casa::DDDObject.

Definition at line 96 of file DDDPolygon.h.

void casa::DDDPolygon::operator= ( const DDDPolygon other  )  [protected]

(Required) copy assignment.

Reimplemented from casa::DDDObject.

virtual void casa::DDDPolygon::setDescription ( const Record &  rec  )  [virtual]

Update this object based on the information in the provided Record.

Reimplemented from casa::DDDObject.

void casa::DDDPolygon::updateWorldValues (  )  [private]

Update private world parameters from current pixel values.


Member Data Documentation

Store for movement bases.

Definition at line 140 of file DDDPolygon.h.

Definition at line 140 of file DDDPolygon.h.

DisplayCoordinateSystem in screen pixel coordinates.

Definition at line 152 of file DDDPolygon.h.

Matrix<Double> casa::DDDPolygon::itsCorners [private]

Rotated Rectangle Corners to draw in screen pixel.

Definition at line 128 of file DDDPolygon.h.

Fractional indicators.

Definition at line 158 of file DDDPolygon.h.

Definition at line 158 of file DDDPolygon.h.

List of handles.

Definition at line 132 of file DDDPolygon.h.

LogIO casa::DDDPolygon::itsLogger [private]

LOgger.

Definition at line 149 of file DDDPolygon.h.

Mode.

Definition at line 136 of file DDDPolygon.h.

Definition at line 125 of file DDDPolygon.h.

Fill style.

Definition at line 120 of file DDDPolygon.h.

Vector<Double> casa::DDDPolygon::itsPixelX [private]

Definition at line 124 of file DDDPolygon.h.

Vector<Double> casa::DDDPolygon::itsPixelY [private]

Definition at line 124 of file DDDPolygon.h.

In function draw(), recompute all pixel coordinates when true else use what is currently set.

Definition at line 145 of file DDDPolygon.h.

pointer to world canvas (shallow copy)

Definition at line 155 of file DDDPolygon.h.

Quantum<Vector<Double> > casa::DDDPolygon::itsWorldX [private]

Define x and y.

Definition at line 123 of file DDDPolygon.h.

Quantum<Vector<Double> > casa::DDDPolygon::itsWorldY [private]

Definition at line 123 of file DDDPolygon.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1