+ // m_matrixnode controls the position and rotation of the child node
+ // for all scene nodes, as a workaround for an Irrlicht problem with
+ // rotations. The child node's position can't be used because it's
+ // rotated, and must remain as 0.
+ // Note that m_matrixnode.setPosition() shouldn't be called. Use
+ // m_matrixnode->getRelativeTransformationMatrix().setTranslation()
+ // instead (aka getPosRotMatrix().setTranslation()).
+ inline core::matrix4 &getPosRotMatrix()
+ {
+ assert(m_matrixnode);
+ return m_matrixnode->getRelativeTransformationMatrix();
+ }
+
+ inline const core::matrix4 &getAbsolutePosRotMatrix() const
+ {
+ assert(m_matrixnode);
+ return m_matrixnode->getAbsoluteTransformation();
+ }