Bullet Collision Detection & Physics Library
Public Member Functions | Public Attributes | List of all members
GIM_TRIANGLE_CALCULATION_CACHE Class Reference
Collaboration diagram for GIM_TRIANGLE_CALCULATION_CACHE:
Collaboration graph
[legend]

Public Member Functions

bool compute_intervals (const GREAL &D0, const GREAL &D1, const GREAL &D2, const GREAL &D0D1, const GREAL &D0D2, GREAL &scale_edge0, GREAL &scale_edge1, GUINT &edge_index0, GUINT &edge_index1)
 if returns false, the faces are paralele More...
 
GUINT clip_triangle (const btVector4 &tri_plane, const btVector3 *tripoints, const btVector3 *srcpoints, btVector3 *clip_points)
 clip triangle More...
 
void sort_isect (GREAL &isect0, GREAL &isect1, GUINT &e0, GUINT &e1, btVector3 &vec0, btVector3 &vec1)
 
GUINT cross_line_intersection_test ()
 Test verifying interval intersection with the direction between planes. More...
 
bool triangle_collision (const btVector3 &u0, const btVector3 &u1, const btVector3 &u2, GREAL margin_u, const btVector3 &v0, const btVector3 &v1, const btVector3 &v2, GREAL margin_v, GIM_TRIANGLE_CONTACT_DATA &contacts)
 collides by two sides More...
 

Public Attributes

GREAL margin
 
btVector3 tu_vertices [3]
 
btVector3 tv_vertices [3]
 
btVector4 tu_plane
 
btVector4 tv_plane
 
btVector3 closest_point_u
 
btVector3 closest_point_v
 
btVector3 edge_edge_dir
 
btVector3 distances
 
GREAL du [4]
 
GREAL du0du1
 
GREAL du0du2
 
GREAL dv [4]
 
GREAL dv0dv1
 
GREAL dv0dv2
 
btVector3 temp_points [MAX_TRI_CLIPPING]
 
btVector3 temp_points1 [MAX_TRI_CLIPPING]
 
btVector3 contact_points [MAX_TRI_CLIPPING]
 

Detailed Description

Definition at line 41 of file gim_tri_collision.cpp.

Member Function Documentation

GUINT GIM_TRIANGLE_CALCULATION_CACHE::clip_triangle ( const btVector4 tri_plane,
const btVector3 tripoints,
const btVector3 srcpoints,
btVector3 clip_points 
)
inline

clip triangle

Definition at line 110 of file gim_tri_collision.cpp.

bool GIM_TRIANGLE_CALCULATION_CACHE::compute_intervals ( const GREAL D0,
const GREAL D1,
const GREAL D2,
const GREAL D0D1,
const GREAL D0D2,
GREAL scale_edge0,
GREAL scale_edge1,
GUINT edge_index0,
GUINT edge_index1 
)
inline

if returns false, the faces are paralele

Definition at line 66 of file gim_tri_collision.cpp.

GUINT GIM_TRIANGLE_CALCULATION_CACHE::cross_line_intersection_test ( )
inline

Test verifying interval intersection with the direction between planes.

Precondition
tv_plane and tu_plane must be set
Postcondition
distances[2] is set with the distance closest_point_u, closest_point_v, edge_edge_dir are set too
Returns
  • 0: faces are paralele
  • 1: face U casts face V
  • 2: face V casts face U
  • 3: nearest edges

Definition at line 200 of file gim_tri_collision.cpp.

void GIM_TRIANGLE_CALCULATION_CACHE::sort_isect ( GREAL isect0,
GREAL isect1,
GUINT e0,
GUINT e1,
btVector3 vec0,
btVector3 vec1 
)
inline

Definition at line 174 of file gim_tri_collision.cpp.

bool GIM_TRIANGLE_CALCULATION_CACHE::triangle_collision ( const btVector3 u0,
const btVector3 u1,
const btVector3 u2,
GREAL  margin_u,
const btVector3 v0,
const btVector3 v1,
const btVector3 v2,
GREAL  margin_v,
GIM_TRIANGLE_CONTACT_DATA contacts 
)
inline

collides by two sides

Definition at line 317 of file gim_tri_collision.cpp.

Member Data Documentation

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::closest_point_u

Definition at line 49 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::closest_point_v

Definition at line 50 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::contact_points[MAX_TRI_CLIPPING]

Definition at line 61 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::distances

Definition at line 52 of file gim_tri_collision.cpp.

GREAL GIM_TRIANGLE_CALCULATION_CACHE::du[4]

Definition at line 53 of file gim_tri_collision.cpp.

GREAL GIM_TRIANGLE_CALCULATION_CACHE::du0du1

Definition at line 54 of file gim_tri_collision.cpp.

GREAL GIM_TRIANGLE_CALCULATION_CACHE::du0du2

Definition at line 55 of file gim_tri_collision.cpp.

GREAL GIM_TRIANGLE_CALCULATION_CACHE::dv[4]

Definition at line 56 of file gim_tri_collision.cpp.

GREAL GIM_TRIANGLE_CALCULATION_CACHE::dv0dv1

Definition at line 57 of file gim_tri_collision.cpp.

GREAL GIM_TRIANGLE_CALCULATION_CACHE::dv0dv2

Definition at line 58 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::edge_edge_dir

Definition at line 51 of file gim_tri_collision.cpp.

GREAL GIM_TRIANGLE_CALCULATION_CACHE::margin

Definition at line 44 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::temp_points[MAX_TRI_CLIPPING]

Definition at line 59 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::temp_points1[MAX_TRI_CLIPPING]

Definition at line 60 of file gim_tri_collision.cpp.

btVector4 GIM_TRIANGLE_CALCULATION_CACHE::tu_plane

Definition at line 47 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::tu_vertices[3]

Definition at line 45 of file gim_tri_collision.cpp.

btVector4 GIM_TRIANGLE_CALCULATION_CACHE::tv_plane

Definition at line 48 of file gim_tri_collision.cpp.

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::tv_vertices[3]

Definition at line 46 of file gim_tri_collision.cpp.


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