#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) | |
SIMD_FORCE_INLINE void | invalidate () |
SIMD_FORCE_INLINE void | increment_margin (btScalar margin) |
SIMD_FORCE_INLINE void | copy_with_margin (const GIM_AABB &other, btScalar margin) |
template<typename CLASS_POINT> | |
SIMD_FORCE_INLINE void | calc_from_triangle (const CLASS_POINT &V1, const CLASS_POINT &V2, const CLASS_POINT &V3) |
template<typename CLASS_POINT> | |
SIMD_FORCE_INLINE void | calc_from_triangle_margin (const CLASS_POINT &V1, const CLASS_POINT &V2, const CLASS_POINT &V3, btScalar margin) |
SIMD_FORCE_INLINE void | appy_transform (const btTransform &trans) |
Apply a transform to an AABB. | |
SIMD_FORCE_INLINE void | merge (const GIM_AABB &box) |
Merges a Box. | |
template<typename CLASS_POINT> | |
SIMD_FORCE_INLINE void | merge_point (const CLASS_POINT &point) |
Merges a point. | |
SIMD_FORCE_INLINE void | get_center_extend (btVector3 ¢er, btVector3 &extend) const |
Gets the extend and center. | |
SIMD_FORCE_INLINE void | find_intersection (const GIM_AABB &other, GIM_AABB &intersection) const |
Finds the intersecting box between this box and the other. | |
SIMD_FORCE_INLINE bool | has_collision (const GIM_AABB &other) const |
SIMD_FORCE_INLINE bool | collide_ray (const btVector3 &vorigin, const btVector3 &vdir) |
Finds the Ray intersection parameter. | |
SIMD_FORCE_INLINE void | projection_interval (const btVector3 &direction, btScalar &vmin, btScalar &vmax) const |
SIMD_FORCE_INLINE ePLANE_INTERSECTION_TYPE | plane_classify (const btVector4 &plane) const |
SIMD_FORCE_INLINE bool | overlapping_trans_conservative (const GIM_AABB &box, btTransform &trans1_to_0) |
SIMD_FORCE_INLINE 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 | |
SIMD_FORCE_INLINE bool | collide_plane (const btVector4 &plane) |
Simple test for planes. | |
SIMD_FORCE_INLINE 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 |
GIM_AABB::GIM_AABB | ( | ) | [inline] |
GIM_AABB::GIM_AABB | ( | const btVector3 & | V1, | |
const btVector3 & | V2, | |||
const btVector3 & | V3 | |||
) | [inline] |
GIM_AABB::GIM_AABB | ( | const btVector3 & | V1, | |
const btVector3 & | V2, | |||
const btVector3 & | V3, | |||
GREAL | margin | |||
) | [inline] |
GIM_AABB::GIM_AABB | ( | const GIM_AABB & | other | ) | [inline] |
GIM_AABB::GIM_AABB | ( | const GIM_AABB & | other, | |
btScalar | margin | |||
) | [inline] |
SIMD_FORCE_INLINE void GIM_AABB::invalidate | ( | ) | [inline] |
SIMD_FORCE_INLINE void GIM_AABB::increment_margin | ( | btScalar | margin | ) | [inline] |
SIMD_FORCE_INLINE void GIM_AABB::copy_with_margin | ( | const GIM_AABB & | other, | |
btScalar | margin | |||
) | [inline] |
SIMD_FORCE_INLINE void GIM_AABB::calc_from_triangle | ( | const CLASS_POINT & | V1, | |
const CLASS_POINT & | V2, | |||
const CLASS_POINT & | V3 | |||
) | [inline] |
SIMD_FORCE_INLINE void GIM_AABB::calc_from_triangle_margin | ( | const CLASS_POINT & | V1, | |
const CLASS_POINT & | V2, | |||
const CLASS_POINT & | V3, | |||
btScalar | margin | |||
) | [inline] |
SIMD_FORCE_INLINE void GIM_AABB::appy_transform | ( | const btTransform & | trans | ) | [inline] |
Apply a transform to an AABB.
SIMD_FORCE_INLINE void GIM_AABB::merge | ( | const GIM_AABB & | box | ) | [inline] |
Merges a Box.
SIMD_FORCE_INLINE void GIM_AABB::merge_point | ( | const CLASS_POINT & | point | ) | [inline] |
Merges a point.
SIMD_FORCE_INLINE void GIM_AABB::get_center_extend | ( | btVector3 & | center, | |
btVector3 & | extend | |||
) | const [inline] |
Gets the extend and center.
SIMD_FORCE_INLINE void GIM_AABB::find_intersection | ( | const GIM_AABB & | other, | |
GIM_AABB & | intersection | |||
) | const [inline] |
Finds the intersecting box between this box and the other.
SIMD_FORCE_INLINE bool GIM_AABB::has_collision | ( | const GIM_AABB & | other | ) | const [inline] |
SIMD_FORCE_INLINE bool GIM_AABB::collide_ray | ( | const btVector3 & | vorigin, | |
const btVector3 & | vdir | |||
) | [inline] |
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 |
SIMD_FORCE_INLINE void GIM_AABB::projection_interval | ( | const btVector3 & | direction, | |
btScalar & | vmin, | |||
btScalar & | vmax | |||
) | const [inline] |
SIMD_FORCE_INLINE ePLANE_INTERSECTION_TYPE GIM_AABB::plane_classify | ( | const btVector4 & | plane | ) | const [inline] |
SIMD_FORCE_INLINE bool GIM_AABB::overlapping_trans_conservative | ( | const GIM_AABB & | box, | |
btTransform & | trans1_to_0 | |||
) | [inline] |
SIMD_FORCE_INLINE 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
SIMD_FORCE_INLINE bool GIM_AABB::collide_plane | ( | const btVector4 & | plane | ) | [inline] |
Simple test for planes.
SIMD_FORCE_INLINE 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
btVector3 GIM_AABB::m_min |
btVector3 GIM_AABB::m_max |