 |
MAGiC
V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
|
Aller à la documentation de ce fichier.
48 #define EPS_BASE_RELATIVE 1e-14 //en réalite 2^(1-nombre de bit de la mantisse d'un reel) 52+1(le premier bit toujours 1 n'est pas represente) en 64 bits
69 virtual void analyse_maillage_obtenu(
double &vol,
int *tab,
double borne1=0.1,
double borne2=0.2,
double borne3=0.5);
76 typedef std::multimap<double,MG_FRONT_3D*,std::less<double> >
FRONT;
114 virtual void insere_cas_front(
int type,
MG_NOEUD* noeud,
int numero_cote,
double angle,std::vector<CAS_FRONT*>& liste_cas);
115 virtual void efface_cas_front(std::vector<CAS_FRONT*>& liste_cas,std::vector<CAS_FRONT*> liste_classe_cas[8]);
123 virtual int examine_solution(
double sol1,
double sol2,
double epssol1,
double epssol2,
int type);
virtual int traite_front_adjacent2(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
int supprimer_mg_tetra(MG_TETRA *mgtetra)
virtual void change_niveau_optimisation(int num)
virtual void active_log(char *nomfile)
virtual int traite_destruction(MG_FRONT_3D *ft, TPL_MAP_ENTITE< class MG_TRIANGLE * > &liste_intersection)
virtual int traite_front_adjacent3(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
virtual double calcule_volume(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
virtual void efface_cas_front(std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > liste_classe_cas[8])
virtual MG_FRONT_3D * get_suivant_front(FRONT &front, FRONT::iterator &it)
virtual MG_FRONT_3D * ajouter_front_courant(int numero_front, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_TRIANGLE *triangle)
virtual int premier_front_courant(void)
virtual int traite_front(class MG_VOLUME *mgvol, int type, MG_FRONT_3D *ft, std::vector< class CAS_FRONT * > &liste_cas, std::vector< class CAS_FRONT * > &liste_classe_cas, class CAS_FRONT **cas)
virtual void mise_a_jour_voisin_front(MG_FRONT_3D *ft)
virtual MG_FRONT_3D * get_premier_front(FRONT &front)
virtual int inter_tetra_triangle(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_NOEUD *noeud5, MG_NOEUD *noeud6, MG_NOEUD *noeud7)
virtual int get_niveau_optimisation(void)
virtual int inter_segment_segment(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
virtual void echange_de_front(FRONT &front_original, FRONT &front_destination, MG_FRONT_3D *ft)
virtual void supprimer_front_en_reculant(MG_FRONT_3D *ft)
class MG_TRIANGLE * triangle4
virtual void detruit_tetra(MG_TRIANGLE *tri)
virtual void insere_contrainte_tetra(MG_VOLUME *mgvol, TPL_LISTE_ENTITE< MG_TETRA * > *lsttet)
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
virtual void verifie_conformite_octale(MG_MAILLAGE *mai, MG_MAILLAGE *maisur)
virtual void recherche_voisin_front(void)
virtual void insere_cas_front(int type, MG_NOEUD *noeud, int numero_cote, double angle, std::vector< CAS_FRONT * > &liste_cas)
virtual int traite_front_general(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
MG_MAILLAGE * mg_maillage
virtual void initialise_front(MG_VOLUME *mgvol)
virtual MG_FRONT_3D * ajouter_front(FRONT &front, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_TRIANGLE *triangle)
virtual int inter_triangle_triangle(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_NOEUD *noeud5, MG_NOEUD *noeud6)
virtual void supprimer_front_en_avancant(MG_FRONT_3D *ft)
std::multimap< double, MG_FRONT_3D *, std::less< double > > FRONT
class MG_TRIANGLE * triangle1
class MG_TRIANGLE * triangle3
virtual void genere_log(int fincouche)
virtual class MG_SEGMENT * cree_segment(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, int origine)
MG_GEOMETRIE * mg_geometrie
virtual int traite_front_lie(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
virtual void swap_front(FRONT &front_original, FRONT &front_destination)
MAILLEUR3D(MG_MAILLAGE *mgmai, MG_GEOMETRIE *mggeo, FCT_TAILLE *fct_taille, bool save, MG_VOLUME *mgvol=NULL, int destruction=MAGIC::MAILLEURFRONTALETAT::TOUTDETRUIRE)
virtual void change_coef(double val)
virtual int genere_noeud(MG_VOLUME *mgvol, MG_FRONT_3D *ft, TPL_MAP_ENTITE< MG_NOEUD * > &liste_noeud, std::vector< class CAS_FRONT * > &liste_cas)
class MG_TRIANGLE * triangle2
TPL_LISTE_ENTITE< class MG_TRIANGLE * > triangle
virtual class MG_FRONT_3D * mise_a_jour_front(MG_TETRA *tet, int cote, int numfront=MAGIC::MAILLEURFRONTALETAT::ATTENTE)
virtual class MG_TRIANGLE * insere_triangle(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, int origine)
virtual unsigned int get_nb_front(FRONT &front)
virtual unsigned int get_nb_front_courant(void)
virtual int progresse_front(MG_VOLUME *mgvol)
virtual int traite_front_adjacent1(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
virtual int test_front(void)
TPL_MAP_ENTITE< MG_TETRA * > lsttet_a_detruire
class MG_SEGMENT * segment3
TPL_NTREE_FCT< MG_FRONT_3D *, FCT_TAILLE > * ntree_de_front
virtual double angle_front(MG_FRONT_3D *ft1, MG_FRONT_3D *ft2)
virtual void detruit_element_inactif(void)
class MG_SEGMENT * segment1
virtual int inter_segment_triangle(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_NOEUD *noeud5)
virtual class MG_TRIANGLE * cree_triangle(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_SEGMENT *segment1, MG_SEGMENT *segment2, MG_SEGMENT *segment3, int origine)
virtual class MG_SEGMENT * insere_segment(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, int origine)
virtual class MG_TETRA * cree_tetra(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_TRIANGLE *triangle1, MG_TRIANGLE *triangle2, MG_TRIANGLE *triangle3, MG_TRIANGLE *triangle4, int origine)
virtual int inter_segment_segment2(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
virtual int examine_solution(double sol1, double sol2, double epssol1, double epssol2, int type)
double calcul_distance_metrique_segment(MG_SEGMENT *seg, int pas)
virtual double evaluer_distance_noeud_triangle(double x, double y, double z, MG_TRIANGLE *tri)
virtual void cree_ntree(void)
virtual void insere_contrainte_triangle(MG_VOLUME *mgvol, TPL_LISTE_ENTITE< MG_TRIANGLE * > *lsttri)
virtual void analyse_maillage_obtenu(double &vol, int *tab, double borne1=0.1, double borne2=0.2, double borne3=0.5)
virtual void ini_log(void)
class MG_SEGMENT * segment2
virtual double calcule_longueur_caracteristique(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3=NULL, MG_NOEUD *noeud4=NULL)
virtual int inter_segment_segment1(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
virtual void desactive_log(void)
virtual void cree_front(MG_VOLUME *mgvol)
TPL_MAP_ENTITE< MG_NOEUD * > lstnoeud_a_detruire
virtual void supprimer_front_en_avancant_sans_delete(MG_FRONT_3D *ft)
virtual class MG_TETRA * insere_tetra(class MG_ELEMENT_TOPOLOGIQUE *mgvol, class MG_FRONT_3D *ft, MG_NOEUD *noeud4, int type, TPL_MAP_ENTITE< class MG_TRIANGLE * > &liste_intersection)
virtual void fin_log(void)