22 #ifndef _MGFASTMARCHING_
23 #define _MGFASTMARCHING_
52 virtual void init(
void);
53 virtual void init_noeud(std::vector<FEM_NOEUD*> &lst);
56 virtual void propage(
double vitesse=1.0)=0;
69 virtual int sign (
double x );
70 virtual double fdiv (
double a,
double b );
71 virtual double dt2d (
double xi,
double xb,
double yb,
double zb,
double xd,
double yd,
double zd,
double tb,
double v );
72 virtual int Solve_dt2d (
double ax,
double ay,
double az,
double bx,
double by,
double bz,
double dx,
double dy,
double dz,
double at,
double bt,
double v,
double &dt,
double &alpha );
73 virtual int val2d (
double ax,
double ay,
double az,
double bx,
double by,
double bz,
double dx,
double dy,
double dz,
double at,
double bt,
double v,
double& dt,
double &alpha );
74 virtual double dt3d (
double xi,
double eta,
double xb,
double yb,
double zb,
double xc,
double yc,
double zc,
double xd,
double yd,
double zd,
double tb,
double tc,
double v );
75 virtual int Solve_dt3d (
double ax,
double ay,
double az,
double bx,
double by,
double bz,
double cx,
double cy,
double cz,
double dx,
double dy,
double dz,
double at,
double bt,
double ct,
double v,
double &dt,
double &alpha,
double &beta );
76 virtual int val3d (
double ax,
double ay,
double az,
double bx,
double by,
double bz,
double cx,
double cy,
double cz,
double dx,
double dy,
double dz,
double at,
double bt,
double ct,
double v,
double& dt,
double &alpha,
double &beta );
virtual void propage(double vitesse=1.0)=0
virtual int val2d(double ax, double ay, double az, double bx, double by, double bz, double dx, double dy, double dz, double at, double bt, double v, double &dt, double &alpha)
virtual void init_noeud(std::vector< FEM_NOEUD * > &lst)
virtual double dt2d(double xi, double xb, double yb, double zb, double xd, double yd, double zd, double tb, double v)
virtual double dt3d(double xi, double eta, double xb, double yb, double zb, double xc, double yc, double zc, double xd, double yd, double zd, double tb, double tc, double v)
virtual int sign(double x)
virtual void finalise(void)
virtual ~MG_FAST_MARCHING()
virtual int Solve_dt3d(double ax, double ay, double az, double bx, double by, double bz, double cx, double cy, double cz, double dx, double dy, double dz, double at, double bt, double ct, double v, double &dt, double &alpha, double &beta)
MG_FAST_MARCHING(FEM_SOLUTION *solu, int numchamp)
TPL_OCTREE< FEM_ELEMENT2 *, FEM_NOEUD * > oc
virtual int val3d(double ax, double ay, double az, double bx, double by, double bz, double cx, double cy, double cz, double dx, double dy, double dz, double at, double bt, double ct, double v, double &dt, double &alpha, double &beta)
virtual int Solve_dt2d(double ax, double ay, double az, double bx, double by, double bz, double dx, double dy, double dz, double at, double bt, double v, double &dt, double &alpha)
virtual void init_coord(double x, double y, double z)=0
virtual double fdiv(double a, double b)
virtual double get_valeur(double x, double y, double z)=0
const int VERSION_CONSERVE_DISTANCE
const int VERSION_CONSERVE_GRADT