vtEngine Class Reference
[Engines and Events]

Inheritance diagram for vtEngine:

Inheritance graph
[legend]
List of all members.

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.


Public Member Functions

vtTargetGetTarget (unsigned int which=0)
void AddTarget (vtTarget *ptr)
void SetTarget (vtTarget *ptr)
void RemoveTarget (vtTarget *ptr)
unsigned int NumTargets ()
 Return the number of targets for this engine.
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 ()


Member Function Documentation

void vtEngine::AddTarget vtTarget ptr  )  [inline]
 

Adds a target to the engine.

void vtEngine::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 in vtAnimPathEngine, vtSimpleBillboardEngine, vtIntersectionEngine, vtFlyer, vtOrthoFlyer, vtTerrainFlyer, vtPanoFlyer, vtTinFlyer, VFlyer, QuakeFlyer, vtHeightConstrain, vtTrackball, and vtTimeEngine.

vtTarget * vtEngine::GetTarget unsigned int  which = 0  ) 
 

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

Parameters:
which The number of the target (default 0).

void vtEngine::RemoveTarget vtTarget ptr  ) 
 

Removes a target from the engine.

void vtEngine::SetTarget vtTarget ptr  )  [inline]
 

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


Generated on Tue Apr 22 10:11:07 2008 for vtlib library by  doxygen 1.4.5