Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BaseModel Class Referenceabstract

#include <OPC_BaseModel.h>

Inheritance diagram for BaseModel:
Inheritance graph
[legend]

Public Member Functions

 BaseModel ()
 
virtual bool Build (const OPCODECREATE &create)=0
 
inline_ const MeshInterfaceGetMeshInterface () const
 
inline_ udword GetModelCode () const
 
inline_ udword GetNbNodes () const
 
inline_ const AABBTreeGetSourceTree () const
 
inline_ const AABBOptimizedTreeGetTree () const
 
inline_ AABBOptimizedTreeGetTree ()
 
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 MeshInterfacemIMesh
 User-defined mesh interface. More...
 
udword mModelCode
 Model code = combination of ModelFlag(s) More...
 
AABBTreemSource
 Original source tree. More...
 
AABBOptimizedTreemTree
 Optimized tree owned by the model. More...
 

Detailed Description

The base class for collision models.

Author
Pierre Terdiman
Version
1.3
Date
May, 18, 2003

Definition at line 50 of file OPC_BaseModel.h.

Constructor & Destructor Documentation

◆ BaseModel()

BaseModel::BaseModel ( )

◆ ~BaseModel()

virtual BaseModel::~BaseModel ( )
virtual

Member Function Documentation

◆ Build()

virtual bool BaseModel::Build ( const OPCODECREATE create)
pure virtual

Builds a collision model.

Parameters
create[in] model creation structure
Returns
true if success

◆ CreateTree()

bool BaseModel::CreateTree ( bool  no_leaf,
bool  quantized 
)
protected

◆ GetMeshInterface()

inline_ const MeshInterface* BaseModel::GetMeshInterface ( ) const
inline

Gets the mesh interface.

Returns
mesh interface

Definition at line 155 of file OPC_BaseModel.h.

◆ GetModelCode()

inline_ udword BaseModel::GetModelCode ( ) const
inline

Gets the model's code.

Returns
model's code

Definition at line 147 of file OPC_BaseModel.h.

◆ GetNbNodes()

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.

Returns
number of nodes

Definition at line 115 of file OPC_BaseModel.h.

◆ GetSourceTree()

inline_ const AABBTree* BaseModel::GetSourceTree ( ) const
inline

Gets the source tree.

Returns
generic tree

Definition at line 90 of file OPC_BaseModel.h.

◆ GetTree() [1/2]

inline_ const AABBOptimizedTree* BaseModel::GetTree ( ) const
inline

Gets the tree.

Returns
the collision tree

Definition at line 98 of file OPC_BaseModel.h.

◆ GetTree() [2/2]

inline_ AABBOptimizedTree* BaseModel::GetTree ( )
inline

Gets the tree.

Returns
the collision tree

Definition at line 106 of file OPC_BaseModel.h.

◆ GetUsedBytes()

virtual udword BaseModel::GetUsedBytes ( ) const
pure virtual

Gets the number of bytes used by the tree.

Returns
amount of bytes used

◆ HasLeafNodes()

inline_ BOOL BaseModel::HasLeafNodes ( ) const
inline

Checks whether the tree has leaf nodes or not.

Returns
true if the tree has leaf nodes (normal tree), else false (optimized tree)

Definition at line 123 of file OPC_BaseModel.h.

◆ HasSingleNode()

inline_ BOOL BaseModel::HasSingleNode ( ) const
inline

Checks whether the model has a single node or not. This special case must be handled separately.

Returns
true if the model has only 1 node

Definition at line 139 of file OPC_BaseModel.h.

◆ IsQuantized()

inline_ BOOL BaseModel::IsQuantized ( ) const
inline

Checks whether the tree is quantized or not.

Returns
true if the tree is quantized

Definition at line 131 of file OPC_BaseModel.h.

◆ Refit()

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)
    Returns
    true if success

◆ ReleaseBase()

void BaseModel::ReleaseBase ( )
protected

◆ SetMeshInterface()

inline_ void BaseModel::SetMeshInterface ( const MeshInterface imesh)
inline

Sets the mesh interface.

Parameters
imesh[in] mesh interface

Definition at line 163 of file OPC_BaseModel.h.

Member Data Documentation

◆ mIMesh

const MeshInterface* BaseModel::mIMesh
protected

User-defined mesh interface.

Definition at line 166 of file OPC_BaseModel.h.

◆ mModelCode

udword BaseModel::mModelCode
protected

Model code = combination of ModelFlag(s)

Definition at line 167 of file OPC_BaseModel.h.

◆ mSource

AABBTree* BaseModel::mSource
protected

Original source tree.

Definition at line 168 of file OPC_BaseModel.h.

◆ mTree

AABBOptimizedTree* BaseModel::mTree
protected

Optimized tree owned by the model.

Definition at line 169 of file OPC_BaseModel.h.


The documentation for this class was generated from the following file:


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Sep 8 2022 02:24:06