I need a C++ class that reads standard stl files and then provides a simple boolean function to decide if a point is within the closed stl geometry body (this will be used for mesh generation purposes). To account for differences in origin and rotation, the class should provide the ability to translate and rotate the stl body to a user specified position/orientation prior to the boolean "point in body" check.
There are lots of free tools that have this capability, but I want something very clean without tons of dependencies and without licensing restrictions.
As part of this project, advice on the best ways to ensure that an stl geometry body is closed when it is written from a CAD package (like solidworks) would be most helpful. Also, the easiest ways to "patch" the stl surface mesh if it does have a hole or inconsistency (free tools, packages, etc.) would be helpful.