Om  1.0.0
A universal framework for multimedia simulation
Public Member Functions | Protected Member Functions | List of all members
om::engine::base::EngineSystem Class Reference

An interface for objects that operate on the entities and components of an EngineContext. More...

#include <omEngineSystem.h>

Inheritance diagram for om::engine::base::EngineSystem:
om::engine::acoustics::AcousticSystem om::engine::animation::AnimationSystem om::engine::base::ConnectionSystem om::engine::base::InputSystem om::engine::base::PrototypeSystem om::engine::base::SceneSystem om::engine::graphics::GraphicsSystem om::engine::physics::PhysicsSystem om::engine::sound::SoundSystem

Public Member Functions

virtual ~EngineSystem ()
 Destroy a system and release all internal resources. More...
 
virtual void update (EngineContext &engine, const Time &dt)
 Update the state of the entities in the specified engine for the given timestep. More...
 
virtual void addComponent (const ResourceType &type, void *component, EngineContext &engine)
 Update the internal state of the system for a component that was added to the engine. More...
 
virtual void removeComponent (const ResourceType &type, void *component, EngineContext &engine)
 Update the internal state of the system for a component that was removed from the engine. More...
 
const SystemTypegetType () const
 Return an enum value indicating the semantic type of this engine system. More...
 

Protected Member Functions

 EngineSystem ()
 Create a new engine system with the UNDEFINED system type. More...
 
 EngineSystem (const SystemType &newSystemType)
 Create a new engine system with the specified system type. More...
 

Detailed Description

An interface for objects that operate on the entities and components of an EngineContext.

Constructor & Destructor Documentation

virtual om::engine::base::EngineSystem::~EngineSystem ( )
inlinevirtual

Destroy a system and release all internal resources.

om::engine::base::EngineSystem::EngineSystem ( )
inlineprotected

Create a new engine system with the UNDEFINED system type.

om::engine::base::EngineSystem::EngineSystem ( const SystemType newSystemType)
inlineprotected

Create a new engine system with the specified system type.

Member Function Documentation

virtual void om::engine::base::EngineSystem::update ( EngineContext engine,
const Time dt 
)
inlinevirtual

Update the state of the entities in the specified engine for the given timestep.

A child class can implement this method to perform operations on the components stored in the engine.

Reimplemented in om::engine::sound::SoundSystem, om::engine::base::SceneSystem, om::engine::base::ConnectionSystem, om::engine::base::InputSystem, om::engine::base::PrototypeSystem, om::engine::acoustics::AcousticSystem, om::engine::graphics::GraphicsSystem, om::engine::animation::AnimationSystem, and om::engine::physics::PhysicsSystem.

virtual void om::engine::base::EngineSystem::addComponent ( const ResourceType type,
void *  component,
EngineContext engine 
)
inlinevirtual

Update the internal state of the system for a component that was added to the engine.

Reimplemented in om::engine::base::SceneSystem, om::engine::base::ConnectionSystem, and om::engine::base::PrototypeSystem.

virtual void om::engine::base::EngineSystem::removeComponent ( const ResourceType type,
void *  component,
EngineContext engine 
)
inlinevirtual

Update the internal state of the system for a component that was removed from the engine.

Reimplemented in om::engine::base::SceneSystem, om::engine::base::ConnectionSystem, and om::engine::base::PrototypeSystem.

const SystemType& om::engine::base::EngineSystem::getType ( ) const
inline

Return an enum value indicating the semantic type of this engine system.


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