VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
DtScenarioEventManager Class Reference

The scenario event manager will keep track of all scenario event objects and their state. All calls to start/stop events must be done through this class. If not done through this class then event triggers will not fire.

Classes

struct  CurrentFrameScenarioEventInformation
 
struct  EventUpdateInformation
 
struct  LocalScenarioEventInformation
 

Public Types

typedef std::map< const
DtLocalObject
*, EventUpdateInformation
EventsThatNeedUpdate
 

Public Member Functions

 DtScenarioEventManager (DtSimulationServices *, DtLocalObjectManager *)
 
virtual ~DtScenarioEventManager ()
 
virtual bool isScenarioEvent (const DtUUID &o) const
 
virtual void processScenarioEventMessageCallback (DtSimMessage *)
 
virtual void setScenarioEventEnabled (const DtUUID &, bool, bool sendMessageIfNotLocal=true)
 
virtual bool scenarioEventIsEnabled (const DtUUID &) const
 
virtual void startScenarioEvent (const DtUUID &, bool sendMessageIfNotLocal=true)
 
virtual void stopScenarioEvent (const DtUUID &, bool sendMessageIfNotLocal=true)
 
virtual bool scenarioEventInProgress (const DtUUID &) const
 
virtual bool scenarioEventIsConcluded (const DtUUID &) const
 
virtual bool scenarioEventConcluded (const DtUUID &) const
 
virtual const DtRwScenarioEventscenarioEvent (const DtUUID &) const
 
virtual const DtRwScenarioEventnextFrameScenarioEvent (const DtUUID &) const
 
virtual double simulationStartTime (const DtUUID &) const
 
virtual double simulationEndTime (const DtUUID &) const
 
virtual void processScenarioEventAdded (const DtLocalObject *)
 
virtual void processScenarioEventRemoved (const DtLocalObject *)
 
virtual void setOrdinalOrder (const DtUUID &uniqueId, int ordinal)
 
virtual void resetScenarioEvent (const DtUUID &uniqueId, bool sendMessageIfNotLocal=true)
 
virtual void setTriggerStatus (const DtUUID &uniqueId, int)
 
virtual void merge (DtScenarioEventManager *, const DtString &deconflictingName)
 
const EventsThatNeedUpdateeventsThatNeedUpdate () const
 
EventsThatNeedUpdateeventsThatNeedUpdate ()
 
virtual void addScenarioEventStartedCallback (DtScenarioEventManagerCallbackFcn fcn, void *usr)
 
virtual void removeScenarioEventStartedCallback (DtScenarioEventManagerCallbackFcn fcn, void *usr)
 
virtual void addScenarioEventEnabledStateChangedCallback (DtScenarioEventManagerEnabledStateChangedCallbackFcn fcn, void *usr)
 
virtual void removeScenarioEventEnabledStateChangedCallback (DtScenarioEventManagerEnabledStateChangedCallbackFcn fcn, void *usr)
 
virtual void addScenarioEventStoppedCallback (DtScenarioEventManagerCallbackFcn fcn, void *usr)
 
virtual void removeScenarioEventStoppedCallback (DtScenarioEventManagerCallbackFcn fcn, void *usr)
 

Static Public Member Functions

static void scenarioEventMessageCallback (DtSimMessage *, void *usr)
 
static void scenarioEventAdded (const DtLocalObject *, void *)
 
static void scenarioEventRemoved (const DtLocalObject *, void *)
 

Protected Types

typedef DtCallbackList< const
DtUUID & > 
ScenarioEventCallbacks
 
typedef DtCallbackList
< DtEnableStateChanged
ScenarioEventEnableStateChangedCallbacks
 
typedef std::map< DtUUID,
LocalScenarioEventInformation
LocalScenarioEvents
 
typedef std::map< DtUUID,
CurrentFrameScenarioEventInformation
CurrentFrameScenarioEvents
 
typedef std::map< DtUUID, DtUUIDObjectEvents
 

Protected Member Functions

virtual void updateScenarioEvents ()
 
virtual void startUpEvent (const DtUUID &uniqueId)
 
virtual void stopEvent (const DtUUID &uniqueId)
 
virtual void updateEnabledStatesLinkedTo (const DtUUID &)
 
virtual DtUUID scenarioEventUUIDBasedOf (const DtUUID &) const
 
virtual void processObjectModifiedViaMessage (DtLocalObject *o)
 
virtual bool isThisObjectLinkedToMe (const DtUUID &source, const DtUUID &dest) const
 
virtual void slot_simObjectAdded (DtSimObjectReference)
 
virtual void slot_simObjectDeleted (DtSimObjectReference)
 
virtual void slot_eventDataModified (const DtSimObject *)
 

Protected Attributes

DtSimulationServicesmySimulationServices
 
