Main Page | User's guide | Class Hierarchy | Class List | File List | Class Members

Multivac::CCircle< T > Class Template Reference

The initial curve is a circle. More...

#include <circle.hxx>

Inheritance diagram for Multivac::CCircle< T >:

Multivac::CInitialCurve< T > List of all members.

Public Member Functions

 CCircle () throw ()
 Default constructor.

 CCircle (T CenterX_, T CenterY_, T Radius_, bool reversed_=false) throw ()
 Main constructor.

 ~CCircle () throw ()
 Destructor.

virtual void SetDistances (CMesh< T > &Mesh, CLevelSet< T > &Phi)
 Updates the level set function Phi by setting distances to the circle.

virtual T GetDistance (T x, T y)
 Returns the distance from a given point to the circle.

virtual void GetProjectionOnMesh (T &x, T &y, CMesh< T > &Mesh)
 Returns the closest mesh-point of the projection of (x, y) on the circle.

virtual void Save (string CurveFile) const
 Saves the circle.


Protected Attributes

CenterX
CenterY
Radius

Detailed Description

template<class T>
class Multivac::CCircle< T >

The initial curve is a circle.


Constructor & Destructor Documentation

template<class T>
Multivac::CCircle< T >::CCircle CenterX_,
CenterY_,
Radius_,
bool  reversed_ = false
throw ()
 

Main constructor.

Defines circle properties.

Parameters:
CenterX_ center abscissa.
CenterY_ center ordinate.
Raduis_ circle radius.


Member Function Documentation

template<class T>
T Multivac::CCircle< T >::GetDistance x,
y
[inline, virtual]
 

Returns the distance from a given point to the circle.

Parameters:
x point abscissa.
y point ordinate.
Returns:
Distance from (x, y) to the circle.

Implements Multivac::CInitialCurve< T >.

template<class T>
void Multivac::CCircle< T >::GetProjectionOnMesh T &  x,
T &  y,
CMesh< T > &  Mesh
[virtual]
 

Returns the closest mesh-point of the projection of (x, y) on the circle.

Let A = (x, y). Let B be the projection of A on the circle. Let C be the closest point to B that is on the mesh (included its vertices). On exit, C is returned through x and y: C = (x, y).

Parameters:
x first coordinate of the point to be projected.
y second coordinate of the point to be projected.
Mesh mesh.

Implements Multivac::CInitialCurve< T >.

template<class T>
void Multivac::CCircle< T >::Save string  CurveFile  )  const [virtual]
 

Saves the circle.

Parameters:
CurveFile the descriptor of the file where data are saved.
Warning:
This function doesn't save any point because the circle is analytically defined.

Implements Multivac::CInitialCurve< T >.

template<class T>
void Multivac::CCircle< T >::SetDistances CMesh< T > &  Mesh,
CLevelSet< T > &  Phi
[virtual]
 

Updates the level set function Phi by setting distances to the circle.

Parameters:
Mesh orthogonal mesh.
Phi level set function defined on an orthogonal mesh.
Exceptions:
Seldon::WrongCol attempt to reach a wrong column number.
Seldon::WrongRow attempt to reach a wrong row number.

Implements Multivac::CInitialCurve< T >.


The documentation for this class was generated from the following files:
Generated on Mon Apr 19 01:59:15 2004 for Multivac by doxygen 1.3.6-20040222