All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
fcl::OBB Class Reference

Oriented bounding box class. More...

#include <OBB.h>

List of all members.

Public Member Functions

const Vec3fcenter () const
 Center of the OBB.
bool contain (const Vec3f &p) const
 Check whether the OBB contains a point.
FCL_REAL depth () const
 Depth of the OBB.
FCL_REAL distance (const OBB &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
 Distance between two OBBs, not implemented.
FCL_REAL height () const
 Height of the OBB.
OBB operator+ (const OBB &other) const
 Return the merged OBB of current OBB and the other one (the result is not compact).
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).
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.
FCL_REAL size () const
 Size of the OBB (used in BV_Splitter to order two OBBs)
FCL_REAL volume () const
 Volume of the OBB.
FCL_REAL width () const
 Width of the OBB.

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 extent
 Half dimensions of OBB.
Vec3f To
 Center of OBB.

Detailed Description

Oriented bounding box class.

Definition at line 48 of file OBB.h.


Member Function Documentation

const Vec3f& fcl::OBB::center ( ) const [inline]

Center of the OBB.

Definition at line 118 of file OBB.h.

bool fcl::OBB::contain ( const Vec3f p) const

Check whether the OBB contains a point.

Definition at line 317 of file OBB.cpp.

FCL_REAL fcl::OBB::depth ( ) const [inline]

Depth of the OBB.

Definition at line 100 of file OBB.h.

FCL_REAL fcl::OBB::distance ( const OBB other,
Vec3f P = NULL,
Vec3f Q = NULL 
) const

Distance between two OBBs, not implemented.

Definition at line 364 of file OBB.cpp.

FCL_REAL fcl::OBB::height ( ) const [inline]

Height of the OBB.

Definition at line 94 of file OBB.h.

OBB fcl::OBB::operator+ ( const OBB other) const

Return the merged OBB of current OBB and the other one (the result is not compact).

Definition at line 348 of file OBB.cpp.

OBB & fcl::OBB::operator+= ( const Vec3f p)

A simple way to merge the OBB and a point (the result is not compact).

Definition at line 335 of file OBB.cpp.

OBB& fcl::OBB::operator+= ( const OBB other) [inline]

Merge the OBB and another OBB (the result is not compact).

Definition at line 78 of file OBB.h.

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.

bool fcl::OBB::overlap ( const OBB other,
OBB overlap_part 
) const [inline]

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.

Definition at line 66 of file OBB.h.

FCL_REAL fcl::OBB::size ( ) const [inline]

Size of the OBB (used in BV_Splitter to order two OBBs)

Definition at line 112 of file OBB.h.

FCL_REAL fcl::OBB::volume ( ) const [inline]

Volume of the OBB.

Definition at line 106 of file OBB.h.

FCL_REAL fcl::OBB::width ( ) const [inline]

Width of the OBB.

Definition at line 88 of file OBB.h.


Member Data Documentation

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.

Definition at line 53 of file OBB.h.

Half dimensions of OBB.

Definition at line 59 of file OBB.h.

Center of OBB.

Definition at line 56 of file OBB.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


fcl
Author(s): Jia Pan
autogenerated on Tue Jan 15 2013 16:05:31