Bullet Collision Detection & Physics Library
btAABB Class Reference

Axis aligned box. More...

#include <btBoxCollision.h>

Collaboration diagram for btAABB:

Public Member Functions

 btAABB ()
 
 btAABB (const btVector3 &V1, const btVector3 &V2, const btVector3 &V3)
 
 btAABB (const btVector3 &V1, const btVector3 &V2, const btVector3 &V3, btScalar margin)
 
 btAABB (const btAABB &other)
 
 btAABB (const btAABB &other, btScalar margin)
 
void invalidate ()
 
void increment_margin (btScalar margin)
 
void copy_with_margin (const btAABB &other, btScalar margin)
 
template<typename CLASS_POINT >
void calc_from_triangle (const CLASS_POINT &V1, const CLASS_POINT &V2, const CLASS_POINT &V3)
 
template<typename CLASS_POINT >
void calc_from_triangle_margin (const CLASS_POINT &V1, const CLASS_POINT &V2, const CLASS_POINT &V3, btScalar margin)
 
void appy_transform (const btTransform &trans)
 Apply a transform to an AABB.
 
void appy_transform_trans_cache (const BT_BOX_BOX_TRANSFORM_CACHE &trans)
 Apply a transform to an AABB.
 
void merge (const btAABB &box)
 Merges a Box.
 
template<typename CLASS_POINT >
void merge_point (const CLASS_POINT &point)
 Merges a point.
 
void get_center_extend (btVector3 &center, btVector3 &extend) const
 Gets the extend and center.
 
void find_intersection (const btAABB &other, btAABB &intersection) const
 Finds the intersecting box between this box and the other.
 
bool has_collision (const btAABB &other) const
 
bool collide_ray (const btVector3 &vorigin, const btVector3 &vdir) const
 Finds the Ray intersection parameter.
 
void projection_interval (const btVector3 &direction, btScalar &vmin, btScalar &vmax) const
 
eBT_PLANE_INTERSECTION_TYPE plane_classify (const btVector4 &plane) const
 
bool overlapping_trans_conservative (const btAABB &box, btTransform &trans1_to_0) const
 
bool overlapping_trans_conservative2 (const btAABB &box, const BT_BOX_BOX_TRANSFORM_CACHE &trans1_to_0) const
 
bool overlapping_trans_cache (const btAABB &box, const BT_BOX_BOX_TRANSFORM_CACHE &transcache, bool fulltest) const
 transcache is the transformation cache from box to this AABB
 
bool collide_plane (const btVector4 &plane) const
 Simple test for planes.
 
bool collide_triangle_exact (const btVector3 &p1, const btVector3 &p2, const btVector3 &p3, const btVector4 &triangle_plane) const
 test for a triangle, with edges
 

Public Attributes

btVector3 m_min
 
btVector3 m_max
 

Detailed Description

Axis aligned box.

Definition at line 214 of file btBoxCollision.h.

Constructor & Destructor Documentation

◆ btAABB() [1/5]

btAABB::btAABB ( )
inline

Definition at line 221 of file btBoxCollision.h.

◆ btAABB() [2/5]

btAABB::btAABB ( const btVector3 & V1,
const btVector3 & V2,
const btVector3 & V3 )
inline

Definition at line 225 of file btBoxCollision.h.

◆ btAABB() [3/5]

btAABB::btAABB ( const btVector3 & V1,
const btVector3 & V2,
const btVector3 & V3,
btScalar margin )
inline

Definition at line 240 of file btBoxCollision.h.

◆ btAABB() [4/5]

btAABB::btAABB ( const btAABB & other)
inline

Definition at line 263 of file btBoxCollision.h.

◆ btAABB() [5/5]

btAABB::btAABB ( const btAABB & other,
btScalar margin )
inline

Definition at line 267 of file btBoxCollision.h.

Member Function Documentation

◆ appy_transform()

void btAABB::appy_transform ( const btTransform & trans)
inline

Apply a transform to an AABB.

Definition at line 354 of file btBoxCollision.h.

◆ appy_transform_trans_cache()

void btAABB::appy_transform_trans_cache ( const BT_BOX_BOX_TRANSFORM_CACHE & trans)
inline

Apply a transform to an AABB.

