Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

Phx::Core Class Reference

The Core class is the primary interface through which the Phoenix simulator is driven. More...

#include <PhxCore.h>

Inheritance diagram for Phx::Core:

Phx::LockedPtrInterface< Core > List of all members.

Public Member Functions

virtual void main (void)=0
NamedInterface::ManagernamedInterfaceManager ()
 Retrieves a pointer to the NamedInterface::Manager instance that is charged with keeping track of objects for this Core.
const NamedInterface::ManagernamedInterfaceManager () const
Description::ManagerdescriptionManager ()
 Retrieves a pointer to the Description::Manager instance that is charged with keeping track of Description types for this Core.
const Description::ManagerdescriptionManager () const

Static Public Member Functions

static Ptr< CorenewCore (void)
 Constructs a new core instance and returns it.

Static Public Attributes

static const NamedInterface::Identifier FRAME_START_EVENT_NOTIFIER_IDENTIFIER
 Identifier for the system 'start frame' EventNotifier.
static const String FRAME_START_EVENT_NOTIFIER_NAME
 Text name for the system 'start frame' EventNotifier.
static const NamedInterface::Identifier FRAME_END_EVENT_NOTIFIER_IDENTIFIER
 Identifier for the system 'end frame' EventNotifier.
static const String FRAME_END_EVENT_NOTIFIER_NAME
 Text name for the system 'end frame' EventNotifier.
static const NamedInterface::Identifier QUIT_EVENT_NOTIFIER_IDENTIFIER
 Identifier for the system 'Quit' notifier.
static const String QUIT_EVENT_NOTIFIER_NAME
 Text name for the system 'Quit' notifier.
static const NamedInterface::Identifier EXIT_EVENT_NOTIFIER_IDENTIFIER
 Identifier for the system 'Exit' notifier.
static const String EXIT_EVENT_NOTIFIER_NAME
 Text name for the system 'Exit' notifier.
static const NamedInterface::Identifier WALL_CLOCK_IDENTIFIER
 Identifier for the system WallClock object.
static const String WALL_CLOCK_NAME
 Text name for the system WallClock object.
static const NamedInterface::Identifier FRAME_CLOCK_IDENTIFIER
 Identifier for the system FrameClock object.
static const String FRAME_CLOCK_NAME
 Text name for the system FrameClock object.

Protected Member Functions

void setNamedInterfaceManager (const Ptr< NamedInterface::Manager > &manager)
void setDescriptionManager (const Ptr< Description::Manager > &manager)

Detailed Description

The Core class is the primary interface through which the Phoenix simulator is driven.

The Core is the controller of the simulation. It presides over the top level facilities needed to run the program, and is responsible for running the main-loop of the simulation.


Member Function Documentation

Description::Manager* Phx::Core::descriptionManager  )  [inline]
 

Retrieves a pointer to the Description::Manager instance that is charged with keeping track of Description types for this Core.

Note:
Even though the manager can be manipulated as a Ptr, it is returned as a raw pointer here to avoid circular dependence. It should not be converted back to a smart-pointer by the client.

This interface is safely accessible by multiple concurrent clients.

Returns:
A raw pointer to the core's Description::Manager instance.

NamedInterface::Manager* Phx::Core::namedInterfaceManager  )  [inline]
 

Retrieves a pointer to the NamedInterface::Manager instance that is charged with keeping track of objects for this Core.

Note:
Even though the manager can be manipulated as a Ptr, it is returned as a raw pointer here to avoid circular dependence. It should not be converted back to a smart-pointer by the client.

This interface is safely accessible by multiple concurrent clients.

Returns:
A raw pointer to the core's NamedInterface::Manager instance.


Member Data Documentation

const NamedInterface::Identifier Phx::Core::EXIT_EVENT_NOTIFIER_IDENTIFIER [static]
 

Identifier for the system 'Exit' notifier.

This notifier is notified by the Core after the last frame has finished and the program is about to exit. This notification allows final processing to occur before the program finishes.

See also:
QUIT_EVENT_NOTIFIER_IDENTIFIER

const NamedInterface::Identifier Phx::Core::FRAME_CLOCK_IDENTIFIER [static]
 

Identifier for the system FrameClock object.

Note:
While the FrameClock interface, in general, may indicate a fractional number of frames the system FrameClock is guaranteed to always return a whole number of frames and will increment by exactly 1.0 every frame. Hence, Clock::time() will always return precisely the number of elapsed frames in the simulation.

const NamedInterface::Identifier Phx::Core::QUIT_EVENT_NOTIFIER_IDENTIFIER [static]
 

Identifier for the system 'Quit' notifier.

The 'quit' notifier is an EventNotifier that can be triggered by any client in order to terminate the program. The frame will finish executing, the Core will issue the 'Exit' notification, the main loop will finish and the program will exit.

See also:
EXIT_EVENT_NOTIFIER_IDENTIFIER

const NamedInterface::Identifier Phx::Core::WALL_CLOCK_IDENTIFIER [static]
 

Identifier for the system WallClock object.

Note:
The system WallClock is not guaranteed to proceed at a rate identical to real-time. It may be slowed or quickened, or even stopped completely. However, the time will never go backward and guaranteed only to change between frames, consistent with the current value of the Clock::rate() attribute.


The documentation for this class was generated from the following file:
Generated on Wed Dec 21 22:05:38 2005 for Phoenix OSFS by  doxygen 1.4.2