ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/toIbrep/src/toibrep.h
Revision: 254
Committed: Tue Jul 13 20:30:01 2010 UTC (14 years, 10 months ago) by francois
Content type: text/plain
Original Path: magic/lib/toxfem/src/toxfem.h
File size: 2196 byte(s)
Log Message:
mise a jour de la precedente. LE tout fonctionne avec ccmake maintenant. Les repertoires cas_test ne sont pas encore a jour. Ni le wiki.

File Contents

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