A circular arc in 3-dimensional space. More...
#include <CircularArc3.h>
Public Types | |
| typedef T | Number |
| The number type. | |
|
typedef ads::FixedArray < 3, Number > | Point |
| The representation of a point. | |
Public Member Functions | |
Constructors etc. | |
| CircularArc3 () | |
| Default constructor. Uninitialized memory. | |
| CircularArc3 (const Point ¢er, const Point &source, const Point &target) | |
| Construct from the center, the source, and the target. | |
| CircularArc3 (const CircularArc3 &other) | |
| Copy constructor. | |
| CircularArc3 & | operator= (const CircularArc3 &other) |
| Assignment operator. | |
| ~CircularArc3 () | |
| Trivial destructor. | |
| void | make (const Point ¢er, const Point &source, const Point &target) |
| Make from the center, the source, and the target. | |
Accesors. | |
| const Circle & | getCircle () const |
| Return the circle. | |
| const Point & | getCenter () const |
| Return the center. | |
| Number | getRadius () const |
| Return the radius. | |
| const Point & | getFirstAxis () const |
| Return the first axis. | |
| const Point & | getSecondAxis () const |
| Return the second axis. | |
| Number | getAngle () const |
| Return the angle. | |
Functor. | |
| Point | operator() (const Number t) const |
| Evaluate a point on the circular arc. | |
Translations. | |
| CircularArc3 & | operator+= (const Point &x) |
| Translate by p. | |
| CircularArc3 & | operator-= (const Point &x) |
| Translate by -p. | |
Validity. | |
| bool | isValid () const |
| Return true if the circular arc is valid. | |
Related Functions | |
(Note that these are not member functions.) | |
| template<typename T > | |
| bool | operator== (const CircularArc3< T > &x, const CircularArc3< T > &y) |
| Return true if the balls are equal. | |
| template<typename T > | |
| bool | operator!= (const CircularArc3< T > &x, const CircularArc3< T > &y) |
| Return true if the balls are not equal. | |
| template<typename T > | |
| CircularArc3< T > | operator+ (const CircularArc3< T > &circularArc, const typename CircularArc3< T >::Point &vector) |
| Return a circular arc translated by the vector. | |
| template<typename T > | |
| CircularArc3< T > | operator- (const CircularArc3< T > &circularArc, const typename CircularArc3< T >::Point &vector) |
| Return a circular arc translated by the negative of the vector. | |
| template<typename T > | |
| std::istream & | operator>> (std::istream &in, CircularArc3< T > &x) |
| Read a circular arc. | |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &out, const CircularArc3< T > &x) |
| Write the circular arc. | |
A circular arc in 3-dimensional space.
| T | is the number type. By default it is double. |
A circular arc in 3-D is defined by a circle (acenter, a normal, and a radius), two vectors which form axes in the plane of the circle and an angle. The parametrization for t in [0..1] is:
x = center + radius * (axis0 * cos(angle * t) + axis1 * sin(angle * t))
Thus the circular arc lies on the circle. It starts at the first axis and goes in the positive direction toward the second axis through the defined angle.
| Point CircularArc3< T >::operator() | ( | const Number | t | ) | const [inline] |
Evaluate a point on the circular arc.
The arc is parametrized with
.
| bool operator!= | ( | const CircularArc3< T > & | x, | |
| const CircularArc3< T > & | y | |||
| ) | [related] |
Return true if the balls are not equal.
| CircularArc3< T > operator+ | ( | const CircularArc3< T > & | circularArc, | |
| const typename CircularArc3< T >::Point & | vector | |||
| ) | [related] |
Return a circular arc translated by the vector.
| CircularArc3< T > operator- | ( | const CircularArc3< T > & | circularArc, | |
| const typename CircularArc3< T >::Point & | vector | |||
| ) | [related] |
Return a circular arc translated by the negative of the vector.
| std::ostream & operator<< | ( | std::ostream & | out, | |
| const CircularArc3< T > & | x | |||
| ) | [related] |
Write the circular arc.
| bool operator== | ( | const CircularArc3< T > & | x, | |
| const CircularArc3< T > & | y | |||
| ) | [related] |
Return true if the balls are equal.
References CircularArc3< T >::getAngle(), CircularArc3< T >::getCircle(), CircularArc3< T >::getFirstAxis(), and CircularArc3< T >::getSecondAxis().
| std::istream & operator>> | ( | std::istream & | in, | |
| CircularArc3< T > & | x | |||
| ) | [related] |
Read a circular arc.
1.6.3