#include <IntersectionEngine.h>
Public Member Functions | |
vtIntersectionEngine (NodeGeom *node) | |
void | Eval () |
![]() | |
osg::Referenced * | GetTarget (uint which=0) |
void | AddTarget (osg::Referenced *ptr) |
void | SetTarget (osg::Referenced *ptr) |
void | RemoveTarget (osg::Referenced *ptr) |
uint | NumTargets () |
Return the number of targets for this engine. | |
void | setName (const char *str) |
const char * | getName () |
virtual void | OnMouse (vtMouseEvent &event) |
Virtual handler, to catch mouse events, can be overridden by your engine class. | |
virtual void | OnKey (int key, int flags) |
Virtual handler, to catch keyboard events, can be overridden by your engine class. | |
virtual void | OnWindowSize (int width, int height) |
Virtual handler, to catch resize events, can be overridden by your engine class. | |
void | SetWindow (vtWindow *pWin) |
vtWindow * | GetWindow () |
void | AddChild (vtEngine *pEngine) |
void | RemoveChild (vtEngine *pEngine) |
vtEngine * | GetChild (uint i) |
uint | NumChildren () |
void | AddChildrenToList (vtArray< vtEngine * > &list, bool bEnabledOnly) |
![]() | |
virtual void | SetEnabled (bool bOn) |
bool | GetEnabled () |
Protected Attributes | |
NodeGeom * | m_pNode |
LightStatus * | m_Lights |
int | m_iCurState |
int | m_iTotalStates |
float | m_fNextChange |
bool | m_bFirstTime |
![]() | |
vtArray< osg::Referenced * > | m_Targets |
std::vector< vtEnginePtr > | m_Children |
vtString | m_strName |
vtWindow * | m_pWindow |
![]() | |
bool | m_bEnabled |
Operates signal lights. changes the lights at a node. based on a state machine. engine creates states and simply cycles through them.
Assumes that the initial color of lights at a road determines the relationship of lights at that intersection. for example, in a normal intersection, the non-perpendicular road segments should have the same color - one pair green, the other red.
|
virtual |
Virtual handler, will be called every frame to do the work of the engine. You must override this if you want your engine to be useful.
Reimplemented from vtEngine.