Moka libraries
|
Go to the source code of this file.
Functions | |
bool | canMergeEdgeAndMesh1 (CDart *AEdgeDart, CDart *AMesh1Corners[2]) |
void | mergeEdgeAndMesh1 (CDart *AEdgeDart, CDart *AMesh1Corners[2]) |
bool | canMergeSquare1MeshedAndMesh2 (CDart *ASquareDart, CDart *AMesh2Dart, int ASx, int ASy) |
void | mergeSquare1MeshedAndMesh2 (CDart *ASquareDart, CDart *AMesh2Dart, int ASx, int ASy) |
bool | canMergeSquare2MeshedAndMesh3Side (CDart *ASquareDart, CDart *AMesh3Dart, int ASx, int ASy) |
void | mergeSquare2MeshedAndMesh3Side (CDart *ASquareDart, CDart *AMesh3Dart, int ASx, int ASy, CDart **ANextSquare=NULL, CDart **ANextMesh3Side=NULL) |
bool | canMergeCube2MeshedAndMesh3 (CDart *ACubeDart, CDart *AMesh3Dart, int ASx, int ASy, int ASz) |
void | mergeCube2MeshedAndMesh3 (CDart *ACubeDart, CDart *AMesh3Dart, int ASx, int ASy, int ASz) |
bool canMergeCube2MeshedAndMesh3 | ( | CDart * | ACubeDart, |
CDart * | AMesh3Dart, | ||
int | ASx, | ||
int | ASy, | ||
int | ASz | ||
) |
Teste si le maillage 3d incident à AMesh3Dart peut être fusionné avec le cube maillé 2d incident à ACubeDart. AMesh3Dart doit correspondre au brin AMesh3Corners[0][0][0] de la méthode 'createTopoMesh3'. Le principe est le même pour ACubeDart.
ACubeDart | Un brin du cube maillé 2d |
AMesh3Dart | Un brin du maillage 3d |
ASx | Le nombre de subdivisions du maillage 3d selon la première dimension |
ASy | Le nombre de subdivisions du maillage 3d selon la deuxième dimension |
ASz | Le nombre de subdivisions du maillage 3d selon la troisième dimension |
bool canMergeEdgeAndMesh1 | ( | CDart * | AEdgeDart, |
CDart * | AMesh1Corners[2] | ||
) |
Teste si le maillage 1d d'extrémités AMesh1Corners[0] et AMesh1Corners[1] peut être fusionné avec l'arête donnée par le brin AEdgeDart.
AEdgeDart | Un brin de l'arête à mailler |
AMesh1Corners | Un tableau de 2 pointeurs sur les brins correspondant aux extrémités du maillage 1d à fusionner |
bool canMergeSquare1MeshedAndMesh2 | ( | CDart * | ASquareDart, |
CDart * | AMesh2Dart, | ||
int | ASx, | ||
int | ASy | ||
) |
Teste si le maillage 2d incident à AMesh2Dart peut être fusionné avec le carré maillé 1d incident à ASquareDart. AMesh2Dart doit correspondre au brin AMesh2Corners[0][0] de la méthode 'createTopoMesh2'. Le principe est le même pour ASquareDart.
ASquareDart | Un brin du carré maillé 1d |
AMesh2Dart | Un brin du maillage 2d |
ASx | Le nombre de subdivisions du maillage 2d selon la première dimension |
ASy | Le nombre de subdivisions du maillage 2d selon la deuxième dimension |
bool canMergeSquare2MeshedAndMesh3Side | ( | CDart * | ASquareDart, |
CDart * | AMesh3Dart, | ||
int | ASx, | ||
int | ASy | ||
) |
Teste si les ASx*ASy faces (correspondant à une face du maillage 3d) incidentes à AMesh3Dart peuvent être fusionnées avec le carré 2-maillé incident à ASquareDart. AMesh3Dart doit correspondre au brin AMesh3Corners[0][0][0] de la méthode 'createTopoMesh3' et ASquareDart au brin AMesh2Corners[0][0] de la méthode 'createTopoMesh2'.
ASquareDart | Un brin du carré maillé 2d |
AMesh3Dart | Un brin du maillage 3d |
ASx | Le nombre de subdivisions du maillage 2d selon la première dimension |
ASy | Le nombre de subdivisions du maillage 2d selon la deuxième dimension |
void mergeCube2MeshedAndMesh3 | ( | CDart * | ACubeDart, |
CDart * | AMesh3Dart, | ||
int | ASx, | ||
int | ASy, | ||
int | ASz | ||
) |
Fusionne un maillage 3d avec un cube maillé 2d. Les brins supprimés dans la fusion sont ceux situés au bord du maillage 3d. Aucun brin du cube 2-maillé n'est supprimé.
ACubeDart | Un brin du cube maillé 2d |
AMesh3Dart | Un brin du maillage 3d |
ASx | Le nombre de subdivisions du maillage 3d selon la première dimension |
ASy | Le nombre de subdivisions du maillage 3d selon la deuxième dimension |
ASz | Le nombre de subdivisions du maillage 3d selon la troisième dimension |
canMergeCubeMeshed2AndMesh3(ACubeDart, AMesh3Dart, ASx,ASy,ASz)
void mergeEdgeAndMesh1 | ( | CDart * | AEdgeDart, |
CDart * | AMesh1Corners[2] | ||
) |
Fusionne un maillage 1d avec une arête. Les brins supprimés dans la fusion sont ceux situés aux extrémités du maillage 1d. Aucun brin de l'arête n'est supprimé.
AEdgeDart | Un brin de l'arête à mailler |
AMesh1Corners | Un tableau de 2 pointeurs sur les brins correspondant aux extrémités du maillage 1d à fusionner avec l'arête |
canMergeEdgeAndMesh1(AEdgeDart, AMesh1Corners)
void mergeSquare1MeshedAndMesh2 | ( | CDart * | ASquareDart, |
CDart * | AMesh2Dart, | ||
int | ASx, | ||
int | ASy | ||
) |
Fusionne un maillage 2d avec une face carrée 1-maillée. Les brins supprimés dans la fusion sont ceux situés au bord du maillage 2d. Aucun brin du carré 1-maillé n'est supprimé.
ASquareDart | Un brin du carré maillé 1d |
AMesh2Dart | Un brin du maillage 2d |
ASx | Le nombre de subdivisions du maillage 2d selon la première dimension |
ASy | Le nombre de subdivisions du maillage 2d selon la deuxième dimension |
canMergeSquare1MeshedAndMesh2(ASquareDart, AMesh2Dart, ASx,ASy)
void mergeSquare2MeshedAndMesh3Side | ( | CDart * | ASquareDart, |
CDart * | AMesh3Dart, | ||
int | ASx, | ||
int | ASy, | ||
CDart ** | ANextSquare = NULL , |
||
CDart ** | ANextMesh3Side = NULL |
||
) |
Fusionne un côté d'un maillage 3d avec une face carrée 2-maillée. Les brins supprimés dans la fusion sont ceux situés au bord du maillage 3d. Aucun brin du carré 2-maillé n'est supprimé.
ASx=3, ASy=2
| | | | +-- --+-- --+-- ==+ ANextSquare +-- --+-- --+-- --+ | | | | | | | | +-- --+-- --+-- --+ | | | | | | | | +== --+-- --+-- --+
ASquareDart
Remarque: Après la fusion, toutes les faces du maillage 2d se retrouvent sur des volumes (des cubes) différents.
Si ANextSquare n'est pas égal à NULL, il est positionné sur un brin correspondant initialement à l'alpha2 du brin situé à l'autre extrémité de ASquareDart (voir schéma). Si ANextMesh3Side n'est pas égal à NULL, il est positionné sur l'homologue de ANextSquare sur le maillage 3d.
Ces paramètres en sortie permettent de poursuivre la fusion sur d'autres versants du maillage 3d (voir la méthode 'mergeCube2MeshedAndMesh3').
ASquareDart | Un brin du carré maillé 2d |
AMesh3Dart | Un brin du maillage 3d |
ASx | Le nombre de subdivisions du maillage 2d selon la première dimension |
ASy | Le nombre de subdivisions du maillage 2d selon la deuxième dimension |
ANextSquare | L'alpha2 du brin situé dans le coin opposé à ASquareDart sur le carré 2-maillé (paramètre en sortie) |
ANextMesh3Side | L'homologue de ANextSquare sur le maillage 3d (paramètre en sortie) |
canMergeSquare2MeshedAndMesh3(ASquareDart, AMesh3Dart, ASx,ASy)