Hello Madam or Sir,
I am the user of OpenMesh, and I want ask some questions about the parallel code with OpenMesh, exactly, the parallel code is based on OpenMP on the VS2013.
The first question: When I use the OpenMP on the VS2013 to speed up the program which write with OpenMesh, for example, I add the code: #pragma omp parallel for num_threads(7) , just like the following:
and the errors follow, and I do not know why.
and the second question: Could the code with iterator of OpenMesh be paralleled by OpenMP just like " for (TriMesh::FaceIter f_it = mesh.faces_begin(); f_it != mesh.faces_end(); f_it++) " in the above picture? or How can I parallel the code with iterator of OpenMesh?
Thank you for your time! And I am looking forward to your reply.
Sincerely
LuWang
The function add_face uses 3 ordered VertexHandle to add a face to the mesh. If the order of vertices is incompatible with the existing mesh (so that the face would be wrongly oriented) or a triangle already exists with those 3 vertices, this is the typical warning OpenMesh gives:
PolyMeshT::add_face: complex edge
I was wondering if it is possible to test whether a face addition would result in such complex edge warning and skip the addition if it would? I'm thinking some kind of try-catch block. Alternatively, how can I remove the face that caused such an incompatibility?
Note that here my aim is not to properly orient the new face. I simply do not want to add it if it causes incompatibilities.
Thank you and all the best,
Botond