コード例 #1
0
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;
}
コード例 #2
0
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;
    }
}