DtLocalObjectManagermyObjectManager
 
ScenarioEventCallbacks myScenarioEventStartedCallbacks
 
ScenarioEventCallbacks myScenarioEventStoppedCallbacks
 
ScenarioEventEnableStateChangedCallbacks myScenarioEventEnabledStateChangedCallbacks
 
LocalScenarioEvents myLocalScenarioEvents
 
CurrentFrameScenarioEvents myCurrentFrameScenarioEvents
 
ObjectEvents myObjectEvents
 
EventsThatNeedUpdate myEventsThatNeedUpdate
 
int myMaxOrdinal
 
boost::signals2::scoped_connection mySimObjectAddedConnection
 
boost::signals2::scoped_connection myUpdateScenarioEventsConnection
 
boost::signals2::scoped_connection myAdvancedFrameConnection
 
std::set< DtUUIDmyUpdateUpdateEnabledStateLinkedTo
 

Private Member Functions

 DtScenarioEventManager (const DtScenarioEventManager &orig)
 
DtScenarioEventManageroperator= (const DtScenarioEventManager &orig)
 

Member Typedef Documentation

typedef std::map<DtUUID, DtUUID> DtScenarioEventManager::ObjectEvents
protected

Constructor & Destructor Documentation

DtScenarioEventManager::DtScenarioEventManager ( DtSimulationServices ,
DtLocalObjectManager  
)

CTOR.

virtual DtScenarioEventManager::~DtScenarioEventManager ( )
virtual

DTOR.

DtScenarioEventManager::DtScenarioEventManager ( const DtScenarioEventManager orig)
private

copy constructor

Member Function Documentation

DtScenarioEventManager& DtScenarioEventManager::operator= ( const DtScenarioEventManager orig)
private

assignment operator

virtual bool DtScenarioEventManager::isScenarioEvent ( const DtUUID o) const
virtual

Returns true if this object is a scenario event (which includes intelligence objects)

