CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

iSequenceWrapper Struct Reference

A sequence wrapper. More...

#include <engseq.h>

Inheritance diagram for iSequenceWrapper:

iBase List of all members.

Public Methods

virtual iObjectQueryObject ()=0
 Query iObject that is implemented by the sequence manager.

virtual iSequenceGetSequence ()=0
 Get the sequence that this wrapper maintains.

virtual iEngineSequenceParametersCreateBaseParameterBlock ()=0
 Create a parameter block for this sequence wrapper.

virtual iEngineSequenceParametersGetBaseParameterBlock ()=0
 Get the pointer to the base parameter block (or 0 if there is no such block).

virtual csPtr< iEngineSequenceParametersCreateParameterBlock ()=0
 Create a parameter block which you can then fill in and then give as a parameter running this sequence.

virtual void AddOperationSetVariable (csTicks time, iSharedVariable *var, float value, float dvalue=0)=0
 Operation: set a variable to a floating point value.

virtual void AddOperationSetVariable (csTicks time, iSharedVariable *var, iSharedVariable *value, iSharedVariable *dvalue=0)=0
 Operation: set a variable to the contents of another variable.

virtual void AddOperationSetVariable (csTicks time, iSharedVariable *var, const csVector3 &v)=0
 Operation: set a variable to a vector.

virtual void AddOperationSetVariable (csTicks time, iSharedVariable *var, const csColor &c)=0
 Operation: set a variable to a color.

virtual void AddOperationSetMaterial (csTicks time, iParameterESM *mesh, iParameterESM *mat)=0
 Operation: set a material on a mesh.

virtual void AddOperationSetPolygonMaterial (csTicks time, iParameterESM *polygon, iParameterESM *mat)=0
 Operation: set a material on a polygon.

virtual void AddOperationSetLight (csTicks time, iParameterESM *light, const csColor &color)=0
 Operation: set a light color.

virtual void AddOperationFadeLight (csTicks time, iParameterESM *light, const csColor &color, csTicks duration)=0
 Operation: fade a light to some color during some time.

virtual void AddOperationSetAmbient (csTicks time, iParameterESM *sector, const csColor &color, iSharedVariable *colorvar)=0
 Operation: set dynamic ambient light color.

virtual void AddOperationFadeAmbient (csTicks time, iParameterESM *sector, const csColor &color, csTicks duration)=0
 Operation: fade dynamic ambient light to some color during some time.

virtual void AddOperationRandomDelay (csTicks time, int min, int max)=0
 Operation: Delay executation of the rest of the script by a random time between min and max msec.

virtual void AddOperationSetMeshColor (csTicks time, iParameterESM *mesh, const csColor &color)=0
 Operation: set a mesh color.

virtual void AddOperationFadeMeshColor (csTicks time, iParameterESM *mesh, const csColor &color, csTicks duration)=0
 Operation: fade a mesh to some color during some time.

virtual void AddOperationSetFog (csTicks time, iParameterESM *sector, const csColor &color, float density)=0
 Operation: set a fog color and density.

virtual void AddOperationFadeFog (csTicks time, iParameterESM *sector, const csColor &color, float density, csTicks duration)=0
 Operation: fade fog to some color/density during some time.

virtual void AddOperationRotateDuration (csTicks time, iParameterESM *mesh, int axis1, float tot_angle1, int axis2, float tot_angle2, int axis3, float tot_angle3, const csVector3 &offset, csTicks duration)=0
 Operation: rotate object during some time.

virtual void AddOperationMoveDuration (csTicks time, iParameterESM *mesh, const csVector3 &offset, csTicks duration)=0
 Operation: move object (mesh or light) during some time.

virtual void AddOperationTriggerState (csTicks time, iParameterESM *trigger, bool en)=0
 Operation: enable/disable a given trigger.

