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

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

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)


Function Documentation

bool canMesh1 ( CDart *  ADart  ) 

Teste s'il est possible de mailler l'arête incidente à ADart.

Parameters:
ADart Un brin de la carte
Returns:
'vrai' si l'arête incidente à ADart peut être maillée

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

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

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

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

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

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


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