diff options
Diffstat (limited to 'libraries/ode-0.9/OPCODE/OPC_Picking.h')
-rw-r--r-- | libraries/ode-0.9/OPCODE/OPC_Picking.h | 45 |
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__ | ||