Umasoft
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Protected Attributes | List of all members
vtIntersectionEngine Class Reference

#include <IntersectionEngine.h>

Inheritance diagram for vtIntersectionEngine:
vtEngine vtEnabledBase

Public Member Functions

 vtIntersectionEngine (NodeGeom *node)
 
void Eval ()
 
- Public Member Functions inherited from vtEngine
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)
 
vtWindowGetWindow ()
 
void AddChild (vtEngine *pEngine)
 
void RemoveChild (vtEngine *pEngine)
 
vtEngineGetChild (uint i)
 
uint NumChildren ()
 
void AddChildrenToList (vtArray< vtEngine * > &list, bool bEnabledOnly)
 
- Public Member Functions inherited from vtEnabledBase
virtual void SetEnabled (bool bOn)
 
bool GetEnabled ()
 

Protected Attributes

NodeGeomm_pNode
 
LightStatus * m_Lights
 
int m_iCurState
 
int m_iTotalStates
 
float m_fNextChange
 
bool m_bFirstTime
 
- Protected Attributes inherited from vtEngine
vtArray< osg::Referenced * > m_Targets
 
std::vector< vtEnginePtr > m_Children
 
vtString m_strName
 
vtWindowm_pWindow
 
- Protected Attributes inherited from vtEnabledBase
bool m_bEnabled
 

Detailed Description

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.

Member Function Documentation

void vtIntersectionEngine::Eval ( )
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.


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