Axis aligned box. More...
#include <gim_box_collision.h>
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 ¢er, 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 |
Axis aligned box.
Definition at line 197 of file gim_box_collision.h.
GIM_AABB::GIM_AABB | ( | ) | [inline] |
Definition at line 203 of file gim_box_collision.h.
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.
Definition at line 246 of file gim_box_collision.h.
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.
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.
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.
Finds the Ray intersection parameter.
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.
Definition at line 277 of file gim_box_collision.h.
Finds the intersecting box between this box and the other.
Definition at line 374 of file gim_box_collision.h.
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.
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.
Definition at line 201 of file gim_box_collision.h.
Definition at line 200 of file gim_box_collision.h.