Public Member Functions | Public Attributes

GIM_TRIANGLE_CALCULATION_CACHE Class Reference

Collaboration diagram for GIM_TRIANGLE_CALCULATION_CACHE:
Collaboration graph
[legend]

List of all members.

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
GUINT clip_triangle (const btVector4 &tri_plane, const btVector3 *tripoints, const btVector3 *srcpoints, btVector3 *clip_points)
 clip triangle
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.
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

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

Definition at line 49 of file gim_tri_collision.cpp.

Definition at line 50 of file gim_tri_collision.cpp.

Definition at line 61 of file gim_tri_collision.cpp.

Definition at line 52 of file gim_tri_collision.cpp.

Definition at line 53 of file gim_tri_collision.cpp.

Definition at line 54 of file gim_tri_collision.cpp.

Definition at line 55 of file gim_tri_collision.cpp.

Definition at line 56 of file gim_tri_collision.cpp.

Definition at line 57 of file gim_tri_collision.cpp.

Definition at line 58 of file gim_tri_collision.cpp.

Definition at line 51 of file gim_tri_collision.cpp.

Definition at line 44 of file gim_tri_collision.cpp.

Definition at line 59 of file gim_tri_collision.cpp.

Definition at line 60 of file gim_tri_collision.cpp.

Definition at line 47 of file gim_tri_collision.cpp.

Definition at line 45 of file gim_tri_collision.cpp.

Definition at line 48 of file gim_tri_collision.cpp.

Definition at line 46 of file gim_tri_collision.cpp.


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