Bullet Collision Detection & Physics Library
Public Member Functions | Public Attributes | List of all members
GIM_AABB Class Reference

Axis aligned box. More...

#include <gim_box_collision.h>

Collaboration diagram for GIM_AABB:
Collaboration graph
[legend]

Public Member Functions

 GIM_AABB ()
 
 GIM_AABB (const btVector3 &V1, const btVector3 &V2, const btVector3 &V3)
 
 GIM_AABB (const btVector3 &V1, const btVector3 &V2, const btVector3 &V3, GREAL margin)
 
 GIM_AABB (const GIM_AABB &other)
 
 GIM_AABB (const GIM_AABB &other, btScalar margin)
 
void invalidate ()
 
void increment_margin (btScalar margin)
 
void copy_with_margin (const GIM_AABB &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. More...
 
void merge (const GIM_AABB &box)
 Merges a Box. More...
 
template<typename CLASS_POINT >
void merge_point (const CLASS_POINT &point)
 Merges a point. More...
 
void get_center_extend (btVector3 &center, btVector3 &extend) const
 Gets the extend and center. More...
 
void find_intersection (const GIM_AABB &other, GIM_AABB &intersection) const
 Finds the intersecting box between this box and the other. More...
 
bool has_collision (const GIM_AABB &other) const
 
bool collide_ray (const btVector3 &vorigin, const btVector3 &vdir)
 Finds the Ray intersection parameter. More...
 
void projection_interval (const btVector3 &direction, btScalar &vmin, btScalar &vmax) const
 
ePLANE_INTERSECTION_TYPE plane_classify (const btVector4 &plane) const
 
bool overlapping_trans_conservative (const GIM_AABB &box, btTransform &trans1_to_0)
 
bool overlapping_trans_cache (const GIM_AABB &box, const GIM_BOX_BOX_TRANSFORM_CACHE &transcache, bool fulltest)
 transcache is the transformation cache from box to this AABB More...
 
bool collide_plane (const btVector4 &plane)
 Simple test for planes. More...
 
bool collide_triangle_exact (const btVector3 &p1, const btVector3 &p2, const btVector3 &p3, const btVector4 &triangle_plane)
 test for a triangle, with edges More...
 

Public Attributes

btVector3 m_min
 
btVector3 m_max
 

Detailed Description

Axis aligned box.

Definition at line 195 of file gim_box_collision.h.

Constructor & Destructor Documentation

◆ GIM_AABB() [1/5]

GIM_AABB::GIM_AABB ( )
inline

Definition at line 201 of file gim_box_collision.h.

◆ GIM_AABB() [2/5]

GIM_AABB::GIM_AABB ( const btVector3 V1,
const btVector3 V2,
const btVector3 V3 
)
inline

Definition at line 205 of file gim_box_collision.h.

◆ GIM_AABB() [3/5]

GIM_AABB::GIM_AABB ( const btVector3 V1,
const btVector3 V2,
const btVector3 V3,
GREAL  margin 
)
inline

Definition at line 218 of file gim_box_collision.h.

◆ GIM_AABB() [4/5]

GIM_AABB::GIM_AABB ( const GIM_AABB other)
inline

Definition at line 239 of file gim_box_collision.h.

◆ GIM_AABB() [5/5]

GIM_AABB::GIM_AABB ( const GIM_AABB other,
btScalar  margin 
)
inline

Definition at line 243 of file gim_box_collision.h.

Member Function Documentation

◆ appy_transform()

void GIM_AABB::appy_transform ( const btTransform trans)
inline

Apply a transform to an AABB.

Definition at line 322 of file gim_box_collision.h.

◆ calc_from_triangle()

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

Definition at line 285 of file gim_box_collision.h.

◆ calc_from_triangle_margin()

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

Definition at line 300 of file gim_box_collision.h.

◆ collide_plane()

bool GIM_AABB::collide_plane ( const btVector4 plane)
inline

Simple test for planes.

Definition at line 510 of file gim_box_collision.h.

◆ collide_ray()

bool GIM_AABB::collide_ray ( const btVector3 vorigin,
const btVector3 vdir 
)
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 400 of file gim_box_collision.h.

◆ collide_triangle_exact()

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

test for a triangle, with edges

Definition at line 518 of file gim_box_collision.h.

◆ copy_with_margin()

void GIM_AABB::copy_with_margin ( const GIM_AABB other,
btScalar  margin 
)
inline

Definition at line 273 of file gim_box_collision.h.

◆ find_intersection()

void GIM_AABB::find_intersection ( const GIM_AABB other,
GIM_AABB intersection 
) const
inline

Finds the intersecting box between this box and the other.

Definition at line 370 of file gim_box_collision.h.

◆ get_center_extend()

void GIM_AABB::get_center_extend ( btVector3 center,
btVector3 extend 
) const
inline

Gets the extend and center.

Definition at line 363 of file gim_box_collision.h.

◆ has_collision()

bool GIM_AABB::has_collision ( const GIM_AABB other) const
inline

Definition at line 381 of file gim_box_collision.h.

◆ increment_margin()

void GIM_AABB::increment_margin ( btScalar  margin)
inline

Definition at line 263 of file gim_box_collision.h.

◆ invalidate()

void GIM_AABB::invalidate ( )
inline

Definition at line 253 of file gim_box_collision.h.

◆ merge()

void GIM_AABB::merge ( const GIM_AABB box)
inline

Merges a Box.

Definition at line 338 of file gim_box_collision.h.

◆ merge_point()

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

Merges a point.

Definition at line 351 of file gim_box_collision.h.

◆ overlapping_trans_cache()

bool GIM_AABB::overlapping_trans_cache ( const GIM_AABB box,
const GIM_BOX_BOX_TRANSFORM_CACHE transcache,
bool  fulltest 
)
inline

transcache is the transformation cache from box to this AABB

Definition at line 458 of file gim_box_collision.h.

◆ overlapping_trans_conservative()

bool GIM_AABB::overlapping_trans_conservative ( const GIM_AABB box,
btTransform trans1_to_0 
)
inline

Definition at line 450 of file gim_box_collision.h.

◆ plane_classify()

ePLANE_INTERSECTION_TYPE GIM_AABB::plane_classify ( const btVector4 plane) const
inline

Definition at line 433 of file gim_box_collision.h.

◆ projection_interval()

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

Definition at line 422 of file gim_box_collision.h.

Member Data Documentation

◆ m_max

btVector3 GIM_AABB::m_max

Definition at line 199 of file gim_box_collision.h.

◆ m_min

btVector3 GIM_AABB::m_min

Definition at line 198 of file gim_box_collision.h.


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