Bullet Collision Detection & Physics Library: GIM_TRIANGLE_CALCULATION_CACHE Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
GIM_TRIANGLE_CALCULATION_CACHE Class Reference
Collaboration diagram for GIM_TRIANGLE_CALCULATION_CACHE:
[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
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 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:

- gim_tri_collision.cpp