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

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

#include <PVLine.qo.h>

Inheritance diagram for casa::viewer::PVLine:
casa::viewer::Region casa::viewer::dtorNotifier

Classes

class  display_element
 one display_element is created for each image created from this PVLine... More...
 

Public Slots

void createPVImage (const std::string &, const std::string &, int)
 
void changePVInfo (int)
 
void cursorBoundary (QtDisplayPanel::CursorBoundaryCondition)
 
void cursorPosition (viewer::Position)
 

Public Member Functions

 ~PVLine ()
 
 PVLine (WorldCanvas *wc, QtRegionDock *d, double x1, double y1, double x2, double y2, bool hold_signals=false)
 
 PVLine (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
 
virtual bool flag (MSAsRaster *msar)
 
void boundingRectangle (double &blcx, double &blcy, double &trcx, double &trcy) const
 in "linear" coordinates... More...
 
void output (ds9writer &out) const
 
region::RegionTypes type () const
 fetch region type... More...
 
- 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 Types

typedef std::list
< display_element
display_list_t
 
- Protected Types inherited from casa::viewer::Region
typedef std::pair
< region::LineStyle, int > 
ls_ele
 

Protected Member Functions

 PVLine (const std::string &name, WorldCanvas *wc, QtRegionDock *d, double x1, double y1, double x2, double y2, bool hold_signals=false, 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 > *)
 
std::list< std::shared_ptr
< RegionInfo > > * 
generate_dds_centers ()
 
casacore::ImageRegionget_image_region (DisplayData *) const
 
RegionInfonewInfoObject (casacore::ImageInterface< float > *image, 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 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)
 
std::shared_ptr
< casacore::ImageInterface
< float > > 
generatePVImage (std::shared_ptr< casacore::ImageInterface< float > >, std::string, int, bool)
 
- 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 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 ()
 

Protected Attributes

double pt1_x
 
double pt1_y
 
double pt2_x
 
double pt2_y
 
double handle_delta_x
 
double handle_delta_y
 
int display_width
 
display_list_t display_list
 
- 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...
 

Private Slots

void dpg_deleted (QObject *)
 

Private Member Functions

bool within_vertex_handle (double x, double y) const
 
unsigned int check_handle (double x, double y) const
 
std::vector< double > calculate_offset_points (double slope, double off, double x, double y)
 
void draw_pv_line (PixelCanvas *pc, bool selected=false)
 
std::string worldCoordinateStrings (double x, double y)
 

Private Attributes

QtDisplayPanelGuisub_dpg
 
bool draw_cursor_point
 
double cursor_point_x
 
double cursor_point_y
 

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 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)
 
- 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 53 of file PVLine.qo.h.

Member Typedef Documentation

Definition at line 156 of file PVLine.qo.h.

Constructor & Destructor Documentation

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

carry over from QtRegion...

hopefully, removed soon...

casa::viewer::PVLine::PVLine ( const std::string &  name,
WorldCanvas wc,
QtRegionDock d,
double  x1,
double  y1,
double  x2,
double  y2,
bool  hold_signals = false,
QtMouseToolNames::PointRegionSymbols  sym = QtMouseToolNames::SYM_UNKNOWN 
)
protected

Member Function Documentation

AnnotationBase* casa::viewer::PVLine::annotation ( ) const
void casa::viewer::PVLine::boundingRectangle ( double &  blcx,
double &  blcy,
double &  trcx,
double &  trcy 
) const

in "linear" coordinates...

Referenced by clickWithin().

std::vector<double> casa::viewer::PVLine::calculate_offset_points ( double  slope,
double  off,
double  x,
double  y 
)
private
void casa::viewer::PVLine::changePVInfo ( int  )
slot
unsigned int casa::viewer::PVLine::check_handle ( double  x,
double  y 
) const
private
region::PointInfo casa::viewer::PVLine::checkPoint ( double  x,
double  y 
) const
virtual

returns point state (Region::PointLocation)

Implements casa::viewer::Region.

int casa::viewer::PVLine::clickHandle ( double  x,
double  y 
) const
bool casa::viewer::PVLine::clickWithin ( double  x,
double  y 
) const
inline

Definition at line 64 of file PVLine.qo.h.

References boundingRectangle().

