Data Structures | |
class | Carre |
class | Cube |
class | Maillage |
Enumerations | |
enum | TYPE_MAILLE { POI1, SEG2, SEG3, TRIA3, TRIA6, QUAD4, QUAD8, TETRA4, TETRA10, PYRAM5, PYRAM13, PENTA6, PENTA15, HEXA8, HEXA20 } |
Functions | |
void | cas1 (int VN[6], int it4) |
Le cas 1 traduit le fait que deux des sommets du T4 initial sont dans le plan de coupe. More... | |
void | cas2 (int VN[6], int it4) |
Deux points d'intersection Le cas 2 traduit le fait qu'un des sommets du T4 est dans le plan de coupe. More... | |
void | cas3 (int VN[6], int it4) |
Trois points d'intersection ATTENTION: pour les PENTA6 on adopte la convention d'orientation SALOME : More... | |
void | cas4 (int VN[6], int it4) |
Quatre points d'intersection. More... | |
float | longueurSegment (int ngA, int ngB) |
float | distanceNoeudPlan (float point[3]) |
float | distanceNoeudPlan (int ng) |
int | positionNoeudPlan (int indiceNoeud) |
int | intersectionSegmentPlan (int it4, int na) |
Equation paramétrique de la droite AB: OP = OA + lambda AB. More... | |
bool | estUnTypeMaille (std::string S) |
void | ERREUR (const char *msg) |
char * | string2char (std::string str) |
std::string | int2string (int k) |
float | char2float (const char *ch) |
std::string | float2string (float f) |
bool | appartient (std::string e, std::string tableau[], int taille) |
float | arrondi (float x) |
int | numNoeudPointe (std::string b1, std::string b2, std::string b3) |
std::string | strip (std::string S) |
std::string | entierSur10_g (int i) |
std::string | entierSur10_d (int i) |
std::string | typeEnsight (std::string type) |
int | Nnoeuds (TYPE_MAILLE type) |
int | NnoeudsGeom (TYPE_MAILLE type) |
int | codeGMSH (std::string type) |
std::string | floatEnsight (float x) |
bool | typeComplexe (std::string type) |
std::string | ASTER8 (std::string s) |
float | dObservateur (float a, float b, float c) |
Distance à laquelle doit se tenir l'observateur sur un axe pour voir sous 90° un objet centré de dimensions a et b selon les deux autres axes. More... | |
int | copieFichier (std::string source, std::string cible) |
med_geometry_type | InstanceMGE (TYPE_MAILLE TYPE) |
int | salome_chrono () |
TYPE_MAILLE | typeMaille (std::string type) |
std::string | MGE2string (med_geometry_type MGE) |
std::string | TM2string (TYPE_MAILLE MGE) |
TYPE_MAILLE | string2TM (std::string stm) |
std::string | coordIndex_ILS (TYPE_MAILLE tm) |
std::string | coordIndex_IFS (TYPE_MAILLE tm) |
std::string | SIGNE (double x) |
void | champType (std::string type, med_entity_type MEM, med_geometry_type MGE, med_idt fid, med_idt fidout, char *maa, char *nomChamp, char *nomChampMoy, med_field_type typeChamp, char *compChamp, char *unitChamp, med_int nCompChamp, std::map< std::string, int > REFGAUSS, int ichamp) |
std::string | nomMaille (TYPE_MAILLE tm, int nl) |
bool | appartientVN (int n, std::vector< int > V) |
float | distance2 (float x1, float y1, float z1, float x2, float y2, float z2) |
void | conversionCNX (int *CNXtm, TYPE_MAILLE tm, int N) |
Conversion HL-MED d'une table de connectivités. More... | |
Variables | |
std::map< std::string, int > | intersections |
Table des points d'intersection calculés. More... | |
int | indexNouvellesMailles |
int | indexNouveauxNoeuds |
int | offsetMailles |
std::string | str_id_GMplus |
std::string | str_id_GMmoins |
Maillage * | MAILLAGE1 |
Maillage * | MAILLAGE2 |
std::vector< float > | newXX |
std::vector< float > | newYY |
std::vector< float > | newZZ |
std::map< TYPE_MAILLE, std::vector< int > > | newCNX |
std::map< TYPE_MAILLE, int > | cptNouvellesMailles |
std::map< TYPE_MAILLE, std::vector< int > > | GMplus |
std::map< TYPE_MAILLE, std::vector< int > > | GMmoins |
std::vector< int > | cutTetras |
float * | DNP |
Distance Noeud Plan. More... | |
int * | POSN |
Version -1/0/+1 du précédent, selon epsilon. More... | |
std::string | str_id_maillagenew |
float | normale [3] |
float | pointPlan [3] |
Définition du plan de coupe. More... | |
float | d |
coefficient constant de l'équation du plan de coupe More... | |
float | epsilon |
distance en dessous de laquelle un point est considéré comme appartenant au plan de coupe More... | |
bool | debug |
int | Naretes |
enum MESHCUT::TYPE_MAILLE |
float MESHCUT::arrondi | ( | float | x | ) |
std::string MESHCUT::ASTER8 | ( | std::string | s | ) |
References ERREUR().
Le cas 1 traduit le fait que deux des sommets du T4 initial sont dans le plan de coupe.
Le point d'intersection franc trouvé est sur l'arête opposée à ces deux points du T4.
Le T4 initial produit deux nouveaux T4.
References MESHCUT::Maillage::CNX, cptNouvellesMailles, cutTetras, MESHCUT::Maillage::EFFECTIFS_TYPES, ERREUR(), GMmoins, GMplus, MAILLAGE1, newCNX, POSN, and TETRA4.
Referenced by main().
Deux points d'intersection Le cas 2 traduit le fait qu'un des sommets du T4 est dans le plan de coupe.
Ce sommet est celui des quatre qui n'appartient à aucune des deux arêtes sur lesquelles un point d'intersection non -1 a été calculé.
Le T4 initial produit un nouveau T4 et un élément PYRAM5.
References MESHCUT::Maillage::CNX, cptNouvellesMailles, cutTetras, MESHCUT::Maillage::EFFECTIFS_TYPES, ERREUR(), GMmoins, GMplus, MAILLAGE1, newCNX, POSN, PYRAM5, and TETRA4.
Referenced by main().
Trois points d'intersection ATTENTION: pour les PENTA6 on adopte la convention d'orientation SALOME :
N1 N2 N3 N4 N5 N6
où N1 N2 N3 sont les sommets du haut et N4 N5 N6 les sommets du bas (selon l'orientation donnée par le sens des triangles)
References MESHCUT::Maillage::CNX, cptNouvellesMailles, cutTetras, MESHCUT::Maillage::EFFECTIFS_TYPES, ERREUR(), GMmoins, GMplus, MAILLAGE1, newCNX, PENTA6, POSN, and TETRA4.
Referenced by main().
Quatre points d'intersection.
ATTENTION: pour les PENTA6 on adopte la convention d'orientation SALOME
N1 N2 N3 N4 N5 N6
où N1 N2 N3 sont les sommets du haut et N4 N5 N6 les sommets du bas (selon l'orientation donnée par le sens des triangles)
References MESHCUT::Maillage::CNX, cptNouvellesMailles, cutTetras, MESHCUT::Maillage::EFFECTIFS_TYPES, ERREUR(), GMmoins, GMplus, MAILLAGE1, newCNX, PENTA6, POSN, and TETRA4.
Referenced by main().
void MESHCUT::champType | ( | std::string | type, |
med_entity_type | MEM, | ||
med_geometry_type | MGE, | ||
med_idt | fid, | ||
med_idt | fidout, | ||
char * | maa, | ||
char * | nomChamp, | ||
char * | nomChampMoy, | ||
med_field_type | typeChamp, | ||
char * | compChamp, | ||
char * | unitChamp, | ||
med_int | nCompChamp, | ||
std::map< std::string, int > | REFGAUSS, | ||
int | ichamp | ||
) |
References debug, ERREUR(), and MGE2string().
float MESHCUT::char2float | ( | const char * | ch | ) |
Referenced by main().
void MESHCUT::conversionCNX | ( | int * | CNXtm, |
TYPE_MAILLE | tm, | ||
int | N | ||
) |
Conversion HL-MED d'une table de connectivités.
References HEXA8, Nnoeuds(), PENTA6, PYRAM5, and TETRA4.
Referenced by MESHCUT::Maillage::acquisitionTYPE_inputMED(), and MESHCUT::Maillage::outputMED().
std::string MESHCUT::coordIndex_IFS | ( | TYPE_MAILLE | tm | ) |
std::string MESHCUT::coordIndex_ILS | ( | TYPE_MAILLE | tm | ) |
int MESHCUT::copieFichier | ( | std::string | source, |
std::string | cible | ||
) |
References string2char().
float MESHCUT::distance2 | ( | float | x1, |
float | y1, | ||
float | z1, | ||
float | x2, | ||
float | y2, | ||
float | z2 | ||
) |
Referenced by SMESH_MeshEditor::CreateHoleSkin().
float MESHCUT::distanceNoeudPlan | ( | float | point[3] | ) |
Referenced by distanceNoeudPlan(), intersectionSegmentPlan(), main(), and positionNoeudPlan().
float MESHCUT::distanceNoeudPlan | ( | int | ng | ) |
References distanceNoeudPlan(), MAILLAGE1, MESHCUT::Maillage::XX, MESHCUT::Maillage::YY, and MESHCUT::Maillage::ZZ.
float MESHCUT::dObservateur | ( | float | a, |
float | b, | ||
float | c | ||
) |
Distance à laquelle doit se tenir l'observateur sur un axe pour voir sous 90° un objet centré de dimensions a et b selon les deux autres axes.
Si on ne tient pas compte de la dimension de l'objet selon l'axe choisi, la formule d_obs=max(a,b)/2 donne la cote qui permet de voir l'objet plat dans un angle de 90°. A cela il faut ajouter la dimension de l'objet selon l'axe d'observation = c.
a | dimensions de l'objet selon un des axes normal à l'axe d'observation |
b | dimensions de l'objet selon l'autre axe normal à l'axe d'observation |
c | est la dimension de l'objet selon l'axe d'observation |
std::string MESHCUT::entierSur10_d | ( | int | i | ) |
References ERREUR(), and int2string().
std::string MESHCUT::entierSur10_g | ( | int | i | ) |
References ERREUR(), and int2string().
void MESHCUT::ERREUR | ( | const char * | msg | ) |
Referenced by MESHCUT::Maillage::acquisitionTYPE_inputMED(), aptrte(), ASTER8(), cas1(), cas2(), cas3(), cas4(), champType(), codeGMSH(), MESHCUT::Maillage::eliminationMailles(), entierSur10_d(), entierSur10_g(), MESHCUT::Maillage::inputMED(), InstanceMGE(), intersectionSegmentPlan(), main(), MGE2string(), MESHCUT::Maillage::NLOCAL(), Nnoeuds(), NnoeudsGeom(), MESHCUT::Maillage::outputMED(), string2TM(), TM2string(), typeEnsight(), and typeMaille().
bool MESHCUT::estUnTypeMaille | ( | std::string | S | ) |
std::string MESHCUT::float2string | ( | float | f | ) |
std::string MESHCUT::floatEnsight | ( | float | x | ) |
med_geometry_type MESHCUT::InstanceMGE | ( | TYPE_MAILLE | TYPE | ) |
std::string MESHCUT::int2string | ( | int | k | ) |
Referenced by entierSur10_d(), entierSur10_g(), intersectionSegmentPlan(), nomMaille(), and MESHCUT::Maillage::outputMED().
Equation paramétrique de la droite AB: OP = OA + lambda AB.
Fonction caractéristique du plan : PI(X,Y,Z) = nx X + ny Y + nz Z + d
Pour un point P de la droite: PI(OP) = PI(OA) + lambda n.AB avec n=(nx,ny,nz), L'intersection AB/plan est donnée par le point P tel que PI(OP)=0.
Il lui correspond la coordonnée lambda = - PI(OA) / n.AB.
Cette intersection est dans le segment si lambda est dans [0,1]
References MESHCUT::Maillage::CNX, debug, distanceNoeudPlan(), ERREUR(), indexNouveauxNoeuds, int2string(), intersections, MAILLAGE1, newXX, newYY, newZZ, normale, TETRA4, MESHCUT::Maillage::XX, MESHCUT::Maillage::YY, and MESHCUT::Maillage::ZZ.
Referenced by main().
References MAILLAGE1, MESHCUT::Maillage::XX, MESHCUT::Maillage::YY, and MESHCUT::Maillage::ZZ.
Referenced by main().
std::string MESHCUT::MGE2string | ( | med_geometry_type | MGE | ) |
References ERREUR().
Referenced by champType().
int MESHCUT::Nnoeuds | ( | TYPE_MAILLE | type | ) |
References ERREUR(), HEXA20, HEXA8, PENTA15, PENTA6, POI1, PYRAM13, PYRAM5, QUAD4, QUAD8, SEG2, SEG3, TETRA10, TETRA4, TRIA3, and TRIA6.
Referenced by MESHCUT::Maillage::acquisitionTYPE_inputMED(), MESHCUT::Maillage::afficheMailles(), conversionCNX(), MESHCUT::Maillage::eliminationMailles(), and main().
int MESHCUT::NnoeudsGeom | ( | TYPE_MAILLE | type | ) |
std::string MESHCUT::nomMaille | ( | TYPE_MAILLE | tm, |
int | nl | ||
) |
References int2string(), and TM2string().
int MESHCUT::numNoeudPointe | ( | std::string | b1, |
std::string | b2, | ||
std::string | b3 | ||
) |
References distanceNoeudPlan(), and epsilon.
std::string MESHCUT::SIGNE | ( | double | x | ) |
char * MESHCUT::string2char | ( | std::string | str | ) |
Referenced by copieFichier(), MESHCUT::Maillage::inputMED(), and MESHCUT::Maillage::outputMED().
TYPE_MAILLE MESHCUT::string2TM | ( | std::string | stm | ) |
std::string MESHCUT::strip | ( | std::string | S | ) |
Referenced by MESHCUT::Maillage::inputMED().
std::string MESHCUT::TM2string | ( | TYPE_MAILLE | MGE | ) |
References ERREUR(), HEXA20, HEXA8, PENTA15, PENTA6, POI1, PYRAM13, PYRAM5, QUAD4, QUAD8, SEG2, SEG3, TETRA10, TETRA4, TRIA3, and TRIA6.
Referenced by MESHCUT::Maillage::afficheMailles(), MESHCUT::Maillage::listeMaillesGM(), nomMaille(), and MESHCUT::Maillage::outputMED().
bool MESHCUT::typeComplexe | ( | std::string | type | ) |
std::string MESHCUT::typeEnsight | ( | std::string | type | ) |
References ERREUR().
TYPE_MAILLE MESHCUT::typeMaille | ( | std::string | type | ) |
std::map< TYPE_MAILLE, int > MESHCUT::cptNouvellesMailles |
float MESHCUT::d |
coefficient constant de l'équation du plan de coupe
Referenced by aptrte(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_Quadrangle_2D::computeQuadDominant(), StdMeshersGUI_DistrPreview::createTable(), StdMeshersGUI_DistrTableFrame::data(), StdMeshersGUI_DistrTableFrame::Table::data(), SMESH_subMesh::deleteOwnListeners(), SMESHGUI_Dialog::desktop(), MESHCUT::Maillage::distanceNoeudMaille(), distanceNoeudPlan(), SMESH_ElementSearcherImpl::FindClosestTo(), StdMeshers_Quadrangle_2D::getCorners(), VISCOUS_3D::_TmpMeshFaceOnEdge::GetDir(), VISCOUS_3D::_ViscousBuilder::getFaceNormalAtSingularity(), SMESHDS_SubMesh::getSize(), GmfCpyLin(), VISCOUS_3D::_Simplex::IsForward(), itemDepth(), SMESH_subMesh::loadDependentMeshes(), main(), SMESH_MeshEditor::ExtrusParam::makeNodesByNormal2D(), MESHCUT::Maillage::noeudVoisin(), qualitetrte_(), UNV2411::Read(), SMESH::TElementSimulation::SetBallPosition(), StdMeshersGUI_DistrTableFrame::setData(), SMESHGUI_Operation::setDialogActive(), VISCOUS_3D::_LayerEdge::SetNewLength(), SMESHUtils::tangencyPoint(), and MED::TGaussDef::TGaussDef().
bool MESHCUT::debug |
Referenced by champType(), intersectionSegmentPlan(), and main().
float * MESHCUT::DNP |
Distance Noeud Plan.
Referenced by main().
float MESHCUT::epsilon |
distance en dessous de laquelle un point est considéré comme appartenant au plan de coupe
Referenced by main(), and positionNoeudPlan().
std::map< TYPE_MAILLE, std::vector< int > > MESHCUT::GMmoins |
std::map< TYPE_MAILLE, std::vector< int > > MESHCUT::GMplus |
int MESHCUT::indexNouveauxNoeuds |
Referenced by intersectionSegmentPlan(), and main().
int MESHCUT::indexNouvellesMailles |
std::map< std::string, int > MESHCUT::intersections |
Table des points d'intersection calculés.
Si on a calculé une intersection entre le plan et un segment reliant N1 et N2 de numéros globaux n1 et n2, on stocke dans ce tableau, sous les libellés "n1_n2" et "n2_n1", le numéro global du point d'intersection (noeud créé). On évite ainsi de calculer deux fois l'intersection d'une même arête de T4 avec le plan
Referenced by SMESHUtils::createPointsSampleFromSolid(), intersectionSegmentPlan(), and main().
Maillage * MESHCUT::MAILLAGE1 |
Referenced by cas1(), cas2(), cas3(), cas4(), distanceNoeudPlan(), intersectionSegmentPlan(), longueurSegment(), and main().
int MESHCUT::Naretes |
std::map< TYPE_MAILLE, std::vector< int > > MESHCUT::newCNX |
std::vector< float > MESHCUT::newXX |
Referenced by intersectionSegmentPlan(), and main().
std::vector< float > MESHCUT::newYY |
Referenced by intersectionSegmentPlan(), and main().
std::vector< float > MESHCUT::newZZ |
Referenced by intersectionSegmentPlan(), and main().
float MESHCUT::normale |
int MESHCUT::offsetMailles |
float MESHCUT::pointPlan |
Définition du plan de coupe.
Referenced by main().
int * MESHCUT::POSN |
std::string MESHCUT::str_id_GMmoins |
Referenced by main().
std::string MESHCUT::str_id_GMplus |
Referenced by main().
std::string MESHCUT::str_id_maillagenew |
Referenced by main().