ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/toxfem/src/toxfem.h
Revision: 258
Committed: Thu Aug 12 19:10:34 2010 UTC (15 years ago) by francois
Content type: text/plain
File size: 2324 byte(s)
Log Message:
Mise a jour toxfem + parametrisation compilation toxfem + bug 
comparaison

File Contents

# Content
1 #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 #include "tpl_octree.h"
18 #include "mg_geometrie_outils.h"
19
20 class DLLPORTTOXFEM TOXFEM
21 {
22 public:
23 TOXFEM(class MG_GESTIONNAIRE *g,class MG_GEOMETRIE *ge,class FEM_MAILLAGE* femm,int nbpas=50);
24 ~TOXFEM();
25 int estdansletetra(class FEM_TETRA *tet,double x,double y, double z);
26 //void importer(std::string nomfichier,class MagXchange* data=NULL,std::string nomfichier2="");
27 void importer(std::string nomfichier,std::string nomfichieribrep,class MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
28
29
30
31 void exporter_IBrep(string chemin,class FEM_SOLUTION* solution,MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
32
33
34 private:
35 typedef std::multimap<double,FEM_TETRA*,less<double> > LISTE_FM_TRI;
36 typedef std::map<unsigned long,LISTE_FM_TRI::iterator,less<unsigned long> > LISTE_FM_TRI_ID;
37 typedef std::vector<FEM_TETRA*> LISTE_FM;
38
39 void ajouter_liste(LISTE_FM_TRI& lst,LISTE_FM_TRI_ID &lstid,FEM_TETRA* tet,double val);
40 void supprimer_liste(LISTE_FM_TRI& lst,LISTE_FM_TRI_ID &lstid,FEM_TETRA* tet);
41 void ajouter_liste(LISTE_FM& lst,FEM_TETRA* tet);
42 void supprimer_liste(LISTE_FM& lst,FEM_TETRA* tet);
43
44 double calcul_distance(class FEM_NOEUD* noeud,class MG_ARETE* are,class TOXFEM_POINT *pt,double precision=1e-6);
45 double calcul_distance(FEM_NOEUD* noeud,class MG_FACE* are,TOXFEM_POINT* pt,double precision=1e-6);
46 double calculdist(double *n,double x,double y,double z,class FEM_NOEUD* noeud);
47 void levelset0(class FEM_SOLUTION* solution,int numsol);
48 void levelsetn(TPL_MAP_ENTITE<class MG_ELEMENT_TOPOLOGIQUE*> *lst,vector<MG_FACE*> *lstface,class FEM_SOLUTION* solution,int numsol);
49 void calcullevelsetpremierepasse(FEM_SOLUTION *solution,int numsol,MG_FACE* face,int sens,vector<TOXFEM_POINT*> *lst,int n1,int n2);
50 void calcullevelsetdeuxiemepasse(FEM_SOLUTION *solution,int numsol,vector<TOXFEM_POINT*> *lst);
51 void etendrelevelset(FEM_SOLUTION* sol,int numsol);
52 double resoudgradT(FEM_TETRA* tet,int *signe);
53 TPL_OCTREE<class FEM_TETRA*,class FEM_NOEUD*> octree;
54 MG_GEOMETRIE_OUTILS ot;
55 MG_GEOMETRIE* geo;
56 FEM_MAILLAGE* mai;
57 MG_GESTIONNAIRE* gest;
58 int NPAS;
59 };
60
61
62
63
64
65
66 #endif