if (det > -FastMath.FLT_EPSILON & det < FastMath.FLT_EPSILON)
if (det > -FastMath.FLT_EPSILON && det < FastMath.FLT_EPSILON)
    public boolean intersect(Vector3f v0,Vector3f v1,Vector3f v2){        Vector3f edge1=v1.subtract(v0,tempVa);        Vector3f edge2=v2.subtract(v0,tempVb);        Vector3f pvec=direction.cross(edge2,tempVc);        float det=edge1.dot(pvec);        if (det > -FastMath.FLT_EPSILON & det < FastMath.FLT_EPSILON)            return false;        det=1/det;        Vector3f tvec=origin.subtract(v0,tempVd);        float u=tvec.dot(pvec) *det;        if (u <0.0 || u>1.0)            return false;        Vector3f qvec=tvec.cross(edge1,tempVe);        float v=direction.dot(qvec) * det;        if (v <0.0 || v + u >1.0)            return false;        return true;    }