Makman2/CE3D — pull request #123 by Makman2 (2014-08-02 15:17:39+00:00)
Title: bugfix: Various fixes to get the orthographic-camera and orthogonal-tran...

...sformation class running. Also add new transformation type: FinalTranslation.

Sorry that this is such a huge commit, but there were many things to fix to get these components running.

I try to list them:
- Model: Changed all auto-iterator for-loops to auto references (auto&)
- FinalTranslation: Created a new transformation class, the FinalTranslation. This transformation does nearly the same job as the normal translation, but doesn't keep the vectors in it's original space. Effectively it cuts off the last row of the translation matrix so the last component of the transformed vector gets ignored. Needed to work properly with the ortographic projection inside the transformation chain of the camera.
- Camera Test: Improved and working.
- Boost extensions: Fixed orthonormalize() for array parameter. There was an i++ too much.
- CE3D::Vector and CE3D::Matrix: Added new typedefs (/usings) for the builtin boost vector types: CE3D::UnitVector, CE3D::ZeroVector, CE3D::IdentityMatrix, CE3D::ZeroMatrix
- Boost extensions test: Improved and working (and simplified the code, see above the new typedefs)
- OrthogonalDepthProjection: Much improved and simplified the algorithm for the last matrix line.
- OrthogonalProjection: Also heavily improved and simplified the UpdateMatrix() algorithm.
- Untabified world_code.h
- Boost extensions: Added some new functions like IsZero() (testing if a vector is zero with the given tolerance) and improved Normalize() function.
- Various documentation enhancements.

I hope these were all changes and I don't missed something.