/*
    C++ Mesh Generation Library
    Copyright (c) 2000echet <eric at bechet dot ca>

    This file is part of the C++ Mesh Generation Library.

    See the NOTICE & LICENSE files for conditions.
*/
#ifndef FM3D_H
#define FM3D_H

double dt1d ( double xd,double yd,double zd,double v );

double dt2d ( double xi,double xb,double yb,double zb,double xd,double yd,double zd,double tb,double v );

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 );


int Solve_dt1d ( double ax,double ay,double az,double dx,double dy,double dz,double at,double v,double &dt );


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 );


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 );

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 );

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 );

#endif
 