virtual void AddOperationCheckTrigger (csTicks time, iParameterESM *trigger, csTicks delay)=0
 Operation: enable checking of trigger state every 'delay' milliseconds (or disable with delay == 0).

virtual void AddOperationTestTrigger (csTicks time, iParameterESM *trigger, iSequence *trueSequence, iSequence *falseSequence)=0
 Operation: test trigger state and run a sequence if trigger is still valid or another sequence if not (both sequences can be 0 in which case nothing is run).


Detailed Description

A sequence wrapper.

This objects holds the reference to the original sequence and also implements iObject. Basically a sequence corresponds to a series of operations that are time based and can be scheduled on the sequence manager. This class enhances iSequence with support for custom operations and parameter blocks.

Note that many parameters given to the AddOperation functions are of type iParameterESM.

Main creators of instances implementing this interface:

Main ways to get pointers to this interface: Main users of this interface:

Definition at line 208 of file engseq.h.


Member Function Documentation

virtual void iSequenceWrapper::AddOperationCheckTrigger csTicks    time,
iParameterESM   trigger,
csTicks    delay
[pure virtual]
 

Operation: enable checking of trigger state every 'delay' milliseconds (or disable with delay == 0).

Use this in combination with AddOperationTestTrigger().

Parameters:
time  is the relative time at which this operation will fire.
trigger  is a parameter representing a trigger to enable or disable.
delay  represents the frequency of checking the trigger.

virtual void iSequenceWrapper::AddOperationFadeAmbient csTicks    time,
iParameterESM   sector,
const csColor   color,
csTicks    duration
[pure virtual]
 

Operation: fade dynamic ambient light to some color during some time.

Parameters:
time  is the relative time at which this operation will fire.
sector  is a parameter representing the sector which will have its ambient set.
color  is the final ambient value.
duration  is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current ambient to destination ambient.

virtual void iSequenceWrapper::AddOperationFadeFog csTicks    time,
iParameterESM   sector,
const csColor   color,
float    density,
csTicks    duration
[pure virtual]
 

Operation: fade fog to some color/density during some time.

Parameters:
time  is the relative time at which this operation will fire.
sector  is a parameter representing the sector which will have its ambient set.
color  is the final color value.
density  is the final density.
duration  is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current fog settings to destination fog settings.

virtual void iSequenceWrapper::AddOperationFadeLight csTicks    time,
iParameterESM   light,
const csColor   color,
csTicks    duration
[pure virtual]
 

Operation: fade a light to some color during some time.

Parameters:
time  is the relative time at which this operation will fire.
light  is a parameter representing the light which will be fade to the given color.
color  is the final color value.
duration  is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current color to destination color.

virtual void iSequenceWrapper::AddOperationFadeMeshColor csTicks    time,
iParameterESM   mesh,
const csColor   color,
csTicks    duration
[pure virtual]
 

Operation: fade a mesh to some color during some time.

Parameters:
time  is the relative time at which this operation will fire.
mesh  is a parameter representing a mesh.
color  is the destination color to fase this mesh too. Not all meshes support this.
duration  is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current color to destination color.

virtual void iSequenceWrapper::AddOperationMoveDuration csTicks    time,
iParameterESM   mesh,
const csVector3   offset,
csTicks    duration
[pure virtual]
 

Operation: move object (mesh or light) during some time.

After the time has elapsed the total relative move will be equal to the 'offset'.

Parameters:
time  is the relative time at which this operation will fire.
mesh  is a parameter representing a mesh.
offset  is the relative amount to move.
duration  is the duration time of the move. The move will start at relative time 'time' and will take 'duration' milliseconds to go from current location to destination.

virtual void iSequenceWrapper::AddOperationRandomDelay csTicks    time,
int    min,
int    max
[pure virtual]
 

Operation: Delay executation of the rest of the script by a random time between min and max msec.

Parameters:
time  is the relative time at which this operation will fire.
min  is the minimum time to wait starting with 'time'.
max  is the maximum time to wait starting with 'time'.

