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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users