double OSGObjectBase::getDist(osg::ref_ptr<OSGObjectBase> a, osg::ref_ptr<OSGObjectBase> b) { osg::Vec3 va,vb,v; double s; va = a->getWorldPosition(); vb = b->getWorldPosition(); v = vb-va; s = sqrt(pow(v[0],2)+pow(v[1],2)+pow(v[2],2)); return s; }
bool OSGObjectBase::checkDist(osg::ref_ptr<OSGObjectBase> a, osg::ref_ptr<OSGObjectBase> b, double dist) { osg::Vec3 va,vb,v; double s = 0; va = a->getWorldPosition(); vb = b->getWorldPosition(); v = vb-va; s = sqrt(pow(v[0],2)+pow(v[1],2)+pow(v[2],2)); if(s < dist){ return true; }else{ return false; } }