All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends

fcl::OBB Class Reference

Oriented bounding box class. More...

#include <OBB.h>

List of all members.

Public Member Functions

bool overlap (const OBB &other) const
 Check collision between two OBB, return true if collision happens.
bool overlap (const OBB &other, OBB &overlap_part) const
 Check collision between two OBB and return the overlap part. For OBB, the overlap_part return value is NOT used as the overlap part of two obbs usually is not an obb.
bool contain (const Vec3f &p) const
 Check whether the OBB contains a point.
OBBoperator+= (const Vec3f &p)
 A simple way to merge the OBB and a point (the result is not compact).
OBBoperator+= (const OBB &other)
 Merge the OBB and another OBB (the result is not compact).
OBB operator+ (const OBB &other) const
 Return the merged OBB of current OBB and the other one (the result is not compact).
FCL_REAL width () const
 Width of the OBB.
FCL_REAL height () const
 Height of the OBB.
FCL_REAL depth () const
 Depth of the OBB.
FCL_REAL volume () const
 Volume of the OBB.
FCL_REAL size () const
 Size of the OBB (used in BV_Splitter to order two OBBs).
const Vec3fcenter () const
 Center of the OBB.
FCL_REAL distance (const OBB &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
 Distance between two OBBs, not implemented.

Public Attributes

Vec3f axis [3]
 Orientation of OBB. axis[i] is the ith column of the orientation matrix for the box; it is also the i-th principle direction of the box. We assume that axis[0] corresponds to the axis with the longest box edge, axis[1] corresponds to the shorter one and axis[2] corresponds to the shortest one.
Vec3f To
 Center of OBB.
Vec3f extent
 Half dimensions of OBB.

Detailed Description

Oriented bounding box class.

Definition at line 48 of file OBB.h.

Member Function Documentation

bool fcl::OBB::overlap ( const OBB other  )  const

Check collision between two OBB, return true if collision happens.

compute what transform [R,T] that takes us from cs1 to cs2. [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] First compute the rotation part, then translation part

Definition at line 302 of file OBB.cpp.

The documentation for this class was generated from the following files: