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

Represents a symbol annotation. More...

#include <AnnSymbol.h>

Inheritance diagram for casa::AnnSymbol:
casa::AnnotationBase

Public Types

enum  Symbol {
  POINT,
  PIXEL,
  CIRCLE,
  TRIANGLE_DOWN,
  TRIANGLE_UP,
  TRIANGLE_LEFT,
  TRIANGLE_RIGHT,
  TRI_DOWN,
  TRI_UP,
  TRI_LEFT,
  TRI_RIGHT,
  SQUARE,
  PENTAGON,
  STAR,
  HEXAGON1,
  HEXAGON2,
  PLUS,
  X,
  DIAMOND,
  THIN_DIAMOND,
  VLINE,
  HLINE,
  UNKNOWN
}
 allowed symbols More...
 
- Public Types inherited from casa::AnnotationBase
enum  Type {
  LINE,
  VECTOR,
  TEXT,
  SYMBOL,
  RECT_BOX,
  CENTER_BOX,
  ROTATED_BOX,
  POLYGON,
  POLYLINE,
  CIRCLE,
  ANNULUS,
  ELLIPSE
}
 
enum  Keyword {
  COORD,
  RANGE,
  FRAME,
  CORR,
  VELTYPE,
  RESTFREQ,
  LINEWIDTH,
  LINESTYLE,
  SYMSIZE,
  SYMTHICK,
  COLOR,
  FONT,
  FONTSIZE,
  FONTSTYLE,
  USETEX,
  LABEL,
  LABELCOLOR,
  LABELPOS,
  LABELOFF,
  UNKNOWN_KEYWORD,
  N_KEYS
}
 
enum  LineStyle {
  SOLID,
  DASHED,
  DOT_DASHED,
  DOTTED
}
 
enum  FontStyle {
  NORMAL,
  BOLD,
  ITALIC,
  ITALIC_BOLD
}
 
using RGB = std::vector< float >
 
using Direction = casacore::Vector< std::pair< casacore::Quantity, casacore::Quantity > >
 The pairs have longitude as the first member and latitude as the second. More...
 

Public Member Functions

 AnnSymbol (const casacore::Quantity &x, const casacore::Quantity &y, const casacore::String &dirRefFrameString, const casacore::CoordinateSystem &csys, const casacore::Char symbolChar, const casacore::Quantity &beginFreq, const casacore::Quantity &endFreq, const casacore::String &freqRefFrame, const casacore::String &dopplerString, const casacore::Quantity &restfreq, const casacore::Vector< casacore::Stokes::StokesTypes > &stokes)
 
 AnnSymbol (const casacore::Quantity &x, const casacore::Quantity &y, const casacore::CoordinateSystem &csys, const Symbol symbol, const casacore::Vector< casacore::Stokes::StokesTypes > &stokes)
 
AnnSymboloperator= (const AnnSymbol &other)
 implicit copy constructor and destructor are fine More...
 
casacore::MDirection getDirection () const
 
Symbol getSymbol () const
 
virtual std::ostream & print (std::ostream &os) const
 
- Public Member Functions inherited from casa::AnnotationBase
virtual ~AnnotationBase ()
 
Type getType () const
 
void setLabel (const casacore::String &label)
 
casacore::String getLabel () const
 
void setColor (const casacore::String &color)
 color must either be a recognized color name or a valid rgb hex string, else an expection is thrown More...
 
void setColor (const RGB &color)
 color must have three elements all with values between 0 and 255 inclusive or an exception is thrown. More...
 
casacore::String getColorString () const
 returns the color name if it is recognized or its rgb hex string More...
 
RGB getColor () const
 get the color associated with this object More...
 
void setLineStyle (const LineStyle lineStyle)
 
LineStyle getLineStyle () const
 
void setLineWidth (const casacore::uInt linewidth)
 
casacore::uInt getLineWidth () const
 
void setSymbolSize (const casacore::uInt symbolsize)
 
casacore::uInt getSymbolSize () const
 
void setSymbolThickness (const casacore::uInt symbolthickness)
 
casacore::uInt getSymbolThickness () const
 
void setFont (const casacore::String &font)
 
casacore::String getFont () const
 
void setFontSize (const casacore::uInt fontsize)
 
casacore::uInt getFontSize () const
 
void setFontStyle (const FontStyle &fontstyle)
 
FontStyle getFontStyle () const
 
void setUseTex (const casacore::Bool usetex)
 
casacore::Bool isUseTex () const
 
virtual casacore::Bool isRegion () const
 is the object a region? More...
 
virtual casacore::Bool isAnnotationOnly () const
 is the object only an annotation? Can only be false if the object is a region More...
 
void setLabelColor (const casacore::String &color)
 color must either be a recognized color name or a valid rgb hex string, else an expection is thrown More...
 
void setLabelColor (const RGB &color)
 color must have three elements all with values between 0 and 255 inclusive or an exception is thrown. More...
 
