lsst.astshim
gf5dcc679e7+7aca86229d
Toggle main menu visibility
Loading...
Searching...
No Matches
include
astshim
SplineMap.h
Go to the documentation of this file.
1
/*
2
* This file is part of astshim.
3
*
4
* Developed for the LSST Data Management System.
5
* This product includes software developed by the LSST Project
6
* (https://www.lsst.org).
7
* See the COPYRIGHT file at the top-level directory of this distribution
8
* for details of code ownership.
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License
21
* along with this program. If not, see <https://www.gnu.org/licenses/>.
22
*/
23
#ifndef ASTSHIM_SPLINEMAP_H
24
#define ASTSHIM_SPLINEMAP_H
25
26
#include <memory>
27
#include <vector>
28
29
#include "
astshim/base.h
"
30
#include "
astshim/Mapping.h
"
31
32
namespace
ast
{
33
49
class
SplineMap
:
public
Mapping
{
50
friend
class
Object
;
51
52
public
:
76
explicit
SplineMap
(
int
kx,
int
ky,
int
nx,
int
ny,
std::vector<double>
const
&tx,
std::vector<double>
const
&ty,
77
std::vector<double>
const
&cu,
std::vector<double>
const
&cv,
std::string
const
&options =
""
)
78
:
Mapping
(reinterpret_cast<AstMapping *>(
79
_makeRawSplineMap(kx, ky, nx, ny, tx, ty, cu, cv, options))) {}
80
81
~SplineMap
()
override
=
default
;
82
84
SplineMap
(
SplineMap
const
&) =
default
;
85
SplineMap
(
SplineMap
&&) =
default
;
86
SplineMap
&
operator=
(
SplineMap
const
&) =
delete
;
87
SplineMap
&
operator=
(
SplineMap
&&) =
default
;
88
90
std::shared_ptr<SplineMap>
copy
()
const
{
return
std::static_pointer_cast<SplineMap>
(
copyPolymorphic
()); }
91
93
int
getInvNiter
()
const
{
return
getI
(
"InvNiter"
); }
94
96
int
getOutUnit
()
const
{
return
getI
(
"OutUnit"
); }
97
99
double
getInvTol
()
const
{
return
getD
(
"InvTol"
); }
100
101
102
protected
:
103
std::shared_ptr<Object>
copyPolymorphic
()
const override
{
104
return
copyImpl<SplineMap, AstSplineMap>
();
105
}
106
108
explicit
SplineMap
(AstSplineMap *map);
109
110
private
:
112
AstSplineMap *_makeRawSplineMap(
int
kx,
int
ky,
int
nx,
int
ny,
std::vector<double>
const
&tx,
std::vector<double>
const
&ty,
113
std::vector<double>
const
&cu,
std::vector<double>
const
&cv,
std::string
const
&options =
""
)
const
;
114
};
115
116
}
// namespace ast
117
118
#endif
Mapping.h
base.h
std::string
ast::Mapping::Mapping
Mapping(Mapping const &)=default
Copy constructor: make a deep copy.
ast::Object::copyImpl
std::shared_ptr< T > copyImpl() const
Implementation of deep copy.
Definition
Object.h:320
ast::Object::getD
double getD(std::string const &attrib) const
Get the value of an attribute as a double.
Definition
Object.h:374
ast::Object::getI
int getI(std::string const &attrib) const
Get the value of an attribute as an int.
Definition
Object.cc:180
ast::SplineMap::Object
friend class Object
Definition
SplineMap.h:50
ast::SplineMap::~SplineMap
~SplineMap() override=default
ast::SplineMap::operator=
SplineMap & operator=(SplineMap const &)=delete
ast::SplineMap::getOutUnit
int getOutUnit() const
Get "OutUnit": Is the out-of-bounds position transform an identity map?
Definition
SplineMap.h:96
ast::SplineMap::operator=
SplineMap & operator=(SplineMap &&)=default
ast::SplineMap::getInvTol
double getInvTol() const
Get "InvTol": Get target relative error for iterative inverse.
Definition
SplineMap.h:99
ast::SplineMap::SplineMap
SplineMap(SplineMap &&)=default
ast::SplineMap::copy
std::shared_ptr< SplineMap > copy() const
Return a deep copy of this object.
Definition
SplineMap.h:90
ast::SplineMap::getInvNiter
int getInvNiter() const
Get "InvNiter": Get maximum number of iterations for iterative inverse.
Definition
SplineMap.h:93
ast::SplineMap::SplineMap
SplineMap(int kx, int ky, int nx, int ny, std::vector< double > const &tx, std::vector< double > const &ty, std::vector< double > const &cu, std::vector< double > const &cv, std::string const &options="")
Construct a SplineMap with the forward transform specified by the supplied b-splines and the inverse ...
Definition
SplineMap.h:76
ast::SplineMap::SplineMap
SplineMap(SplineMap const &)=default
Copy constructor: make a deep copy.
ast::SplineMap::copyPolymorphic
std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
Definition
SplineMap.h:103
ast
AST wrapper classes and functions.
Definition
attributes_channel.dox:1
std::static_pointer_cast
T static_pointer_cast(T... args)
std::shared_ptr
std::vector
Generated on
for lsst.astshim by
1.17.0