While the many RequireXXX functions allow to check the static correctness of a mesh and
have a O(1) complexity, in many cases we need to run more complex checks to be sure that
the subsequent algorithm can run without issues.
Typical cases are the fact that there are no unreferenced vertices (NoUnreferencedVertex)
or a given adjacency is correctly initialized (and not only statically present as a type component).
- Cleaned up include order: Now you only need to include <vcg/complex/complex.h> (no more vertex/base.h etc)
- Added official VN() EN() FN() const members for knowing number of vertexes etc...
- Added exceptions (at last!)
Now instead of:
assert(HasPerVertexNormal(m))
you should write:
if(!HasPerFaceNormal(m)) throw vcg::MissingComponentException();