Removed osg::Transform::ComputeTransformCallback from osg::Transform.

Updated various dependant files to reimplemt callbacks as Transform subclasses.
This commit is contained in:
Robert Osfield
2003-12-09 14:07:44 +00:00
parent d76cef6f8e
commit 9780a7cbd6
10 changed files with 23 additions and 112 deletions

View File

@@ -393,7 +393,7 @@ void CullVisitor::apply(Billboard& node)
RefMatrix* billboard_matrix = createOrReuseMatrix(modelview);
node.getMatrix(*billboard_matrix,eye_local,pos);
node.computeMatrix(*billboard_matrix,eye_local,pos);
float d = distance(pos,modelview);
@@ -499,7 +499,7 @@ void CullVisitor::apply(Transform& node)
if (node_state) pushStateSet(node_state);
ref_ptr<RefMatrix> matrix = createOrReuseMatrix(getModelViewMatrix());
node.getLocalToWorldMatrix(*matrix,this);
node.computeLocalToWorldMatrix(*matrix,this);
pushModelViewMatrix(matrix.get());
handle_cull_callbacks_and_traverse(node);

View File

@@ -593,7 +593,7 @@ void IntersectVisitor::apply(Transform& node)
if (!enterNode(node)) return;
osg::ref_ptr<RefMatrix> matrix = new RefMatrix;
node.getLocalToWorldMatrix(*matrix,this);
node.computeLocalToWorldMatrix(*matrix,this);
pushMatrix(*matrix);

View File

@@ -525,11 +525,11 @@ class CollectLowestTransformsVisitor : public osg::NodeVisitor
else if (transform->getReferenceFrame()==osg::Transform::RELATIVE_TO_ABSOLUTE) _moreThanOneMatrixRequired=true;
else
{
if (_transformSet.empty()) transform->getLocalToWorldMatrix(_firstMatrix,0);
if (_transformSet.empty()) transform->computeLocalToWorldMatrix(_firstMatrix,0);
else
{
osg::Matrix matrix;
transform->getLocalToWorldMatrix(_firstMatrix,0);
transform->computeLocalToWorldMatrix(_firstMatrix,0);
if (_firstMatrix!=matrix) _moreThanOneMatrixRequired=true;
}
}
@@ -1029,7 +1029,7 @@ void Optimizer::RemoveRedundantNodesVisitor::apply(osg::Transform& transform)
{
static osg::Matrix identity;
osg::Matrix matrix;
transform.getWorldToLocalMatrix(matrix,NULL);
transform.computeWorldToLocalMatrix(matrix,NULL);
if (matrix==identity)
{
_redundantNodeList.insert(&transform);