Hi Mustafa,

Your code works just fine under Linux, this is the output:

 Test
 M_L_000
 M_L_001
 M_L_002
 M_L_003

There is no platform specific code in NodeVisitor, so the difference
will bascially lie in the compiler.  Try testing debug vs release
builds.  Also try VS2003 on OSG1.1.

Robert.


On 8/6/06, Mustafa <[EMAIL PROTECTED]> wrote:
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/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to