Hi Robert,
I am using the follwoing code for node visitor:
class MyVisitor : public osg::NodeVisitor
{
public:
MyVisitor()
: NodeVisitor( NodeVisitor::TRAVERSE_ALL_CHILDREN )
{
}
virtual void apply(osg::Node& node) {
TRACE("%s\n", node.getName().c_str());
traverse(node);
}
virtual void apply(osg::Geode& node) {
apply((osg::Node&)node); }
virtual void apply(osg::Billboard& node) {
apply((osg::Geode&)node); }
virtual void apply(osg::LightSource& node) {
apply((osg::Group&)node); }
virtual void apply(osg::ClipNode& node) {
apply((osg::Group&)node); }
virtual void apply(osg::Group& node) {
apply((osg::Node&)node); }
virtual void apply(osg::Transform& node) {
apply((osg::Group&)node); }
virtual void apply(osg::Projection& node) {
apply((osg::Group&)node); }
virtual void apply(osg::Switch& node) {
apply((osg::Group&)node); }
virtual void apply(osg::LOD& node) {
apply((osg::Group&)node); }
};
and I am using it like :
MyVisitor pv = new MyVisitor( );
pv->setNodeMaskOverride(0xffffffff); // Also tried without this line
m_node->accept( *(pv.get()) );
and the OSG file looks like ( I remove the details of GEODE):
Group {
UniqueID Group_0
DataVariance DYNAMIC
name "Test"
nodeMask 0xffffffff
cullingActive TRUE
num_children 4
Geode {
DataVariance DYNAMIC
name "M_L_000"
nodeMask 0xffffffff
cullingActive TRUE
}
Geode {
DataVariance DYNAMIC
name "M_L_001"
nodeMask 0xffffffff
cullingActive TRUE
}
Geode {
DataVariance DYNAMIC
name "M_L_002"
nodeMask 0xffffffff
cullingActive TRUE
}
Geode {
DataVariance DYNAMIC
name "M_L_003"
nodeMask 0xffffffff
cullingActive TRUE
}
}
Problem is again, it is working with VS2003 and OSG1.0
but it is not working with VS2005 OSG1.1(last week CVS version)
Send instant messages to your online friends http://uk.messenger.yahoo.com
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/