 |
MAGiC
V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
|
Aller à la documentation de ce fichier.
50 IBrep importer(std::string nomfichier,std::string nomfichieribrep,
class MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
60 typedef std::multimap<double,FEM_ELEMENT3*,std::less<double> >
LISTE_FM_TRI;
61 typedef std::map<unsigned long,LISTE_FM_TRI::iterator,std::less<unsigned long> >
LISTE_FM_TRI_ID;
int test_du_point_milieu(FEM_NOEUD *no1, FEM_NOEUD *no2, FEM_ELEMENT3 *tet)
FEM_MAILLAGE_OUTILS outilfem
XFEM_TRIANGLE3 * inserer_xtriangle(FEM_ELEMENT_MAILLAGE *tet, MG_FACE *face, FEM_NOEUD **tabnoeud)
double calcul_distance_level_ortho(FEM_NOEUD *no, MG_ARETE *are, TOIBREP_POINT *pt, double precision=1e-6)
void decoupe_element2_par_element1et0(FEM_ELEMENT3 *ele, TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lstentitetopo)
void oriente_tri(XFEM_ELEMENT2 *tri, MG_FACE *face)
void decoupe_tetra_noeud(FEM_ELEMENT3 *tet, double *lst, int *nbtet)
TOIBREP(class MG_GESTIONNAIRE *g, class MG_GEOMETRIE *ge, class FEM_MAILLAGE *femm, int nbpas, class OT_CPU *compt)
void decoupe_maillage(int num, FEM_SOLUTION *solution, FEM_SOLUTION *solution_ele, int avecsuppression)
void supprimer_liste(LISTE_FM_TRI &lst, LISTE_FM_TRI_ID &lstid, FEM_ELEMENT3 *tet)
void traite_arete_tangeante(class MG_ARETE *are, int numsol, class FEM_SOLUTION *solution, FEM_SOLUTION *solution_ele)
void recherche_arete_tangeante(TPL_MAP_ENTITE< class MG_ARETE * > &lst, TPL_MAP_ENTITE< class MG_ELEMENT_TOPOLOGIQUE * > &lsttopo)
int decoupe_tetra(FEM_ELEMENT3 *tet, MG_FACE *face)
int intersection_segment_triangle(FEM_NOEUD *nos1, FEM_NOEUD *nos2, FEM_NOEUD *no1, FEM_NOEUD *no2, FEM_NOEUD *no3, double *uv, double *xyz)
void active_affichage(void(*fonc)(char *))
void cree_tag_maillage(void)
void calcullevelsetdeuxiemepasse(std::vector< TOIBREP_POINT * > *lst)
void echantillonne_sommets(std::vector< TOIBREP_POINT * > &lst, MG_FACE *face)
void echantillonne_aretes(std::vector< TOIBREP_POINT * > &lst, MG_FACE *face)
TPL_OCTREE< class FEM_NOEUD *, class FEM_NOEUD * > octree_noeud
void calcullevelsetpremierepasse(MG_FACE *face, int sens, std::vector< TOIBREP_POINT * > *lst, int n1, int n2)
FEM_NOEUD * inserer_noeud(MG_ELEMENT_TOPOLOGIQUE *topo, double x, double y, double z)
void etendrelevelset(FEM_SOLUTION *sol, int numsol)
int decoupe_segment_xtetra(FEM_ELEMENT3 *ele, XFEM_ELEMENT1 *seg, double *xyz, double *xyzcible, double &t, inter_ele_arete &xele_inter)
double calculdist(double *n, double x, double y, double z, class FEM_NOEUD *noeud)
TPL_OCTREE< class FEM_ELEMENT3 *, class FEM_NOEUD * > octree_tetra
void recherche_interieur_face(FEM_ELEMENT3 *tet, MG_FACE *face, TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lstentitetopo)
int decoupe_element(XFEM_ELEMENT2 *ele, FEM_NOEUD *no)
std::multimap< double, FEM_ELEMENT3 *, std::less< double > > LISTE_FM_TRI
int decoupe_arete_tetra(MG_ARETE *are, double *xyz, double *xyzcible, double &t, class inter_ele_arete &ele_inter)
void ajouter_liste(LISTE_FM_TRI &lst, LISTE_FM_TRI_ID &lstid, FEM_ELEMENT3 *tet, double val)
std::map< unsigned long, LISTE_FM_TRI::iterator, std::less< unsigned long > > LISTE_FM_TRI_ID
int inter_segment_segment_plan(XFEM_ELEMENT2 *xfem2, FEM_NOEUD *no1, FEM_NOEUD *no2, FEM_NOEUD *nos1, FEM_NOEUD *nos2, double *xyz)
double get_volume(FEM_ELEMENT3 *tet)
void(* affiche)(char *mess)
std::vector< FEM_ELEMENT3 * > LISTE_FM
void importer_et_decouper(MG_GROUPE_TOPOLOGIQUE *mggt)
void levelsetn(TPL_MAP_ENTITE< class MG_ELEMENT_TOPOLOGIQUE * > *lst, MG_FACE *face, TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lstentitetopo)
int signe_tetra(FEM_ELEMENT3 *tet)
void calcul_valeur_sous_element(FEM_ELEMENT3 *ele, FEM_ELEMENT3 *xele)
double resoudgradT(FEM_ELEMENT3 *tet, int *signe)
int decoupe_element2(FEM_ELEMENT3 *ele, FEM_NOEUD *no)
void decoupe_xtri(FEM_ELEMENT3 *tet, int nb_xtri)
void remplir_trou(std::vector< class TOIBREP_POINT * > *lst, MG_FACE *face, int orientation, TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lstentitetopoface)
int intersection_arete_triangle(MG_ARETE *are, FEM_NOEUD *no1, FEM_NOEUD *no2, FEM_NOEUD *no3, double *uv, double *xyz)
double calcul_distance(class FEM_NOEUD *noeud, class MG_ARETE *are, class TOIBREP_POINT *pt, double &tii, double *xyz, double precision=1e-6)
double longueur_caracteristique
void remplir_trou_tangeant(std::vector< class TOIBREP_POINT * > *lst, MG_ARETE *are, FEM_SOLUTION *solution_ele)