thanks for your reply

Michael Platings wrote:
> However that could lead to people doing
> mat.setTrans(...)
> mat.setRotation(...)
> mat.setScale(...)
> and then wondering why setting the rotation didn't have any effect (setting 
> the scale would overwrite it).

okay, i wasn't aware of setRotation overwriting the scale. since setTrans 
doesn't overwrite the basis i consider this as inconsistent. would have been a 
nasty surprise if i tried to use this in the way i understood it... what i ment 
was setScale should of course maintain the rotation and just normalize and then 
scale the basis. but nevermind, the matrix interface is inconsistent anyway. 


Michael Platings wrote:
> matA.invert(matB) sets matA to be the inverse of matB.

this doesn't make any sense to me. if i want to invert a matrix, i would expect 
a method for that...


Michael Platings wrote:
> However something that doesn't make sense to me is why to get the inverse of 
> a matrix you have to do Matrix::inverse(mat) rather than just mat.inverse().

you're perfectly right. well, that there are static and non-static methods 
doing the same job is just fine (albeit the names are misleading sometimes), 
but in the case of invert the interface is just circuitous. i mean: m.inverse( 
m ); ? btw: i am not the only one struggling with the matrix interface, maybe 
it would be worth the thought of re-engineering it?


Michael Platings wrote:
> The MatrixTransform needs to know when its matrix has been modified so that 
> it can set its flags to dirty.

oh. you're right, thanks.

------------------------
ithrak (Jason Fisher)

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=26829#26829





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to