Moka libraries
|
Go to the source code of this file.
Functions | |
bool | canMesh1 (CDart *ADart) |
virtual void | mesh1 (CDart *ADart, int ASx, const CTransformationMatrix *AMeshMatrix=NULL, bool AMeshWithMerges=true, bool AMeshWithAdjacentSews=true, bool AMeshAssociatedCells=false, int ADirectInfoAlpha0=-1, int ADirectInfoAssoc=-1) |
bool | canMesh2 (CDart *ADart, int ASx, int ASy, int AInitialMeshDim=0) |
virtual void | mesh2 (CDart *ADart, int ASx, int ASy, const CTransformationMatrix *AMeshMatrix=NULL, bool AMeshWithMerges=true, bool AMeshWithAdjacentSews=true, bool AMeshAssociatedCells=false, bool AGetAssociatedEmbeddings=false, int AInitialMeshDim=0, int AFinalMeshDim=2, int ADirectInfoAlpha0=-1, int ADirectInfoAssoc=-1) |
bool | canMesh3 (CDart *ADart, int ASx, int ASy, int ASz, int AInitialMeshDim=0) |
virtual void | mesh3 (CDart *ADart, int ASx, int ASy, int ASz, const CTransformationMatrix *AMeshMatrix=NULL, bool AMeshWithMerges=true, bool AMeshWithAdjacentSews=true, bool AMeshAssociatedCells=false, int AInitialMeshDim=0, int AFinalMeshDim=3, int ADirectInfoAlpha0=-1, int ADirectInfoAssoc=-1) |
bool canMesh1 | ( | CDart * | ADart | ) |
Teste s'il est possible de mailler l'arête incidente à ADart.
ADart | Un brin de la carte |
bool canMesh2 | ( | CDart * | ADart, |
int | ASx, | ||
int | ASy, | ||
int | AInitialMeshDim = 0 |
||
) |
Teste s'il est possible de 2-mailler le carré incident à ADart. Si AInitialMeshDim vaut 0, on teste si la cellule incidente à ADart est un carré (4 arêtes). Si AInitialMeshDim vaut 1, on teste si la cellule incidente à ADart est un carré 1-maillé (2*(ASx+ASy) arêtes).
ADart | Un brin de la carte |
ASx | Le nombre de subdivisions à créer selon la première dimension |
ASy | Le nombre de subdivisions à créer selon la deuxième dimension |
AInitialMeshDim | La dimension dans laquelle le carré à mailler est déjà maillé (0 ou 1) |
ASx>0 ASy>0 AInitialMeshDim = 0 ou 1
bool canMesh3 | ( | CDart * | ADart, |
int | ASx, | ||
int | ASy, | ||
int | ASz, | ||
int | AInitialMeshDim = 0 |
||
) |
Teste s'il est possible de 3-mailler le cube incident à ADart. Si AInitialMeshDim vaut 0, on teste si la cellule incidente à ADart est un cube (6 faces). Si AInitialMeshDim vaut 1, on teste si la cellule incidente à ADart est un cube 1-maillé. Si AInitialMeshDim vaut 2, on teste si la cellule incidente à ADart est un cube 2-maillé.
ADart | Un brin de la carte |
ASx | Le nombre de subdivisions à créer selon la 1ère dimension |
ASy | Le nombre de subdivisions à créer selon la 2ème dimension |
ASz | Le nombre de subdivisions à créer selon la 3ème dimension |
AInitialMeshDim | La dimension dans laquelle le cube à mailler est déjà maillé (0, 1 ou 2) |
ASx>0 ASy>0 ASz>0 AInitialMeshDim = 0, 1 ou 2
|
virtual |
Maille l'arête incidente à ADart. L'arête est donc découpée en ASx arêtes.
Si ADirectInfoAlpha0 est positif ou nul, il indique un champ directInfo où sont mémorisés les images par alpha0 des brins tels qu'elles étaient avant le maillage. Ceci est utile lorsqu'on maille plusieurs arêtes en parallèle (méthode 'meshMarkedEdges'). Au moment du plongement (effectué par la méthode 'CGMapVertex::mesh1', cela permet de récupérer facilement les points de contrôle dont on alpha besoin sans avoir à parcourir complètement les arêtes déjà 1-maillées.
Si ADirectInfoAssoc est positif ou nul, il indique un champ directInfo où sont mémorisées les extrémités du maillage créé. Ceci permet d'accéder au maillage d'une arête déjà traitée.
ADart | Un brin de l'arête à mailler |
ASx | Le nombre de mailles à créer |
AMeshMatrix | Matrice utilisée pour le calcul des plongements des cubiques |
AMeshWithMerges | Un booléen indiquant la manière dont sont effectuées les maillages de cellules. Si vrai, les maillages créés sont fusionnés aux cellules auquelles ils correspondent. Sinon, les maillages restent indépendants des cellules à partir desquelles ils ont été créés. |
AMeshWithAdjacentSews | Un booléen indiquant la manière dont sont effectuées les maillages de cellules. Si 'vrai', les maillages de cellules adjacentes créés en parallèle sont cousus entre eux. Sinon les maillages créés restent isolés. |
AMeshAssociatedCells | Un booléen indiquant si les cellules associées sont maillées ou non. |
ADirectInfoAlpha0 | Un indice de champ directInfo |
ADirectInfoAssoc | Un indice de champ directInfo |
canMesh1(ADart); ASx>0 ADirectInfoAlpha0>=0 => FMeshWithMerges ADirectInfoAssoc >=0 => !FMeshWithMerges
|
virtual |
Maille le carré incident à ADart, de la dimension AInitialMeshDim vers la dimension AFinalMeshDim.
Possibilités: AInitialMeshDim==0, AFinalMeshDim==1 : Maillage 1d des arêtes d'un carré AInitialMeshDim==0, AFinalMeshDim==2 : Maillage 2d d'un carré AInitialMeshDim==1, AFinalMeshDim==2 : Maillage 2d d'un carré 1-maillé
ADart doit correspondre au brin AMesh2Corners[0][0] de la méthode 'createTopoMesh2'.
Pour plus d'informations concernant les champs ADirectInfoAlpha0 et ADirectInfoAssoc, se reporter à la méthode 'mesh1'. Pour plus d'informations concernant les champs AMeshWithMerges, AMeshWithAdjacentSews et AMeshAssociatedCells voir la méthode 'mesh1'.
ADart | Un brin du carré à mailler |
ASx | Le nombre de mailles à créer selon la première dimension |
ASy | Le nombre de mailles à créer selon la deuxième dimension |
AMeshMatrix | Matrice utilisée pour le calcul des plongements des cubiques |
AMeshWithMerges | Un booléen |
AMeshWithAdjacentSews | Un booléen |
AMeshAssociatedCells | Un booléen |
AGetAssociatedEmbeddings | Un booléen |
AInitialMeshDim | La dimension du maillage de la cellule de départ (0 ou 1) |
AFinalMeshDim | La dimension dans laquelle la cellule doit être maillée (1 ou 2) |
ADirectInfoAlpha0 | Un indice de champ directInfo |
ADirectInfoAssoc | Un indice de champ directInfo |
ASx>0 ASy>0 AInitialMeshDim = 0 ou 1 AFinalMeshDim = 1 ou 2 AInitialMeshDim < AFinalMeshDim canMesh2(ADart, ASx,ASy, AInitialMeshDim)
|
virtual |
Maille le cube incident à ADart, de la dimension AInitialMeshDim vers la dimension AFinalMeshDim.
Possibilités: AInitialMeshDim == 0, AFinalMeshDim == 1 : Maillage 1d des arêtes d'un cube AInitialMeshDim == 0, AFinalMeshDim == 2 : Maillage 2d des faces d'un cube AInitialMeshDim == 0, AFinalMeshDim == 3 : Maillage 3d d'un cube AInitialMeshDim == 1, AFinalMeshDim == 2 : Maillage 2d des faces d'un cube 1-maillé AInitialMeshDim == 1, AFinalMeshDim == 3 : Maillage 3d d'un cube 1-maillé AInitialMeshDim == 2, AFinalMeshDim == 3 : Maillage 3d d'un cube 2-maillé
ADart doit correspondre au brin AMesh3Corners[0][0][0] de la méthode 'createTopoMesh3'.
Pour plus d'informations concernant les champs ADirectInfoAlpha0 et ADirectInfoAssoc, se reporter à la méthode 'mesh1'. Pour plus d'informations concernant les champs AMeshWithMerges, AMeshWithAdjacentSews et AMeshAssociatedCells voir la méthode 'mesh1'.
ADart | Un brin du cube à mailler |
ASx | Le nombre de mailles à créer selon la première dimension |
ASy | Le nombre de mailles à créer selon la deuxième dimension |
ASz | Le nombre de mailles à créer selon la troisième dimension |
AMeshMatrix | Matrice utilisée pour le calcul des plongements des cubiques |
AMeshWithMerges | Un booléen |
AMeshWithAdjacentSews | Un booléen |
AMeshAssociatedCells | Un booléen |
AInitialMeshDim | La dimension du maillage de la cellule de départ (0 , 1 ou 2) |
AFinalMeshDim | La dimension dans laquelle la cellule doit être maillée (1, 2 ou 3) |
ADirectInfoAlpha0 | Un indice de champ directInfo |
ADirectInfoAssoc | Un indice de champ directInfo |
ASx>0 ASy>0 ASz>0 AInitialMeshDim = 0 ou 1 AFinalMeshDim = 1 ou 2 AInitialMeshDim < AFinalMeshDim canMesh3(ADart, ASx,ASy,ASz, AInitialMeshDim)