virtual void DtScenarioEventManager::addScenarioEventStartedCallback ( DtScenarioEventManagerCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scenario event is started.

virtual void DtScenarioEventManager::removeScenarioEventStartedCallback ( DtScenarioEventManagerCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scenario event is started.

virtual void DtScenarioEventManager::addScenarioEventEnabledStateChangedCallback ( DtScenarioEventManagerEnabledStateChangedCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scenario enabled state has changed.

virtual void DtScenarioEventManager::removeScenarioEventEnabledStateChangedCallback ( DtScenarioEventManagerEnabledStateChangedCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scenario enabled state has changed.

virtual void DtScenarioEventManager::addScenarioEventStoppedCallback ( DtScenarioEventManagerCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scenario event is stopped.

virtual void DtScenarioEventManager::removeScenarioEventStoppedCallback ( DtScenarioEventManagerCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scenario event is stopped.

static void DtScenarioEventManager::scenarioEventMessageCallback ( DtSimMessage ,
void *  usr 
)
static

Processes scenario event operations.

virtual void DtScenarioEventManager::processScenarioEventMessageCallback ( DtSimMessage )
virtual
virtual void DtScenarioEventManager::setScenarioEventEnabled ( const DtUUID ,
bool  ,
bool  sendMessageIfNotLocal = true 
)
virtual

Disables/enables the scenario event.

virtual bool DtScenarioEventManager::scenarioEventIsEnabled ( const DtUUID ) const
virtual

Whether or not the scenario event is enabled.

virtual void DtScenarioEventManager::startScenarioEvent ( const DtUUID ,
bool  sendMessageIfNotLocal = true 
)
virtual

Start the scenario event. Will send a message to start if the event is not local or start it and send out started message if is. Supply scenario unique id.

virtual void DtScenarioEventManager::stopScenarioEvent ( const DtUUID ,
bool  sendMessageIfNotLocal = true 
)
virtual

Stops the scenario event. Will send a message to stop if the event is not local or stop it and send out stopped message if is. Supply scenario unique id.

virtual bool DtScenarioEventManager::scenarioEventInProgress ( const DtUUID ) const
virtual

Returns true if scenario event is currently running.

virtual bool DtScenarioEventManager::scenarioEventIsConcluded ( const DtUUID ) const
virtual

Returns true if scenario event is currently concluded.

virtual bool DtScenarioEventManager::scenarioEventConcluded ( const DtUUID ) const
virtual

Returns true if the scenario event has been concluded.

virtual const DtRwScenarioEvent& DtScenarioEventManager::scenarioEvent ( const DtUUID ) const
virtual

Returns the current frame scenario event for the current unique id.

virtual const DtRwScenarioEvent& DtScenarioEventManager::nextFrameScenarioEvent ( const DtUUID ) const
virtual

Returns the next frame scenario event for the current unique id (if exists locally)

virtual double DtScenarioEventManager::simulationStartTime ( const DtUUID ) const
virtual

Returns the scenario time that the event started.

virtual double DtScenarioEventManager::simulationEndTime ( const DtUUID ) const
virtual

Returns the scenario time that the event ended.

static void DtScenarioEventManager::scenarioEventAdded ( const DtLocalObject ,
void *   
)
static

Called when a scenario event is added via the object manager.

virtual void DtScenarioEventManager::processScenarioEventAdded ( const DtLocalObject )
virtual
static void DtScenarioEventManager::scenarioEventRemoved ( const DtLocalObject ,
void *   
)
static

Called when a scenario event is removed from the object manager.

virtual void DtScenarioEventManager::processScenarioEventRemoved ( const DtLocalObject )
virtual
virtual void DtScenarioEventManager::setOrdinalOrder ( const DtUUID uniqueId,
int  ordinal 
)
virtual

Sets the ordinal order for the given event if local. Does not change any other event ordinals.

virtual void DtScenarioEventManager::resetScenarioEvent ( const DtUUID uniqueId,
bool  sendMessageIfNotLocal = true 
)
virtual

If local, resets the scenario event to be ready to start again.

virtual void DtScenarioEventManager::setTriggerStatus ( const DtUUID uniqueId,
int   
)
virtual

Sets the trigger status of the event if not already at that trigger status.

virtual void DtScenarioEventManager::merge ( DtScenarioEventManager ,
const DtString deconflictingName 
)
virtual

Merges in scenario information from the specified manager.

const EventsThatNeedUpdate& DtScenarioEventManager::eventsThatNeedUpdate ( ) const
inline
EventsThatNeedUpdate& DtScenarioEventManager::eventsThatNeedUpdate ( )
inline
virtual void DtScenarioEventManager::updateScenarioEvents ( )
protectedvirtual
virtual void DtScenarioEventManager::startUpEvent ( const DtUUID uniqueId)
protectedvirtual

Internally starts up the event and sends out started message as well as invoking started callbacks.

virtual void DtScenarioEventManager::stopEvent ( const DtUUID uniqueId)
protectedvirtual

Internally stops event and sends out stopped message as well as invoking stopped callbacks.

virtual void DtScenarioEventManager::updateEnabledStatesLinkedTo ( const DtUUID )
protectedvirtual

Updates the enabled states of any scenario events that are linked to the supplied scenario event, and sends out messages to update enabled states if the events are not local.

virtual DtUUID DtScenarioEventManager::scenarioEventUUIDBasedOf ( const DtUUID ) const
protectedvirtual

If the supplied UUID is mapped to another UUID, return it.

virtual void DtScenarioEventManager::processObjectModifiedViaMessage ( DtLocalObject o)
protectedvirtual
virtual bool DtScenarioEventManager::isThisObjectLinkedToMe ( const DtUUID source,
const DtUUID dest 
) const
protectedvirtual

Returns true if the event ID eventually links to the second event ID.

virtual void DtScenarioEventManager::slot_simObjectAdded ( DtSimObjectReference  )
protectedvirtual
virtual void DtScenarioEventManager::slot_simObjectDeleted ( DtSimObjectReference  )
protectedvirtual
virtual void DtScenarioEventManager::slot_eventDataModified ( const DtSimObject )
protectedvirtual

Member Data Documentation

DtSimulationServices* DtScenarioEventManager::mySimulationServices
protected
DtLocalObjectManager* DtScenarioEventManager::myObjectManager
protected
ScenarioEventCallbacks DtScenarioEventManager::myScenarioEventStartedCallbacks
protected
ScenarioEventCallbacks DtScenarioEventManager::myScenarioEventStoppedCallbacks
protected
ScenarioEventEnableStateChangedCallbacks DtScenarioEventManager::myScenarioEventEnabledStateChangedCallbacks
protected
LocalScenarioEvents DtScenarioEventManager::myLocalScenarioEvents
protected
CurrentFrameScenarioEvents DtScenarioEventManager::myCurrentFrameScenarioEvents
protected
ObjectEvents DtScenarioEventManager::myObjectEvents
protected
EventsThatNeedUpdate DtScenarioEventManager::myEventsThatNeedUpdate
protected
int DtScenarioEventManager::myMaxOrdinal
protected
boost::signals2::scoped_connection DtScenarioEventManager::mySimObjectAddedConnection
protected
boost::signals2::scoped_connection DtScenarioEventManager::myUpdateScenarioEventsConnection
protected
boost::signals2::scoped_connection DtScenarioEventManager::myAdvancedFrameConnection
protected
std::set<DtUUID> DtScenarioEventManager::myUpdateUpdateEnabledStateLinkedTo
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)