lsst.gauss2d
gbf99507273+d801c9999e
Toggle main menu visibility
Loading...
Searching...
No Matches
coordinatesystem.h
1
// -*- LSST-C++ -*-
2
/*
3
* This file is part of gauss2d.
4
*
5
* Developed for the LSST Data Management System.
6
* This product includes software developed by the LSST Project
7
* (https://www.lsst.org).
8
* See the COPYRIGHT file at the top-level directory of this distribution
9
* for details of code ownership.
10
*
11
* This program is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
15
*
16
* This program is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU General Public License for more details.
20
*
21
* You should have received a copy of the GNU General Public License
22
* along with this program. If not, see <https://www.gnu.org/licenses/>.
23
*/
24
25
#ifndef LSST_GAUSS2D_COORDINATESYSTEM_H
26
#define LSST_GAUSS2D_COORDINATESYSTEM_H
27
28
#include <string>
29
30
#include "object.h"
31
#include "type_name.h"
32
33
namespace
lsst::gauss2d {
34
43
class
CoordinateSystem :
public
Object
{
44
public
:
45
explicit
CoordinateSystem(
double
dx1 = 1.,
double
dy2 = 1,
double
x_min = 0,
double
y_min = 0);
46
~CoordinateSystem();
47
48
// x,y coords of the bottom left corner of the image if not rotated
49
// TBD how to implement this if there is rotation...
50
51
double
get_dx1()
const
;
52
double
get_dy2()
const
;
53
54
double
get_x_min()
const
;
55
double
get_y_min()
const
;
56
57
bool
is_xy_aligned()
const
;
58
59
bool
operator==(
const
CoordinateSystem& other)
const
;
60
bool
operator!=(
const
CoordinateSystem& other)
const
;
61
62
std::string
repr
(
bool
name_keywords =
false
,
63
std::string_view namespace_separator =
Object::CC_NAMESPACE_SEPARATOR
)
const override
;
64
std::string
str
()
const override
;
65
66
private
:
67
double
_dx1;
68
double
_dy2;
69
70
double
_x_min;
71
double
_y_min;
72
};
73
74
static
const
CoordinateSystem
COORDS_DEFAULT{};
75
76
}
// namespace lsst::gauss2d
77
#endif
// LSST_GAUSS2D_COORDINATESYSTEM_H
lsst::gauss2d::CoordinateSystem
A coordinate system specifying image scale and orientation.
Definition
coordinatesystem.h:43
lsst::gauss2d::CoordinateSystem::repr
std::string repr(bool name_keywords=false, std::string_view namespace_separator=Object::CC_NAMESPACE_SEPARATOR) const override
Definition
coordinatesystem.cc:51
lsst::gauss2d::CoordinateSystem::str
std::string str() const override
Return a brief, human-readable string representation of this.
Definition
coordinatesystem.cc:58
lsst::gauss2d::Object
Definition
object.h:40
lsst::gauss2d::Object::CC_NAMESPACE_SEPARATOR
static constexpr std::string_view CC_NAMESPACE_SEPARATOR
The C++ namespace separator.
Definition
object.h:45
include
lsst
gauss2d
coordinatesystem.h
Generated by
1.17.0