casa
5.7.0-16
|
WorldCanvas event-based polygon region drawer. More...
#include <MultiPolyToolImpl.h>
Public Member Functions | |
MultiPolyToolImpl (viewer::RegionSourceFactory *rf, PanelDisplay *pd, Display::KeySym keysym=Display::K_Pointer_Button3) | |
Constructor. More... | |
virtual | ~MultiPolyToolImpl () |
Destructor. More... | |
![]() | |
MultiPolyTool (viewer::RegionSourceFactory *rsf, PanelDisplay *pd, Display::KeySym keysym=Display::K_Pointer_Button1, const casacore::Bool persistent=false) | |
Constructor. More... | |
virtual | ~MultiPolyTool () |
Destructor. More... | |
virtual void | disable () |
Switch the tool off - this calls the base class disable, and then erases the polygon if it's around. More... | |
virtual void | reset (casacore::Bool skipRefresh=false) |
reset to non-existent, non-active polygon. More... | |
virtual casacore::Bool | polygonDefined () |
Is a polygon currently defined? More... | |
viewer::RegionSource * | getRegionSource () |
void | checkPoint (WorldCanvas *wc, State &state) |
this is a non-const function because a non-const RegionTool ptr is returned in 'state' which can then be used for setting the state of the regions managed by the various tools.... More... | |
void | revokeRegion (viewer::Region *) |
called when the user (read GUI user) indicates that a region should be deleted... More... | |
const std::set < viewer::region::RegionTypes > & | regionsCreated () const |
returns a set which indicates regions this creator creates... More... | |
bool | create (viewer::region::RegionTypes, WorldCanvas *, const std::vector< std::pair< double, double > > &, const std::string &, viewer::region::TextPosition, const std::vector< int > &, const std::string &, int, int, const std::string &, const std::string &, viewer::region::LineStyle, unsigned int, bool, VOID *) |
create regions of various types (e.g. More... | |
RegionToolTypes | type () const |
![]() | |
RegionTool (Display::KeySym keysym=Display::K_Pointer_Button1) | |
Constructor taking the primary key to which this tool will respond. More... | |
~RegionTool () | |
void | otherKeyReleased (const WCPositionEvent &) |
void | enable () |
DISPLAY_PURE_VIRTUAL(RegionTool::create,true);. More... | |
![]() | |
MultiWCTool (const Display::KeySym &keysym=Display::K_Pointer_Button1, bool enable_events=true) | |
Constructor taking the primary key to which this tool will respond. More... | |
virtual | ~MultiWCTool () |
Destructor. More... | |
virtual void | addWorldCanvas (WorldCanvas &worldcanvas) |
Add/remove a WorldCanvas from the control of this tool. More... | |
virtual void | removeWorldCanvas (WorldCanvas &worldcanvas) |
virtual void | addWorldCanvases (PanelDisplay *pdisp) |
Add/Remove a list of WorldCanvases from PanelDisplay. More... | |
virtual void | removeWorldCanvases (PanelDisplay *pdisp) |
virtual void | operator() (const WCPositionEvent &ev) |
Required operators for event handling - these are called when events occur, and distribute the events to the "user-level" methods. More... | |
virtual void | operator() (const WCMotionEvent &ev) |
default sends event to cout More... | |
virtual void | operator() (const WCRefreshEvent &ev) |
original handler interface (still used for WCRefreshEvents) More... | |
![]() | |
virtual | ~DisplayTool () |
Destructor. More... | |
virtual void | setKey (const Display::KeySym &keysym) |
Set/get which key to catch. More... | |
virtual Display::KeySym | getKey () const |
![]() | |
WCPositionEH () | |
Default Constructor Required. More... | |
virtual | ~WCPositionEH () |
Destructor. More... | |
![]() | |
WCMotionEH () | |
Default Constructor Required. More... | |
virtual | ~WCMotionEH () |
Destructor. More... | |
![]() | |
WCRefreshEH () | |
Default Constructor Required. More... | |
virtual | ~WCRefreshEH () |
Destructor. More... | |
![]() | |
virtual void | handleEvent (DisplayEvent &) |
Classes that contain this interface (i.e., derive from it) can override this method to implement actions for whatever types of DisplayEvent they're interested in. More... | |
virtual | ~DisplayEH () |
![]() | |
DTVisible () | |
Default constructor. More... | |
virtual | ~DTVisible () |
Destructor. More... | |
virtual casacore::String | drawColor () const |
Return the color to use. More... | |
virtual casacore::Int | lineWidth () const |
Return the line width to use. More... | |
virtual casacore::Double | doubleClickInterval () const |
Return the double click interval (in seconds). More... | |
![]() | |
RegionCreator () | |
DISPLAY_PURE_VIRTUAL(RegionCreator::create,true);. More... | |
virtual | ~RegionCreator () |
Protected Member Functions | |
virtual void | doubleInside () |
Handle double-click inside the polygon. More... | |
virtual void | regionReady () |
This function is called when a region is deliberately "finished" by the user. More... | |
void | getWorldCoords (casacore::Vector< casacore::Double > &x, casacore::Vector< casacore::Double > &y) |
get the world coords of the current polygon region More... | |
void | getLinearCoords (casacore::Vector< casacore::Double > &x, casacore::Vector< casacore::Double > &y) |
get the linear coords of the current ploygon region More... | |
![]() | |
virtual void | keyPressed (const WCPositionEvent &) |
Functions called by the base class event handling operators–and normally only those. More... | |
virtual void | moved (const WCMotionEvent &, const viewer::region::region_list_type &) |
virtual void | keyReleased (const WCPositionEvent &) |
virtual void | otherKeyPressed (const WCPositionEvent &) |
virtual void | draw (const WCRefreshEvent &, const viewer::region::region_list_type &) |
draw the polygon (if any) on the object's currently active WC. More... | |
virtual void | doubleOutside () |
virtual void | polygonReady () |
casacore::Function called when a polygon is ready and not being edited. More... | |
virtual void | get (casacore::Vector< casacore::Int > &x, casacore::Vector< casacore::Int > &y) const |
Retrieve polygon vertices, or a single vertex, in screen pixels. More... | |
virtual void | get (casacore::Int &x, casacore::Int &y, const casacore::Int pt) const |
virtual bool | checkType (viewer::region::RegionTypes t) |
![]() | |
virtual void | updateRegion () |
virtual void | clicked (casacore::Int, casacore::Int) |
virtual void | doubleClicked (casacore::Int, casacore::Int) |
virtual void | refresh () |
Copy back-to-front buffer (erasing all MWCTool drawings), then cause this (and all MWCTools on current WC's PC) to draw (or not draw) themselves, according to their current state. More... | |
virtual void | setClipToDrawArea () |
Cause subsequent drawing commands to be clipped to the current WC (or its drawing area). More... | |
virtual void | setClipToWC () |
virtual void | resetClip () |
![]() | |
DisplayTool (const Display::KeySym &keysym=Display::K_Pointer_Button1) | |
Constructor taking a key to which this tool will initially be attached, typically one of the pointer buttons. More... | |
DisplayTool (const DisplayTool &other) | |
Copy constructor - construct a new DisplayTool from other , using copy semantics. More... | |
DisplayTool & | operator= (const DisplayTool &other) |
Copy assignment using copy semantics. More... | |
Display::KeyModifier | keyModifiers () |
Return the modifier mask. More... | |
![]() | |
DTVisible (const DTVisible &other) | |
(Required) copy constructor. More... | |
DTVisible & | operator= (const DTVisible &other) |
(Required) copy assignment. More... | |
Additional Inherited Members | |
![]() | |
enum | RegionToolTypes { POLYTOOL, RECTTOOL, POINTTOOL, ELLIPSETOOL, POLYLINETOOL, PVLINETOOL } |
typedef std::map < viewer::Region *, viewer::region::PointInfo > | region_map_type |
![]() | |
typedef std::list < RegionCreator * > | creator_list_type |
![]() | |
static const creator_list_type & | findCreator (region::RegionTypes type) |
![]() | |
WorldCanvas * | itsCurrentWC |
WC being (or to be) drawn on (may be 0 initially). More... | |
WorldCanvas event-based polygon region drawer.
Public interface
<prerequisites> WCRectTool </prerequisites>
WCPTRegion stands for WorldCanvas Polygon Tool Region
This class finalises the functionality in WCRectTool to implement event-based drawing of polygonal regions on a WorldCanvas. casacore::Double clicking inside the constructed polygon emits the region, whilst pressing Escape cancels the region.
Polygonal regions are the most common regions, and constructing them visually can be very efficient.
Definition at line 80 of file MultiPolyToolImpl.h.
casa::MultiPolyToolImpl::MultiPolyToolImpl | ( | viewer::RegionSourceFactory * | rf, |
PanelDisplay * | pd, | ||
Display::KeySym | keysym = Display::K_Pointer_Button3 |
||
) |
Constructor.
|
virtual |
Destructor.
|
protectedvirtual |
Handle double-click inside the polygon.
Invokes regionReady().
Reimplemented from casa::MultiPolyTool.
|
protected |
get the linear coords of the current ploygon region
|
protected |
get the world coords of the current polygon region
|
inlineprotectedvirtual |
This function is called when a region is deliberately "finished" by the user.
It can be implemented to do further actions, such as report the region to the application.
Reimplemented in casa::QtPTRegion.
Definition at line 98 of file MultiPolyToolImpl.h.