idk
This commit is contained in:
parent
c23aadadf0
commit
fcb5e8a797
49
src/main.cpp
49
src/main.cpp
@ -26,6 +26,12 @@ bool check_faces_arent_lonely(MyMesh &mesh) {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool check_vertices_arent_lonely(MyMesh &mesh) {
|
||||||
|
for (auto v_it = mesh.vertices_begin(); v_it != mesh.vertices_end(); ++v_it) {
|
||||||
|
auto ve_it = mesh.ve_iter(*v_it);
|
||||||
|
if (!ve_it.is_valid()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,6 +39,20 @@ bool check_faces_arent_lonely(MyMesh &mesh) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool check_edges_arent_lonely(MyMesh &mesh) {
|
||||||
|
MyMesh::HalfedgeHandle heh, heh_init;
|
||||||
|
heh = heh_init = mesh.halfedge_handle((*mesh.vertices_begin()));
|
||||||
|
heh = mesh.next_halfedge_handle(heh);
|
||||||
|
while (heh != heh_init) {
|
||||||
|
if (mesh.is_boundary(heh)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
heh = mesh.next_halfedge_handle(heh);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
@ -42,22 +62,17 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
MyMesh mesh;
|
MyMesh mesh;
|
||||||
OpenMesh::IO::read_mesh(mesh, argv[1]);
|
OpenMesh::IO::read_mesh(mesh, argv[1]);
|
||||||
cout << "Les faces sont des triangles : ";
|
cout << "Les faces sont des triangles : "
|
||||||
if (check_faces_are_triangles(mesh)) {
|
<< (check_faces_are_triangles(mesh) ? "oui" : "non")
|
||||||
cout << "oui";
|
<< endl;
|
||||||
}
|
cout << "Les faces ont des voisines : "
|
||||||
else {
|
<< (check_faces_arent_lonely(mesh) ? "oui" : "non")
|
||||||
cout << "non";
|
<< endl;
|
||||||
}
|
cout << "Les sommets sont sur une arête : "
|
||||||
cout << endl;
|
<< (check_vertices_arent_lonely(mesh) ? "oui" : "non")
|
||||||
|
<< endl;
|
||||||
cout << "Les faces ont des voisines : ";
|
cout << "Les arêtes sont sur une face : "
|
||||||
if (check_faces_arent_lonely(mesh)) {
|
<< (check_edges_arent_lonely(mesh) ? "oui" : "non")
|
||||||
cout << "oui";
|
<< endl;
|
||||||
}
|
|
||||||
else {
|
|
||||||
cout << "non";
|
|
||||||
}
|
|
||||||
cout << endl;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user