1 |
francois |
104 |
#ifndef _TOXFEM_ |
2 |
|
|
#define _TOXFEM_ |
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
#ifdef WINDOWS_VERSION |
7 |
|
|
#ifdef BUILT_DLL_TOXFEM |
8 |
|
|
#define DLLPORTTOXFEM __declspec(dllexport) |
9 |
|
|
#else |
10 |
|
|
#define DLLPORTTOXFEM __declspec(dllimport) |
11 |
|
|
#endif |
12 |
|
|
#else |
13 |
|
|
#define DLLPORTTOXFEM |
14 |
|
|
#endif |
15 |
|
|
|
16 |
|
|
#include <string> |
17 |
francois |
106 |
#include "tpl_octree.h" |
18 |
francois |
104 |
|
19 |
francois |
106 |
class DLLPORTTOXFEM TOXFEM |
20 |
francois |
104 |
{ |
21 |
|
|
public: |
22 |
francois |
106 |
TOXFEM(); |
23 |
|
|
~TOXFEM(); |
24 |
francois |
104 |
int estdansletetra(class MG_TETRA *tet,double x,double y, double z); |
25 |
francois |
106 |
void importer(std::string nomfichier,class MagXchange* data=NULL,std::string nomfichier2=""); |
26 |
francois |
104 |
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
private: |
31 |
francois |
106 |
double calcul_distance(class MG_NOEUD* noeud,class MG_ARETE* are,class TOXFEM_POINT *pt,double precision=1e-6); |
32 |
|
|
double calcul_distance(MG_NOEUD* noeud,class MG_FACE* are,TOXFEM_POINT* pt,double precision=1e-6); |
33 |
|
|
double calculdist(double *n,double x,double y,double z,class MG_NOEUD* noeud,class MG_TETRA* tet); |
34 |
|
|
void levelset0(class MG_SOLUTION* solution,int numsol); |
35 |
|
|
void levelsetn(vector<MG_FACE*> *lstface,class MG_SOLUTION* solution,int numsol); |
36 |
|
|
void calcullevelsetpremierepasse(MG_SOLUTION *solution,int numsol,MG_FACE* face,vector<TOXFEM_POINT*> *lst,int n1,int n2); |
37 |
|
|
void calcullevelsetdeuxiemepasse(MG_SOLUTION *solution,int numsol,vector<TOXFEM_POINT*> *lst); |
38 |
francois |
104 |
|
39 |
francois |
106 |
class MG_MAILLAGE* mai; |
40 |
|
|
class MG_GEOMETRIE* geo; |
41 |
|
|
TPL_OCTREE<class MG_TETRA*,class MG_NOEUD*> octree; |
42 |
francois |
104 |
|
43 |
|
|
|
44 |
|
|
}; |
45 |
|
|
|
46 |
|
|
|
47 |
|
|
|
48 |
|
|
|
49 |
|
|
|
50 |
|
|
|
51 |
|
|
#endif |