src/lib-mesh/mg-merge.hh File Reference

This graph shows which files directly or indirectly include this file:

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)


Function Documentation

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.

Parameters:
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
Returns:
'vrai' si la fusion est possible

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.

Parameters:
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
Returns:
'vrai' si la fusion est possible

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.

Parameters:
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
Returns:
'vrai' si la fusion est possible

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'.

Parameters:
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é.

Parameters:
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
Returns:
'vrai' si la fusion est possible
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é.

Parameters:
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é.

Parameters:
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').

Parameters:
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)


Generated on Tue Jul 7 15:20:54 2009 for Moka libraries by  doxygen 1.5.8