Public Types | Public Member Functions | Public Attributes | List of all members
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) More...
 
 AABB (const AABB< S > &core, const Vector3< S > &delta)
 Creating an AABB centered as core and is of half-dimension delta. More...
 
 AABB (const Vector3< S > &a, const Vector3< S > &b)
 Creating an AABB with two endpoints a and b. More...
 
 AABB (const Vector3< S > &a, const Vector3< S > &b, const Vector3< S > &c)
 Creating an AABB contains three points. More...
 
 AABB (const Vector3< S > &v)
 Creating an AABB at position v with zero size. More...
 
bool axisOverlap (const AABB< S > &other, int axis_id) const
 Check whether two AABB are overlapped along specific axis. More...
 
Vector3< Scenter () const
 Center of the AABB. More...
 
bool contain (const AABB< S > &other) const
 Check whether the AABB contains another AABB. More...
 
bool contain (const Vector3< S > &p) const
 Check whether the AABB contains a point. More...
 
S depth () const
 Depth of the AABB. More...
 
S distance (const AABB< S > &other) const
 Distance between two AABBs. More...
 
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. More...
 
bool equal (const AABB< S > &other) const
 whether two AABB are equal More...
 
AABB< S > & expand (const AABB< S > &core, S ratio)
 expand the aabb by increase the thickness of the plate by a ratio More...
 
AABB< S > & expand (const Vector3< S > &delta)
 expand the half size of the AABB by delta, and keep the center unchanged. More...
 
S height () const
 Height of the AABB. More...
 
AABB< Soperator+ (const AABB< S > &other) const
 Return the merged AABB of current AABB and the other one. More...
 
AABB< S > & operator+= (const AABB< S > &other)
 Merge the AABB and another AABB. More...
 
AABB< S > & operator+= (const Vector3< S > &p)
 Merge the AABB and a point. More...
 
bool overlap (const AABB< S > &other) const
 Check whether two AABB are overlap. More...
 
bool overlap (const AABB< S > &other, AABB< S > &overlap_part) const
 Check whether two AABB are overlap and return the overlap part. More...
 
S radius () const
 Radius of the AABB. More...
 
S size () const
 Size of the AABB (used in BV_Splitter to order two AABBs) More...
 
S volume () const
 Volume of the AABB. More...
 
S width () const
 Width of the AABB. More...
 

Public Attributes

Vector3< Smax_
 The max point in the AABB. More...
 
Vector3< Smin_
 The min point in the AABB. More...
 

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.

Definition at line 49 of file AABB.h.

Member Typedef Documentation

◆ S

template<typename S_ >
using fcl::AABB< S_ >::S = S_

Definition at line 53 of file AABB.h.

Constructor & Destructor Documentation

◆ AABB() [1/5]

template<typename S >
fcl::AABB< S >::AABB

Creating an AABB with zero size (low bound +inf, upper bound -inf)

Definition at line 52 of file AABB-inl.h.

◆ AABB() [2/5]

template<typename S >
fcl::AABB< S >::AABB ( const Vector3< S > &  v)

Creating an AABB at position v with zero size.

Definition at line 61 of file AABB-inl.h.

◆ AABB() [3/5]

template<typename S >
fcl::AABB< S >::AABB ( const Vector3< S > &  a,
const Vector3< S > &  b 
)

Creating an AABB with two endpoints a and b.

Definition at line 68 of file AABB-inl.h.

◆ AABB() [4/5]

template<typename S >
fcl::AABB< S >::AABB ( const AABB< S > &  core,
const Vector3< S > &  delta 
)

Creating an AABB centered as core and is of half-dimension delta.

Definition at line 77 of file AABB-inl.h.

◆ AABB() [5/5]

template<typename S >
fcl::AABB< S >::AABB ( const Vector3< S > &  a,
const Vector3< S > &  b,
const Vector3< S > &  c 
)

Creating an AABB contains three points.

Definition at line 86 of file AABB-inl.h.

Member Function Documentation

◆ axisOverlap()

template<typename S >
bool fcl::AABB< S >::axisOverlap ( const AABB< S > &  other,
int  axis_id 
) const

