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.

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.

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.

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.

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().