What is the DataVariance for root? It should be DYNAMIC. Or, you should be using SingleThreaded for your threading model, one or the other.
On Thu, Mar 7, 2013 at 9:57 AM, lucie lemonnier <lucielemonn...@hotmail.fr>wrote: > Hi, > I embed osg in wpf application with this code : > > http://www.openscenegraph.org/projects/osg/wiki/Support/FAQ#HowdoIembedanOSGviewerina.NETcontrol > > I load a scene of vrml files. > osg::Group* root = new osgGroup(); > for(int i = 0; i < listFichiers.size(); i++){ > osg::Node* node = osgDB::readNodeFile(listFichiers[i]); > node->setDataVariance(osg::Object::DYNAMIC); > root->addChild(node); > } > > > When I want to remove scene to load another scene > (root->removeChildren(0,root->getNumChildren())), osg crashes with error : > Debug assertion failed : > Expression:("this->_Has_container()",0) > ... > > The call stack is stop on this : > osg80-osgd.dll!std::_Vector_const_iterator<osg::ref_ptr<osg::Node>,std::allocator<osg::ref_ptr<osg::Node> > > >::operator++() Ligne 116 + 0x3a octets C++ > > osg80-osgd.dll!std::_Vector_iterator<osg::ref_ptr<osg::Node>,std::allocator<osg::ref_ptr<osg::Node> > > >::operator++() Ligne 350 C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 60 + 0x8 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Switch::traverse(osg::NodeVisitor & nv={...}) > Ligne 40 + 0x77 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Switch & > node={...}) Ligne 1214 + 0x13 octets C++ > osg80-osgd.dll!osg::Switch::accept(osg::NodeVisitor & nv={...}) > Ligne 40 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Transform & > node={...}) Ligne 1151 C++ > > osg80-osgd.dll!osg::NodeVisitor::apply(osg::PositionAttitudeTransform & > node={...}) Ligne 141 + 0x13 octets C++ > > osg80-osgd.dll!osg::PositionAttitudeTransform::accept(osg::NodeVisitor & > nv={...}) Ligne 41 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > > osg80-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node > & node={...}) Ligne 312 + 0xf octets C++ > osg80-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group & > node={...}) Ligne 1128 C++ > osg80-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...}) > Ligne 38 + 0x41 octets C++ > osg80-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...}) > Ligne 62 + 0x25 octets C++ > osg80-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...}) > Ligne 193 + 0x1c octets C++ > osg80-osgUtild.dll!osgUtil::SceneView::cullStage(const > osg::Matrixd & projection={...}, const osg::Matrixd & modelview={...}, > osgUtil::CullVisitor * cullVisitor=0x0ca69f50, osgUtil::StateGraph * > rendergraph=0x0ca696f0, osgUtil::RenderStage * renderStage=0x0ca69788, > osg::Viewport * viewport=0x0ca73dc8) Ligne 980 + 0x1a octets C++ > osg80-osgUtild.dll!osgUtil::SceneView::cull() Ligne 845 + 0x57 > octets C++ > osg80-osgViewerd.dll!osgViewer::Renderer::cull() Ligne 615 + 0xf > octets C++ > osg80-osgViewerd.dll!osgViewer::ViewerBase::renderingTraversals() > Ligne 793 + 0x15 octets C++ > osg80-osgViewerd.dll!osgViewer::ViewerBase::frame(double > simulationTime=1.7976931348623157e+308) Ligne 645 + 0xf octets C++ > osg80-osgViewerd.dll!osgViewer::ViewerBase::run() Ligne 612 + > 0x1b octets C++ > osg80-osgViewerd.dll!osgViewer::Viewer::run() Ligne 376 C++ > osgWrapper.dll!threadfunc(void * __formal=0x00000000) Ligne 128 + > 0x25 octets C++ > pthreadVC2.dll!0f7955e6() > [Les frames ci-dessous sont peut-ĂȘtre incorrects et/ou manquants, > aucun symbole chargĂ© pour pthreadVC2.dll] > msvcr100.dll!6113c556() > msvcr100.dll!6113c600() > kernel32.dll!74dd3677() > ntdll.dll!77479f42() > ntdll.dll!77479f15() > > Can you help me please? > Thank you! > > Cheers, > lucie > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=52981#52981 > > > > > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > -- Paul Martz Skew Matrix Software LLC
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org