I am doing two-dimensional computations on a TopoDS_Face. When I want to have the three-dimensional representations of my two-dimensional data, I use:
BRep_Tool::Surface(face)->D0(position.X(), position.Y(), spacePoint);
Now I was really surprised to find two two-dimensional positions on my surface that differ a lot (more than 6.0 length units), but are identical in the space (distance less than 1.0e-8). I thought that there might be a numerical instability, but at least with a tolerance of 1.0e-2 my BRepTopAdaptor_FClass2d claims that they are both TopAbs_ON the face.
Isn't the mapping from a Geom_Surface made out of a TopoDS_Face to the three-dimensional space bijective (one-to-one)???
Any hint is greatly appreciated!