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 | List of all members
casa::viewer::Ellipse Class Reference

All regions are specified in "linear coordinates", not "pixel coordinates". More...

#include <Ellipse.h>

Inheritance diagram for casa::viewer::Ellipse:
casa::viewer::Rectangle casa::viewer::Region casa::viewer::dtorNotifier

Public Member Functions

 ~Ellipse ()
 
 Ellipse (WorldCanvas *wc, QtRegionDock *d, double x1, double y1, double x2, double y2)
 
 Ellipse (QtRegionSourceKernel *factory, WorldCanvas *wc, double x1, double y1, double x2, double y2, bool hold_signals=false)
 carry over from QtRegion... More...
 
unsigned int mouseMovement (double x, double y, bool other_selected)
 returns mouse movement state More...
 
AnnotationBaseannotation () const
 
bool flag (MSAsRaster *)
 
region::RegionTypes type () const
 fetch region type... More...
 
- Public Member Functions inherited from casa::viewer::Rectangle
 ~Rectangle ()
 
 Rectangle (WorldCanvas *wc, QtRegionDock *d, double x1, double y1, double x2, double y2, bool hold_signals=false)
 
 Rectangle (QtRegionSourceKernel *rs, WorldCanvas *wc, double x1, double y1, double x2, double y2, bool hold_signals=false)
 carry over from QtRegion... More...
 
bool clickWithin (double x, double y) const
 
int clickHandle (double x, double y) const
 
bool doubleClick (double, double)
 
region::PointInfo checkPoint (double x, double y) const
 returns point state (Region::PointLocation) More...
 
unsigned int mouseMovement (double x, double y, bool other_selected)
 returns mouse state (Region::MouseState) More...
 
int moveHandle (int handle, double x, double y)
 for rectangles, resizing can change the handle... More...
 
void move (double dx, double dy)
 
void resize (double, double)
 
bool valid_translation (double dx, double dy, double width_delta, double height_delta)
 
void linearCenter (double &x, double &y) const
 
void pixelCenter (double &x, double &y) const
 
AnnotationBaseannotation () const
 
void boundingRectangle (double &blcx, double &blcy, double &trcx, double &trcy) const
 in "linear" coordinates... More...
 
void output (ds9writer &out) const
 
- Public Member Functions inherited from casa::viewer::Region
const std::string name () const
 user specified name More...
 
std::string lineColor () const
 
std::string centerColor () const
 
int lineWidth () const
 
region::LineStyle lineStyle () const
 
std::string textColor () const
 
std::string textFont () const
 
int textFontSize () const
 
int textFontStyle () const
 
std::string textValue () const
 
region::TextPosition textPosition () const
 
void textPositionDelta (int &x, int &y) const
 
virtual void setLabel (const std::string &l)
 
virtual void setLabelPosition (region::TextPosition)
 
virtual void setLabelDelta (const std::vector< int > &)
 
virtual void setFont (const std::string &font="", int font_size=-1, int font_style=0, const std::string &font_color="")
 
virtual void setLine (const std::string &line_color="", region::LineStyle line_style=region::SolidLine, unsigned int line_width=1)
 
virtual void setAnnotation (bool)
 
void getCoordinatesAndUnits (region::Coord &c, region::Units &x_units, region::Units &y_units, std::string &width_height_units) const
 
void getPositionString (std::string &x, std::string &y, std::string &angle, double &bounding_width, double &bounding_height, region::Coord coord=region::DefaultCoord, region::Units x_units=region::DefaultUnits, region::Units y_units=region::DefaultUnits, const std::string &bounding_units="rad") const
 
bool translateX (const std::string &, const std::string &, const std::string &)
 
bool translateY (const std::string &, const std::string &, const std::string &)
 
bool resizeX (const std::string &, const std::string &, const std::string &)
 
bool resizeY (const std::string &, const std::string &, const std::string &)
 
int numFrames () const
 
void zRange (int &x, int &y) const
 
int zIndex () const
 
bool regionVisible () const
 
bool worldBoundingRectangle (double &, double &, const std::string &) const
 
virtual ~Region ()
 
 Region ()
 
 Region (const std::string &name, WorldCanvas *wc, QtRegionDock *, bool hold_signals_=false, QtRegionState *supplied_state=0, QtMouseToolNames::PointRegionSymbols sym=QtMouseToolNames::SYM_UNKNOWN)
 
virtual bool degenerate () const
 is this region degenerate? More...
 
void setDrawingEnv ()
 
void resetDrawingEnv ()
 
void setTextEnv ()
 
void resetTextEnv ()
 
void pushDrawingEnv (region::LineStyle ls, int thickness=-1)
 
void popDrawingEnv ()
 
