Loading...
Searching...
No Matches
BALL::TCircle3< T > Class Template Reference

`#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

## Detailed Description

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

Generic Circle in Three-Dimensional Space.

Definition at line 45 of file circle3.h.

## Constructor & Destructor Documentation

## TCircle3() [1/3]

template<typename T>

BALL::TCircle3< T >::TCircle3 | ( |  | ) |

inline

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

Definition at line 59 of file circle3.h.

## TCircle3() [2/3]

template<typename T>

BALL::TCircle3< T >::TCircle3 | ( | const TCircle3< T > & | circle | ) |

inline

Copy constructor. Create a new TCircle3 object from another.

Parameters

  circle | the TCircle3 object to be copied

Definition at line 70 of file circle3.h.

## TCircle3() [3/3]

template<typename T>

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.

Parameters

  point | assigned to the point
  normal | assigned to the normal
  radius | assigned tp the radius

Definition at line 83 of file circle3.h.

## ~TCircle3()

template<typename T>

virtual BALL::TCircle3< T >::~TCircle3 | ( |  | ) |

inline virtual

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

Definition at line 94 of file circle3.h.

## Member Function Documentation

## clear()

template<typename T>

virtual void BALL::TCircle3< T >::clear | ( |  | ) |

inline virtual

Clear method. The values are set to 0.

Reimplemented in BALL::VIEW::Disc.

Definition at line 101 of file circle3.h.

## dump()

template<typename T>

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 .

Parameters

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

Definition at line 251 of file circle3.h.

## get() [1/2]

template<typename T>

void BALL::TCircle3< T >::get | ( | TCircle3< T > & | circle | ) | const

inline

Assign to another TCircle3. Assigns the components to another circle.

Parameters

  circle | the circle to be assigned to

Definition at line 170 of file circle3.h.

## get() [2/2]

template<typename T>

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.

Parameters

  point | the center point
  normal | the circle normal
  rhs | the radius

Definition at line 182 of file circle3.h.

## has()

template<typename T>

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.

Parameters

  point | the point to be tested
  on_surface | true to test the surface (default = false)

Returns
  bool, true or false

Definition at line 217 of file circle3.h.

## isValid()

template<typename T>

bool BALL::TCircle3< T >::isValid | ( |  | ) | const

inline

Test if instance is valid. Always returns true

Returns
  bool true

Definition at line 240 of file circle3.h.

## operator!=()

template<typename T>

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

inline

Inequality operator.

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

Definition at line 206 of file circle3.h.

## operator=()

template<typename T>

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

inline

Assignment operator. Assign the components from another circle.

Parameters

  circle | the circle to assign from

Definition at line 157 of file circle3.h.

## operator==()

template<typename T>

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

inline

Equality operator.

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

Definition at line 198 of file circle3.h.

## set() [1/2]

template<typename T>

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

inline

Assign from another TCircle3.

Parameters

  circle | the TCirce3 object to assign from

Definition at line 134 of file circle3.h.

## set() [2/2]

template<typename T>

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

inline

Assign the circle components.

Parameters

  point | assigned to the point
  normal | assigned to the normal
  rad | assigned to the radius

Definition at line 146 of file circle3.h.

## swap()

template<typename T>

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

inline

Swap the contents of two circles.

Parameters

  circle | the circle to swap contents with

Definition at line 116 of file circle3.h.

## Member Data Documentation

## n

template<typename T>

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

Normal vector. This vector is orthogonal to the circle's plane.

Definition at line 282 of file circle3.h.

## p

template<typename T>

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

Circle Center. This point describes the center of the circle.

Definition at line 277 of file circle3.h.

## radius

template<typename T>

T BALL::TCircle3< T >::radius

Radius. The radius of the circle.

Definition at line 287 of file circle3.h.