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

Multivac::CNarrowBandExtension< T > Class Template Reference

#include <narrowbandextension.hxx>

Inheritance diagram for Multivac::CNarrowBandExtension< T >:

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

Public Member Functions

 CNarrowBandExtension () throw ()
 Default constructor.

 ~CNarrowBandExtension () throw ()
 Destructor.

virtual bool IsNarrowBand () const
 Should this initializer be used for the narrow band level set method?

virtual bool IsFastMarching () const
 Should this initializer be used for the fast marching method?

virtual void FirstInitMesh (CMesh< T > &Mesh) const
 First initialization of the mesh.

virtual void FirstInitInitialCurve (CMesh< T > &Mesh, CInitialCurve< T > &InitialCurve) const
 First initialization of the initial curve.

virtual void FirstInitPhiAndF (CMesh< T > &Mesh, CInitialCurve< T > &InitialCurve, CLevelSet< T > &Phi, CSpeedFunction< T > &F, CUpdater< T > &Updater)
 First initialization of the level set function and the speed function.

virtual void InitMesh (int iter, CMesh< T > &Mesh, CLevelSet< T > &Phi, CSpeedFunction< T > &F, CUpdater< T > &Updater, T CurrentTime) const
 Updates (reinitialization) the mesh.

virtual void InitPhiAndF (int iter, CMesh< T > &Mesh, CLevelSet< T > &Phi, CSpeedFunction< T > &F, CUpdater< T > &Updater, T CurrentTime)
 Updates (reinitialization) the level set and the speed function.

void InitPhi (int iter, CMesh< T > &Mesh, CLevelSet< T > &Phi, CUpdater< T > &Updater)
 Updates (reinitialization) the level set only.

void InitF (CMesh< T > &Mesh, CUpdater< T > &Updater, CLevelSet< T > &Phi, T CurrentTime, CSpeedFunction< T > &F)
 Updates (reinitialization) the speed function.

virtual void BuildCurveForDisplay (int iter, CMesh< T > &Mesh, CLevelSet< T > &Phi)
 Builds the front on display purpose.


Detailed Description

template<class T>
class Multivac::CNarrowBandExtension< T >

First, the mesh is initialized. The level set is initialized according to the initial curve position. Then, the speed function is initialized according to the initial level set function. Reinitializations build the tube and init the corresponding level set function. The speed function is extended so that its value is the speed rate of the closest point on the front.
Note:
This initializer is designed for the narrow band level set method and for an orthogonal mesh.


Member Function Documentation

template<class T>
void Multivac::CNarrowBandExtension< T >::BuildCurveForDisplay int  iter,
CMesh< T > &  Mesh,
CLevelSet< T > &  Phi
[virtual]
 

Builds the front on display purpose.

A curve is built to approximate the front. This curve contains points that should be used to display the front.

Parameters:
iter current iteration.
Mesh mesh.
Phi level set function.

Implements Multivac::CInitializer< T >.

template<class T>
void Multivac::CNarrowBandExtension< T >::FirstInitInitialCurve CMesh< T > &  Mesh,
CInitialCurve< T > &  InitialCurve
const [virtual]
 

First initialization of the initial curve.

Nothing is done.

Parameters:
Mesh mesh.
InitialCurve initial curve.

Implements Multivac::CInitializer< T >.

template<class T>
void Multivac::CNarrowBandExtension< T >::FirstInitMesh CMesh< T > &  Mesh  )  const [virtual]
 

First initialization of the mesh.

Nothing is done.

Parameters:
Mesh mesh.

Implements Multivac::CInitializer< T >.

template<class T>
void Multivac::CNarrowBandExtension< T >::FirstInitPhiAndF CMesh< T > &  Mesh,
CInitialCurve< T > &  InitialCurve,
CLevelSet< T > &  Phi,
CSpeedFunction< T > &  F,
CUpdater< T > &  Updater
[virtual]
 

First initialization of the level set function and the speed function.

The level set function is allocated and initialized according to distance to the initial curve. The speed function is initialized as well. The updater is initialized. Then, the tube is built.

Parameters:
Mesh orthogonal mesh.
InitialCurve initial curve.
Phi level set function.
F speed function.
Updater updater.

Implements Multivac::CInitializer< T >.

template<class T>
void Multivac::CNarrowBandExtension< T >::InitF CMesh< T > &  Mesh,
CUpdater< T > &  Updater,
CLevelSet< T > &  Phi,
CurrentTime,
CSpeedFunction< T > &  F
 

Updates (reinitialization) the speed function.

Updates (reinitialization) on a tube the speed function according to a given levet set function.

Parameters:
Mesh mesh.
Tube tube in which values are updated.
Phi level set function.
CurrentTime current time.

template<class T>
void Multivac::CNarrowBandExtension< T >::InitMesh int  iter,
CMesh< T > &  Mesh,
CLevelSet< T > &  Phi,
CSpeedFunction< T > &  F,
CUpdater< T > &  Updater,
CurrentTime
const [virtual]
 

Updates (reinitialization) the mesh.

Nothing is done.

Parameters:
iter current iteration.
Mesh mesh.
Phi level set function.
F speed function.
Updater updater.
CurrentTime current time.

Implements Multivac::CInitializer< T >.

template<class T>
void Multivac::CNarrowBandExtension< T >::InitPhi int  iter,
CMesh< T > &  Mesh,
CLevelSet< T > &  Phi,
CUpdater< T > &  Updater
 

Updates (reinitialization) the level set only.

The front is reconstruted. Then, a new tube is generated and the level set is defined in it.

Parameters:
iter current iteration.
Mesh mesh.
Phi level set function.
Updater updater.

template<class T>
void Multivac::CNarrowBandExtension< T >::InitPhiAndF int  iter,
CMesh< T > &  Mesh,
CLevelSet< T > &  Phi,
CSpeedFunction< T > &  F,
CUpdater< T > &  Updater,
CurrentTime
[virtual]
 

Updates (reinitialization) the level set and the speed function.

The front is reconstruted. Then, a new tube is generated and the level set is defined in it.

Parameters:
iter current iteration.
Mesh mesh.
Phi level set function.
F speed function.
Updater updater.
CurrentTime current time.

Implements Multivac::CInitializer< T >.

template<class T>
bool Multivac::CNarrowBandExtension< T >::IsFastMarching  )  const [inline, virtual]
 

Should this initializer be used for the fast marching method?

This initializer is dedicated to the narrow band level set method and is therefore incompatible with the fast marching method.

Returns:
'false'.

Implements Multivac::CInitializer< T >.

template<class T>
bool Multivac::CNarrowBandExtension< T >::IsNarrowBand  )  const [inline, virtual]
 

Should this initializer be used for the narrow band level set method?

This initializer is dedicated to the narrow band level set method.

Returns:
'true'.

Implements Multivac::CInitializer< 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