src/lib-mesh/mv-control-points.hh File Reference

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

Go to the source code of this file.

Functions

void get4ControlPoints (CDart *ADart, CVertex *AVertexArray, int ADirectInfoAlpha0=-1)
void get16ControlPoints (CDart *ADart, CVertex **AVertexArray, int ADirectInfoAlpha0=-1)
void get64ControlPoints (CDart *ADart, CVertex ***AVertexArray, int ADirectInfoAlpha0=-1)
Méthodes permettant de récupérer les plongements de cellules maillées
CDart * getMesh1Dive (CDart *ADart, int ASx, const CVertex **AVertexTable, bool AAlready2MeshedSquare=false)
CDart * getMesh2Dive (CDart *ADart, int ASx, int ASy, const CVertex ***AVertexTable, bool AAlready3MeshedCube=false, int AReturnedDart=3)


Function Documentation

void get16ControlPoints ( CDart *  ADart,
CVertex **  AVertexArray,
int  ADirectInfoAlpha0 = -1 
)

Récupère les plongements des 16 sommets appartenant à la grille 3*3 dont ADart est sur la face centrale.

Si ADirectInfoAlpha0 est positif ou nul, les images par alpha0 des brins sont retrouvées à l'aide de ce champ. Cela est utile par exemple pour lisser un carré qui est déjà 1-maillé.

Parameters:
ADart Un brin de la carte
AVertexArray Un pointeur sur 4*4 sommets
ADirectInfoAlpha0 Un indice de champ directInfo

void get4ControlPoints ( CDart *  ADart,
CVertex AVertexArray,
int  ADirectInfoAlpha0 = -1 
)

Récupère les plongements des 4 sommets appartenant à 3 arêtes consécutives de la carte dont ADart est sur l'arête centrale. AVertexArray est donc un paramètre en sortie.

Si ADart est sur une polyligne, AVertexArray[0] reçoit le plongement de alpha10(ADart), AVertexArray[1] celui de ADart, AVertexArray[2] celui de alpha0(ADart) et AVertexArray[2] celui de alpha010(ADart).

Remarque: La manière dont les 2 points de contrôle situés aux extrémités sont calculés dépend de la dimension du maillage sur lequel se trouve ADart. Par exemple, si ADart est sur une grille, AVertexExtremity[0] reçoit le plongement de alpha1210(ADart).

Si ADirectInfoAlpha0 est positif ou nul, les images par alpha0 des brins sont retrouvées à l'aide de ce champ. Cela est utile par exemple pour lisser une arête dont les arêtes adjacentes sont déjà 1-maillées.

Parameters:
ADart Un brin de la carte
AVertexArray Un pointeur sur 4 sommets
ADirectInfoAlpha0 Un indice de champ directInfo

void get64ControlPoints ( CDart *  ADart,
CVertex ***  AVertexArray,
int  ADirectInfoAlpha0 = -1 
)

Récupère les plongements des 64 sommets appartenant à la grille 3*3*3 dont ADart est sur le cube central.

Si ADirectInfoAlpha0 est positif ou nul, les images par alpha0 des brins sont retrouvées à l'aide de ce champ. Cela est utile par exemple pour lisser un cube qui est déjà 2-maillé.

Parameters:
ADart Un brin de la carte
AVertexArray Un pointeur sur 4*4*4 sommets
ADirectInfoAlpha0 Un indice de champ directInfo

CDart* getMesh1Dive ( CDart *  ADart,
int  ASx,
const CVertex **  AVertexTable,
bool  AAlready2MeshedSquare = false 
)

Parcourt le maillage 1d en partant de ADart et fait pointer les éléments du tableau AVertexTable sur les plongements des sommets rencontrés.

Si AAlready2MeshedSquare vaut 'faux', le passage d'un sommet à son successeur se fait en utilisant la méthode 'CGMapGenericalpha01', sinon il se fait en utilisant la méthode 'CGMapGenericalpha0121'.

Cette méthode est utile pour récupérer les plongements des contours d'un carré 1 ou 2-maillé. Elle est utilisée par la méthode 'mesh2'.

Parameters:
ADart Un brin de la carte
ASx Le nombre de subdivisions du maillage 1d
AVertexTable Un tableau de pointeurs sur sommets
AAlready2MeshedFace Un booléen indiquant l'état de l'arête
Returns:
Le brin situé à l'autre extrémité du maillage par rapport à ADart
AVertexTable est de dimension ASx+1

CDart* getMesh2Dive ( CDart *  ADart,
int  ASx,
int  ASy,
const CVertex ***  AVertexTable,
bool  AAlready3MeshedCube = false,
int  AReturnedDart = 3 
)

Parcourt le maillage 2d en partant de ADart et fait pointer les éléments du tableau AVertexTable sur les plongements des sommets rencontrés.

Si AAlready3MeshedCube vaut 'faux', le passage d'un sommet à son successeur se fait en utilisant la méthode 'CGMapGenericalpha0121', sinon il se fait en utilisant la méthode 'CGMapGenericalpha012321'.

Cette méthode est utile pour récupérer les plongements des contours d'un cube 2 ou 3-maillé. Elle est utilisée par la méthode 'mesh3'.

2==AReturnedDart AReturnedDart==3 +** --+-- --+-- **+ | | | | | | | | +-- --+-- --+-- --+ | | | | | | | | +** --+-- --+-- **+ ADart AReturnedDart==1

Parameters:
ADart Un brin de la carte
ASx Le nombre de subdivisions du maillage selon la 1ère dimension
ASy Le nombre de subdivisions du maillage selon la 2ème dimension
AVertexTable Un tableau de pointeurs sur sommets
AAlready3MeshedCube Un booléen indiquant l'état de la face
AReturnedDart Un entier indiquant quel brin retourner
Returns:
Un brin situé sur un autre coin du maillage, dépendant de la valeur de AReturnedDart (voir schéma)
AVertexTable est de dimension (ASx+1)*(ASy+1)


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