
Just a few observations... On 6/10/06, Andy Little <andy@servocomm.freeserve.co.uk> wrote:
IMO it makes sense to put 3D entities in a 3D space and 2D entities in a 2D space, but its not critical to me either way
Can the vector not be templated on length? I know a simple (dimensionless) vector can be templated on length ( http://gpwiki.org/index.php/C_plus_plus:Tutorials:TemplateVector ), but perhaps PQS needs something that prevents this...
I believe that in matrices there is no need to support both row-column and column-row notation explicitly, but rather to keep internal compatibility thorough whole library. Based on that I'd strongly suggest to rename rc_matrix into matrix, and never implement cr_matrix. There is an interesting reasoning about this problem inside panda3d software manual (given time I'll find it later).
Its certainly less work sticking to one type of matrix so I dont object to that. There may be performance resaons to choose on or other type?
If the internal storage for the matrix is usable as an array, interfacing with different C apis would be much easier if the ordering could be chosen (or at least relied upon). As I recall, OpenGL uses column-major and DirectX uses row-major, so there could be big savings in not needing to copy the values when passing the data to those APIs.