KinBodyGroup* CreateOsgGroup(KinBody& body) { assert(!body.GetUserData("osg")); RAVELOG_DEBUG("creating graphics for kinbody %s\n", body.GetName().c_str()); osg::Node* node = osgNodeFromKinBody(body); UserDataPtr rph = UserDataPtr(new RefPtrHolder(node)); body.SetUserData("osg", rph); return static_cast<KinBodyGroup*>(static_cast<RefPtrHolder*>(rph.get())->rp.get()); }
KinBodyGroup* GetOsgGroup(KinBody& body) { UserDataPtr rph = body.GetUserData("osg"); return rph ? static_cast<KinBodyGroup*>(static_cast<RefPtrHolder*>(rph.get())->rp.get()) : NULL; }