LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
25 #ifndef LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED
26 #define LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED
51 double const getA()
const {
return _vector[
A]; }
54 double const getB()
const {
return _vector[
B]; }
78 _vector =
other._vector;
91 explicit Axes(
double a = 1.0,
double b = 1.0,
double theta = 0.0,
bool normalize =
false)
92 : _vector(
a,
b, theta) {
122 void _assignToAxes(
double&
a,
double&
b,
double& theta)
const override;
132 static Registrar<Axes> registrar;
141 #endif // !LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED
std::string getName() const override
Return a string that identifies this parametrization.
void readParameters(double const *iter) override
Return the size of the bounding box for the ellipse core.
double const getB() const
void normalize() override
Put the parameters into a "standard form", if possible, and throw InvalidParameterError if they canno...
void _assignFromQuadrupole(double ixx, double iyy, double ixy) override
Return the size of the bounding box for the ellipse core.
Jacobian _dAssignToAxes(double &a, double &b, double &theta) const override
Return the size of the bounding box for the ellipse core.
void writeParameters(double *iter) const override
Return the size of the bounding box for the ellipse core.
void _assignToQuadrupole(double &ixx, double &iyy, double &ixy) const override
Return the size of the bounding box for the ellipse core.
double const getTheta() const
An ellipse core for the semimajor/semiminor axis and position angle parametrization (a,...
Axes(Axes const &other)
Copy constructor.
std::shared_ptr< Axes > clone() const
Deep copy the ellipse core.
double const getA() const
Jacobian _dAssignToQuadrupole(double &ixx, double &iyy, double &ixy) const override
Return the size of the bounding box for the ellipse core.
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size.
ItemVariant const * other
Jacobian _dAssignFromAxes(double a, double b, double theta) override
Return the size of the bounding box for the ellipse core.
Eigen::Vector3d ParameterVector
Parameter vector type.
std::shared_ptr< BaseCore > _clone() const override
Return the size of the bounding box for the ellipse core.
Axes(BaseCore::Transformer const &transformer)
Converting copy constructor.
Axes(double a=1.0, double b=1.0, double theta=0.0, bool normalize=false)
Construct from parameter values.
A base class for image defects.
void setTheta(double theta)
void apply(BaseCore &result) const
Eigen::Matrix3d Jacobian
Parameter Jacobian matrix type.
Axes & operator=(BaseCore const &other)
Converting assignment.
Axes(BaseCore::Convolution const &convolution)
Converting copy constructor.
Axes(BaseCore::ParameterVector const &vector, bool normalize=false)
Construct from a parameter vector.
BaseCore & operator=(BaseCore const &other)
Set the parameters of this ellipse core from another.
Jacobian _dAssignFromQuadrupole(double ixx, double iyy, double ixy) override
Return the size of the bounding box for the ellipse core.
void _assignFromAxes(double a, double b, double theta) override
Return the size of the bounding box for the ellipse core.
Axes(BaseCore const &other)
Converting copy constructor.
void _assignToAxes(double &a, double &b, double &theta) const override
Return the size of the bounding box for the ellipse core.
Axes & operator=(Axes const &other)
Standard assignment.
A temporary-only expression object for ellipse core convolution.
Axes & operator=(Axes &&other)