Definition at line 370 of file btBoxCollision.h.

◆ calc_from_triangle()

template<typename CLASS_POINT >
void btAABB::calc_from_triangle ( const CLASS_POINT & V1,
const CLASS_POINT & V2,
const CLASS_POINT & V3 )
inline

Definition at line 313 of file btBoxCollision.h.

◆ calc_from_triangle_margin()

template<typename CLASS_POINT >
void btAABB::calc_from_triangle_margin ( const CLASS_POINT & V1,
const CLASS_POINT & V2,
const CLASS_POINT & V3,
btScalar margin )
inline

Definition at line 330 of file btBoxCollision.h.

◆ collide_plane()

bool btAABB::collide_plane ( const btVector4 & plane) const
inline

Simple test for planes.

Definition at line 566 of file btBoxCollision.h.

◆ collide_ray()

bool btAABB::collide_ray ( const btVector3 & vorigin,
const btVector3 & vdir ) const
inline

Finds the Ray intersection parameter.

Parameters
aabbAligned box
voriginA vec3f with the origin of the ray
vdirA vec3f with the direction of the ray

Definition at line 448 of file btBoxCollision.h.

◆ collide_triangle_exact()

bool btAABB::collide_triangle_exact ( const btVector3 & p1,
const btVector3 & p2,
const btVector3 & p3,
const btVector4 & triangle_plane ) const
inline

test for a triangle, with edges

Definition at line 574 of file btBoxCollision.h.

◆ copy_with_margin()

void btAABB::copy_with_margin ( const btAABB & other,
btScalar margin )
inline

Definition at line 299 of file btBoxCollision.h.

◆ find_intersection()

void btAABB::find_intersection ( const btAABB & other,
btAABB & intersection ) const
inline

Finds the intersecting box between this box and the other.

Definition at line 418 of file btBoxCollision.h.

◆ get_center_extend()

void btAABB::get_center_extend ( btVector3 & center,
btVector3 & extend ) const
inline

Gets the extend and center.

Definition at line 411 of file btBoxCollision.h.

◆ has_collision()

bool btAABB::has_collision ( const btAABB & other) const
inline

Definition at line 429 of file btBoxCollision.h.

◆ increment_margin()

void btAABB::increment_margin ( btScalar margin)
inline

Definition at line 289 of file btBoxCollision.h.

◆ invalidate()

void btAABB::invalidate ( )
inline

Definition at line 277 of file btBoxCollision.h.

◆ merge()

void btAABB::merge ( const btAABB & box)
inline

Merges a Box.

Definition at line 386 of file btBoxCollision.h.

◆ merge_point()

template<typename CLASS_POINT >
void btAABB::merge_point ( const CLASS_POINT & point)
inline

Merges a point.

Definition at line 399 of file btBoxCollision.h.

◆ overlapping_trans_cache()

bool btAABB::overlapping_trans_cache ( const btAABB & box,
const BT_BOX_BOX_TRANSFORM_CACHE & transcache,
bool fulltest ) const
inline

transcache is the transformation cache from box to this AABB

Definition at line 514 of file btBoxCollision.h.

◆ overlapping_trans_conservative()

bool btAABB::overlapping_trans_conservative ( const btAABB & box,
btTransform & trans1_to_0 ) const
inline

Definition at line 498 of file btBoxCollision.h.

◆ overlapping_trans_conservative2()

bool btAABB::overlapping_trans_conservative2 ( const btAABB & box,
const BT_BOX_BOX_TRANSFORM_CACHE & trans1_to_0 ) const
inline

Definition at line 505 of file btBoxCollision.h.

◆ plane_classify()

eBT_PLANE_INTERSECTION_TYPE btAABB::plane_classify ( const btVector4 & plane) const
inline

Definition at line 481 of file btBoxCollision.h.

◆ projection_interval()

void btAABB::projection_interval ( const btVector3 & direction,
btScalar & vmin,
btScalar & vmax ) const
inline

Definition at line 470 of file btBoxCollision.h.

Member Data Documentation

◆ m_max

btVector3 btAABB::m_max

Definition at line 219 of file btBoxCollision.h.

◆ m_min

btVector3 btAABB::m_min

Definition at line 218 of file btBoxCollision.h.


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