casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Slots | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Slots | Private Member Functions | Private Attributes
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

List of all members.

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 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...
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)
unsigned int mouseMovement (double x, double y, bool other_selected)
 returns mouse state (Region::MouseState)
int moveHandle (int handle, double x, double y)
 for rectangles, resizing can change the handle...
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...
void output (ds9writer &out) const
region::RegionTypes type () const
 fetch region type...

Protected Types

typedef std::list
< display_element
display_list_t

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::tr1::shared_ptr
< RegionInfo > > * 
generate_dds_centers ()
ImageRegionget_image_region (DisplayData *) const
RegionInfonewInfoObject (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"...
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)
ImageInterface< Float > * generatePVImage (ImageInterface< Float > *, std::string, int, bool)

Protected Attributes

double pt1_x
double pt1_y
double pt2_x
double pt2_y
double handle_delta_x
double handle_delta_y
display_list_t display_list

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::string worldCoordinateStrings (double x, double y)

Private Attributes

QtDisplayPanelGuisub_dpg
bool draw_cursor_point
double cursor_point_x
double cursor_point_y

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

typedef std::list<display_element> casa::viewer::PVLine::display_list_t [protected]

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


Constructor & Destructor Documentation

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

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

in "linear" coordinates...

Referenced by clickWithin().

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]
bool casa::viewer::PVLine::doubleClick ( double  ,
double   
)
void casa::viewer::PVLine::dpg_deleted ( QObject *  ) [private, slot]
void casa::viewer::PVLine::drawRegion ( bool  ) [protected, virtual]

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 [protected, virtual]

Reimplemented from casa::viewer::Region.

virtual bool casa::viewer::PVLine::flag ( MSAsRaster msar) [virtual]
std::list<std::tr1::shared_ptr<RegionInfo> >* casa::viewer::PVLine::generate_dds_centers ( ) [protected, virtual]

Implements casa::viewer::Region.

void casa::viewer::PVLine::generate_nonimage_statistics ( DisplayData ,
std::list< RegionInfo > *   
) [protected]
ImageInterface<Float>* casa::viewer::PVLine::generatePVImage ( ImageInterface< Float > *  ,
std::string  ,
int  ,
bool   
) [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...

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
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 [inline, virtual]

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

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

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

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

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

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

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

double casa::viewer::PVLine::pt1_x [protected]

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

double casa::viewer::PVLine::pt1_y [protected]

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

double casa::viewer::PVLine::pt2_x [protected]

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

double casa::viewer::PVLine::pt2_y [protected]

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

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


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