Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

TCircle3< T > Class Template Reference
[Generic three-dimensional circle.]

Generic Circle in Three-Dimensional Space. More...

#include <circle3.h>

Inheritance diagram for TCircle3< T >:

VIEW::Disc List of all members.

Public Member Functions

Constructors and Destructors
 TCircle3 () throw ()
 Default constructor.
 TCircle3 (const TCircle3 &circle) throw ()
 Copy constructor.
 TCircle3 (const TVector3< T > &point, const TVector3< T > &normal, const T &radius) throw ()
 Detailed constructor.
virtual ~TCircle3 () throw ()
 Destructor.
virtual void clear () throw ()
 Clear method.
Assignment
void swap (TCircle3 &circle) throw ()
 Swap the contents of two circles.
void set (const TCircle3 &circle) throw ()
 Assign from another TCircle3.
void set (const TVector3< T > &point, const TVector3< T > &normal, const T &rad) throw ()
 Assign the circle components.
TCircle3operator= (const TCircle3 &circle) throw ()
 Assignment operator.
void get (TCircle3 &circle) const throw ()
 Assign to another TCircle3.
void get (TVector3< T > &point, TVector3< T > &normal, T &rhs) const throw ()
 Assign to two variables of type TVector3 and one T value.
Predicates
bool operator== (const TCircle3 &circle) const throw ()
 Equality operator.
bool operator!= (const TCircle3 &circle) const throw ()
 Inequality operator.
bool has (const TVector3< T > &point, bool on_surface=false) const throw ()
 Test if a given point is a member of the circle.
Debugging and Diagnostics
bool isValid () const throw ()
 Test if instance is valid.
void dump (std::ostream &s=std::cout, Size depth=0) const throw ()
 Internal state dump.

Public Attributes

Attributes
TVector3< T > p
 Circle Center.
TVector3< T > n
 Normal vector.
radius
 Radius.

Detailed Description

template<typename T>
class TCircle3< T >

Generic Circle in Three-Dimensional Space.


Constructor & Destructor Documentation

template<typename T>
TCircle3< T >::TCircle3  )  throw ()
 

Default constructor.

This method creates a new TCircle3 object. The three components are initialized to 0.

template<typename T>
TCircle3< T >::TCircle3 const TCircle3< T > &  circle  )  throw ()
 

Copy constructor.

Create a new TCircle3 object from another.

Parameters:
circle the TCircle3 object to be copied

template<typename T>
TCircle3< T >::TCircle3 const TVector3< T > &  point,
const TVector3< T > &  normal,
const T &  radius
throw ()
 

Detailed constructor.

Create a new TCircle3 object from the central point, the normal and a radius.

Parameters:
point assigned to the point
normal assigned to the normal
radius assigned tp the radius

template<typename T>
virtual TCircle3< T >::~TCircle3  )  throw () [virtual]
 

Destructor.

Destructs the TCircle3 object. As there are no dynamic data structures, nothing happens.


Member Function Documentation

template<typename T>
virtual void TCircle3< T >::clear  )  throw () [virtual]
 

Clear method.

The values are set to 0.

Reimplemented in VIEW::Disc.

template<typename T>
void TCircle3< T >::dump std::ostream &  s = std::cout,
Size  depth = 0
const throw ()
 

Internal state dump.

Dump the current internal state of {*this} to the output ostream s with dumping depth depth .

Parameters:
s - output stream where to output the internal state of {*this}
depth - the dumping depth

Reimplemented in VIEW::Disc.

template<typename T>
void TCircle3< T >::get TVector3< T > &  point,
TVector3< T > &  normal,
T &  rhs
const throw ()
 

Assign to two variables of type TVector3 and one T value.

Parameters:
point the center point
normal the circle normal
rhs the radius

template<typename T>
void TCircle3< T >::get TCircle3< T > &  circle  )  const throw ()
 

Assign to another TCircle3.

Assigns the components to another circle.

Parameters:
circle the circle to be assigned to

template<typename T>
bool TCircle3< T >::has const TVector3< T > &  point,
bool  on_surface = false
const throw ()
 

Test if a given point is a member of the circle.

Optional it can be testet, if the point lies on the surface.

Parameters:
point the point to be tested
on_surface true to test the surface (default = false)
Returns:
bool, true or false

template<typename T>
bool TCircle3< T >::isValid  )  const throw ()
 

Test if instance is valid.

Always returns true

Returns:
bool true

Reimplemented in VIEW::Disc.

template<typename T>
bool TCircle3< T >::operator!= const TCircle3< T > &  circle  )  const throw ()
 

Inequality operator.

Returns:
bool, false if all components are equal, true otherwise

template<typename T>
TCircle3& TCircle3< T >::operator= const TCircle3< T > &  circle  )  throw ()
 

Assignment operator.

Assign the components from another circle.

Parameters:
circle the circle to assign from

template<typename T>
bool TCircle3< T >::operator== const TCircle3< T > &  circle  )  const throw ()
 

Equality operator.

Returns:
bool, true if all components are equal, false otherwise

template<typename T>
void TCircle3< T >::set const TVector3< T > &  point,
const TVector3< T > &  normal,
const T &  rad
throw ()
 

Assign the circle components.

Parameters:
point assigned to the point
normal assigned to the normal
rad assigned to the radius

template<typename T>
void TCircle3< T >::set const TCircle3< T > &  circle  )  throw ()
 

Assign from another TCircle3.

Parameters:
circle the TCirce3 object to assign from

template<typename T>
void TCircle3< T >::swap TCircle3< T > &  circle  )  throw ()
 

Swap the contents of two circles.

Parameters:
circle the circle to swap contents with


Member Data Documentation

template<typename T>
TVector3<T> TCircle3< T >::n
 

Normal vector.

This vector is orthogonal to the circle's plane.

template<typename T>
TVector3<T> TCircle3< T >::p
 

Circle Center.

This point describes the center of the circle.

template<typename T>
T TCircle3< T >::radius
 

Radius.

The radius of the circle.