Files
OpenSceneGraph/src/osg/NodeVisitor.cpp
Robert Osfield a703130aa0 Have taken a few more steps towards support for view dependant transformations
by adding a ComputeTransformCallback to osg::Transform, and have now removed
the recently added AutoTransform since it is nolonger required.  Have also
updated CullVisitor to account for the new ways for tracking transformation
matrices in the scene.
2002-02-05 21:54:46 +00:00

56 lines
1.1 KiB
C++

#include <osg/NodeVisitor>
#include <stdlib.h>
using namespace osg;
NodeVisitor::NodeVisitor(TraversalMode tm)
{
_traversalNumber = -1;
_traversalVisitor = NULL;
_traversalMode = tm;
_traversalMask = 0xffffffff;
_nodeMaskOverride = 0x0;
}
NodeVisitor::~NodeVisitor()
{
// if (_traversalVisitor) detach from _traversalVisitor;
}
void NodeVisitor::setTraversalMode(const TraversalMode mode)
{
if (_traversalMode==mode) return;
if (mode==TRAVERSE_VISITOR)
{
if (_traversalVisitor==NULL) _traversalMode = TRAVERSE_NONE;
else _traversalMode = TRAVERSE_VISITOR;
}
else
{
if (_traversalVisitor.valid()) _traversalVisitor=NULL;
_traversalMode = mode;
}
}
void NodeVisitor::setTraversalVisitor(NodeVisitor* nv)
{
if (_traversalVisitor==nv) return;
_traversalVisitor = nv;
if (_traversalVisitor.valid()) _traversalMode = TRAVERSE_VISITOR;
else _traversalMode = TRAVERSE_NONE;
}
const bool getLocalToWorldMatrix(Matrix& matrix, MatrixMode mode)
{
return false;
}
const bool getWorldToLocalMatrix(Matrix& matrix, MatrixMode mode)
{
return false;
}