virtual void iSequenceWrapper::AddOperationRotateDuration csTicks    time,
iParameterESM   mesh,
int    axis1,
float    tot_angle1,
int    axis2,
float    tot_angle2,
int    axis3,
float    tot_angle3,
const csVector3   offset,
csTicks    duration
[pure virtual]
 

Operation: rotate object during some time.

After the time has elapsed the rotation will be equal to the given angle here. Axis is 0, 1, or 2 for x, y, or z. If axis is -1 it is not used.

Parameters:
time  is the relative time at which this operation will fire.
mesh  is a parameter representing a mesh.
axis1  is the first rotation axis (-1, 0, 1, or 2).
tot_angle1  is the total angle to rotate around axis1.
axis2  is the second rotation axis (-1, 0, 1, or 2).
tot_angle2  is the total angle to rotate around axis2.
axis3  is the third rotation axis (-1, 0, 1, or 2).
tot_angle3  is the total angle to rotate around axis3.
offset  is added to the rotation transformation so you can rotate an object around a center different from 0,0,0.
duration  is the duration time of the rotate. The rotate will start at relative time 'time' and will take 'duration' milliseconds to go from current orientation to destination orientation.

virtual void iSequenceWrapper::AddOperationSetAmbient csTicks    time,
iParameterESM   sector,
const csColor   color,
iSharedVariable   colorvar
[pure virtual]
 

Operation: set dynamic ambient light color.

Parameters:
time  is the relative time at which this operation will fire.
sector  is a parameter representing the sector which will have its ambient set.
color  is the ambient color unless 'colorvar' is not 0.
colorvar  is the variable containing the desired color. This will be used instead of 'color' is not 0.

virtual void iSequenceWrapper::AddOperationSetFog csTicks    time,
iParameterESM   sector,
const csColor   color,
float    density
[pure virtual]
 

Operation: set a fog color and density.

Parameters:
time  is the relative time at which this operation will fire.
sector  is a parameter representing the sector which will have its ambient set.
color  is the required color value.
density  is the required density.

virtual void iSequenceWrapper::AddOperationSetLight csTicks    time,
iParameterESM   light,
const csColor   color
[pure virtual]
 

Operation: set a light color.

Parameters:
time  is the relative time at which this operation will fire.
light  is a parameter representing the light which will be set to the given color.
color  is the new color value.

virtual void iSequenceWrapper::AddOperationSetMaterial csTicks    time,
iParameterESM   mesh,
iParameterESM   mat
[pure virtual]
 

Operation: set a material on a mesh.

Parameters:
time  is the relative time at which this operation will fire.
mesh  is a parameter that represents a mesh on which the material should be set. The mesh should support SetMaterialWrapper().
mat  is a parameter that represents the material to set.

virtual void iSequenceWrapper::AddOperationSetMeshColor csTicks    time,
iParameterESM   mesh,
const csColor   color
[pure virtual]
 

Operation: set a mesh color.

Parameters:
time  is the relative time at which this operation will fire.
mesh  is a parameter representing a mesh.
color  is the color to set this mesh too. Not all meshes support this.

virtual void iSequenceWrapper::AddOperationSetPolygonMaterial csTicks    time,
iParameterESM   polygon,
iParameterESM   mat
[pure virtual]
 

Operation: set a material on a polygon.

Parameters:
time  is the relative time at which this operation will fire.
mesh  is a parameter that represents a polygon on which the material should be set.
mat  is a parameter that represents the material to set.

virtual void iSequenceWrapper::AddOperationSetVariable csTicks    time,
iSharedVariable   var,
const csColor   c
[pure virtual]
 

Operation: set a variable to a color.

Parameters:
time  is the relative time at which this operation will fire.
var  is the variable that will be set by this operation.
c  is the new color value.

virtual void iSequenceWrapper::AddOperationSetVariable csTicks    time,
iSharedVariable   var,
const csVector3   v
[pure virtual]
 

