void RigGeometry::accept(osg::NodeVisitor &nv) { if (!nv.validNodeMask(*this)) return; nv.pushOntoNodePath(this); if (nv.getVisitorType() == osg::NodeVisitor::CULL_VISITOR) cull(&nv); else if (nv.getVisitorType() == osg::NodeVisitor::UPDATE_VISITOR) updateBounds(&nv); else nv.apply(*this); nv.popFromNodePath(); }
void PointDrawable::accept(osg::NodeVisitor& nv) { if (nv.validNodeMask(*this)) { osgUtil::CullVisitor* cv = Culling::asCullVisitor(nv); nv.pushOntoNodePath(this); // inject our shared stateset into the cull visitor. if (cv) cv->pushStateSet(_sharedStateSet.get()); nv.apply(*this); if (cv) cv->popStateSet(); nv.popFromNodePath(); } }