#include <OPC_BaseModel.h>
Public Member Functions | |
BaseModel () | |
virtual bool | Build (const OPCODECREATE &create)=0 |
inline_ const MeshInterface * | GetMeshInterface () const |
inline_ udword | GetModelCode () const |
inline_ udword | GetNbNodes () const |
inline_ const AABBTree * | GetSourceTree () const |
inline_ const AABBOptimizedTree * | GetTree () const |
inline_ AABBOptimizedTree * | GetTree () |
virtual udword | GetUsedBytes () const =0 |
inline_ BOOL | HasLeafNodes () const |
inline_ BOOL | HasSingleNode () const |
inline_ BOOL | IsQuantized () const |
virtual bool | Refit () |
inline_ void | SetMeshInterface (const MeshInterface *imesh) |
virtual | ~BaseModel () |
Protected Member Functions | |
bool | CreateTree (bool no_leaf, bool quantized) |
void | ReleaseBase () |
Protected Attributes | |
const MeshInterface * | mIMesh |
User-defined mesh interface. | |
udword | mModelCode |
Model code = combination of ModelFlag(s) | |
AABBTree * | mSource |
Original source tree. | |
AABBOptimizedTree * | mTree |
Optimized tree owned by the model. |
The base class for collision models.
Definition at line 50 of file OPC_BaseModel.h.
virtual BaseModel::~BaseModel | ( | ) | [virtual] |
virtual bool BaseModel::Build | ( | const OPCODECREATE & | create | ) | [pure virtual] |
Builds a collision model.
create | [in] model creation structure |
bool BaseModel::CreateTree | ( | bool | no_leaf, |
bool | quantized | ||
) | [protected] |
inline_ const MeshInterface* BaseModel::GetMeshInterface | ( | ) | const [inline] |
inline_ udword BaseModel::GetModelCode | ( | ) | const [inline] |
inline_ udword BaseModel::GetNbNodes | ( | ) | const [inline] |
Gets the number of nodes in the tree. Should be 2*N-1 for normal trees and N-1 for optimized ones.
Definition at line 115 of file OPC_BaseModel.h.
inline_ const AABBTree* BaseModel::GetSourceTree | ( | ) | const [inline] |
inline_ const AABBOptimizedTree* BaseModel::GetTree | ( | ) | const [inline] |
inline_ AABBOptimizedTree* BaseModel::GetTree | ( | ) | [inline] |
virtual udword BaseModel::GetUsedBytes | ( | ) | const [pure virtual] |
Gets the number of bytes used by the tree.
inline_ BOOL BaseModel::HasLeafNodes | ( | ) | const [inline] |
Checks whether the tree has leaf nodes or not.
Definition at line 123 of file OPC_BaseModel.h.
inline_ BOOL BaseModel::HasSingleNode | ( | ) | const [inline] |
Checks whether the model has a single node or not. This special case must be handled separately.
Definition at line 139 of file OPC_BaseModel.h.
inline_ BOOL BaseModel::IsQuantized | ( | ) | const [inline] |
Checks whether the tree is quantized or not.
Definition at line 131 of file OPC_BaseModel.h.
virtual bool BaseModel::Refit | ( | ) | [virtual] |
Refits the collision model. This can be used to handle dynamic meshes. Usage is: 1. modify your mesh vertices (keep the topology constant!) 2. refit the tree (call this method)
void BaseModel::ReleaseBase | ( | ) | [protected] |
inline_ void BaseModel::SetMeshInterface | ( | const MeshInterface * | imesh | ) | [inline] |
Sets the mesh interface.
imesh | [in] mesh interface |
Definition at line 163 of file OPC_BaseModel.h.
const MeshInterface* BaseModel::mIMesh [protected] |
User-defined mesh interface.
Definition at line 166 of file OPC_BaseModel.h.
udword BaseModel::mModelCode [protected] |
Model code = combination of ModelFlag(s)
Definition at line 167 of file OPC_BaseModel.h.
AABBTree* BaseModel::mSource [protected] |
Original source tree.
Definition at line 168 of file OPC_BaseModel.h.
AABBOptimizedTree* BaseModel::mTree [protected] |
Optimized tree owned by the model.
Definition at line 169 of file OPC_BaseModel.h.