Check whether two AABB are overlapped along specific axis.

Definition at line 124 of file AABB-inl.h.

◆ center()

template<typename S >
Vector3< S > fcl::AABB< S >::center

Center of the AABB.

Definition at line 230 of file AABB-inl.h.

◆ contain() [1/2]

template<typename S >
bool fcl::AABB< S >::contain ( const AABB< S > &  other) const

Check whether the AABB contains another AABB.

Definition at line 111 of file AABB-inl.h.

◆ contain() [2/2]

template<typename S >
bool fcl::AABB< S >::contain ( const Vector3< S > &  p) const

Check whether the AABB contains a point.

Definition at line 149 of file AABB-inl.h.

◆ depth()

template<typename S >
S fcl::AABB< S >::depth

Depth of the AABB.

Definition at line 202 of file AABB-inl.h.

◆ distance() [1/2]

template<typename S >
S fcl::AABB< S >::distance ( const AABB< S > &  other) const

Distance between two AABBs.

Definition at line 292 of file AABB-inl.h.

◆ distance() [2/2]

template<typename S >
S fcl::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.

Definition at line 237 of file AABB-inl.h.

◆ equal()

template<typename S >
bool fcl::AABB< S >::equal ( const AABB< S > &  other) const

whether two AABB are equal

Definition at line 319 of file AABB-inl.h.

◆ expand() [1/2]

template<typename S >
AABB< S > & fcl::AABB< S >::expand ( const AABB< S > &  core,
S  ratio 
)

expand the aabb by increase the thickness of the plate by a ratio

Definition at line 336 of file AABB-inl.h.

◆ expand() [2/2]

template<typename S >
AABB< S > & fcl::AABB< S >::expand ( const Vector3< S > &  delta)

expand the half size of the AABB by delta, and keep the center unchanged.

Definition at line 327 of file AABB-inl.h.

◆ height()

template<typename S >
S fcl::AABB< S >::height

Height of the AABB.

Definition at line 195 of file AABB-inl.h.

◆ operator+()

template<typename S >
AABB< S > fcl::AABB< S >::operator+ ( const AABB< S > &  other) const

Return the merged AABB of current AABB and the other one.

Definition at line 180 of file AABB-inl.h.

◆ operator+=() [1/2]

template<typename S >
AABB< S > & fcl::AABB< S >::operator+= ( const AABB< S > &  other)

Merge the AABB and another AABB.

Definition at line 171 of file AABB-inl.h.

◆ operator+=() [2/2]

template<typename S >
AABB< S > & fcl::AABB< S >::operator+= ( const Vector3< S > &  p)

Merge the AABB and a point.

Definition at line 162 of file AABB-inl.h.

◆ overlap() [1/2]

template<typename S >
bool fcl::AABB< S >::overlap ( const AABB< S > &  other) const

Check whether two AABB are overlap.

Definition at line 98 of file AABB-inl.h.

◆ overlap() [2/2]

template<typename S >
bool fcl::AABB< S >::overlap ( const AABB< S > &  other,
AABB< S > &  overlap_part 
) const

Check whether two AABB are overlap and return the overlap part.

Definition at line 135 of file AABB-inl.h.

◆ radius()

template<typename S >
S fcl::AABB< S >::radius

Radius of the AABB.

Definition at line 223 of file AABB-inl.h.

◆ size()

template<typename S >
S fcl::AABB< S >::size

Size of the AABB (used in BV_Splitter to order two AABBs)

Definition at line 216 of file AABB-inl.h.

◆ volume()

template<typename S >
S fcl::AABB< S >::volume

Volume of the AABB.

Definition at line 209 of file AABB-inl.h.

◆ width()

template<typename S >
S fcl::AABB< S >::width

Width of the AABB.

Definition at line 188 of file AABB-inl.h.

Member Data Documentation

◆ max_

template<typename S_ >
Vector3<S> fcl::AABB< S_ >::max_

The max point in the AABB.

Definition at line 59 of file AABB.h.

◆ min_

template<typename S_ >
Vector3<S> fcl::AABB< S_ >::min_

The min point in the AABB.

Definition at line 56 of file AABB.h.


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


fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:50