void setDrawCenter (bool draw_center)
 
bool getDrawCenter ()
 
void refresh ()
 duplicate of MultiWCTool::refresh() More...
 
void invalidateCenterInfo ()
 indicates that the center info is no longer valid More...
 
bool selected () const
 
virtual bool weaklySelected () const
 is this region weakly or temporarily selected? More...
 
virtual void weaklySelect (bool scroll_dock=true)
 
virtual void weaklyUnselect ()
 weaklyUnselectLimited() plus extra processing... More...
 
virtual void weaklyUnselectLimited ()
 just unmark this region (called from RegionToolManager); do not do the rest of the reorganization that weaklyUnselect() does... More...
 
virtual void selectedInCanvas ()
 indicates that the user has selected this rectangle... More...
 
virtual void mark (bool set=true)
 functions added with the introduction of RegionToolManager and the unified selection and manipulation of the various region types... More...
 
virtual bool marked () const
 
virtual bool mark_toggle ()
 returns the new state... More...
 
size_t selected_region_count ()
 
size_t marked_region_count ()
 
void clearMouseInRegion ()
 
virtual void status (const std::string &msg, const std::string &type="info")
 update status information... More...
 
virtual bool markCenter () const
 
virtual bool skyComponent () const
 
void holdSignals ()
 postpone signal processing (important for signals generated during construction)... More...
 
virtual void releaseSignals ()
 
virtual std::list
< std::shared_ptr< RegionInfo > > * 
statistics ()
 
int getId () const
 Histogram functionality. More...
 
casacore::ImageRegiongetImageRegion (DisplayData *dd) const
 
QtRegionStatestate ()
 DISPLAY_PURE_VIRTUAL(Region::pixelCenter,);. More...
 
int markerScale () const
 how much to scale the symbol used to mark point regions... More...
 
void setMarkerScale (int v)
 
void updateStateInfo (bool region_modified, region::RegionChanges)
 indicates that region movement requires the update of state information... More...
 
void refresh_state_gui ()
 
void clearStatistics ()
 blank out the statistics for this region More...
 
void statisticsUpdateNeeded ()
 
int & colorIndex ()
 used to synchronize the default color for all of the RegionDock's RegionState objects... More...
 
std::pair< int, int > & tabState ()
 used to synchronize all of the RegionDock's RegionState tab configuration... More...
 
std::map< std::string, int > & coordState ()
 used to synchronize all of the RegionDock's RegionState coordinate configuration... More...
 
void selectedCountUpdateNeeded ()
 forward state update information to the dock wherere a count of selected regions, information is maintained. More...
 
QString getSaveDir ()
 used to synchronize all region directories per QtDisplayPanelGUI... More...
 
void putSaveDir (QString)
 
QString getLoadDir ()
 
void putLoadDir (QString)
 
virtual bool setMarker (QtMouseToolNames::PointRegionSymbols)
 
- Public Member Functions inherited from casa::viewer::dtorNotifier
 dtorNotifier ()
 
 ~dtorNotifier ()
 signals any dtorNotifiee's that are registered More...
 
void addNotifiee (dtorNotifiee *)
 
void removeNotifiee (dtorNotifiee *)
 

Protected Member Functions

std::list< std::shared_ptr
< RegionInfo > > * 
generate_dds_centers ()
 
casacore::ImageRegionget_image_region (DisplayData *) const
 
void generate_nonimage_statistics (DisplayData *, std::list< RegionInfo > *)
 Ellipse is derived from Rectangle, but we have no way to generate ellipse statistics for a measurement set (our only non-image display data)... More...
 
virtual void fetch_region_details (region::RegionTypes &type, std::vector< std::pair< int, int > > &pixel_pts, std::vector< std::pair< double, double > > &world_pts) const
 
void drawRegion (bool)
 
- Protected Member Functions inherited from casa::viewer::Rectangle
 Rectangle (const std::string &name, WorldCanvas *wc, QtRegionDock *d, double x1, double y1, double x2, double y2, bool hold_signals=false, QtRegionState *supplied_state=0, QtMouseToolNames::PointRegionSymbols sym=QtMouseToolNames::SYM_UNKNOWN)
 
RegionInfo::stats_tget_ms_stats (MSAsRaster *msar, double x, double y)
 
void generate_nonimage_statistics (DisplayData *, std::list< RegionInfo > *)
 
casacore::ImageRegionget_image_region (DisplayData *) const
 
virtual void setCenter (double &x, double &y, double &deltx, double &delty)
 
- Protected Member Functions inherited from casa::viewer::Region
void fetch_details (region::RegionTypes &type, QList< int > &pixelx, QList< int > &pixely, QList< double > &worldx, QList< double > &worldy)
 
