Hi,
   Thanks Robert, for the previous answer. I am facing trouble removing
and adding children using addChild() of osg::Group. Following is the code

main()
{
  osg::Group *rootnode = new osg::Group;
  osg::MatrixTransform *rotator = new osg::MatrixTransform;
  osg::Node *cessna = osgDB::readNodeFile("cessna.osg");
  osg::Node *glider = osgDB::readNodeFile("glider.osg");
  osg::Node *cow = osgDB::readNodeFile("cow.osg");

  rootnode->addChild(glider);
  rootnode->addChild(rotator);
  rotator->addChild(glider);
  rotator->addChild(cessna);
  rotator->addChild(cow);

  viewer.setSceneData(rootnode);
  MultiOut::instance()->SetRootNode(rootnode);
  viewer.realize();
  while( !viewer.done() )
    {
        viewer.sync();
        viewer.update();
        viewer.frame();
    }

  //Rotator has 3 children glider, cow, cessna
  for(int i=0;i<int(rotator->getNumChildren());i++)
    {
        osg::Node *node = rotator->getChild(i);
        rotator->removeChild(i);
        cout<<"Removed Child: "<<node->getName()<<endl;
        rotator->addChild(node);

        //When cow is removed and added again this gives seg fault
        cout<<"Re-Added Child: "<<node->getName()<<endl;
    }
}

When the child is a non-group it removes and adds it successfully but if it is a group I get a segmentation fault.

Pawan Harish

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

Reply via email to