AnnSymbol.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef ANNOTATIONS_ANNSYMBOL_H
00027 #define ANNOTATIONS_ANNSYMBOL_H
00028
00029 #include <imageanalysis/Annotations/AnnotationBase.h>
00030
00031 #include <measures/Measures/MDirection.h>
00032
00033 namespace casa {
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 class AnnSymbol: public AnnotationBase {
00048 public:
00049
00050
00051 enum Symbol {
00052 POINT,
00053 PIXEL,
00054 CIRCLE,
00055 TRIANGLE_DOWN,
00056 TRIANGLE_UP,
00057 TRIANGLE_LEFT,
00058 TRIANGLE_RIGHT,
00059 TRI_DOWN,
00060 TRI_UP,
00061 TRI_LEFT,
00062 TRI_RIGHT,
00063 SQUARE,
00064 PENTAGON,
00065 STAR,
00066 HEXAGON1,
00067 HEXAGON2,
00068 PLUS,
00069 X,
00070 DIAMOND,
00071 THIN_DIAMOND,
00072 VLINE,
00073 HLINE,
00074 UNKNOWN
00075 };
00076
00077 AnnSymbol(
00078 const Quantity& x, const Quantity& y,
00079 const String& dirRefFrameString,
00080 const CoordinateSystem& csys,
00081 const Char symbolChar,
00082 const Quantity& beginFreq,
00083 const Quantity& endFreq,
00084 const String& freqRefFrame,
00085 const String& dopplerString,
00086 const Quantity& restfreq,
00087 const Vector<Stokes::StokesTypes>& stokes
00088 );
00089
00090 AnnSymbol(
00091 const Quantity& x, const Quantity& y,
00092 const CoordinateSystem& csys,
00093 const Symbol symbol,
00094 const Vector<Stokes::StokesTypes>& stokes
00095 );
00096
00097
00098
00099 AnnSymbol& operator=(const AnnSymbol& other);
00100
00101 MDirection getDirection() const;
00102
00103 Symbol getSymbol() const;
00104
00105 static Symbol charToSymbol(const Char c);
00106
00107 static Char symbolToChar(const Symbol s);
00108
00109 virtual ostream& print(ostream &os) const;
00110
00111 private:
00112 AnnotationBase::Direction _inputDirection;
00113 Symbol _symbol;
00114 Char _symbolChar;
00115 const static String _class;
00116 static map<Char, Symbol> _symbolMap;
00117
00118 static void _initMap();
00119
00120 void _init(const Quantity& x, const Quantity& y);
00121
00122 };
00123
00124
00125
00126 }
00127
00128 #endif