123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- * OPCODE - Optimized Collision Detection
- * Copyright (C) 2001 Pierre Terdiman
- * Homepage: http://www.codercorner.com/Opcode.htm
- */
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /**
- * Contains code to perform "picking".
- * \file OPC_Picking.h
- * \author Pierre Terdiman
- * \date March, 20, 2001
- */
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Include Guard
- #ifndef __OPC_PICKING_H__
- #define __OPC_PICKING_H__
- #ifdef OPC_RAYHIT_CALLBACK
- enum CullMode
- {
- CULLMODE_NONE = 0,
- CULLMODE_CW = 1,
- CULLMODE_CCW = 2
- };
- typedef CullMode (*CullModeCallback)(udword triangle_index, void* user_data);
- OPCODE_API bool SetupAllHits (RayCollider& collider, CollisionFaces& contacts);
- OPCODE_API bool SetupClosestHit (RayCollider& collider, CollisionFace& closest_contact);
- OPCODE_API bool SetupShadowFeeler (RayCollider& collider);
- OPCODE_API bool SetupInOutTest (RayCollider& collider);
- OPCODE_API bool Picking(
- CollisionFace& picked_face,
- const Ray& world_ray, const Model& model, const Matrix4x4* world,
- float min_dist, float max_dist, const Point& view_point, CullModeCallback callback, void* user_data);
- #endif
- #endif //__OPC_PICKING_H__
|