Is there a way to test whether adding a new face would result in

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

Hi, if you add a face and get this warning, the face will not be actually added to the mesh. You will receive an invalid face handle as the return value of the add_face function. Therefore you do not have to remove anything. Regards, Jan Möbius On 10/26/23 10:41, btyukodi@brandeis.edu wrote:
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 _______________________________________________ OpenMesh mailing list -- openmesh@lists.rwth-aachen.de To unsubscribe send an email to openmesh-leave@lists.rwth-aachen.de https://lists.rwth-aachen.de/postorius/lists/openmesh.lists.rwth-aachen.de
-- Dr. Jan Möbius Visual Computing Institute RWTH Aachen University Ahornstrasse 55, 52074 Aachen, Germany Phone ++49 (0)241 80-21802 Fax ++49 (0)241 80-22899 mailto:moebius@cs.rwth-aachen.de

Thank you, Jan for the quick answer. That makes sense, I will then just test if the handle is invalid. All the best, Botond On Thu, Oct 26, 2023 at 11:44 AM Jan Möbius <moebius@cs.rwth-aachen.de> wrote:
Hi,
if you add a face and get this warning, the face will not be actually added to the mesh. You will receive an invalid face handle as the return value of the add_face function. Therefore you do not have to remove anything.
Regards, Jan Möbius
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
On 10/26/23 10:41, btyukodi@brandeis.edu wrote: 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 _______________________________________________ OpenMesh mailing list -- openmesh@lists.rwth-aachen.de To unsubscribe send an email to openmesh-leave@lists.rwth-aachen.de
https://lists.rwth-aachen.de/postorius/lists/openmesh.lists.rwth-aachen.de
-- Dr. Jan Möbius Visual Computing Institute RWTH Aachen University Ahornstrasse 55, 52074 Aachen, Germany
Phone ++49 (0)241 80-21802 Fax ++49 (0)241 80-22899 mailto:moebius@cs.rwth-aachen.de
participants (3)
-
Botond Tyukodi
-
btyukodi@brandeis.edu
-
Jan Möbius