Hallo, ich habe ein Problem mit den FaceFaceIter-Zirkulatoren. Mein Netz besteht aus 4 Dreiecken, die ein Simplex bilden. Initialisiert habe ich den Zirkulator so: MyMesh::FaceFaceIter ff_iter=mesh->ff_begin(this->face_handle(face_idx)) Wenn ich allerdings ff_iter.handle().idx() ausgeben lasse, erhalte ich -1. Ist denn noch irgend etwas zu beachten, bevor man die FaceFaceIter-Zirkulatoren benutzen kann ? Hier noch die Definition von MyMesh: struct MyTraits : public OpenMesh::DefaultTraits { typedef OpenMesh::Vec3d Point; typedef OpenMesh::Vec3d Normal; VertexAttributes(OpenMesh::Attributes::Status); FaceAttributes(OpenMesh::Attributes::Status); EdgeAttributes(OpenMesh::Attributes::Status); }; typedef OpenMesh::PolyMesh_ArrayKernelT<MyTraits> MyMesh; Vielen Dank im Voraus! Gruß, Marcel -- Dipl.-Math. Marcel Makowski Institut für Geometrie und Praktische Mathematik RWTH-Aachen Templergraben 55 D-52056 Aachen, Germany email: makowski@igpm.rwth-aachen.de Phone: +49-241-80-97066 Fax: +49-241-80-92317 URL: http://www.igpm.rwth-aachen.de
Hallo Marcel, hast Du mal versucht, den Iterator mit folgender Syntax zu initialisieren? // Circulate around the current face for (MyMesh::FaceFaceIter ff_it = mesh.ff_iter(my_face_handle); ff_it; ++ff_it) { //... } Also ff_iter(FaceHandle) anstatt ff_begin(). Ich habe Deinen Code zwar nicht getestet, aber möglicherweise funktioniert ff_begin() ja nicht so, wie es sollte. Falls Du Weiteres rausfindest, kannst Du ja eventuell einen Bugreport aufsetzen. Ich werde mir das auch nochmal genauer ansehen. Ich hoffe, das hilft auf die Schnelle. Gruß, Mike Kremer Am 27.07.11 18:32, schrieb Marcel Makowski:
Hallo,
ich habe ein Problem mit den FaceFaceIter-Zirkulatoren. Mein Netz besteht aus 4 Dreiecken, die ein Simplex bilden.
Initialisiert habe ich den Zirkulator so: MyMesh::FaceFaceIter ff_iter=mesh->ff_begin(this->face_handle(face_idx))
Wenn ich allerdings ff_iter.handle().idx() ausgeben lasse, erhalte ich -1.
Ist denn noch irgend etwas zu beachten, bevor man die FaceFaceIter-Zirkulatoren benutzen kann ?
Hier noch die Definition von MyMesh:
struct MyTraits : public OpenMesh::DefaultTraits { typedef OpenMesh::Vec3d Point; typedef OpenMesh::Vec3d Normal;
VertexAttributes(OpenMesh::Attributes::Status); FaceAttributes(OpenMesh::Attributes::Status); EdgeAttributes(OpenMesh::Attributes::Status); };
typedef OpenMesh::PolyMesh_ArrayKernelT<MyTraits> MyMesh;
Vielen Dank im Voraus!
Gruß, Marcel
participants (2)
-
Marcel Makowski
-
Mike Kremer