Operation: set a variable to a vector.

Parameters:
time  is the relative time at which this operation will fire.
var  is the variable that will be set by this operation.
v  is the new vector value.

virtual void iSequenceWrapper::AddOperationSetVariable csTicks    time,
iSharedVariable   var,
iSharedVariable   value,
iSharedVariable   dvalue = 0
[pure virtual]
 

Operation: set a variable to the contents of another variable.

If 'dvalue' is not 0 then that will be used instead of the absolute value. In that case 'dvalue' is added. 'dvalue' has to be a floating point variable for that to work. 'value' can be any type. The type of 'var' will be set to the type of 'value' in that case.

Parameters:
time  is the relative time at which this operation will fire.
var  is the variable that will be set by this operation. The value that is set is the 'value' parameter.
value  is the new value for 'var'.
dvalue  is a difference that is added. Only used if it is not 0.

virtual void iSequenceWrapper::AddOperationSetVariable csTicks    time,
iSharedVariable   var,
float    value,
float    dvalue = 0
[pure virtual]
 

Operation: set a variable to a floating point value.

If 'dvalue' is not 0 then that will be used instead of the absolute value. In that case 'dvalue' is added.

Parameters:
time  is the relative time at which this operation will fire.
var  is the variable that will be set by this operation. The value that is set is the 'value' parameter.
value  is the new value for 'var'.
dvalue  is a difference that is added. Only used if it is not 0.

virtual void iSequenceWrapper::AddOperationTestTrigger csTicks    time,
iParameterESM   trigger,
iSequence   trueSequence,
iSequence   falseSequence
[pure virtual]
 

Operation: test trigger state and run a sequence if trigger is still valid or another sequence if not (both sequences can be 0 in which case nothing is run).

Use in combination with AddOperationCheckTrigger().

Parameters:
time  is the relative time at which this operation will fire.
trigger  is a parameter representing a trigger to enable or disable.
trueSequence  is the sequence that will be fired when the trigger succeeds. Can be 0.
falseSequence  is the sequence that will be fired when the trigger does not succeed. Can be 0.

virtual void iSequenceWrapper::AddOperationTriggerState csTicks    time,
iParameterESM   trigger,
bool    en
[pure virtual]
 

Operation: enable/disable a given trigger.

Parameters:
time  is the relative time at which this operation will fire.
trigger  is a parameter representing a trigger to enable or disable.
en  is true to enable or false to disable.

virtual iEngineSequenceParameters* iSequenceWrapper::CreateBaseParameterBlock   [pure virtual]
 

Create a parameter block for this sequence wrapper.

After creating this you can initialized the parameters (with names and optional default values). Later on you can use GetSequenceParameters() to get a copy of a parameter block to use for running a sequence.

virtual csPtr<iEngineSequenceParameters> iSequenceWrapper::CreateParameterBlock   [pure virtual]
 

Create a parameter block which you can then fill in and then give as a parameter running this sequence.

This essentially creates a copy of the base parameter block created with CreateBaseParameterBlock(). Modifications on the parameter block returned by this function have no effect on the parameter block which is kept internally. You should only set the values of the given parameter block and not create/remove variables. This function returns 0 if there is no parameter block for this sequence.

virtual iEngineSequenceParameters* iSequenceWrapper::GetBaseParameterBlock   [pure virtual]
 

Get the pointer to the base parameter block (or 0 if there is no such block).

virtual iSequence* iSequenceWrapper::GetSequence   [pure virtual]
 

Get the sequence that this wrapper maintains.

It is allowed to use the underlying sequence for general sequence operations like adding conditions, operations, and general sequence management. The AddOperationBla() functions provided in this wrapper do nothing more than add custom operations through the regular iSequence->AddOperation().

virtual iObject* iSequenceWrapper::QueryObject   [pure virtual]
 

Query iObject that is implemented by the sequence manager.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.18