testObOb

Test whether two oriented boxes given via their center position, orientation and half-size, intersect. <p> The orientation of a box is given as three unit vectors spanning the local orthonormal basis of the box. <p> The size is given as the half-size along each of the unit vectors defining the orthonormal basis. <p> Reference: Book "Real-Time Collision Detection" chapter 4.4.1 "OBB-OBB Intersection"

@param b0cX the x coordinate of the center of the first box @param b0cY the y coordinate of the center of the first box @param b0cZ the z coordinate of the center of the first box @param b0uXx the x coordinate of the local X unit vector of the first box @param b0uXy the y coordinate of the local X unit vector of the first box @param b0uXz the z coordinate of the local X unit vector of the first box @param b0uYx the x coordinate of the local Y unit vector of the first box @param b0uYy the y coordinate of the local Y unit vector of the first box @param b0uYz the z coordinate of the local Y unit vector of the first box @param b0uZx the x coordinate of the local Z unit vector of the first box @param b0uZy the y coordinate of the local Z unit vector of the first box @param b0uZz the z coordinate of the local Z unit vector of the first box @param b0hsX the half-size of the first box along its local X axis @param b0hsY the half-size of the first box along its local Y axis @param b0hsZ the half-size of the first box along its local Z axis @param b1cX the x coordinate of the center of the second box @param b1cY the y coordinate of the center of the second box @param b1cZ the z coordinate of the center of the second box @param b1uXx the x coordinate of the local X unit vector of the second box @param b1uXy the y coordinate of the local X unit vector of the second box @param b1uXz the z coordinate of the local X unit vector of the second box @param b1uYx the x coordinate of the local Y unit vector of the second box @param b1uYy the y coordinate of the local Y unit vector of the second box @param b1uYz the z coordinate of the local Y unit vector of the second box @param b1uZx the x coordinate of the local Z unit vector of the second box @param b1uZy the y coordinate of the local Z unit vector of the second box @param b1uZz the z coordinate of the local Z unit vector of the second box @param b1hsX the half-size of the second box along its local X axis @param b1hsY the half-size of the second box along its local Y axis @param b1hsZ the half-size of the second box along its local Z axis @return <code>true</code> if both boxes intersect; <code>false</code> otherwise

  1. bool testObOb(Vector3d b0c, Vector3d b0uX, Vector3d b0uY, Vector3d b0uZ, Vector3d b0hs, Vector3d b1c, Vector3d b1uX, Vector3d b1uY, Vector3d b1uZ, Vector3d b1hs)
  2. bool testObOb(double b0cX, double b0cY, double b0cZ, double b0uXx, double b0uXy, double b0uXz, double b0uYx, double b0uYy, double b0uYz, double b0uZx, double b0uZy, double b0uZz, double b0hsX, double b0hsY, double b0hsZ, double b1cX, double b1cY, double b1cZ, double b1uXx, double b1uXy, double b1uXz, double b1uYx, double b1uYy, double b1uYz, double b1uZx, double b1uZy, double b1uZz, double b1hsX, double b1hsY, double b1hsZ)
    static
    bool
    testObOb
    (
    double b0cX
    ,
    double b0cY
    ,
    double b0cZ
    ,
    double b0uXx
    ,
    double b0uXy
    ,
    double b0uXz
    ,
    double b0uYx
    ,
    double b0uYy
    ,
    double b0uYz
    ,
    double b0uZx
    ,
    double b0uZy
    ,
    double b0uZz
    ,
    double b0hsX
    ,
    double b0hsY
    ,
    double b0hsZ
    ,
    double b1cX
    ,
    double b1cY
    ,
    double b1cZ
    ,
    double b1uXx
    ,
    double b1uXy
    ,
    double b1uXz
    ,
    double b1uYx
    ,
    double b1uYy
    ,
    double b1uYz
    ,
    double b1uZx
    ,
    double b1uZy
    ,
    double b1uZz
    ,
    double b1hsX
    ,
    double b1hsY
    ,
    double b1hsZ
    )

Meta