![]() |
Bullet Physics 3D Block Toy
|
The object manager. More...
#include <ObjectManager.h>
Public Member Functions | |
CObjectManager () | |
Constructor. More... | |
~CObjectManager () | |
Destructor. More... | |
CObject * | Create (eObject, const CInstanceDesc &) |
Create an object. More... | |
void | Update () |
Update. More... | |
void | Clear () |
Reset to initial conditions. More... | |
void | Draw () |
Draw all objects. | |
Private Member Functions | |
void | CullDeadObjects () |
Cull dead objects. More... | |
Private Attributes | |
std::list< CObject * > | m_stdObjectList |
Object list. | |
Additional Inherited Members | |
![]() | |
const float | m_fFloorHt = 0.5f |
Floor height. | |
const Vector3 | m_vPlanePos = Vector3(0.0f, 0.0f, 100.0f) |
Plane position. | |
const Vector3 | m_vPlaneSize = Vector3(600.0f, 2.0f*m_fFloorHt, 600.0f) |
Plane size. | |
const float | m_fMoonRadius = 25.0f |
Moon radius. | |
const float | m_fBallRadius = 2.0f |
Ball radius. | |
const Vector3 | m_vBoxSize = Vector3(9.0f, 6.0f, 6.0f) |
Box size. | |
const float | m_fTetrahedronSize = 16.0f |
Tetrahedron size. | |
const float | m_fIcosahedronSize = 16.0f |
Icosahedron size. | |
const float | m_fDodecahedronSize = 16.0f |
Dodecahedron size. | |
const float | m_fTeapotSize = 8.0f |
Teapot size. | |
![]() | |
static CRenderer * | m_pRenderer = nullptr |
Pointer to the renderer. | |
static LBaseCamera * | m_pCamera = nullptr |
Pointer to the camera. | |
static CObjectManager * | m_pObjectManager = nullptr |
Pointer to object manager. | |
static btDiscreteDynamicsWorld * | m_pPhysicsWorld = nullptr |
Pointer to physics engine. | |
static btDefaultCollisionConfiguration * | m_pConfig = nullptr |
Bullet physics configuration. | |
static btCollisionDispatcher * | m_pDispatcher = nullptr |
Bullet physics dispatcher. | |
static btBroadphaseInterface * | m_pBroadphase = nullptr |
Bullet physics broadphase. | |
static btSequentialImpulseConstraintSolver * | m_pSolver = nullptr |
Bullet physics constraint solver. | |
static btAlignedObjectArray< btCollisionShape * > | m_btCollisionShapes |
Collision shapes. | |
static bool | m_bCollisionSoundsMuted = false |
Mute collision sounds. | |
A collection of all of the game objects.
CObjectManager::CObjectManager | ( | ) |
Default constructor.
CObjectManager::~CObjectManager | ( | ) |
Destruct all of the objects in the object list.
void CObjectManager::Clear | ( | ) |
Delete all of the objects managed by the object manager. This involves deleting all of the CObject instances pointed to by the object list, then clearing the object list.
CObject * CObjectManager::Create | ( | eObject | obj, |
const CInstanceDesc & | d | ||
) |
Create an object instance and insert it into the object list.
obj | Object type. |
d | Mesh descriptor. |
|
private |
Iterate through the objects and check whether their "is dead" flag has been set. If so, then delete its pointer from the object list and destruct the object.
void CObjectManager::Update | ( | ) |
Update all objects. This function has two tasks, playing collision sounds and deleting delete all objects that have fallen off the plane and dropped far enough.