Line data Source code
1 : //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2 : //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
3 : //# License for more details.
4 : //#
5 : //# You should have received a copy of the GNU Library General Public License
6 : //# along with this library; if not, write to the Free Software Foundation,
7 : //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
8 : //#
9 : //# Correspondence concerning AIPS++ should be addressed as follows:
10 : //# Internet email: casa-feedback@nrao.edu.
11 : //# Postal address: AIPS++ Project Office
12 : //# National Radio Astronomy Observatory
13 : //# 520 Edgemont Road
14 : //# Charlottesville, VA 22903-2475 USA
15 : //#
16 :
17 :
18 : #include <imageanalysis/Annotations/AnnCenterBox.h>
19 :
20 : using namespace casacore;
21 : namespace casa {
22 :
23 1 : AnnCenterBox::AnnCenterBox(
24 : const Quantity& xcenter,
25 : const Quantity& ycenter,
26 : const Quantity& xwidth,
27 : const Quantity& ywidth,
28 : const String& dirRefFrameString,
29 : const CoordinateSystem& csys,
30 : const IPosition& imShape,
31 : const Quantity& beginFreq,
32 : const Quantity& endFreq,
33 : const String& freqRefFrameString,
34 : const String& dopplerString,
35 : const Quantity& restfreq,
36 : const Vector<Stokes::StokesTypes> stokes,
37 : const Bool annotationOnly,
38 : const Bool requireImageRegion
39 1 : ) : AnnPolygon(
40 : CENTER_BOX, xcenter, ycenter,
41 2 : xwidth, ywidth, Quantity(0, "deg"),
42 : dirRefFrameString, csys, imShape, beginFreq, endFreq,
43 : freqRefFrameString, dopplerString,
44 : restfreq, stokes,
45 : annotationOnly, requireImageRegion
46 1 : ), _inpXCenter(xcenter),
47 3 : _inpYCenter(ycenter), _inpXWidth(xwidth), _inpYWidth(ywidth) {}
48 :
49 33 : AnnCenterBox::AnnCenterBox(
50 : const Quantity& xcenter,
51 : const Quantity& ycenter,
52 : const Quantity& xwidth,
53 : const Quantity& ywidth,
54 : const CoordinateSystem& csys,
55 : const IPosition& imShape,
56 : const Vector<Stokes::StokesTypes>& stokes,
57 : const Bool requireImageRegion
58 33 : ) : AnnPolygon(
59 : CENTER_BOX, xcenter, ycenter,
60 66 : xwidth, ywidth, Quantity(0, "deg"),
61 : csys, imShape,
62 : stokes, requireImageRegion
63 33 : ), _inpXCenter(xcenter),
64 99 : _inpYCenter(ycenter), _inpXWidth(xwidth), _inpYWidth(ywidth)
65 33 : {}
66 :
67 0 : AnnCenterBox& AnnCenterBox::operator= (
68 : const AnnCenterBox& other
69 : ) {
70 0 : if (this == &other) {
71 0 : return *this;
72 : }
73 0 : AnnRegion::operator=(other);
74 0 : _inpXCenter = other._inpXCenter;
75 0 : _inpYCenter = other._inpYCenter;
76 0 : _inpXWidth = other._inpXWidth;
77 0 : _inpYWidth = other._inpYWidth;
78 0 : return *this;
79 : }
80 :
81 0 : ostream& AnnCenterBox::print(ostream &os) const {
82 0 : _printPrefix(os);
83 0 : os << "centerbox [[" << _printDirection(_inpXCenter, _inpYCenter) << "], ["
84 0 : << _toArcsec(_inpXWidth) << ", " << _toArcsec(_inpYWidth) << "]]";
85 0 : _printPairs(os);
86 0 : return os;
87 : }
88 :
89 :
90 : }
|