CircularArc3< T > Class Template Reference

A circular arc in 3-dimensional space. More...

#include <CircularArc3.h>

List of all members.

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 &center, const Point &source, const Point &target)
 Construct from the center, the source, and the target.
 CircularArc3 (const CircularArc3 &other)
 Copy constructor.
CircularArc3operator= (const CircularArc3 &other)
 Assignment operator.
 ~CircularArc3 ()
 Trivial destructor.
void make (const Point &center, const Point &source, const Point &target)
 Make from the center, the source, and the target.
Accesors.

const CirclegetCircle () const
 Return the circle.
const PointgetCenter () const
 Return the center.
Number getRadius () const
 Return the radius.
const PointgetFirstAxis () const
 Return the first axis.
const PointgetSecondAxis () 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.

CircularArc3operator+= (const Point &x)
 Translate by p.
CircularArc3operator-= (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.

Detailed Description

template<typename T = double>
class CircularArc3< T >

A circular arc in 3-dimensional space.

Parameters:
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.


Member Function Documentation

template<typename T = double>
Point CircularArc3< T >::operator() ( const Number  t  )  const [inline]

Evaluate a point on the circular arc.

The arc is parametrized with $t \in [0..1]$.


Friends And Related Function Documentation

template<typename T >
bool operator!= ( const CircularArc3< T > &  x,
const CircularArc3< T > &  y 
) [related]

Return true if the balls are not equal.

template<typename T >
CircularArc3< T > operator+ ( const CircularArc3< T > &  circularArc,
const typename CircularArc3< T >::Point vector 
) [related]

Return a circular arc translated by the vector.

template<typename T >
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.

template<typename T >
std::ostream & operator<< ( std::ostream &  out,
const CircularArc3< T > &  x 
) [related]

Write the circular arc.

template<typename T >
bool operator== ( const CircularArc3< T > &  x,
const CircularArc3< T > &  y 
) [related]
template<typename T >
std::istream & operator>> ( std::istream &  in,
CircularArc3< T > &  x 
) [related]

Read a circular arc.


The documentation for this class was generated from the following file:
Generated on Thu Jun 30 02:14:58 2016 for Computational Geometry Package by  doxygen 1.6.3