1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
vector<CDart> engendrerBiface(CDart* d){
vector<CDart> biface;
CDart* dartCourante = d;
biface.push_back(*dartCourante); //Ajout du premier élément
//Première série de CDart correspondant à une involution
do{
biface.push_back(*dartCourante);
dartCourante = dartCourante->getBeta1();
}while(isEqual(dartCourante->getBeta1(), d->getBeta1()) == false);
//Répétition de la dart engendrant la biface (repère et séparateur entre les 2 faces la composant)
biface.push_back(*d);
dartCourante = d->getBeta2(); //On change de lien entre les CDarts juste pour cette fois afin d'accéder a une autre "chaine"
//Deuxième série de CDart (méthode identique à la première)
do{
biface.push_back(*dartCourante);
dartCourante = dartCourante->getBeta1();
}while(isEqual(dartCourante->getBeta1(), d->getBeta2()) == false);
return biface;
} |
Partager