casacore::String getLabelColorString () const
 returns the color name if it is recognized or its rgb hex string More...
 
RGB getLabelColor () const
 get the color associated with this object's label More...
 
casacore::String getLabelPosition () const
 returns one of top, bottom, left, or right. More...
 
void setLabelPosition (const casacore::String &position)
 position must have a value in top, bottom, left, or right. More...
 
void setLabelOffset (const std::vector< casacore::Int > &offset)
 offset must have two elements More...
 
std::vector< casacore::IntgetLabelOffset () const
 
void setGlobals (const casacore::Vector< Keyword > &globalKeys)
 These parameters are included at the global scope. More...
 
const casacore::CoordinateSystemgetCsys () const
 get the coordinate system associated with this object. More...
 
Direction getDirections () const
 DEPRECATED Please use getConvertedDirections() the pair elements have longitude as the first member and latitude as the second. More...
 
casacore::Vector
< casacore::MFrequency
getFrequencyLimits () const
 get the frequency limits converted to the spectral frame of the coordinate system of this object. More...
 
casacore::Vector
< casacore::Stokes::StokesTypes
getStokes () const
 Get the stokes for which the selection applies. More...
 
virtual casacore::Bool setFrequencyLimits (const casacore::Quantity &beginFreq, const casacore::Quantity &endFreq, const casacore::String &freqRefFrame, const casacore::String &dopplerString, const casacore::Quantity &restfreq)
 if freqRefFrame=="" -> use the reference frame of the coordinate system if dopplerString=="" -> use the doppler system associated with the coordinate system if restfreq=casacore::Quantity(0, "Hz") -> use the rest frequency associated with the coordinate system Tacitly does nothing if the coordinate system has no spectral axis. More...
 
const casacore::Vector
< casacore::MDirection > & 
getConvertedDirections () const
 same as getDirections, only returns proper MDirections More...
 

Static Public Member Functions

static Symbol charToSymbol (const casacore::Char c)
 
static casacore::Char symbolToChar (const Symbol s)
 
- Static Public Member Functions inherited from casa::AnnotationBase
static LineStyle lineStyleFromString (const casacore::String &ls)
 
static Type typeFromString (const casacore::String &type)
 Given a string, return the corresponding annotation type or throw an error if the string does not correspond to an allowed type. More...
 
static casacore::String typeToString (const Type type)
 
static casacore::String keywordToString (const Keyword key)
 
static casacore::String lineStyleToString (const LineStyle linestyle)
 
static FontStyle fontStyleFromString (const casacore::String &fs)
 
static casacore::String fontStyleToString (const FontStyle fs)
 
static casacore::String colorToString (const RGB &color)
 
static void unitInit ()
 set "pix" as valid unit. More...
 
static std::ostream & print (std::ostream &os, const std::map< Keyword, casacore::String > &params)
 print a set of keyword value pairs More...
 
static std::ostream & print (std::ostream &os, const LineStyle ls)
 print a line style representation More...
 
static std::ostream & print (std::ostream &os, const FontStyle fs)
 print a font style representation More...
 
static std::ostream & print (std::ostream &os, const Direction d)
 
static std::list< std::string > colorChoices ()
 Get a list of the user-friendly color names supported. More...
 

Private Member Functions

void _init (const casacore::Quantity &x, const casacore::Quantity &y)
 

Static Private Member Functions

static void _initMap ()
 

Private Attributes

AnnotationBase::Direction _inputDirection
 
Symbol _symbol
 
casacore::Char _symbolChar
 

Static Private Attributes

static const casacore::String _class
 
static std::map
< casacore::Char, Symbol
_symbolMap
 

Additional Inherited Members

- Static Public Attributes inherited from casa::AnnotationBase
static const RGB BLACK
 
static const RGB BLUE
 
static const RGB CYAN
 
static const RGB GRAY
 
static const RGB GREEN
 
static const RGB MAGENTA
 
static const RGB ORANGE
 
static const RGB RED
 
static const RGB WHITE
 
static const RGB YELLOW
 
static const casacore::String DEFAULT_LABEL
 
static const RGB DEFAULT_COLOR
 
static const LineStyle DEFAULT_LINESTYLE
 
static const casacore::uInt DEFAULT_LINEWIDTH
 
static const casacore::uInt DEFAULT_SYMBOLSIZE
 
static const casacore::uInt DEFAULT_SYMBOLTHICKNESS
 
static const casacore::String DEFAULT_FONT
 
static const casacore::uInt DEFAULT_FONTSIZE
 
static const FontStyle DEFAULT_FONTSTYLE
 
static const casacore::Bool DEFAULT_USETEX
 
static const RGB DEFAULT_LABELCOLOR
 
static const casacore::String DEFAULT_LABELPOS
 
static const std::vector
< casacore::Int
DEFAULT_LABELOFF
 
static const casacore::Regex rgbHexRegex
 
