Ejemplo n.º 1
0
float Forest::getDistanceToNearestTree(const Vector3f& pos)
{
    if( !_treeMatrix.size() ) return NX_MAX_F32;

    Matrix4f& matrix = _treeMatrix[0];
    float result = getSquaredLength( Vector3f( matrix[3][0], matrix[3][1], matrix[3][2] ) - pos );
    float squaredDistance;
    for( unsigned int i=0; i<_treeMatrix.size(); i++ )
    {
        matrix = _treeMatrix[i];
        squaredDistance = getSquaredLength( Vector3f( matrix[3][0], matrix[3][1], matrix[3][2] ) - pos );
        if( result > squaredDistance ) result = squaredDistance;
    }
    return sqrt( result );
}
Ejemplo n.º 2
0
 float Vector2D::getLength() const
 {
     return sqrt(getSquaredLength());
 }