class Plane {

    public Ray3d getIntersection(Plane plane)
    {
        if (MathUtil.isZero(1d - plane.getNormal().dot(myNormal)))
        {
            return null;
        }

        // The cross products of the plane normals gives the direction of the
        // ray.
        Vector3d rayDir = myNormal.cross(plane.getNormal());

        // find a line on this plane
        Vector3d cross = rayDir.cross(myNormal);
        Ray3d crossLine = new Ray3d(myPoint, cross);

        return new Ray3d(plane.getIntersection(crossLine), rayDir);
    }

    public  Plane();
    public  Plane(Vector3d point, Vector3d normal);
    public  Plane(Vector3d pt1, Vector3d pt2, Vector3d pt3);

}