Go to the source code of this file.
Functions | |
CDart * | createPolyline (const std::vector< CVertex > &AVector) |
CDart * | createPole (int An, const CVertex &AVertex) |
CDart * | createOpenedPole (int An, const CVertex &AVertex) |
CDart * | createRegularPolygon (int An) |
void | createSphere (int AMeridians, int AParallels, CDart **ASouthPole, CDart **ANorthPole) |
CDart * | createSphere (int AMeridians, int AParallels) |
void | createCylinder (int AMeridians, int AParallels, CDart **ABorder1, CDart **ABorder2, bool AClose1=true, bool AClose2=true) |
CDart * | createCylinder (int AMeridians, int AParallels, bool AClose1=true, bool AClose2=true) |
void | createPyramid (int AMeridians, int AParallels, CDart **ABaseDart, CDart **APoleDart, bool ACloseBase=true) |
CDart * | createPyramid (int AMeridians, int AParallels, bool ACloseBase=true) |
void | createTorus (int AMeridians, int AParallels, TCoordinate ARadiusProportion, CDart **AEquator) |
CDart * | createTorus (int AMeridians, int AParallels, TCoordinate ARadiusProportion) |
void | createSquareIMeshed (int ASx, int ASy, int AMeshDimension, CDart *ASquareCorners[2][2]) |
CDart * | createSquareIMeshed (int ASx, int ASy, int AMeshDimension) |
void | createCubeIMeshed (int ASx, int ASy, int ASz, int AMeshDimension, bool ACreatedFaces[3][2], CDart *AFacesCorners[3][2][2][2]) |
void | createCubeIMeshed (int ASx, int ASy, int ASz, int AMeshDimension, bool ACreatedFaces[3][2], CDart **ADart1, CDart **ADart2) |
void createCubeIMeshed | ( | int | ASx, | |
int | ASy, | |||
int | ASz, | |||
int | AMeshDimension, | |||
bool | ACreatedFaces[3][2], | |||
CDart ** | ADart1, | |||
CDart ** | ADart2 | |||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createCubeIMeshed' ci-dessus et retourne un brin du cube.
ATTENTION: Selon les valeurs de AFace--, l'objet créé peut ne pas être connexe !
Si l'objet créé est connexe, ADart1 est positionné sur un de ses brins et la valeur NULL est affectée à ADart2. Si l'objet créé n'est pas connexe, ADart1 est positionné sur un brin de la première composante et ADart2 sur un brin de la deuxième composante.
ASx | Le nombre de subdivisions selon la première dimension | |
ASy | Le nombre de subdivisions selon la deuxième dimension | |
ASz | Le nombre de subdivisions selon la troisième dimension | |
AMeshDimension | La dimension du maillage (0, 1 ou 2) | |
ACreatedFaces | Un tableau de dimension 3*2 de booléens | |
ADart1 | Un brin du cube | |
ADart2 | Un brin du cube |
void createCubeIMeshed | ( | int | ASx, | |
int | ASy, | |||
int | ASz, | |||
int | AMeshDimension, | |||
bool | ACreatedFaces[3][2], | |||
CDart * | AFacesCorners[3][2][2][2] | |||
) |
Appelle la méthode 'CGMapGenericcreateCubeIMeshed' puis plonge le cube créé. Le cube obtenu est centré sur l'origine et son côté vaut 1.
ASx | Le nombre de subdivisions selon la première dimension | |
ASy | Le nombre de subdivisions selon la deuxième dimension | |
ASz | Le nombre de subdivisions selon la troisième dimension | |
AMeshDimension | La dimension du maillage (0, 1 ou 2) | |
ACreatedFaces | Un tableau de dimension 3*2 de booléens | |
AFacesCorners | Un tableau de dimension 3*2*2*2 de pointeurs sur brin |
CDart* createCylinder | ( | int | AMeridians, | |
int | AParallels, | |||
bool | AClose1 = true , |
|||
bool | AClose2 = true | |||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createCylinder' ci-dessus et retourne le brin correspondant à ABorder1.
AMeridians | Le nombre (non nul) de méridiens du cylindre | |
AParallels | Le nombre (non nul) de parallèles du cylindre | |
AClose1 | Un booléen indiquant s'il faut fermer le bord incident à ABorder1 (voir méthode 'createCylinder' ci-dessus) | |
AClose2 | Un booléen indiquant s'il faut fermer le bord incident à ABorder2 (voir méthode 'createCylinder' ci-dessus) |
void createCylinder | ( | int | AMeridians, | |
int | AParallels, | |||
CDart ** | ABorder1, | |||
CDart ** | ABorder2, | |||
bool | AClose1 = true , |
|||
bool | AClose2 = true | |||
) |
Appelle la méthode CGMapGeneric::createTopoCylinder puis plonge le cylindre créé. Le cylindre obtenu est axé sur OX, sa hauteur vaut 1, son rayon 1/2.
La face incidente à ABorder1 est dans le plan Z=-1/2. La face incidente à ABorder2 est dans le plan Z=+1/2.
Les brins AClose1 et AClose2 en sortie sont situés sur le méridien passant par le sommet (+1/2,0,0).
AMeridians | Le nombre (non nul) de méridiens du cylindre | |
AParallels | Le nombre (non nul) de parallèles du cylindre | |
ABorder1 | L'adresse d'un pointeur sur brin | |
ABorder2 | L'adresse d'un pointeur sur brin | |
AClose1 | Un booléen indiquant s'il faut fermer le bord incident à ABorder1 | |
AClose2 | Un booléen indiquant s'il faut fermer le bord incident à ABorder2 |
CDart* createOpenedPole | ( | int | An, | |
const CVertex & | AVertex | |||
) |
Appelle la méthode CGMapGeneric::createTopoOpenedPole puis plonge le sommet central du pôle créé avec l'attribut AVertex.
An | Le nombre de triangles qui composent le pôle | |
AVertex | Le plongement du sommet central du pôle |
CDart* createPole | ( | int | An, | |
const CVertex & | AVertex | |||
) |
Appelle la méthode CGMapGeneric::createTopoPole puis plonge le sommet central du pôle créé avec l'attribut AVertex.
An | Le nombre de triangles qui composent le pôle | |
AVertex | Le plongement du sommet central du pôle |
CDart* createPolyline | ( | const std::vector< CVertex > & | AVector | ) |
Utilise la méthode createMesh1 avec un CMesh1VectorDiver.
AVector | Un vecteur contenant les sommets de la polyline |
CDart* createPyramid | ( | int | AMeridians, | |
int | AParallels, | |||
bool | ACloseBase = true | |||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createPyramid' ci-dessus et retourne le brin correspondant à ABaseDart.
AMeridians | Le nombre (non nul) de méridiens de la pyramide | |
AParallels | Le nombre (non nul) de parallèles de la pyramide | |
ACloseBase | Un booléen indiquant s'il faut fermer le bord incident à ABaseDart (voir méthode 'createPyramid' ci-dessus) |
void createPyramid | ( | int | AMeridians, | |
int | AParallels, | |||
CDart ** | ABaseDart, | |||
CDart ** | APoleDart, | |||
bool | ACloseBase = true | |||
) |
Appelle la méthode CGMapGeneric::createTopoPyramid puis plonge la pyramide créée. La pyramide obtenue est axée sur OZ, sa hauteur vaut 1, le rayon de sa base 1/2.
La base (incidente à ABaseDart) est dans le plan Z=-1/2. La pointe (incidente à APoleDart) est aux coordonnées (0,0,+1/2).
Les brins ABaseDart et APoleDart en sortie sont situés sur le méridien passant par le sommet (+1/4,0,0).
AMeridians | Le nombre (non nul) de méridiens de la pyramide | |
AParallels | Le nombre (non nul) de parallèles de la pyramide | |
ABaseDart | L'adresse d'un pointeur sur brin | |
APoleDart | L'adresse d'un pointeur sur brin | |
ACloseBase | Un booléen indiquant s'il faut fermer le bord incident à ABaseDart |
CDart* createRegularPolygon | ( | int | An | ) |
Crée un polygone régulier centré sur l'origine et de vecteur normal OZ. Le premier sommet de la face créée est aux coordonnées (1/2,0,0), c'est-à-dire que le polygone est inscrit dans un cercle de diamètre 1.
Le brin b retourné est celui du premier sommet de la face tel que le plongement de alpha0(b) ait une ordonnée positive.
An | Le nombre d'arêtes du polygone |
CDart* createSphere | ( | int | AMeridians, | |
int | AParallels | |||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createSphere' ci-dessus et retourne le brin correspondant à ASouthPole.
AMeridians | Le nombre (non nul) de méridiens de la sphère | |
AParallels | Le nombre (non nul) de parallèles de la sphère |
void createSphere | ( | int | AMeridians, | |
int | AParallels, | |||
CDart ** | ASouthPole, | |||
CDart ** | ANorthPole | |||
) |
Appelle la méthode CGMapGeneric::createTopoSphere puis plonge sphère créée. La sphère obtenue est centrée sur l'origine, son diamètre vaut 1.
Le pôle sud est aux coordonnées (0,0,-1/2). Le pôle nord est aux coordonnées (0,0,+1/2).
Les brins ASouthPole et ANorthPole en sortie sont situés sur le méridien passant par le sommet (+1/2,0,0).
AMeridians | Le nombre (non nul) de méridiens de la sphère | |
AParallels | Le nombre (non nul) de parallèles de la sphère | |
ASouthPole | L'adresse d'un pointeur sur brin | |
ANorthPole | L'adresse d'un pointeur sur brin |
CDart* createSquareIMeshed | ( | int | ASx, | |
int | ASy, | |||
int | AMeshDimension | |||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createSquareIMeshed' ci-dessus et retourne le brin correspondant à ASquareCorners[0][0].
ASx | Le nombre de subdivisions selon la première dimension | |
ASy | Le nombre de subdivisions selon la deuxième dimension | |
AMeshDimension | La dimension du maillage (0 ou 2) |
void createSquareIMeshed | ( | int | ASx, | |
int | ASy, | |||
int | AMeshDimension, | |||
CDart * | ASquareCorners[2][2] | |||
) |
Appelle la méthode 'CGMapGenericcreateTopoSquareIMeshed' et plonge le carré maillé créé. Le carré est centré sur l'origine et son vecteur normal est OZ. Les coins de la face créée sont aux coordonnées (+-1/2,+-1/2,0).
ASx | Le nombre de subdivisions selon la première dimension | |
ASy | Le nombre de subdivisions selon la deuxième dimension | |
AMeshDimension | La dimension du maillage (0 ou 2) | |
ASquareCorners | Un tableau de dimension 2*2 de pointeurs sur brin |
CDart* createTorus | ( | int | AMeridians, | |
int | AParallels, | |||
TCoordinate | ARadiusProportion | |||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createTorus' ci-dessus et retourne le brin correspondant à AEquator.
AMeridians | Le nombre (non nul) de méridiens du tore | |
AParallels | Le nombre (non nul) de parallèles du tore | |
ARadiusProportion | La valeur r/R (petit rayon sur grand grand rayon) |
void createTorus | ( | int | AMeridians, | |
int | AParallels, | |||
TCoordinate | ARadiusProportion, | |||
CDart ** | AEquator | |||
) |
Appelle la méthode CGMapGeneric::createTopoTorus puis plonge le tore créé. Le tore obtenu est axé sur OZ, c'est-à-dire que l'axe OZ passe dans le trou du tore sans l'intersecter.
Le brin AEquator en sortie est situé sur le sommet de coordonnées (+1/2,0,0).
On alpha donc les relations suivantes:
k = r/R , r+R = 1/2 , r = k/2/(1+k) , R = 1/2/(1+k)
AMeridians | Le nombre (non nul) de méridiens du tore | |
AParallels | Le nombre (non nul) de parallèles du tore | |
ARadiusProportion | La valeur r/R (petit rayon sur grand grand rayon) | |
AEquator | L'adresse d'un pointeur sur brin |