Hello, I got a crash on applying the GeometryMergeGraphOp to a scene. I did perform the following operations on my scene (model1.osb):
MergeGraphOpRefPtr mgop = MergeGraphOp::create(); mgop->traverse(prototype); SceneFileHandler::the()->write(prototype, "d:\\_5187.0\\model2.osb", false); GeometryMergeGraphOpRefPtr gmgop = GeometryMergeGraphOp::create(); gmgop->traverse(prototype); The last calls does not return due to dereferencing null pointers in file OSGGeoFunctions.cpp (line ~3230) in function void calcMergePropertyType( const GeoIntegralProperty *prop1, const GeoIntegralProperty *prop2, bool combineValues, UInt32 &format ) { UInt32 form1 = prop1->getFormat(); <------------ UInt32 form2 = prop2->getFormat(); ... } At this point I'm a little lost. Is this a problem with my model, with the MergeGraphOp, with the GeometryMergeGraphOp or something else? I have uploaded the files model1.osb and model2.osb to http://drop.io/OpenSG_RenderEngine if anyone has time to take a look. Any help is appreciated... best, Johannes P.S.: In case it helps, I have added the call stack to the calcMergePropertyType function OSGDrawableD.dll!OSG::`anonymous namespace'::calcMergePropertyType(const OSG::GeoIntegralProperty * prop1=0x00000000, const OSG::GeoIntegralProperty * prop2=0x00000000, bool combineValues=false, unsigned int & format=3435973836) Line 3230 C++ OSGDrawableD.dll!OSG::`anonymous namespace'::mergeGeoTypes(OSG::Geometry * dstGeo=0x24a1b6d0, const OSG::Geometry * srcGeo1=0x249770c8, const OSG::Geometry * srcGeo2=0x270090b8) Line 3698 + 0x2b bytes C++ OSGDrawableD.dll!OSG::`anonymous namespace'::mergeGeoNINI(OSG::Geometry * dstGeo=0x24a1b6d0, const OSG::Geometry * srcGeo1=0x249770c8, const OSG::Geometry * srcGeo2=0x270090b8) Line 3747 + 0x11 bytes C++ OSGDrawableD.dll!OSG::mergeGeo(const OSG::Geometry * geo1=0x249770c8, const OSG::Geometry * geo2=0x270090b8) Line 4450 + 0x16 bytes C++ OSGUtilD.dll!OSG::GeometryMergeGraphOp::traverseLeave(OSG::Node * const node=0x24973470, OSG::ActionBase::ResultE res=Continue) Line 249 + 0x27 bytes C++ OSGSystemD.dll!boost::_mfi::mf2<enum OSG::ActionBase::ResultE,OSG::GraphOp,OSG::Node *,enum OSG::ActionBase::ResultE>::operator()(OSG::GraphOp * p=0x24972a78, OSG::Node * a1=0x24973470, OSG::ActionBase::ResultE a2=Continue) Line 274 + 0x14 bytes C++ OSGSystemD.dll!boost::_bi::list3<boost::_bi::value<OSG::GraphOp *>,boost::arg<1>,boost::arg<2> >::operator()<enum OSG::ActionBase::ResultE,boost::_mfi::mf2<enum OSG::ActionBase::ResultE,OSG::GraphOp,OSG::Node *,enum OSG::ActionBase::ResultE>,boost::_bi::list2<OSG::Node * &,enum OSG::ActionBase::ResultE &> >(boost::_bi::type<enum OSG::ActionBase::ResultE> __formal={...}, boost::_mfi::mf2<enum OSG::ActionBase::ResultE,OSG::GraphOp,OSG::Node *,enum OSG::ActionBase::ResultE> & f={...}, boost::_bi::list2<OSG::Node * &,enum OSG::ActionBase::ResultE &> & a={...}, boost::_bi::type<enum OSG::ActionBase::ResultE> __formal={...}) Line 376 C++ OSGSystemD.dll!boost::_bi::bind_t<enum OSG::ActionBase::ResultE,boost::_mfi::mf2<enum OSG::ActionBase::ResultE,OSG::GraphOp,OSG::Node *,enum OSG::ActionBase::ResultE>,boost::_bi::list3<boost::_bi::value<OSG::Graph Op *>,boost::arg<1>,boost::arg<2> > >::operator()<OSG::Node *,enum OSG::ActionBase::ResultE>(OSG::Node * & a1=0x24973470, OSG::ActionBase::ResultE & a2=Continue) Line 62 C++ OSGSystemD.dll!boost::detail::function::function_obj_invoker2<boost::_bi ::bind_t<enum OSG::ActionBase::ResultE,boost::_mfi::mf2<enum OSG::ActionBase::ResultE,OSG::GraphOp,OSG::Node *,enum OSG::ActionBase::ResultE>,boost::_bi::list3<boost::_bi::value<OSG::Graph Op *>,boost::arg<1>,boost::arg<2> > >,enum OSG::ActionBase::ResultE,OSG::Node *,enum OSG::ActionBase::ResultE>::invoke(boost::detail::function::function_buff er & function_obj_ptr={...}, OSG::Node * a0=0x24973470, OSG::ActionBase::ResultE a1=Continue) Line 132 C++ OSGSystemD.dll!boost::function2<enum OSG::ActionBase::ResultE,OSG::Node *,enum OSG::ActionBase::ResultE>::operator()(OSG::Node * a0=0x24973470, OSG::ActionBase::ResultE a1=Continue) Line 989 + 0x1b bytes C++ OSGSystemD.dll!OSG::traverse(OSG::Node * const node=0x24973470, boost::function<enum OSG::ActionBase::ResultE __cdecl(OSG::Node *)> enter={...}, boost::function<enum OSG::ActionBase::ResultE __cdecl(OSG::Node *,enum OSG::ActionBase::ResultE)> leave={...}) Line 773 + 0x10 bytes C++ OSGSystemD.dll!OSG::GraphOp::traverse(OSG::Node * node=0x24973470) Line 114 + 0x95 bytes C++ RenderEngineD.dll!RenderEngine::system::SceneImp::LoadFile(const char * name=0x13417d90, bool share=true, RenderEngine::Handle h={...}) Line 1039 + 0x2c bytes C++ ____________ Virus checked by G DATA AntiVirusKit Version: AVF 21.17 from 30.04.2010 Virus news: www.antiviruslab.com ------------------------------------------------------------------------------ _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users