aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ode-0.9/OPCODE/OPC_Picking.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/ode-0.9/OPCODE/OPC_Picking.h')
-rw-r--r--libraries/ode-0.9/OPCODE/OPC_Picking.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/libraries/ode-0.9/OPCODE/OPC_Picking.h b/libraries/ode-0.9/OPCODE/OPC_Picking.h
new file mode 100644
index 0000000..d22fa38
--- /dev/null
+++ b/libraries/ode-0.9/OPCODE/OPC_Picking.h
@@ -0,0 +1,45 @@
1///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2/*
3 * OPCODE - Optimized Collision Detection
4 * Copyright (C) 2001 Pierre Terdiman
5 * Homepage: http://www.codercorner.com/Opcode.htm
6 */
7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
8
9///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
10/**
11 * Contains code to perform "picking".
12 * \file OPC_Picking.h
13 * \author Pierre Terdiman
14 * \date March, 20, 2001
15 */
16///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
17
18///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
19// Include Guard
20#ifndef __OPC_PICKING_H__
21#define __OPC_PICKING_H__
22
23#ifdef OPC_RAYHIT_CALLBACK
24
25 enum CullMode
26 {
27 CULLMODE_NONE = 0,
28 CULLMODE_CW = 1,
29 CULLMODE_CCW = 2
30 };
31
32 typedef CullMode (*CullModeCallback)(udword triangle_index, void* user_data);
33
34 OPCODE_API bool SetupAllHits (RayCollider& collider, CollisionFaces& contacts);
35 OPCODE_API bool SetupClosestHit (RayCollider& collider, CollisionFace& closest_contact);
36 OPCODE_API bool SetupShadowFeeler (RayCollider& collider);
37 OPCODE_API bool SetupInOutTest (RayCollider& collider);
38
39 OPCODE_API bool Picking(
40 CollisionFace& picked_face,
41 const Ray& world_ray, const Model& model, const Matrix4x4* world,
42 float min_dist, float max_dist, const Point& view_point, CullModeCallback callback, void* user_data);
43#endif
44
45#endif //__OPC_PICKING_H__