void signal_region_change (region::RegionChanges)
 
void initHistogram ()
 -----------------—==================== from old QtRegion ====================-----------------— More...
 
virtual std::list
< std::shared_ptr< RegionInfo > > * 
generate_dds_statistics ()
 
virtual void generate_nonimage_statistics (DisplayData *, std::list< std::shared_ptr< RegionInfo > > *)
 hook to allow generate_dds_statistics() to generate statistics for rectangular measurement set regions... More...
 
virtual RegionInfonewInfoObject (casacore::ImageInterface< float > *, PrincipalAxesDD *)
 newInfoObject(...) is currently only used for PVLine regions, but it should be used for other regions to allow for specialized creation of the region info objects for display in "statistics"... More...
 
virtual ImageRegion_state get_image_selected_region (DisplayData *)
 
double linear_average (double a, double b) const
 
RegionInfo::center_tgetLayerCenter (PrincipalAxesDD *padd, std::shared_ptr< casacore::ImageInterface< float > > image, casacore::ImageRegion &imgReg)
 
RegionInfo::stats_tgetLayerStats (PrincipalAxesDD *padd, casacore::ImageInterface< float > *image, casacore::ImageRegion &imgReg)
 
region::Units current_xunits () const
 
region::Units current_yunits () const
 
region::Coord current_region_coordsys () const
 
casacore::MDirection::Types current_casa_coordsys () const
 
virtual void drawText ()
 
virtual void drawCenter (double &x, double &y, double &deltx, double &delty)
 
virtual bool within_drawing_area ()
 

Private Member Functions

std::pair< casacore::Vector
< casacore::Quantity >
, casacore::Vector
< casacore::Quantity > > 
posAndRadii () const
 
bool output_region (ds9writer &out, WorldCanvas *wc, const std::vector< std::pair< double, double > > &pts) const
 

Additional Inherited Members

- Signals inherited from casa::viewer::Region
void selectionChanged (viewer::Region *, bool)
 
void regionCreated (int, const QString &shape, const QString &name, const QList< double > &world_x, const QList< double > &world_y, const QList< int > &pixel_x, const QList< int > &pixel_y, const QString &linecolor, const QString &text, const QString &font, int fontsize, int fontstyle)
 
void regionUpdate (int, viewer::region::RegionChanges, const QList< double > &world_x, const QList< double > &world_y, const QList< int > &pixel_x, const QList< int > &pixel_y)
 
void regionChange (viewer::Region *, std::string)
 
void regionUpdateResponse (int, const QString &shape, const QString &name, const QList< double > &world_x, const QList< double > &world_y, const QList< int > &pixel_x, const QList< int > &pixel_y, const QString &linecolor, const QString &text, const QString &font, int fontsize, int fontstyle)
 generated by emitUpdate()... More...
 
void showHistogramTool ()
 
- Static Public Member Functions inherited from casa::viewer::Region
static bool refreshNeeded (int v)
 functions to query results from mouse functions... More...
 
static bool regionSelected (int v)
 
static bool handleSelected (int v)
 
static std::shared_ptr
< viewer::Region
creatingRegion ()
 called when creating regions to allow suppression of corner-handle drawing... More...
 
static void creatingRegionBegin (std::shared_ptr< viewer::Region > r)
 
static void creatingRegionEnd ()
 
