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

#include <Engine.h>

Inheritance diagram for vtEngine:
vtEnabledBase App CarEngine ControlEngine EpochEngine JumpingEngine MapOverviewEngine Orbit PlaneEngine PlayToDiskEngine SpinEngine vtAnimPathEngine vtHeightConstrain vtIntersectionEngine vtJoystickEngine vtLastMouse vtSimpleBillboardEngine vtSkyTrackEngine vtSpaceNav vtSpriteSizer vtTimeEngine

Public Member Functions

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

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

The vtEngine class represents an Engine, which is a convenient way to encapsulate an application behavior which occurs every frame. An Engine typically has a target, which is another object which it affects. The Engine's method Eval() is called each frame, at which point it can do whatever simulation or computation it desires, and then update its target.

For example, you may have a node in your scene graph which represents a fish. You could then create a Engine class (e.g. FishEngine, subclass of vtEngine) which simulates the behavior of a fish. For each fish you create, you would also create a FishEngine and set the Engine's target to be the fish.

Member Function Documentation

void vtEngine::AddTarget ( osg::Referenced *  ptr)
inline

Adds a target to the engine.

void vtEngine::Eval ( )
virtual
osg::Referenced * vtEngine::GetTarget ( uint  which = 0)

Get a target from the engine. Most engines will have only a single target.

Parameters
whichThe number of the target (default 0).
void vtEngine::RemoveTarget ( osg::Referenced *  ptr)

Removes a target from the engine.

void vtEngine::SetTarget ( osg::Referenced *  ptr)
inline

Sets a single target for this engine (for backward compatibility.)


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