Skip to content
Snippets Groups Projects
Commit 77398f4c authored by info's avatar info
Browse files

WIP(tp_master.cpp): Start TP1

parent 7e5f6ef2
Branches
No related merge requests found
......@@ -98,42 +98,85 @@ public:
{ 0.0f, 0.0f, 0.6f}};
// creation des faces
Dart base;
// Creation des faces
Dart base = add_face_topo_fp(4);
Dart f1 = add_face_topo_fp(3);
Dart f2 = add_face_topo_fp(3);
Dart f3 = add_face_topo_fp(3);
Dart f4 = add_face_topo_fp(3);
// couture de la base avec les cotés
// couture des cotés entre eux
// Couture de la base avec les cotés
phi2_sew(base, f1);
phi2_sew(phi1(base), f2);
phi2_sew(phi1(phi1(base)), f3);
phi2_sew(phi1(phi1((phi1(base)))), f4);
// affecte la position aux sommets de la base
// affecte la position du sommet de la pyramide
// Couture des cotés entre eux
phi2_sew(phi1(f1), phi_1(f4));
phi2_sew(phi1(f2), phi_1(f1));
phi2_sew(phi1(f3), phi_1(f2));
phi2_sew(phi1(f4), phi_1(f3));
// retourne un brin
// Affecte la position aux sommets de la base
newVertexOrbitEmbedding(base);
position[base] = P[0];
newVertexOrbitEmbedding(phi1(base));
position[phi1(base)] = P[1];
newVertexOrbitEmbedding(phi1(phi1(base)));
position[phi1(phi1(base))] = P[2];
newVertexOrbitEmbedding(phi1(phi1(phi1(base))));
position[phi1(phi1(phi1(base)))] = P[3];
// Affecte la position du sommet de la pyramide
newVertexOrbitEmbedding(phi_1(f1));
position[phi_1(f1)] = P[4];
// Retourne un brin
return base;
}
//
// calcul le nombre de cotés d'une face
// Calcul le nombre de cotés d'une face
// Touche g
// utiliser phi1
//
// Utiliser phi1
unsigned faceValence(Dart d)
{
unsigned int res = 0;
Dart tmp = d;
do
{
tmp = phi1(tmp);
res++;
} while (tmp != d);
return res;
}
//
// calcul le nombre d'arêtes incidentes à un sommet
// Calcul le nombre d'arêtes incidentes à un sommet
// Touche h
// utiliser phi1 & phi2
//
// Utiliser phi1 & phi2
unsigned vertexValence(Dart d)
{
unsigned int res = 0;
Dart tmp = d;
do
{
tmp = phi1(phi2(tmp));
res++;
} while (tmp != d);
return res;
}
......@@ -147,7 +190,6 @@ public:
// - phi1sew(d,e) fusion de cycle
// le phi1 de d devient le phi1 de e et inversement
// - newVertexOrbitEmbedding(d) creer le plongement de sommet
//
void coupeArete(Dart d)
{
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment