Hi Marlin,

The Transform class and it's subclasses are designed to be used as part of
scene graph, this allow Transform subclasses that are absolute (ignore
transforms+camera matrices above them) or relative (multiple the inherited
modelview matrix) to enable this in a generic way the Transform class has
two helper methods Transform::computeLocalToWorld(osg::Matrix& matrix,
NodeVistor*) and computeWorldToLocal(osg::Matrix& matrix, NodeVisior*).
Only some Transform implementations need to check the NodeVisitor for extra
data, most will just ignore that parameter and just do the matrix maths
required.

The computeLocalToWorld() method returns a bool on success, and you pass in
the matrix you want to apply,  You're code segment appears to confuse
things in this regard.


If you want to transform of any node in the scene graph you can do
Node::getWorldMatrices(), this finds all the parental NodePaths of that
node and then returns a vector containing a matrix for each NodePath
found.

Robert.



On 7 May 2018 at 19:58, Rowley, Marlin R <[email protected]> wrote:

> Hello,
>
>
>
> I’m trying to figure out how to retrieve the combined matrix from a node
> that is of a PositionAttitudeTransform node type.  I can get it converted
> to a Transform() class, but there is no clear way of getting the combined
> matrix from local to world.  For example,
>
>
>
> Osg::PositionAttitudeTransform trans;
>
> Trans.setScale(2,2,2);
>
> Trans.setPosition(0,10,0);
>
>
>
> Osg::Matrixd temp = getCombinedTransform(trans);
>
> Osg::Matrixd getCombinedTransform(const osg::ref_ptr<osg::Node> & mat)
>
> {
>
>               Auto m = mat->asTransform();
>
>               Return m->computeLocalToWorldMatrix (m, ???); << ====== why
> use a node visitor on yourself?
>
>
>
>               Or
>
>
>
>               Return m->getCombinedMatrix()?? <<  ===== is there such a
> thing?
>
> }
>
>
>
> ----------------------------------------
>
> Marlin Rowley
>
> Software Engineer, Staff
>
> [image: cid:[email protected]]
>
> *Missiles and Fire Control*
>
> 972-603-1931 (office)
>
> 214-926-0622 (mobile)
>
> [email protected]
>
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to