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

Multivac::CIsland0< T > Class Template Reference

#include <island0.hxx>

Inheritance diagram for Multivac::CIsland0< T >:

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

Public Member Functions

 CIsland0 () throw ()
 Default constructor.

 CIsland0 (T CenterX1_, T CenterY1_, T Radius1_, T CenterX2_, T CenterY2_, T Radius2_, T CenterX3_, T CenterY3_, T Radius3_, bool reversed_=false) throw ()
 Main constructor.

 ~CIsland0 () throw ()
 Destructor.

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

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

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 front.


Protected Attributes

CenterX1
CenterY1
CenterX2
CenterY2
CenterX3
CenterY3
Radius1
Radius2
Radius3

Detailed Description

template<class T>
class Multivac::CIsland0< T >

The initial front consists of three curves. Two curves are circles and the third is a circle inside one of the two previous curves. The third circle is called "island".


Constructor & Destructor Documentation

template<class T>
Multivac::CIsland0< T >::CIsland0 CenterX1_,
CenterY1_,
Radius1_,
CenterX2_,
CenterY2_,
Radius2_,
CenterX3_,
CenterY3_,
Radius3_,
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.
CenterX3_ island center abscissa.
CenterY3_ island center ordinate.
Raduis3_ island radius.


Member Function Documentation

template<class T>
T Multivac::CIsland0< T >::GetDistance X,
Y
[inline, virtual]
 

Returns the distance from a given point to the front.

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

Implements Multivac::CInitialCurve< T >.

template<class T>
void Multivac::CIsland0< 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::CIsland0< T >::Save string  CurveFile  )  const [virtual]
 

Saves front.

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::CIsland0< T >::SetDistances CMesh< T > &  Mesh,
CLevelSet< T > &  Phi
[virtual]
 

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

The distance outside the first (biggest) circle is positive, the distance inside the island is positive and the distance in between the two circles is negative.

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