Attention when comparing the handles
The comparison of Face_handle
is achieved by comparing the internal pointers,
which can be better illustrated with an example. Suppose we have a square embedded into
a constrained triangulation, which results in two faces.
Now, if we insert a new point on one boundary, the number of faces will turn to three.
It's important to note that if we compare the Face_handle
objects before and after the insertion of the point,
we may find that a pair of face handles is the same, but with different vertex coordinates.
CGAL compares the Face_handle
by comparing the internal pointer,
which means that the same Face_handle
points to a new face with new vertex coordinates.
Similarly, the comparison of Vertex_handle
also relies on comparing the internal pointers rather than
the actual coordinates.
It's worth mentioning that modifying the geometry of the triangulation can invalidate handles.
For instance, some handles that were stored in a vector before the modification will change simultaneously after the modification.