- Protected Member Functions inherited from casa::AnnotationBase
 AnnotationBase (const Type type, const casacore::String &dirRefFrameString, const casacore::CoordinateSystem &csys, const casacore::Quantity &beginFreq, const casacore::Quantity &endFreq, const casacore::String &freqRefFrame, const casacore::String &dopplerString, const casacore::Quantity &restfreq, const casacore::Vector< casacore::Stokes::StokesTypes > &stokes)
 if freqRefFrame or dopplerString are empty, the values from the spectral coordinate of csys will be used, if one exists. More...
 
 AnnotationBase (const Type type, const casacore::CoordinateSystem &csys, const casacore::Vector< casacore::Stokes::StokesTypes > &stokes)
 use only if the frame of the input directions is the same as the frame of the coordinate system. More...
 
AnnotationBaseoperator= (const AnnotationBase &other)
 assignment operator More...
 
casacore::MDirection _directionFromQuantities (const casacore::Quantity &q0, const casacore::Quantity &q1)
 
void _checkAndConvertDirections (const casacore::String &origin, const Direction &dirs)
 
virtual void _printPairs (std::ostream &os) const
 
const casacore::IPosition_getDirectionAxes () const
 
casacore::String _printDirection (const casacore::Quantity &longitude, const casacore::Quantity &latitude) const
 direction to string, precision of 0.1 mas ra and dec in sexigesimal format, non-equatorial coords in degrees More...
 
void _setParam (const Keyword k, const casacore::String &s)
 
casacore::MDirection::Types _getDirectionRefFrame () const
 
- Static Protected Member Functions inherited from casa::AnnotationBase
static void _checkMixed (const casacore::String &origin, const Direction &dirs)
 
static casacore::String _toArcsec (const casacore::Quantity &angle)
 convert angle to arcsec, precision 0.1 mas More...
 
static casacore::String _toDeg (const casacore::Quantity &angle)
 convert angle to degrees, precision 0.1 mas More...
 
static casacore::String _printPixel (const casacore::Double &d)
 return a string representing a pixel value, precision 1. More...
 

Detailed Description

Represents a symbol annotation.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Synopsis

Represents an ascii symbol annotation

Definition at line 47 of file AnnSymbol.h.

Member Enumeration Documentation

allowed symbols

Enumerator
POINT 
PIXEL 
CIRCLE 
TRIANGLE_DOWN 
TRIANGLE_UP 
TRIANGLE_LEFT 
TRIANGLE_RIGHT 
TRI_DOWN 
TRI_UP 
TRI_LEFT 
TRI_RIGHT 
SQUARE 
PENTAGON 
STAR 
HEXAGON1 
HEXAGON2 
PLUS 
X 
DIAMOND 
THIN_DIAMOND 
VLINE 
HLINE 
UNKNOWN 

Definition at line 51 of file AnnSymbol.h.

Constructor & Destructor Documentation

casa::AnnSymbol::AnnSymbol ( const casacore::Quantity x,
const casacore::Quantity y,
const casacore::String dirRefFrameString,
const casacore::CoordinateSystem csys,
const casacore::Char  symbolChar,
const casacore::Quantity beginFreq,
const casacore::Quantity endFreq,
const casacore::String freqRefFrame,
const casacore::String dopplerString,
const casacore::Quantity restfreq,
const casacore::Vector< casacore::Stokes::StokesTypes > &  stokes 
)
casa::AnnSymbol::AnnSymbol ( const casacore::Quantity x,
const casacore::Quantity y,
const casacore::CoordinateSystem csys,
const Symbol  symbol,
const casacore::Vector< casacore::Stokes::StokesTypes > &  stokes 
)

Member Function Documentation

void casa::AnnSymbol::_init ( const casacore::Quantity x,
const casacore::Quantity y 
)
private
static void casa::AnnSymbol::_initMap ( )
staticprivate
static Symbol casa::AnnSymbol::charToSymbol ( const casacore::Char  c)
static
casacore::MDirection casa::AnnSymbol::getDirection ( ) const
Symbol casa::AnnSymbol::getSymbol ( ) const
AnnSymbol& casa::AnnSymbol::operator= ( const AnnSymbol other)

implicit copy constructor and destructor are fine

virtual std::ostream& casa::AnnSymbol::print ( std::ostream &  os) const
virtual

Implements casa::AnnotationBase.

static casacore::Char casa::AnnSymbol::symbolToChar ( const Symbol  s)
static

Member Data Documentation

const casacore::String casa::AnnSymbol::_class
staticprivate

Definition at line 115 of file AnnSymbol.h.

AnnotationBase::Direction casa::AnnSymbol::_inputDirection
private

Definition at line 112 of file AnnSymbol.h.

Symbol casa::AnnSymbol::_symbol
private

Definition at line 113 of file AnnSymbol.h.

casacore::Char casa::AnnSymbol::_symbolChar
private

Definition at line 114 of file AnnSymbol.h.

std::map<casacore::Char, Symbol> casa::AnnSymbol::_symbolMap
staticprivate

Definition at line 116 of file AnnSymbol.h.


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