-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Robert,

> Hi Jan,
> 
> This is rather tangential to this thread - and should be asked on
> another to make it easy to tracke. 

Sorry for the thread hijack I wanted only quickie answer, but it seems
the issue is more complex.


> But I'll answer quickly here as
> it's a one line.  MatrixTransform and PositionAttiudeTransform are
> both subclasses from osg::Transform, and osg::Transform provides
> generic methods for getting the modelview matrix after the transform
> is applied.  See the Transform::computeLocalToWorldMatrix(..) method,
> this is what you should be using in your codes.

This is not really the use case I have encountered. My problem usually
rears its ugly head when I am trying to animate or move objects around
in the scene.

A typical configuration I have is a hierarchy where at the root is
either MatrixTransform or PositionAttitudeTransform which have as
children my geometry (or whatever needing positioning). I keep a map to
be able to quickly look up the transform nodes by name, because the
commands to move the geometry around are coming from outside, over
network. Now the problem arrives when I am to move an object - I have to
test if the transform is a MatrixTransform and use setMatrix method or
if it is a PositionAttitudeTransform, then I have to use
setPosition/setAttitude. Essentially every piece of code needing to
manipulate the node somehow needs this type of check. Ugly.

If PositionAttitudeTransform was a subclass of MatrixTransform, I could
always use setMatrix() in the generic code and the
setPosition/setAttitude would be convenience methods. Of course,
setMatrix could do also scaling and shearing, so perhaps an overriden
version with a sanity check in the PositionAttitudeTransform (PAT) would
be in order, but that is a detail.

Right now I have worked this issue around by standardizing on only
MatrixTransforms and always building the positioning matrices up myself.
It feels like reinventing the wheel, because that is what the PAT seems
to be made for.

Regards,

Jan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org/

iD8DBQFMxGiIn11XseNj94gRAg7nAJ45g1tbE1jsi3AcF5ybW4TXuY3HEgCg1QjS
WKtA2zlvzqKQYmy6wXTpj3A=
=7ym3
-----END PGP SIGNATURE-----
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to