32 , radiusA_(std::max(std::abs(radiusA), std::abs(radiusB)))
33 , radiusB_(std::min(std::abs(radiusA), std::abs(radiusB)))
36 rotation_.SetIsTrimmed(
true);
81 if (radiusA <= radiusB_)
83 radiusA_ = std::abs(radiusA);
103 if (radiusB < 0.0 || radiusB > radiusA_)
105 radiusB_ = std::abs(radiusB);
125 rotation_ = rotation;
126 rotation_.SetIsTrimmed(
true);
137 return (center_ == ellipse.center_ && radiusA_ == ellipse.radiusA_ && radiusB_ == ellipse.radiusB_
138 && rotation_ == ellipse.rotation_);
149 return !(*
this == ellipse);
Object for convenient and type - safe handling of angles.
Definition angle.hpp:16
void SetRadiusB(double radiusB)
Sets the smaller radius of the ellipse.
Definition ellipse.hpp:101
Point2D< double > Center() const noexcept
Gets the center of the ellipse.
Definition ellipse.hpp:49
void SetRotation(Angle rotation) noexcept
Sets the angle by which the ellipse is rotated.
Definition ellipse.hpp:123
bool operator==(const Ellipse &ellipse) const noexcept
Compares to an other ellipse.
Definition ellipse.hpp:135
void SetRadiusA(double radiusA)
Sets the larger radius A of the ellipse.
Definition ellipse.hpp:79
double RadiusB() const noexcept
Gets the larger radius of the ellipse.
Definition ellipse.hpp:91
Angle Rotation() const noexcept
Gets the angle by which the ellipse is rotated.
Definition ellipse.hpp:113
void SetCenter(Point2D< double > center) noexcept
Sets the center of the ellipse.
Definition ellipse.hpp:59
double RadiusA() const noexcept
Gets the larger radius of the ellipse.
Definition ellipse.hpp:69
bool operator!=(const Ellipse &ellipse) const noexcept
Compares to an other ellipse.
Definition ellipse.hpp:147
Ellipse(Point2D< double > center, double radiusA, double radiusB, Angle rotation)
Create an ellipse.
Definition ellipse.hpp:30
Multi-purpose 2D vector class.
Definition point_2d.hpp:20
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17