- Public Attributes inherited from casa::viewer::Region
virtual void boundingRectangle(double
&, double &, double &, double
&) const DISPLAY_PURE_VIRTUAL(Region
void 
emitUpdate ()
 in "linear" coordinates... More...
 
- Protected Types inherited from casa::viewer::Region
typedef std::pair
< region::LineStyle, int > 
ls_ele
 
- Protected Slots inherited from casa::viewer::Region
void refresh_canvas_event ()
 
void refresh_statistics_event (bool)
 
void refresh_position_event (bool)
 
void translate_x (const QString &, const QString &, const QString &)
 
void translate_y (const QString &, const QString &, const QString &)
 
void resize_x (const QString &, const QString &, const QString &)
 
void resize_y (const QString &, const QString &, const QString &)
 
void updateCenterInfo ()
 
void adjustCorners (double, double, double, double)
 
void refresh_zrange_event (int, int)
 
void revoke_region ()
 revoke... More...
 
void revoke_region (QtRegionState *)
 revoke if our state matches parameter... More...
 
void reload_statistics_event ()
 
void output (std::list< QtRegionState * >, RegionTextList &)
 
void output (std::list< QtRegionState * >, ds9writer &)
 
- Static Protected Member Functions inherited from casa::viewer::Region
static int getAxisIndex (casacore::ImageInterface< float > *image, std::string axtype)
 
- Protected Attributes inherited from casa::viewer::Rectangle
double blc_x
 
double blc_y
 
double trc_x
 
double trc_y
 
double center_x_
 
double center_y_
 
double center_delta_x_
 
double center_delta_y_
 
double handle_delta_x
 
double handle_delta_y
 
- Protected Attributes inherited from casa::viewer::Region
QtRegionDockdock_
 
QtRegionStatemystate
 
HistogramTabhistogram
 
bool statistics_update_needed
 
bool position_visible
 
bool position_update_needed
 
int id_
 
bool statistics_visible
 
int hold_signals
 
std::map
< region::RegionChanges, bool > 
held_signals
 
virtual casacore::ImageRegion
*virtual get_image_region(DisplayData
*) const DISPLAY_PURE_VIRTUAL(Region
const std::set< Region * > 
get_selected_regions )()
 
virtual void virtual setCenter(double
&, double &, double &, double
&) DISPLAY_PURE_VIRTUAL(Region
void 
drawCenter (double &x, double &y)
 
region::LineStyle current_ls
 
std::list< ls_elels_stack
 
WorldCanvaswc_
 
int last_z_index
 
bool selected_
 
bool visible_
 
bool complete
 Should this region be considered complete? Set to true by derived classes... More...
 
bool mouse_in_region
 Derived classes set this to true and clear it when the mouse enters and exits this regions bounding box... More...
 
- Static Protected Attributes inherited from casa::viewer::Region
static const int SEXAGPREC
 
static std::shared_ptr< Regioncreating_region
 Holds a pointer to the region currently being created... More...
 

Detailed Description

All regions are specified in "linear coordinates", not "pixel coordinates".

This is necessary because "linear coordinates" scale with zooming whereas "pixel coordinates" do not. Unfortunately, this means that coordinate transformation is required each time the region is drawn.

Definition at line 49 of file Ellipse.h.

Constructor & Destructor Documentation

casa::viewer::Ellipse::~Ellipse ( )
casa::viewer::Ellipse::Ellipse ( WorldCanvas wc,
QtRegionDock d,
double  x1,
double  y1,
double  x2,
double  y2 
)
casa::viewer::Ellipse::Ellipse ( QtRegionSourceKernel factory,
WorldCanvas wc,
double  x1,
double  y1,
double  x2,
double  y2,
bool  hold_signals = false 
)

carry over from QtRegion...

hopefully, removed soon...

Member Function Documentation

AnnotationBase* casa::viewer::Ellipse::annotation ( ) const
void casa::viewer::Ellipse::drawRegion ( bool  )
protectedvirtual

Reimplemented from casa::viewer::Rectangle.

virtual void casa::viewer::Ellipse::fetch_region_details ( region::RegionTypes type,
std::vector< std::pair< int, int > > &  pixel_pts,
std::vector< std::pair< double, double > > &  world_pts 
) const
protectedvirtual

Reimplemented from casa::viewer::Rectangle.

bool casa::viewer::Ellipse::flag ( MSAsRaster )
inlinevirtual

Reimplemented from casa::viewer::Rectangle.

Definition at line 62 of file Ellipse.h.

std::list<std::shared_ptr<RegionInfo> >* casa::viewer::Ellipse::generate_dds_centers ( )
protectedvirtual

Reimplemented from casa::viewer::Rectangle.

void casa::viewer::Ellipse::generate_nonimage_statistics ( DisplayData ,
std::list< RegionInfo > *   
)
inlineprotected

Ellipse is derived from Rectangle, but we have no way to generate ellipse statistics for a measurement set (our only non-image display data)...

so we have to define this to prevent casacore::MS info being reported for the bounding rectangle of an Ellipse...

Definition at line 78 of file Ellipse.h.

casacore::ImageRegion* casa::viewer::Ellipse::get_image_region ( DisplayData ) const
protected
unsigned int casa::viewer::Ellipse::mouseMovement ( double  x,
double  y,
bool  other_selected 
)

returns mouse movement state

bool casa::viewer::Ellipse::output_region ( ds9writer out,
WorldCanvas wc,
const std::vector< std::pair< double, double > > &  pts 
) const
privatevirtual

Reimplemented from casa::viewer::Rectangle.

std::pair<casacore::Vector<casacore::Quantity>,casacore::Vector<casacore::Quantity> > casa::viewer::Ellipse::posAndRadii ( ) const
private
region::RegionTypes casa::viewer::Ellipse::type ( ) const
inlinevirtual

fetch region type...

Reimplemented from casa::viewer::Rectangle.

Definition at line 67 of file Ellipse.h.

References casa::viewer::region::EllipseRegion.


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