TopoDS_Face with REVERSED orientation
I'm writing some translation routines and I'm having difficulty interpreting the topology in those cases where a face has reversed orientation.
If we construct a very simple cylinder using BRepPrimAPI_MakeCylinder, the bottom face of the cylinder has REVERSED orientation. Does this mean the face or the surface normal points into the cylinder? If it's the surface normal, how does one find out the relationship between the surface and face normals?
In trying to find an example of how to deal with this case, I began reviewing the STEP interface code. The TopoDSToStep_MakeStepFace.cxx file has the following comment:
// CAS.CADE face orientation :
// when a face is reversed in a shell, the orientation of the underlying
// topology is implicitly reversed. This is not the case in Step.
Can someone please explain what this means? Also I noticed the face and wire TopoDS to STEP translation routines always orient the shapes in the FORWARD direction prior to exporting to STEP. Is this due a STEP requirement or to correct the implicit representation alluded to by the comment?