Moka kernel
|
Go to the source code of this file.
Functions | |
CDart * | createTopoTriangle () |
CDart * | createTopoSquare () |
CDart * | createTopoPolygon (int An) |
CDart * | createTopoOpenedPole (int An) |
CDart * | createTopoPole (int An) |
void | createTopoTube (int AMeridians, int AParallels, CDart **ABorder1, CDart **ABorder2) |
CDart * | createTopoTube (int AMeridians, int AParallels) |
void | createTopoSphere (int AMeridians, int AParallels, CDart **ASouthPole, CDart **ANorthPole) |
CDart * | createTopoSphere (int AMeridians, int AParallels) |
void | createTopoCylinder (int AMeridians, int AParallels, CDart **ABorder1, CDart **ABorder2, bool AClose1=true, bool AClose2=true) |
CDart * | createTopoCylinder (int AMeridians, int AParallels, bool AClose1=true, bool AClose2=true) |
void | createTopoPyramid (int AMeridians, int AParallels, CDart **ABaseDart, CDart **APoleDart, bool ACloseBase=true) |
CDart * | createTopoPyramid (int AMeridians, int AParallels, bool ACloseBase=true) |
void | createTopoTorus (int AMeridians, int AParallels, CDart **AEquator) |
CDart * | createTopoTorus (int AMeridians, int AParallels) |
void | createTopoSquareIMeshed (int ASx, int ASy, int AMeshDimension, CDart *ASquareCorners[2][2]) |
void | createTopoCubeIMeshed (int ASx, int ASy, int ASz, int AMeshDimension, bool ACreatedFaces[3][2], CDart *AFacesCorners[3][2][2][2]) |
void createTopoCubeIMeshed | ( | int | ASx, |
int | ASy, | ||
int | ASz, | ||
int | AMeshDimension, | ||
bool | ACreatedFaces[3][2], | ||
CDart * | AFacesCorners[3][2][2][2] | ||
) |
Crée un cube, éventuellement maillé. Le paramètre AFacesCorners permet de récupérer des brins stratégiques du cube, comme indiqué sur la figure.
ACreatedFaces[0][0] correspond à la face X0. ACreatedFaces[0][1] correspond à la face X1. ACreatedFaces[1][0] correspond à la face Y0. ACreatedFaces[1][1] correspond à la face Y1. ACreatedFaces[2][0] correspond à la face Z0. ACreatedFaces[2][1] correspond à la face Z1.
AFacesCorners[0][0] correspond aux coins de la face X0. AFacesCorners[0][1] correspond aux coins de la face X1. AFacesCorners[1][0] correspond aux coins de la face Y0. AFacesCorners[1][1] correspond aux coins de la face Y1. AFacesCorners[2][0] correspond aux coins de la face Z0. AFacesCorners[2][1] correspond aux coins de la face Z1.
Les éléments des tableaux AFacesCorners[dim][i] sont des pointeurs qui sont positionnés sur certains brins du cube. Ces brins sont numérotés sur le schéma.
Les six booléens donnés par ACreatedFaces indiquent quelles faces du cube doivent être créées.
+---- ----+ +01-- --11+ + 10 11 / / + 11| | | / / 11| / | ARRIÈRE HAUT / | | (Y1) | / (Z1) /
/ | 00 01 / / / | 01 | +-— -—+ +00– –10+ 01 |
AMeshDimension indique dans quelle dimension le cube créé doit être maillé. Pour créer un cube 3-maillé, utilisez la méthode createTopoMesh3.
Si AMeshDimension==0, les valeurs de ASx, ASy et ASz ne sont pas prises en compte.
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 |
void createTopoCylinder | ( | int | AMeridians, |
int | AParallels, | ||
CDart ** | ABorder1, | ||
CDart ** | ABorder2, | ||
bool | AClose1 = true , |
||
bool | AClose2 = true |
||
) |
Crée un tube de dimension AMeridians*AParallels en s'appuyant sur la méthode 'createTopoTube', et 2-coud une face de AMeridians sommets à chaque bout du tube de manière à obtenir un cylindre (selon les valeurs de AClose1 et AClose2, les bords sont fermés ou non).
Remarque : Les paramètres ABorder- passés peuvent être égaux au pointeur NULL.
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* createTopoCylinder | ( | 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 'createTopoCylinder' 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 |
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 (voir méthode 'createTopoCylinder' ci-dessus) |
AClose2 | Un booléen indiquant s'il faut fermer le bord incident à ABorder2 (voir méthode 'createTopoCylinder' ci-dessus) |
CDart* createTopoOpenedPole | ( | int | An | ) |
Crée un pôle ouvert composé de An triangles 2-cousus entre eux et avec un sommet central. Le pôle est ouvert, c'est-à-dire que 2 des arêtes incidentes au sommet central ne sont pas 2-cousues.
An | Le nombre de triangles qui composent le pôle |
CDart* createTopoPole | ( | int | An | ) |
Crée un pôle composé de An triangles 2-cousus entre eux et avec un sommet central.
An | Le nombre de triangles qui composent le pôle |
CDart* createTopoPolygon | ( | int | An | ) |
Crée un polygone à An côtés.
An | Le nombre d'arêtes du polygone |
void createTopoPyramid | ( | int | AMeridians, |
int | AParallels, | ||
CDart ** | ABaseDart, | ||
CDart ** | APoleDart, | ||
bool | ACloseBase = true |
||
) |
Crée une pyramide à AMeridians méridiens et AParallels parallèles.
ABaseDart, s'il n'est pas NULL est positionné sur un brin 2-libre de la base (ou 2-cousu à un brin de la base si cette base est créée). APoleDart, s'il n'est pas NULL est positionné sur un brin situé sur la pointe de la pyramide.
ABaseDart et APoleDart sont situés sur le même méridien.
Remarque : Les paramètres ABaseDart et APoleDart passés peuvent être égaux au pointeur NULL.
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 si la base de la pyramide doit être fermée |
CDart* createTopoPyramid | ( | 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 'createTopoPyramid' 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 si la base de la pyramide doit être fermée |
void createTopoSphere | ( | int | AMeridians, |
int | AParallels, | ||
CDart ** | ASouthPole, | ||
CDart ** | ANorthPole | ||
) |
Crée un tube de dimension AMeridians*AParallels en s'appuyant sur la méthode 'createTopoTube', et 2-coud un pôle de chaque côté de ce tube afin de fermer ses bords.
Si ASouthPole n'est pas NULL, il est positionné sur un brin du sommet situé au pôle sud de la sphère créée. Si ASouthPole n'est pas NULL, il est positionné sur un brin du sommet situé au pôle nord de la sphère créée.
Remarque : Les adresses des pointeurs sur brins passés en paramètre peuvent être égales à NULL.
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* createTopoSphere | ( | int | AMeridians, |
int | AParallels | ||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createTopoSphere' 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 |
CDart* createTopoSquare | ( | ) |
Crée un quadrilatère topologique (8 brins 0 et 1-cousus).
void createTopoSquareIMeshed | ( | int | ASx, |
int | ASy, | ||
int | AMeshDimension, | ||
CDart * | ASquareCorners[2][2] | ||
) |
Crée un carré, éventuellement maillé. Le paramètre ASquareCorners permet de récupérer des brins stratégiques du carré, comme indiqué sur la figure.
ASx=3, ASy=2
ASquareCorners[0][1] ASquareCorners[1][1] +== –+– –+– ==+ | | | |
Si AMeshDimension==0, les valeurs de ASx et ASy ne sont pas prises en compte.
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 |
void createTopoTorus | ( | int | AMeridians, |
int | AParallels, | ||
CDart ** | AEquator | ||
) |
Crée un tube de dimension AMeridians*AParallels en s'appuyant sur la méthode 'createTopoTube', et 2-coud les deux 2-bords de ce tube de manière à obtenir un tore.
AEquator, s'il n'est pas NULL est positionné sur un brin situé sur l'équateur du tore.
Remarque : Le paramètre AEquator passé peut être égal au pointeur NULL.
AMeridians | Le nombre (non nul) de méridiens du tore |
AParallels | Le nombre (non nul) de parallèles du tore |
AEquator | L'adresse d'un pointeur sur brin |
CDart* createTopoTorus | ( | int | AMeridians, |
int | AParallels | ||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createTopoTorus' 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 |
CDart* createTopoTriangle | ( | ) |
Crée un triangle topologique (6 brins 0 et 1-cousus).
void createTopoTube | ( | int | AMeridians, |
int | AParallels, | ||
CDart ** | ABorder1, | ||
CDart ** | ABorder2 | ||
) |
Crée une grille de dimension AMeridians*AParallels en s'appuyant sur la méthode 'createTopoMesh2', et 2-coud deux côtés de cette grille pour obtenir un tube. Les deux 2-bords du tube obtenu sont composés de AMeridians arêtes chacun.
ABorder1 s'il n'est pas NULL est positionné sur un brin 2-libre du premier bord du tube. ABorder2 s'il n'est pas NULL est positionné sur un brin 2-libre du second bord du tube. ABorder1 et ABorder2 sont situés en face l'un de l'autre.
Remarque : Les paramètres ABorder- passés peuvent être égaux au pointeur NULL.
AMeridians | Le nombre (non nul) de méridiens du tube |
AParallels | Le nombre (non nul) de parallèles du tube |
ABorder1 | L'adresse d'un pointeur sur brin |
ABorder2 | L'adresse d'un pointeur sur brin |
CDart* createTopoTube | ( | int | AMeridians, |
int | AParallels | ||
) |
Cette méthode est fournie dans le but de faciliter l'exploitation du noyau. Elle appelle simplement la méthode 'createTopoTube' ci-dessus et retourne le brin correspondant à ABorder1.
AMeridians | Le nombre (non nul) de méridiens du tube |
AParallels | Le nombre (non nul) de parallèles du tube |