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.
 
S width () const
 Width of the AABB.
 
S height () const
 Height of the AABB.
 
S depth () const
 Depth of the AABB.
 
S volume () const
 Volume of the AABB.
 
S size () const
 Size of the AABB (used in BV_Splitter to order two AABBs)
 
S radius () const
 Radius of the AABB.
 
Vector3< S > center () const
 Center of the AABB.
 
S 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.
 
S 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: