FCL  0.6.0
Flexible Collision Library
fcl::AABB< S_ > Class Template Reference

A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points. More...

#include <AABB.h>

Public Types

using S = S_
 

Public Member Functions

 AABB ()
 Creating an AABB with zero size (low bound +inf, upper bound -inf)
 
 AABB (const Vector3< S > &v)
 Creating an AABB at position v with zero size.
 
 AABB (const Vector3< S > &a, const Vector3< S > &b)
 Creating an AABB with two endpoints a and b.
 
 AABB (const AABB< S > &core, const Vector3< S > &delta)
 Creating an AABB centered as core and is of half-dimension delta.
 
 AABB (const Vector3< S > &a, const Vector3< S > &b, const Vector3< S > &c)
 Creating an AABB contains three points.
 
bool overlap (const AABB< S > &other) const
 Check whether two AABB are overlap.
 
bool contain (const AABB< S > &other) const
 Check whether the AABB contains another AABB.
 
bool axisOverlap (const AABB< S > &other, int axis_id) const
 Check whether two AABB are overlapped along specific axis.
 
bool overlap (const AABB< S > &other, AABB< S > &overlap_part) const
 Check whether two AABB are overlap and return the overlap part.
 
bool contain (const Vector3< S > &p) const
 Check whether the AABB contains a point.
 
AABB< S > & operator+= (const Vector3< S > &p)
 Merge the AABB and a point.
 
AABB< S > & operator+= (const AABB< S > &other)
 Merge the AABB and another AABB.
 
AABB< S > operator+ (const AABB< S > &other) const
 Return the merged AABB of current AABB and the other one.
 
width () const
 Width of the AABB.
 
height () const
 Height of the AABB.
 
depth () const
 Depth of the AABB.
 
volume () const
 Volume of the AABB.
 
size () const
 Size of the AABB (used in BV_Splitter to order two AABBs)
 
radius () const
 Radius of the AABB.
 
Vector3< S > center () const
 Center of the AABB.
 
distance (const AABB< S > &other, Vector3< S > *P, Vector3< S > *Q) const
 Distance between two AABBs; P and Q, should not be nullptr, return the nearest points.
 
distance (const AABB< S > &other) const
 Distance between two AABBs.
 
bool equal (const AABB< S > &other) const
 whether two AABB are equal
 
AABB< S > & expand (const Vector3< S > &delta)
 expand the half size of the AABB by delta, and keep the center unchanged.
 
AABB< S > & expand (const AABB< S > &core, S ratio)
 expand the aabb by increase the thickness of the plate by a ratio
 

Public Attributes

Vector3< S > min_
 The min point in the AABB.
 
Vector3< S > max_
 The max point in the AABB.
 

Detailed Description

template<typename S_>
class fcl::AABB< S_ >

A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points.


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