Changed: Python bindings integer type size corrections to match platform pointer...
[ode.git] / OPCODE / OPC_Model.h
blob98dee560c3ff6f5d6479ef4546b17f05564abe34
1 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2 /*
3 * OPCODE - Optimized Collision Detection
4 * Copyright (C) 2001 Pierre Terdiman
5 * Homepage: http://www.codercorner.com/Opcode.htm
6 */
7 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
9 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
10 /**
11 * Contains code for OPCODE models.
12 * \file OPC_Model.h
13 * \author Pierre Terdiman
14 * \date March, 20, 2001
16 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
18 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
19 // Include Guard
20 #ifndef __OPC_MODEL_H__
21 #define __OPC_MODEL_H__
23 class OPCODE_API Model : public BaseModel
25 public:
26 // Constructor/Destructor
27 Model();
28 virtual ~Model();
30 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
31 /**
32 * Builds a collision model.
33 * \param create [in] model creation structure
34 * \return true if success
36 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
37 override(BaseModel) bool Build(const OPCODECREATE& create);
39 #ifdef __MESHMERIZER_H__
40 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
41 /**
42 * Gets the collision hull.
43 * \return the collision hull if it exists
45 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
46 inline_ const CollisionHull* GetHull() const { return mHull; }
47 #endif // __MESHMERIZER_H__
49 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
50 /**
51 * Gets the number of bytes used by the tree.
52 * \return amount of bytes used
54 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
55 override(BaseModel) udword GetUsedBytes() const;
57 private:
58 #ifdef __MESHMERIZER_H__
59 CollisionHull* mHull; //!< Possible convex hull
60 #endif // __MESHMERIZER_H__
61 // Internal methods
62 void Release();
65 #endif //__OPC_MODEL_H__