|
Core 1.0
|
Circle arcs in three dimensions. More...
#include <circlearc.h>
Public Member Functions | |
| CircleArc () | |
| Empty. | |
| CircleArc (const Vector &, const Vector &, const Vector &) | |
| Creates a circle arc given three vertices. | |
| ~CircleArc () | |
| Empty. | |
| void | Rotate (const Matrix &) |
| Rotates the arc. | |
| void | Translate (const Vector &) |
| Translates the arc. | |
| void | Scale (const double &) |
| Uniformly scales a circle. | |
| Box | GetBox () const |
| Compute the axis aligned bounding box of a circle. | |
| Vector | Normal (const Vector &) const |
| Compute the distance vector between a circular arc and a given point. | |
| double | R (const Vector &) const |
| Compute the squared distance between a point and the circurlar arc. | |
Protected Attributes | |
| Vector | b = Vector(Math::Sqrt12, Math::Sqrt12, 0.0) |
| End points of arc. | |
| Vector | nab |
| Slab vectors. | |
| Protected Attributes inherited from Circle | |
| Vector | c = Vector::Null |
| Center of the circle. | |
| Vector | axis = Vector::Z |
| Axis. | |
| double | r = 1.0 |
| Radius. | |
Friends | |
| std::ostream & | operator<< (std::ostream &s, const Circle &circle) |
| Overloaded. | |
Additional Inherited Members | |
| Protected Member Functions inherited from Circle | |
| Circle () | |
| Empty. | |
| Circle (const double &) | |
| Creates a circle. | |
| Circle (const Vector &, const Vector &, const double &) | |
| Creates a circle. | |
| Circle (const Vector &, const Vector &, const Vector &) | |
| Creates a circle given three points. | |
| ~Circle () | |
| Empty. | |
| bool | Intersect (const Ray &, double &) const |
| Compute the ray-disc intersection. | |
| Vector | Center () const |
| Gets the center of a circle. | |
| Vector | Axis () const |
| Axis of the circle. | |
| double | Radius () const |
| Radius of the circle. | |
| double | R (const Vector &) const |
| Compute the distance between a point and a circle. | |
| Vector | Normal (const Vector &) const |
| Computes the distance vector between a circle and a point. | |
| void | Rotate (const Matrix &) |
| Rotates a circle. | |
| void | Translate (const Vector &) |
| Translates a circle. | |
| void | Scale (const double &) |
| Uniformly scales a circle. | |
| Box | GetBox () const |
| Compute the axis aligned bounding box of a circle. | |
| double | Area () const |
| Area of a circle. | |
| Vector | RandomInside (Random &=Random::R239) const |
| Generate a random vector inside the circle. | |
| Vector | RandomOn (Random &=Random::R239) const |
| Generate a random vector on the circle. | |
| Vector | Vogel (int, int) const |
| Generate a spiraling vector in the disc. | |
| Static Protected Member Functions inherited from Circle | |
| static double | Area (const double &) |
| Area of a circle given its radius. | |
| Static Protected Attributes inherited from Circle | |
| static constexpr const double | epsilon = 1.0e-10 |
| Internal epsilon constant. | |
Circle arcs in three dimensions.
Creates a circle arc given three vertices.
| x,y,z | Points on the circle. |
Compute the distance vector between a circular arc and a given point.
| p | Point. |
| double CircleArc::R | ( | const Vector & | p | ) | const |
Compute the squared distance between a point and the circurlar arc.
| p | Point. |
| void CircleArc::Scale | ( | const double & | s | ) |
Uniformly scales a circle.
| s | Scaling factor. |
| void CircleArc::Translate | ( | const Vector & | t | ) |
Translates the arc.
| t | Translation vector. |
|
friend |
Overloaded.
| s | Stream. |
| circle | The circle. |