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 for OPCODE models. 12 * \file OPC_Model.h 13 * \author Pierre Terdiman 14 * \date March, 20, 2001 15 */ 16 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 17 18 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 19 // Include Guard 20 #ifndef __OPC_MODEL_H__ 21 #define __OPC_MODEL_H__ 22 23 class OPCODE_API Model : public BaseModel 24 { 25 public: 26 // Constructor/Destructor 27 Model(); 28 virtual ~Model(); 29 30 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 31 /** 32 * Builds a collision model. 33 * \param create [in] model creation structure 34 * \return true if success 35 */ 36 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 37 override(BaseModel) bool Build(const OPCODECREATE& create); 38 39 #ifdef __MESHMERIZER_H__ 40 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 41 /** 42 * Gets the collision hull. 43 * \return the collision hull if it exists 44 */ 45 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// GetHull()46 inline_ const CollisionHull* GetHull() const { return mHull; } 47 #endif // __MESHMERIZER_H__ 48 49 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 50 /** 51 * Gets the number of bytes used by the tree. 52 * \return amount of bytes used 53 */ 54 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 55 override(BaseModel) udword GetUsedBytes() const; 56 57 private: 58 #ifdef __MESHMERIZER_H__ 59 CollisionHull* mHull; //!< Possible convex hull 60 #endif // __MESHMERIZER_H__ 61 // Internal methods 62 void Release(); 63 }; 64 65 #endif //__OPC_MODEL_H__ 66