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 39 of file gim_tri_collision.cpp.

Member Function Documentation

◆ clip_triangle()

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 108 of file gim_tri_collision.cpp.

◆ compute_intervals()

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 62 of file gim_tri_collision.cpp.

◆ cross_line_intersection_test()

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 197 of file gim_tri_collision.cpp.

◆ sort_isect()

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

Definition at line 171 of file gim_tri_collision.cpp.

◆ triangle_collision()

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 311 of file gim_tri_collision.cpp.

Member Data Documentation

◆ closest_point_u

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::closest_point_u

Definition at line 47 of file gim_tri_collision.cpp.

◆ closest_point_v

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::closest_point_v

Definition at line 48 of file gim_tri_collision.cpp.

◆ contact_points

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::contact_points[MAX_TRI_CLIPPING]

Definition at line 59 of file gim_tri_collision.cpp.

◆ distances

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::distances

Definition at line 50 of file gim_tri_collision.cpp.

◆ du

GREAL GIM_TRIANGLE_CALCULATION_CACHE::du[4]

Definition at line 51 of file gim_tri_collision.cpp.

◆ du0du1

GREAL GIM_TRIANGLE_CALCULATION_CACHE::du0du1

Definition at line 52 of file gim_tri_collision.cpp.

◆ du0du2

GREAL GIM_TRIANGLE_CALCULATION_CACHE::du0du2

Definition at line 53 of file gim_tri_collision.cpp.

◆ dv

GREAL GIM_TRIANGLE_CALCULATION_CACHE::dv[4]

Definition at line 54 of file gim_tri_collision.cpp.

◆ dv0dv1

GREAL GIM_TRIANGLE_CALCULATION_CACHE::dv0dv1

Definition at line 55 of file gim_tri_collision.cpp.

◆ dv0dv2

GREAL GIM_TRIANGLE_CALCULATION_CACHE::dv0dv2

Definition at line 56 of file gim_tri_collision.cpp.

◆ edge_edge_dir

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::edge_edge_dir

Definition at line 49 of file gim_tri_collision.cpp.

◆ margin

GREAL GIM_TRIANGLE_CALCULATION_CACHE::margin

Definition at line 42 of file gim_tri_collision.cpp.

◆ temp_points

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::temp_points[MAX_TRI_CLIPPING]

Definition at line 57 of file gim_tri_collision.cpp.

◆ temp_points1

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::temp_points1[MAX_TRI_CLIPPING]

Definition at line 58 of file gim_tri_collision.cpp.

◆ tu_plane

btVector4 GIM_TRIANGLE_CALCULATION_CACHE::tu_plane

Definition at line 45 of file gim_tri_collision.cpp.

◆ tu_vertices

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::tu_vertices[3]

Definition at line 43 of file gim_tri_collision.cpp.

◆ tv_plane

btVector4 GIM_TRIANGLE_CALCULATION_CACHE::tv_plane

Definition at line 46 of file gim_tri_collision.cpp.

◆ tv_vertices

btVector3 GIM_TRIANGLE_CALCULATION_CACHE::tv_vertices[3]

Definition at line 44 of file gim_tri_collision.cpp.


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