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

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

#include <circle3.h>

Inheritance diagram for BALL::TCircle3< T >:
Inheritance graph
[legend]

List of all members.


Public Member Functions

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

Public Attributes

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

Detailed Description

template<typename T>
class BALL::TCircle3< T >

Generic Circle in Three-Dimensional Space.

Constructor & Destructor Documentation

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

Default constructor.

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

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

Copy constructor.

Create a new TCircle3 object from another.

Parameters:
circle the TCircle3 object to be copied

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

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 BALL::TCircle3< T >::~TCircle3 ( ) [virtual]

Destructor.

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


Member Function Documentation

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

Clear method.

The values are set to 0.

Reimplemented in BALL::VIEW::Disc.

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

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 BALL::VIEW::Disc.

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

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 BALL::TCircle3< T >::get ( TCircle3< T > & circle ) const

Assign to another TCircle3.

Assigns the components to another circle.

Parameters:
circle the circle to be assigned to

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

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 BALL::TCircle3< T >::isValid ( ) const

Test if instance is valid.

Always returns true

Returns:
bool true

Reimplemented in BALL::VIEW::Disc.

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

Inequality operator.

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

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

Assignment operator.

Assign the components from another circle.

Parameters:
circle the circle to assign from

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

Equality operator.

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

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

Assign the circle components.

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

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

Assign from another TCircle3.

Parameters:
circle the TCirce3 object to assign from

Referenced by BALL::GetIntersection().

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

Swap the contents of two circles.

Parameters:
circle the circle to swap contents with

Member Data Documentation

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

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

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

Generated on Thu Aug 6 18:30:34 2009 for BALL by doxygen 1.5.8