Core 1.0
|
Symmetry axis of revolution with a quadric curve. More...
#include <revolution.h>
Public Member Functions | |
RevolutionQuadricVolume2 (const Vector2 &, const Vector2 &, const QuadricCurve2 &) | |
Creates a surface of revolution based on a quadric parametric profile curve. | |
virtual | ~RevolutionQuadricVolume2 () |
Destructor. | |
void | Translate (const Vector2 &) |
Translation. | |
void | Rotate (const Matrix2 &) |
Rotation. | |
void | Scale (const double &) |
Scaling. | |
Vector2 | Normal (const Vector2 &) const |
Compute the distance vector between a point and the surface. | |
double | R (const Vector2 &) const |
Compute the squared distance between a point and the surface of revolution. | |
double | Signed (const Vector2 &) const |
Compute the intensity at a given point. | |
Box2 | GetBox () const |
Compute the bounding box. | |
OrientedBox2 | GetOrientedBox () const |
Compute the bounding cylinder. | |
Protected Attributes | |
Quadric | y |
Quadric profile curves. | |
Quadric | xy |
Constant coefficients used to speed-up queries. | |
double | yb |
Range of values for the y quadric profile curve. | |
![]() | |
Vector2 | b = Vector2(1.0, 0.0) |
End vertexes of the axis. | |
Vector2 | axis = Vector2::X |
Normalized axis vector. | |
double | length = 1.0 |
Length of the axis. | |
Additional Inherited Members | |
![]() | |
double | Radial (const Vector2 &, Vector2 &, Vector2 &) const |
Compute the radial coordinates of a point. | |
Vector2 | Radial (const Vector2 &) const |
Compute the radial coordinates of a point. | |
Axis2 () | |
Empty. | |
Axis2 (const Vector2 &, const Vector2 &) | |
Creates an axis given end vertices. | |
~Axis2 () | |
Empty. | |
Vector2 | Vertex (int) const |
Return one of the end vertexes of the axis. | |
Vector2 | Point (const double &) const |
Compute a point on the axis. | |
Vector2 | GetAxis () const |
Returns the normalized axis vector. | |
constexpr double | Length () const |
Return the axis length. | |
void | Translate (const Vector2 &) |
Translation. | |
void | Rotate (const Matrix2 &) |
Rotation. | |
void | Scale (const double &) |
Scaling. | |
Vector2 | Symmetric (const Vector2 &) const |
Symmetric point. | |
Circle2 | Symmetric (const Circle2 &) const |
Symmetric circle. | |
Box2 | Symmetric (const Box2 &) const |
Symmetric box. | |
Symmetry axis of revolution with a quadric curve.
|
explicit |
Creates a surface of revolution based on a quadric parametric profile curve.
a,b | Axis vertices. |
c | Quadric curve. |
Compute the distance vector between a point and the surface.
p | Point. |
double RevolutionQuadricVolume2::R | ( | const Vector2 & | p | ) | const |
Compute the squared distance between a point and the surface of revolution.
p | Point. |
void RevolutionQuadricVolume2::Rotate | ( | const Matrix2 & | r | ) |
Rotation.
r | Rotation matrix. |
void RevolutionQuadricVolume2::Scale | ( | const double & | s | ) |
Scaling.
s | Scaling factor. |
double RevolutionQuadricVolume2::Signed | ( | const Vector2 & | p | ) | const |
Compute the intensity at a given point.
p | Point. |
void RevolutionQuadricVolume2::Translate | ( | const Vector2 & | t | ) |
Translation.
t | Translation vector. |