Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ode/ode-0.9/OPCODE/OPC_Picking.h @ 216

Last change on this file since 216 was 216, checked in by mathiask, 16 years ago

[Physik] add ode-0.9

File size: 2.0 KB
Line 
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__
Note: See TracBrowser for help on using the repository browser.