#include <BALL/MATHS/circle3.h>
Public Member Functions | |
Constructors and Destructors | |
TCircle3 () | |
TCircle3 (const TCircle3 &circle) | |
TCircle3 (const TVector3< T > &point, const TVector3< T > &normal, const T &radius) | |
virtual | ~TCircle3 () |
virtual void | clear () |
Assignment | |
void | swap (TCircle3 &circle) |
void | set (const TCircle3 &circle) |
void | set (const TVector3< T > &point, const TVector3< T > &normal, const T &rad) |
TCircle3 & | operator= (const TCircle3 &circle) |
void | get (TCircle3 &circle) const |
void | get (TVector3< T > &point, TVector3< T > &normal, T &rhs) const |
Predicates | |
bool | operator== (const TCircle3 &circle) const |
bool | operator!= (const TCircle3 &circle) const |
bool | has (const TVector3< T > &point, bool on_surface=false) const |
Debugging and Diagnostics | |
bool | isValid () const |
void | dump (std::ostream &s=std::cout, Size depth=0) const |
Public Attributes | |
Attributes | |
TVector3< T > | p |
TVector3< T > | n |
T | radius |
Generic Circle in Three-Dimensional Space.
BALL::TCircle3< T >::TCircle3 | ( | ) | [inline] |
Default constructor. This method creates a new TCircle3 object. The three components are initialized to 0
.
BALL::TCircle3< T >::TCircle3 | ( | const TCircle3< T > & | circle | ) | [inline] |
BALL::TCircle3< T >::TCircle3 | ( | const TVector3< T > & | point, | |
const TVector3< T > & | normal, | |||
const T & | radius | |||
) | [inline] |
Detailed constructor. Create a new TCircle3 object from the central point, the normal and a radius.
point | assigned to the point | |
normal | assigned to the normal | |
radius | assigned tp the radius |
virtual BALL::TCircle3< T >::~TCircle3 | ( | ) | [inline, virtual] |
Destructor. Destructs the TCircle3 object. As there are no dynamic data structures, nothing happens.
virtual void BALL::TCircle3< T >::clear | ( | ) | [inline, virtual] |
Clear method. The values are set to 0.
Reimplemented in BALL::VIEW::Disc.
void BALL::TCircle3< T >::dump | ( | std::ostream & | s = std::cout , |
|
Size | depth = 0 | |||
) | const [inline] |
Internal state dump. Dump the current internal state of {*this} to the output ostream s with dumping depth depth .
s | - output stream where to output the internal state of {*this} | |
depth | - the dumping depth |
Reimplemented in BALL::VIEW::Disc.
void BALL::TCircle3< T >::get | ( | TVector3< T > & | point, | |
TVector3< T > & | normal, | |||
T & | rhs | |||
) | const [inline] |
Assign to two variables of type TVector3 and one T
value.
point | the center point | |
normal | the circle normal | |
rhs | the radius |
void BALL::TCircle3< T >::get | ( | TCircle3< T > & | circle | ) | const [inline] |
Assign to another TCircle3. Assigns the components to another circle.
circle | the circle to be assigned to |
bool BALL::TCircle3< T >::has | ( | const TVector3< T > & | point, | |
bool | on_surface = false | |||
) | const [inline] |
Test if a given point is a member of the circle. Optional it can be testet, if the point lies on the surface.
point | the point to be tested | |
on_surface | true to test the surface (default = false) |
bool BALL::TCircle3< T >::isValid | ( | ) | const [inline] |
bool BALL::TCircle3< T >::operator!= | ( | const TCircle3< T > & | circle | ) | const [inline] |
Inequality operator.
TCircle3& BALL::TCircle3< T >::operator= | ( | const TCircle3< T > & | circle | ) | [inline] |
Assignment operator. Assign the components from another circle.
circle | the circle to assign from |
bool BALL::TCircle3< T >::operator== | ( | const TCircle3< T > & | circle | ) | const [inline] |
Equality operator.
void BALL::TCircle3< T >::set | ( | const TVector3< T > & | point, | |
const TVector3< T > & | normal, | |||
const T & | rad | |||
) | [inline] |
Assign the circle components.
point | assigned to the point | |
normal | assigned to the normal | |
rad | assigned to the radius |
void BALL::TCircle3< T >::set | ( | const TCircle3< T > & | circle | ) | [inline] |
Assign from another TCircle3.
circle | the TCirce3 object to assign from |
Referenced by BALL::GetIntersection().
void BALL::TCircle3< T >::swap | ( | TCircle3< T > & | circle | ) | [inline] |
Swap the contents of two circles.
circle | the circle to swap contents with |
TVector3<T> BALL::TCircle3< T >::n |
Normal vector. This vector is orthogonal to the circle's plane.
Referenced by BALL::TCircle3< float >::clear(), BALL::TCircle3< float >::dump(), BALL::TCircle3< float >::get(), BALL::GetIntersection(), BALL::TCircle3< float >::has(), BALL::TCircle3< float >::operator!=(), BALL::TCircle3< float >::operator=(), BALL::TCircle3< float >::operator==(), BALL::operator>>(), BALL::TCircle3< float >::set(), and BALL::TCircle3< float >::swap().
TVector3<T> BALL::TCircle3< T >::p |
Circle Center. This point describes the center of the circle.
Referenced by BALL::TCircle3< float >::clear(), BALL::TCircle3< float >::dump(), BALL::TCircle3< float >::get(), BALL::GetIntersection(), BALL::TCircle3< float >::has(), BALL::TCircle3< float >::operator!=(), BALL::TCircle3< float >::operator=(), BALL::TCircle3< float >::operator==(), BALL::operator>>(), BALL::TCircle3< float >::set(), and BALL::TCircle3< float >::swap().
T BALL::TCircle3< T >::radius |
Radius. The radius of the circle.
Referenced by BALL::TCircle3< float >::clear(), BALL::TCircle3< float >::dump(), BALL::TCircle3< float >::get(), BALL::GetIntersection(), BALL::TCircle3< float >::has(), BALL::TCircle3< float >::operator!=(), BALL::TCircle3< float >::operator=(), BALL::TCircle3< float >::operator==(), BALL::operator>>(), BALL::TCircle3< float >::set(), and BALL::TCircle3< float >::swap().