Hi,

TransformationMatrix has a confusingly huge number of functions to 
multiply a matrix with a point/vector. I'd like to reduce that number a 
bit, especially removing the optional multiplication from the left 
(which has exactly 0 in-tree uses, if my grep'ing was correct ;) ) and 
propose the following set of functions (maybe with the order of dst, src 
reversed to match the old order ?):

void mult    (PointType    &dst, const PointType    &src) const;
void multFull(PointType3f  &dst, const PointType3f  &src) const;
void mult    (PointType3f  &dst, const PointType3f  &src) const;

void mult    (VectorType   &dst, const VectorType   &src) const;
void multFull(VectorType3f &dst, const VectorType3f &src) const;
void mult    (VectorType3f &dst, const VectorType3f &src) const;

void mult3x3 (PointType3f  &dst, const PointType3f  &src) const;
void mult3x3 (VectorType3f &dst, const VectorType3f &src) const;


or alternatively returning the result:

PointType    mult    (const PointType    &pnt) const;
PointType3f  multFull(const PointType3f  &pnt) const;
PointType3f  mult    (const PointType3f  &pnt) const;

VectorType   mult    (const VectorType   &vec) const;
VectorType3f multFull(const VectorType3f &vec) const;
VectorType3f mult    (const VectorType3f &vec) const;

PointType3f  mult3x3 (const PointType3f  &pnt) const;
VectorType3f mult3x3 (const VectorType3f &vec) const;

This would bring us down to 8 functions compared to 18 right now.

Comments ? Which set of functions is preferred ?

        Thanks,
                Carsten

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core

Reply via email to