MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
Référence de la classe MAILLEUR2D

#include <mailleur2d.h>

Graphe d'héritage de MAILLEUR2D:
Graphe de collaboration de MAILLEUR2D:

Types publics

typedef std::multimap< double, MG_FRONT_2D *, std::less< double > > FRONT
 
- Types publics hérités de MAILLEUR
typedef void fonction_affiche(char *)
 
- Types publics hérités de MAGIC_AFFICHE
typedef void fonction_affiche(char *)
 

Fonctions membres publiques

 MAILLEUR2D (MG_MAILLAGE *mgmai, MG_GEOMETRIE *mggeo, FCT_TAILLE *fct_taille, MG_FACE *mgface=NULL)
 
 ~MAILLEUR2D ()
 
int maille (MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
 
int maille (MG_FACE *mgface, TPL_LISTE_ENTITE< MG_SEGMENT * > *lstseg=NULL, TPL_LISTE_ENTITE< MG_TRIANGLE * > *lsttri=NULL)
 
void change_niveau_optimisation (int num)
 
int get_niveau_optimisation (void)
 
- Fonctions membres publiques hérités de MAILLEUR
 MAILLEUR (bool save, class OT_CPU *comp=NULL)
 
 MAILLEUR (MAILLEUR &mdd)
 
virtual ~MAILLEUR ()
 
virtual void change_nom_fichierdbg (char *nom)
 
virtual void change_priorite_metrique (double val)
 
void refresh (void)
 
void ajouter_etape_cpu (std::string nom)
 
void change_pas_integration (int val)
 
void ini_param (void)
 
- Fonctions membres publiques hérités de MAGIC_AFFICHE
 MAGIC_AFFICHE ()
 
 MAGIC_AFFICHE (MAGIC_AFFICHE &mdd)
 
virtual ~MAGIC_AFFICHE ()
 
virtual void active_affichage (fonction_affiche *fonc)
 
virtual void affiche (char *mess)
 

Fonctions membres privées

void initialise_frontiere (MG_FACE *mgface)
 
void cree_ntree (MG_FACE *mgface)
 
void initialise_front (MG_FACE *mgface, TPL_MAP_ENTITE< MG_SOMMET * > &liste_pole)
 
int progresse_front (MG_FACE *mgface)
 
void traite_pole (MG_FACE *mgface, TPL_MAP_ENTITE< MG_SOMMET * > &liste_pole)
 
void verifie_coin_sommet (MG_FACE *mgface, TPL_LISTE_ENTITE< MG_TRIANGLE * > *lstaffectecoin)
 
void insere_contrainte_segment (MG_FACE *mgface, TPL_LISTE_ENTITE< MG_SEGMENT * > *lstseg)
 
void insere_contrainte_triangle (MG_FACE *mgface, TPL_LISTE_ENTITE< MG_TRIANGLE * > *lsttri)
 
int traite_front (int type_front, MG_FACE *mgface, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
 
int traite_front_cas_front_3 (MG_FACE *mgface, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
 
int traite_front_cas_front_4 (MG_FACE *mgface, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
 
int traite_front_cas_ferme_cavite (MG_FACE *mgface, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
 
int traite_front_cas_ferme_cavite_p (MG_FACE *mgface, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
 
int traite_front_cas_ferme_cavite_s (MG_FACE *mgface, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
 
int traite_front_cas_general (MG_FACE *mgface, MG_FRONT_2D *ftp, MG_FRONT_2D *ft, MG_FRONT_2D *fts)
 
int noeud_est_dans_triangle (MG_NOEUD *noeud, MG_TRIANGLE *triangle)
 
int noeud_est_dans_triangle (MG_NOEUD *noeud, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3)
 
int triangle_est_dans_bon_sens (MG_FACE *face, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3)
 
int genere_noeud (MG_FACE *mgface, MG_FRONT_2D *front, MG_FRONT_2D **front_rencontre, MG_NOEUD **noeud)
 
int insere_segment (MG_FACE *mgface, MG_SEGMENT **nv_segment, MG_NOEUD *noeud1, MG_NOEUD *noeud2, int type_verication)
 
void supprime_segment (MG_SEGMENT *mgsegment)
 
MG_TRIANGLEinsere_triangle (MG_ELEMENT_TOPOLOGIQUE *topo, class MG_NOEUD *mgnoeud1, class MG_NOEUD *mgnoeud2, class MG_NOEUD *mgnoeud3)
 
int intersection_segment_segment (MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
 
int examine_solution (double sol1, double sol2, int type)
 
MG_FRONT_2Dajouter_front (FRONT &front, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_SEGMENT *segment)
 
void ajouter_front (FRONT &front, MG_FRONT_2D *ft)
 
MG_FRONT_2Dget_front (FRONT &front, unsigned int num)
 
unsigned int get_nb_front (FRONT &front)
 
void supprimer_front (MG_FRONT_2D *ft)
 
void echange_de_front (FRONT &front_original, FRONT &front_destination, MG_FRONT_2D *ft)
 
void enregistre_front (char *nom, int dimension=3)
 

Attributs privés

MG_MAILLAGEmg_maillage
 
MG_GEOMETRIEmg_geometrie
 
MG_FACEmg_face
 
FCT_TAILLEmetrique
 
double periode_u
 
double periode_v
 
int niveau_optimisation
 
OT_DECALAGE_PARAMETREdecalage
 
TPL_LISTE_ENTITE< MG_SEGMENT * > segment_frontiere
 
TPL_LISTE_ENTITE< MG_NOEUD * > noeud_frontiere
 
TPL_NTREE_FCT< MG_SEGMENT *, FCT_TAILLE > * ntree_de_segment
 
TPL_OCTREE< MG_FRONT_2D *, MG_NOEUD * > * ntree_de_front
 
FRONT front_courant
 
FRONT front_attente
 
double umin
 
double vmin
 
double umax
 
double vmax
 

Membres hérités additionnels

- Attributs protégés hérités de MAILLEUR
OT_CPUcompteur
 
bool savedbg
 
char nomfichierdbg [500]
 
double priorite_metrique
 
int pas
 
OT_PARAMETRES param
 
- Attributs protégés hérités de MAGIC_AFFICHE
fonction_afficheaffiche2
 
int affichageactif
 

Description détaillée

Définition à la ligne 49 du fichier mailleur2d.h.

Documentation des définitions de type membres

◆ FRONT

typedef std::multimap<double,MG_FRONT_2D*,std::less<double> > MAILLEUR2D::FRONT

Définition à la ligne 52 du fichier mailleur2d.h.

Documentation des constructeurs et destructeur

◆ MAILLEUR2D()

MAILLEUR2D::MAILLEUR2D ( MG_MAILLAGE mgmai,
MG_GEOMETRIE mggeo,
FCT_TAILLE fct_taille,
MG_FACE mgface = NULL 
)

Définition à la ligne 36 du fichier mailleur2d.cpp.

◆ ~MAILLEUR2D()

MAILLEUR2D::~MAILLEUR2D ( )

Définition à la ligne 42 du fichier mailleur2d.cpp.

Documentation des fonctions membres

◆ ajouter_front() [1/2]

void MAILLEUR2D::ajouter_front ( FRONT front,
MG_FRONT_2D ft 
)
private

Définition à la ligne 1628 du fichier mailleur2d.cpp.

Références MG_SEGMENT::get_longueur(), et MG_FRONT_2D::get_segment().

Voici le graphe d'appel pour cette fonction :

◆ ajouter_front() [2/2]

MG_FRONT_2D * MAILLEUR2D::ajouter_front ( FRONT front,
MG_NOEUD noeud1,
MG_NOEUD noeud2,
MG_SEGMENT segment 
)
private

◆ change_niveau_optimisation()

void MAILLEUR2D::change_niveau_optimisation ( int  num)

Définition à la ligne 1609 du fichier mailleur2d.cpp.

Références niveau_optimisation.

Référencé par MSTRUCT_VES_DECOUP::generer_maillage(), et MSTRUCT_VES::generer_maillage().

Voici le graphe des appelants de cette fonction :

◆ cree_ntree()

◆ echange_de_front()

void MAILLEUR2D::echange_de_front ( FRONT front_original,
FRONT front_destination,
MG_FRONT_2D ft 
)
private

Définition à la ligne 1672 du fichier mailleur2d.cpp.

Références ajouter_front(), MG_SEGMENT::get_longueur(), et MG_FRONT_2D::get_segment().

Référencé par progresse_front().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ enregistre_front()

◆ examine_solution()

int MAILLEUR2D::examine_solution ( double  sol1,
double  sol2,
int  type 
)
private

Définition à la ligne 466 du fichier mailleur2d_outil.cpp.

Références EGAL, et robustPredicates::epsilon.

Référencé par intersection_segment_segment().

Voici le graphe des appelants de cette fonction :

◆ genere_noeud()

int MAILLEUR2D::genere_noeud ( MG_FACE mgface,
MG_FRONT_2D front,
MG_FRONT_2D **  front_rencontre,
MG_NOEUD **  noeud 
)
private

◆ get_front()

MG_FRONT_2D * MAILLEUR2D::get_front ( FRONT front,
unsigned int  num 
)
private

Définition à la ligne 1634 du fichier mailleur2d.cpp.

Référencé par progresse_front().

Voici le graphe des appelants de cette fonction :

◆ get_nb_front()

unsigned int MAILLEUR2D::get_nb_front ( FRONT front)
private

Définition à la ligne 1642 du fichier mailleur2d.cpp.

Référencé par initialise_front(), et progresse_front().

Voici le graphe des appelants de cette fonction :

◆ get_niveau_optimisation()

int MAILLEUR2D::get_niveau_optimisation ( void  )

Définition à la ligne 1614 du fichier mailleur2d.cpp.

Références niveau_optimisation.

◆ initialise_front()

◆ initialise_frontiere()

◆ insere_contrainte_segment()

◆ insere_contrainte_triangle()

void MAILLEUR2D::insere_contrainte_triangle ( MG_FACE mgface,
TPL_LISTE_ENTITE< MG_TRIANGLE * > *  lsttri 
)
private

Définition à la ligne 1195 du fichier mailleur2d.cpp.

Références acos(), ajouter_front(), MG_MAILLAGE::ajouter_mg_noeud(), MG_MAILLAGE::ajouter_mg_segment(), MG_MAILLAGE::ajouter_mg_triangle(), OT_DECALAGE_PARAMETRE::calcul_decalage_parametre_u(), OT_DECALAGE_PARAMETRE::calcul_decalage_parametre_v(), MG_ELEMENT_MAILLAGE::change_nouveau_numero(), MG_NOEUD::change_u(), MG_NOEUD::change_v(), MG_FRONT_2D::changer_front_precedent(), MG_FRONT_2D::changer_front_suivant(), decalage, OT_DECALAGE_PARAMETRE::decalage_parametre_u(), OT_DECALAGE_PARAMETRE::decalage_parametre_v(), MG_SURFACE::est_periodique_u(), MG_SURFACE::est_periodique_v(), front_courant, TPL_LISTE_ENTITE< X >::get(), TPL_MAP_ENTITE< X >::get(), MG_NOEUD::get_coord(), MG_FRONT_2D::get_front_suivant(), MG_IDENTIFICATEUR::get_id(), OT_VECTEUR_3D::get_longueur(), MG_MAILLAGE::get_mg_segment(), TPL_LISTE_ENTITE< X >::get_nb(), TPL_MAP_ENTITE< X >::get_nb(), MG_FRONT_2D::get_noeud1(), MG_SEGMENT::get_noeud1(), MG_TRIANGLE::get_noeud1(), MG_FRONT_2D::get_noeud2(), MG_SEGMENT::get_noeud2(), MG_TRIANGLE::get_noeud2(), MG_TRIANGLE::get_noeud3(), MG_ELEMENT_MAILLAGE::get_nouveau_numero(), MG_SURFACE::get_periode_u(), MG_SURFACE::get_periode_v(), MG_FACE::get_surface(), MG_NOEUD::get_u(), MG_NOEUD::get_v(), MAGIC::ORIGINE::IMPOSE, MG_FACE::inverser(), mg_maillage, OT_VECTEUR_3D::norme(), ntree_de_front, TPL_OCTREE< A, CONDITION >::rechercher(), sqrt(), et supprimer_front().

Référencé par maille().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ insere_segment()

◆ insere_triangle()

◆ intersection_segment_segment()

int MAILLEUR2D::intersection_segment_segment ( MG_NOEUD noeud1,
MG_NOEUD noeud2,
MG_NOEUD noeud3,
MG_NOEUD noeud4 
)
private

◆ maille() [1/2]

◆ maille() [2/2]

◆ noeud_est_dans_triangle() [1/2]

int MAILLEUR2D::noeud_est_dans_triangle ( MG_NOEUD noeud,
MG_NOEUD noeud1,
MG_NOEUD noeud2,
MG_NOEUD noeud3 
)
private

◆ noeud_est_dans_triangle() [2/2]

int MAILLEUR2D::noeud_est_dans_triangle ( MG_NOEUD noeud,
MG_TRIANGLE triangle 
)
private

Définition à la ligne 37 du fichier mailleur2d_outil.cpp.

Références MG_TRIANGLE::get_noeud1(), MG_TRIANGLE::get_noeud2(), et MG_TRIANGLE::get_noeud3().

Référencé par traite_front_cas_front_4().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ progresse_front()

◆ supprime_segment()

void MAILLEUR2D::supprime_segment ( MG_SEGMENT mgsegment)
private

Définition à la ligne 140 du fichier mailleur2d_outil.cpp.

Références MG_IDENTIFICATEUR::get_id(), mg_maillage, ntree_de_segment, TPL_OCTREE< A, CONDITION >::supprimer(), et MG_MAILLAGE::supprimer_mg_segmentid().

Référencé par traite_front_cas_ferme_cavite(), et traite_front_cas_general().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ supprimer_front()

void MAILLEUR2D::supprimer_front ( MG_FRONT_2D ft)
private

◆ traite_front()

◆ traite_front_cas_ferme_cavite()

◆ traite_front_cas_ferme_cavite_p()

◆ traite_front_cas_ferme_cavite_s()

int MAILLEUR2D::traite_front_cas_ferme_cavite_s ( MG_FACE mgface,
MG_FRONT_2D ftp,
MG_FRONT_2D ft,
MG_FRONT_2D fts 
)
private

◆ traite_front_cas_front_3()

int MAILLEUR2D::traite_front_cas_front_3 ( MG_FACE mgface,
MG_FRONT_2D ftp,
MG_FRONT_2D ft,
MG_FRONT_2D fts 
)
private

Définition à la ligne 57 du fichier mailleur2d_traite_front.cpp.

Références MG_FRONT_2D::get_noeud1(), MG_FRONT_2D::get_noeud2(), insere_triangle(), MAGIC::MAILLEURFRONTALETAT::PASTROUVE, supprimer_front(), triangle_est_dans_bon_sens(), et MAGIC::MAILLEURFRONTALETAT::TROUVE.

Référencé par traite_front().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ traite_front_cas_front_4()

int MAILLEUR2D::traite_front_cas_front_4 ( MG_FACE mgface,
MG_FRONT_2D ftp,
MG_FRONT_2D ft,
MG_FRONT_2D fts 
)
private

◆ traite_front_cas_general()

◆ traite_pole()

void MAILLEUR2D::traite_pole ( MG_FACE mgface,
TPL_MAP_ENTITE< MG_SOMMET * > &  liste_pole 
)
private

Définition à la ligne 118 du fichier mailleur2d.cpp.

Références acos(), MAGIC_AFFICHE::affiche(), TPL_MAP_ENTITE< X >::ajouter(), ajouter_front(), MG_MAILLAGE::ajouter_mg_noeud(), FCT_TAILLE::ajuste_distance_metrique(), MG_FACE::calcul_normale_unitaire(), MG_NOEUD::change_coord(), MG_NOEUD::change_u(), MG_NOEUD::change_v(), MG_FRONT_2D::changer_front_precedent(), MG_FRONT_2D::changer_front_suivant(), FCT_TAILLE::evaluer(), MG_POINT::evaluer(), MG_FACE::evaluer(), TPL_MAP_ENTITE< X >::existe(), front_courant, TPL_MAP_ENTITE< X >::get(), MG_NOEUD::get_coord(), MG_FRONT_2D::get_front_precedent(), MG_FRONT_2D::get_front_suivant(), MG_ELEMENT_MAILLAGE::get_lien_topologie(), MG_FACE::get_liste_pole_uv(), OT_VECTEUR_3D::get_longueur(), TPL_MAP_ENTITE< X >::get_nb(), MG_FACE::get_nb_pole(), MG_FRONT_2D::get_noeud1(), MG_SEGMENT::get_noeud1(), MG_FRONT_2D::get_noeud2(), MG_SEGMENT::get_noeud2(), MG_SURFACE::get_periode_u(), MG_SURFACE::get_periode_v(), MG_SOMMET::get_point(), TPL_MAP_ENTITE< X >::get_premier(), TPL_MAP_ENTITE< X >::get_suivant(), MG_FACE::get_surface(), MG_NOEUD::get_u(), MG_NOEUD::get_v(), MG_GEOMETRIE::get_valeur_precision(), insere_segment(), insere_triangle(), MAGIC::ORIGINE::MAILLEUR_AUTO, metrique, mg_geometrie, mg_maillage, OT_VECTEUR_3D::norme(), ntree_de_front, ntree_de_segment, MAILLEUR::pas, TPL_OCTREE< A, CONDITION >::rechercher(), sqrt(), TPL_OCTREE< A, CONDITION >::supprimer(), supprimer_front(), MAGIC::MAILLEURFRONTALETAT::TOUS_FRONT, umax, umin, vmax, et vmin.

Référencé par maille().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ triangle_est_dans_bon_sens()

int MAILLEUR2D::triangle_est_dans_bon_sens ( MG_FACE face,
MG_NOEUD noeud1,
MG_NOEUD noeud2,
MG_NOEUD noeud3 
)
private

Définition à la ligne 317 du fichier mailleur2d_outil.cpp.

Références MG_FACE::calcul_normale_unitaire(), MG_NOEUD::get_coord(), MG_FACE::inverser(), et OT_VECTEUR_3D::norme().

Référencé par traite_front_cas_front_3(), et traite_front_cas_front_4().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ verifie_coin_sommet()

Documentation des données membres

◆ decalage

◆ front_attente

FRONT MAILLEUR2D::front_attente
private

Définition à la ligne 124 du fichier mailleur2d.h.

Référencé par enregistre_front(), progresse_front(), et supprimer_front().

◆ front_courant

◆ metrique

FCT_TAILLE* MAILLEUR2D::metrique
private

Définition à la ligne 113 du fichier mailleur2d.h.

Référencé par cree_ntree(), genere_noeud(), et traite_pole().

◆ mg_face

MG_FACE* MAILLEUR2D::mg_face
private

Définition à la ligne 112 du fichier mailleur2d.h.

Référencé par maille().

◆ mg_geometrie

MG_GEOMETRIE* MAILLEUR2D::mg_geometrie
private

Définition à la ligne 111 du fichier mailleur2d.h.

Référencé par maille(), et traite_pole().

◆ mg_maillage

◆ niveau_optimisation

int MAILLEUR2D::niveau_optimisation
private

Définition à la ligne 116 du fichier mailleur2d.h.

Référencé par change_niveau_optimisation(), get_niveau_optimisation(), et maille().

◆ noeud_frontiere

TPL_LISTE_ENTITE<MG_NOEUD*> MAILLEUR2D::noeud_frontiere
private

Définition à la ligne 120 du fichier mailleur2d.h.

Référencé par cree_ntree(), initialise_frontiere(), et maille().

◆ ntree_de_front

◆ ntree_de_segment

TPL_NTREE_FCT<MG_SEGMENT*,FCT_TAILLE>* MAILLEUR2D::ntree_de_segment
private

Définition à la ligne 121 du fichier mailleur2d.h.

Référencé par cree_ntree(), initialise_front(), insere_segment(), maille(), supprime_segment(), et traite_pole().

◆ periode_u

double MAILLEUR2D::periode_u
private

Définition à la ligne 114 du fichier mailleur2d.h.

Référencé par maille().

◆ periode_v

double MAILLEUR2D::periode_v
private

Définition à la ligne 115 du fichier mailleur2d.h.

Référencé par maille().

◆ segment_frontiere

TPL_LISTE_ENTITE<MG_SEGMENT*> MAILLEUR2D::segment_frontiere
private

Définition à la ligne 119 du fichier mailleur2d.h.

Référencé par cree_ntree(), initialise_frontiere(), et maille().

◆ umax

double MAILLEUR2D::umax
private

Définition à la ligne 125 du fichier mailleur2d.h.

Référencé par initialise_frontiere(), et traite_pole().

◆ umin

double MAILLEUR2D::umin
private

Définition à la ligne 125 du fichier mailleur2d.h.

Référencé par initialise_frontiere(), et traite_pole().

◆ vmax

double MAILLEUR2D::vmax
private

Définition à la ligne 125 du fichier mailleur2d.h.

Référencé par initialise_frontiere(), et traite_pole().

◆ vmin

double MAILLEUR2D::vmin
private

Définition à la ligne 125 du fichier mailleur2d.h.

Référencé par initialise_frontiere(), et traite_pole().


La documentation de cette classe a été générée à partir des fichiers suivants :