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

Reply via email to