Public Member Functions | Public Attributes

GIM_AABB Class Reference

Axis aligned box. More...

#include <gim_box_collision.h>

Collaboration diagram for GIM_AABB:
Collaboration graph
[legend]

List of all members.

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.
void merge (const GIM_AABB &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 GIM_AABB &other, GIM_AABB &intersection) const
 Finds the intersecting box between this box and the other.
bool has_collision (const GIM_AABB &other) const
bool collide_ray (const btVector3 &vorigin, const btVector3 &vdir)
 Finds the Ray intersection parameter.
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
bool collide_plane (const btVector4 &plane)
 Simple test for planes.
bool collide_triangle_exact (const btVector3 &p1, const btVector3 &p2, const btVector3 &p3, const btVector4 &triangle_plane)
 test for a triangle, with edges

Public Attributes

btVector3 m_min
btVector3 m_max

Detailed Description

Axis aligned box.

Definition at line 197 of file gim_box_collision.h.


Constructor & Destructor Documentation

GIM_AABB::GIM_AABB (  )  [inline]

Definition at line 203 of file gim_box_collision.h.

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

Definition at line 207 of file gim_box_collision.h.

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

Definition at line 220 of file gim_box_collision.h.

GIM_AABB::GIM_AABB ( const GIM_AABB other  )  [inline]

Definition at line 241 of file gim_box_collision.h.

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

Definition at line 246 of file gim_box_collision.h.


Member Function Documentation

void GIM_AABB::appy_transform ( const btTransform trans  )  [inline]

Apply a transform to an AABB.

Definition at line 326 of file gim_box_collision.h.

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 289 of file gim_box_collision.h.

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 304 of file gim_box_collision.h.

bool GIM_AABB::collide_plane ( const btVector4 plane  )  [inline]

Simple test for planes.

Definition at line 518 of file gim_box_collision.h.

bool GIM_AABB::collide_ray ( const btVector3 vorigin,
const btVector3 vdir 
) [inline]

Finds the Ray intersection parameter.

Parameters:
aabb Aligned box
vorigin A vec3f with the origin of the ray
vdir A vec3f with the direction of the ray

Definition at line 405 of file gim_box_collision.h.

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 526 of file gim_box_collision.h.

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

Definition at line 277 of file gim_box_collision.h.

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 374 of file gim_box_collision.h.

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

Gets the extend and center.

Definition at line 367 of file gim_box_collision.h.

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

Definition at line 386 of file gim_box_collision.h.

void GIM_AABB::increment_margin ( btScalar  margin  )  [inline]

Definition at line 267 of file gim_box_collision.h.

void GIM_AABB::invalidate (  )  [inline]

Definition at line 257 of file gim_box_collision.h.

void GIM_AABB::merge ( const GIM_AABB box  )  [inline]

Merges a Box.

Definition at line 342 of file gim_box_collision.h.

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

Merges a point.

Definition at line 355 of file gim_box_collision.h.

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 464 of file gim_box_collision.h.

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

Definition at line 456 of file gim_box_collision.h.

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

Definition at line 439 of file gim_box_collision.h.

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

Definition at line 428 of file gim_box_collision.h.


Member Data Documentation

Definition at line 201 of file gim_box_collision.h.

Definition at line 200 of file gim_box_collision.h.


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