void casa::viewer::PVLine::createPVImage ( const std::string &  ,
const std::string &  ,
int   
)
slot
void casa::viewer::PVLine::cursorBoundary ( QtDisplayPanel::CursorBoundaryCondition  )
slot
void casa::viewer::PVLine::cursorPosition ( viewer::Position  )
slot
bool casa::viewer::PVLine::doubleClick ( double  ,
double   
)
void casa::viewer::PVLine::dpg_deleted ( QObject *  )
privateslot
void casa::viewer::PVLine::draw_pv_line ( PixelCanvas pc,
bool  selected = false 
)
private
void casa::viewer::PVLine::drawRegion ( bool  )
protectedvirtual

Implements casa::viewer::Region.

virtual void casa::viewer::PVLine::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::Region.

virtual bool casa::viewer::PVLine::flag ( MSAsRaster msar)
virtual
std::list<std::shared_ptr<RegionInfo> >* casa::viewer::PVLine::generate_dds_centers ( )
protectedvirtual

Implements casa::viewer::Region.

void casa::viewer::PVLine::generate_nonimage_statistics ( DisplayData ,
std::list< RegionInfo > *   
)
protected
std::shared_ptr<casacore::ImageInterface<float> > casa::viewer::PVLine::generatePVImage ( std::shared_ptr< casacore::ImageInterface< float > >  ,
std::string  ,
int  ,
bool   
)
protected
casacore::ImageRegion* casa::viewer::PVLine::get_image_region ( DisplayData ) const
protected
RegionInfo::stats_t* casa::viewer::PVLine::get_ms_stats ( MSAsRaster msar,
double  x,
double  y 
)
protected
void casa::viewer::PVLine::linearCenter ( double &  x,
double &  y 
) const
unsigned int casa::viewer::PVLine::mouseMovement ( double  x,
double  y,
bool  other_selected 
)

returns mouse state (Region::MouseState)

void casa::viewer::PVLine::move ( double  dx,
double  dy 
)
int casa::viewer::PVLine::moveHandle ( int  handle,
double  x,
double  y 
)

for rectangles, resizing can change the handle...

for rectangles, moving a handle is resizing...

RegionInfo* casa::viewer::PVLine::newInfoObject ( casacore::ImageInterface< float > *  ,
PrincipalAxesDD  
)
protectedvirtual

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"...

Reimplemented from casa::viewer::Region.

void casa::viewer::PVLine::output ( ds9writer out) const
virtual

Implements casa::viewer::Region.

void casa::viewer::PVLine::pixelCenter ( double &  x,
double &  y 
) const
virtual

Implements casa::viewer::Region.

void casa::viewer::PVLine::resize ( double  ,
double   
)
region::RegionTypes casa::viewer::PVLine::type ( ) const
inlinevirtual

fetch region type...

Implements casa::viewer::Region.

Definition at line 101 of file PVLine.qo.h.

References casa::viewer::region::PVLineRegion.

bool casa::viewer::PVLine::valid_translation ( double  dx,
double  dy,
double  width_delta,
double  height_delta 
)
virtual

Implements casa::viewer::Region.

bool casa::viewer::PVLine::within_vertex_handle ( double  x,
double  y 
) const
private
std::string casa::viewer::PVLine::worldCoordinateStrings ( double  x,
double  y 
)
private

Member Data Documentation

double casa::viewer::PVLine::cursor_point_x
private

Definition at line 170 of file PVLine.qo.h.

double casa::viewer::PVLine::cursor_point_y
private

Definition at line 170 of file PVLine.qo.h.

display_list_t casa::viewer::PVLine::display_list
protected

Definition at line 157 of file PVLine.qo.h.

int casa::viewer::PVLine::display_width
protected

Definition at line 140 of file PVLine.qo.h.

bool casa::viewer::PVLine::draw_cursor_point
private

Definition at line 169 of file PVLine.qo.h.

double casa::viewer::PVLine::handle_delta_x
protected

Definition at line 139 of file PVLine.qo.h.

double casa::viewer::PVLine::handle_delta_y
protected

Definition at line 139 of file PVLine.qo.h.

double casa::viewer::PVLine::pt1_x
protected

Definition at line 136 of file PVLine.qo.h.

double casa::viewer::PVLine::pt1_y
protected

Definition at line 136 of file PVLine.qo.h.

double casa::viewer::PVLine::pt2_x
protected

Definition at line 137 of file PVLine.qo.h.

double casa::viewer::PVLine::pt2_y
protected

Definition at line 137 of file PVLine.qo.h.

QtDisplayPanelGui* casa::viewer::PVLine::sub_dpg
private

Definition at line 167 of file PVLine.qo.h.


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