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

Multivac::CTwoCircles< T > Class Template Reference

The initial curve is a circle. More...

#include <twocircles.hxx>

Inheritance diagram for Multivac::CTwoCircles< T >:

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

Public Member Functions

 CTwoCircles () throw ()
 Default constructor.

 CTwoCircles (T CenterX1_, T CenterY1_, T Radius1_, T CenterX2_, T CenterY2_, T Radius2_, bool reversed_=false) throw ()
 Main constructor.

 ~CTwoCircles () throw ()
 Destructor.

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

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

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

virtual void Save (string CurveFile) const
 Saves circles.


Protected Attributes

CenterX1
CenterY1
CenterX2
CenterY2
Radius1
Radius2

Detailed Description

template<class T>
class Multivac::CTwoCircles< T >

The initial curve is a circle.


Constructor & Destructor Documentation

template<class T>
Multivac::CTwoCircles< T >::CTwoCircles CenterX1_,
CenterY1_,
Radius1_,
CenterX2_,
CenterY2_,
Radius2_,
bool  reversed_ = false
throw ()
 

Main constructor.

Defines circles properties.

Parameters:
CenterX1_ first circle center abscissa.
CenterY1_ first circle center ordinate.
Raduis1_ first circle radius.
CenterX2_ second circle center abscissa.
CenterY2_ second circle center ordinate.
Raduis2_ second circle radius.


Member Function Documentation

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

Returns the distance from a given point to circles.

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

Implements Multivac::CInitialCurve< T >.

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

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

Let A = (x, y). Let B be the projection of A on the curve. 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.
Warning:
Undefined function.

Implements Multivac::CInitialCurve< T >.

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

Saves circles.

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

Implements Multivac::CInitialCurve< T >.

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

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

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