![]() |
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 | |
Protected Attributes inherited from CCommon | |
| 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 Protected Attributes inherited from CCommon | |
| 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.