55 #define CAS_FERME_CAVITE_P 3
56 #define CAS_FERME_CAVITE_S 4
57 #define CAS_FERME_CAVITE 5
59 #define CAS_FRONT_3X 7
64 #define TOUS_SEGMENT 20
69 #define FRONT_RENCONTRE 31
77 typedef std::multimap<double,MG_FRONT_2D*,std::less<double> >
FRONT;
78 typedef std::multimap<double,M3D_MCTriangle*,std::less<double> >
ORDRE_TRIANGLE;
double calcule_distance_metrique(MG_FACE *mgface, double u1, double v1, double u2, double v2, double du, double dv)
void initialise_front(MCFace *__mcFace)
int traite_front(int type_front, MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
int identifie_front_cas_front_4(MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
int triangles_sont_dans_meme_sens(MCFace *face, MCNode *noeud1, MCNode *noeud2, MCNode *noeud2bis, MCNode *noeud3)
int traite_front_cas_front_3(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
void cree_grille(MCFace *__mcFace)
int genere_noeud(MCFace *__mcFace, MCNode *__interiorIsolatedNode, MG_FRONT_2D **front_rencontre, MCNode **noeud_rencontre)
int traite_front_cas_front_3x(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
int traite_front_cas_ferme_cavite_s(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
void supprimer_front(MG_FRONT_2D *ft)
int examine_solution(double sol1, double sol2, int type)
int traite_front_cas_ferme_cavite(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
TPL_GRILLE< MCSegment * > * grille_de_segment
void echange_de_front(FRONT &front_original, FRONT &front_destination, MG_FRONT_2D *ft)
TPL_LISTE_ENTITE< MG_SEGMENT * > segment_frontiere
int noeud_est_dans_triangle(MCNode *noeud, MG_TRIANGLE *triangle)
int identifie_front_cas_front_4x(MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
MG_FRONT_2D * ajouter_front(FRONT &front, MCNode *noeud1, MCNode *noeud2, MCSegment *segment)
std::multimap< double, M3D_MCTriangle *, std::less< double > > ORDRE_TRIANGLE
int traite_front_cas_front_4x(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
ORDRE_TRIANGLE lst_tri_qual2
MAILLEUR2D(MG_MAILLAGE *mgmai, MG_GEOMETRIE *mggeo, MCFace *__mcFace, FCT_TAILLE *fct_taille=NULL)
void WriteLog(std::string __text)
void initialise_lst_tri_qual(MCFace *__mcFace)
void supprimer_front(MG_SEGMENT *seg)
void progresse_front(MCFace *__mcFace)
std::multimap< double, MG_FRONT_2D *, std::less< double > > FRONT
unsigned int get_nb_front(FRONT &front)
int triangle_est_dans_bon_sens_front(MG_FRONT_2D *front, MCNode *noeud3)
char filenameNbTriangles[5000]
MG_FRONT_2D * trouver_front(MG_NOEUD *no1, MG_NOEUD *no2)
MG_FRONT_2D * get_front(FRONT &front, unsigned int num)
void optimise_bascule_segment(MCFace *__mcFace)
int traite_front_cas_front_4(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
MCTriangle * insere_triangle(MG_ELEMENT_TOPOLOGIQUE *topo, MCNode *mgnoeud1, MCNode *mgnoeud2, MCNode *mgnoeud3)
ORDRE_TRIANGLE lst_tri_qual
FRONT lst_front_superpose
MG_GEOMETRIE * mg_geometrie
int insere_segment(MCFace *mgface, MCSegment **nv_segment, MCNode *noeud1, MCNode *noeud2, int type_verication, double __tolerance=0.0)
int identifie_front_cas_front_3x(MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
int bouge_point(MCFace *__mcFace, MCNode *mg_noeud, double &crit, MCNode **__result)
int triangle_est_dans_bon_sens(MCFace *face, MCNode *noeud1, MCNode *noeud2, MCNode *noeud3)
MG_MAILLAGE * mg_maillage
int traite_front_cas_ferme_cavite_p(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
int traite_front_cas_general(MCFace *__mcFace, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
void export_ivanim_all_faces()
void initialise_frontiere(MCFace *__mcFace)
void supprime_segment(MCSegment *__segment)
TPL_LISTE_ENTITE< MG_NOEUD * > noeud_frontiere
std::map< MG_ELEMENT_TOPOLOGIQUE *, int > _nbTriangles
TPL_GRILLE< MCSegment * > * grille_de_frontiere
TPL_GRILLE< MG_FRONT_2D * > * grille_de_front
void optimise(MCFace *__mcFace)