DirectOutput
DirectOutput framework R2 for virtual pinball cabinets.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType > Class Template Referenceabstract

Base class for effects shift values through a matrix of elements. More...

Inheritance diagram for DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >:
Collaboration diagram for DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >:

Public Member Functions

override void Trigger (Table.TableElementData TableElementData)
 
override void Init (Table.Table Table)
 
override void Finish ()
 Finishes the effect and releases object references More...
 
- Public Member Functions inherited from DirectOutput.FX.MatrixFX.MatrixEffectBase< MatrixElementType >
override void Init (Table.Table Table)
 Initializes the effect. Resolves object references. More...
 
- Public Member Functions inherited from DirectOutput.FX.EffectBase
abstract void Trigger (TableElementData TableElementData)
 Triggers the effect with the given TableElementData. More...
 
abstract void Init (Table.Table Table)
 Init does all necessary initialization work after the effect object has been instanciated. More...
 

Protected Member Functions

abstract MatrixElementType GetEffectValue (int TriggerValue)
 Gets the value which is to be applied to all elements of the matrix area controlled by the effect. This methed must be overwritten. More...
 

Properties

MatrixShiftDirectionEnum ShiftDirection [get, set]
 Gets or sets the shift direction resp. the direction in which the color moves. More...
 
float ShiftSpeed [get, set]
 Gets or sets the shift speed in percentage of the effect area per second. A speed setting of 100 will shift through the whole area of the effect in 1 second. 200 will shift through the effect area in .5 seconds. 33 will shift through the effect area in approx. 3 seconds. Max. speed is 10000 (shift through the effect area in 1/100 seconds). Min. speed is 1 (shifts through the effect area in 100 seconds). More...
 
float ShiftAcceleration [get, set]
 Gets or sets the acceleration for the shift speed in percent of the effect area per second. Acceleration can be zero, positive or negative. Positive values will increase the shift speed. Speed will be increased up to a max value of 10000. Negative values will decrease the shift speed. Speed will be decreased down to a minimum speed of 1. More...
 
- Properties inherited from DirectOutput.FX.MatrixFX.MatrixEffectBase< MatrixElementType >
string ToyName [get, set]
 Gets or sets the name of the toy which is to be controlled by the effect. More...
 
IMatrixToy< MatrixElementType > Matrix [get, set]
 Gets the matrix toy which is referenced by the ToyName property. This property is initialized by the Init method. More...
 
float Width [get, set]
 Gets or sets the width in percent of target area of the ledstrip which is controlled by the effect. More...
 
float Height [get, set]
 Gets or sets the height in percent of target area of the ledstrip which is controlled by the effect. More...
 
float Left [get, set]
 Gets or sets the left resp. X positon of the upper left corner in percent of the target area of the ledstrip which is controlled by the effect. More...
 
float Top [get, set]
 Gets or sets the top resp. Y positon of the upper left corner in percent of the target area of the ledstrip which is controlled by the effect. More...
 
int LayerNr [get, set]
 Gets or sets the number of the layer which is targeted by the effect. More...
 
FadeModeEnum FadeMode [get, set]
 Gets or sets the fade mode. More...
 
int AreaWidth [get]
 Gets the number of leds on horizontal direction of the area for the effect. More...
 
int AreaHeight [get]
 Gets the number of leds on vertical direction of the area for the effect. More...
 
Table.Table Table [get, set]
 Gets the table object which was specified during initialisation of the effect. More...
 

Additional Inherited Members

- Protected Attributes inherited from DirectOutput.FX.MatrixFX.MatrixEffectBase< MatrixElementType >
int AreaLeft = 0
 The gets the X position of the led in the upper left corner of the effect area. More...
 
int AreaTop = 0
 The gets the Y position of the led in the upper left corner of the effect area. More...
 
int AreaRight = 0
 The gets the X position of the led in the lower right corner of the effect area. More...
 
int AreaBottom = 0
 The gets the Y position of the led in the lower right corner of the effect area. More...
 
MatrixElementType[,] MatrixLayer
 The layer array of a IRGBAMatrix object as specified by the ToyName and the LayerNr. This reference is initialized by the Init method. More...
 
- Events inherited from DirectOutput.General.Generic.NamedItemBase
EventHandler< NameChangeEventArgsAfterNameChanged
 Event is fired after the value of the property Name has changed. More...
 
EventHandler< NameChangeEventArgsBeforeNameChange
 Event is fired before the value of the property Name is changed. More...
 
- Events inherited from DirectOutput.FX.IEffect
new EventHandler
< NameChangeEventArgs
AfterNameChanged
 This event must be fired after the Name property of a IEffect object has changed. More...
 
new EventHandler
< NameChangeEventArgs
BeforeNameChange
 This event must be fired before the Name property of a IEffect object is changed. More...
 

Detailed Description

Base class for effects shift values through a matrix of elements.

Template Parameters
MatrixElementTypeThe type of the atrix element type.

Member Function Documentation

override void DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >.Finish ( )
virtual

Finishes the effect and releases object references

Reimplemented from DirectOutput.FX.MatrixFX.MatrixEffectBase< MatrixElementType >.

abstract MatrixElementType DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >.GetEffectValue ( int  TriggerValue)
protectedpure virtual

Gets the value which is to be applied to all elements of the matrix area controlled by the effect. This methed must be overwritten.

Parameters
TriggerValueThe trigger value.
Returns
Returns a value which is to be applied to one or several matrix elements.

Implemented in DirectOutput.FX.MatrixFX.AnalogAlphaMatrixShiftEffect, and DirectOutput.FX.MatrixFX.RGBAMatrixShiftEffect.

override void DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >.Init ( Table.Table  Table)
override void DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >.Trigger ( Table.TableElementData  TableElementData)

Property Documentation

float DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >.ShiftAcceleration
getset

Gets or sets the acceleration for the shift speed in percent of the effect area per second. Acceleration can be zero, positive or negative. Positive values will increase the shift speed. Speed will be increased up to a max value of 10000. Negative values will decrease the shift speed. Speed will be decreased down to a minimum speed of 1.

The acceleration for the shift speed in percent of the effect area per second.

MatrixShiftDirectionEnum DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >.ShiftDirection
getset

Gets or sets the shift direction resp. the direction in which the color moves.

The shift direction (Left, Right, Up, Down).

float DirectOutput.FX.MatrixFX.MatrixShiftEffectBase< MatrixElementType >.ShiftSpeed
getset

Gets or sets the shift speed in percentage of the effect area per second. A speed setting of 100 will shift through the whole area of the effect in 1 second. 200 will shift through the effect area in .5 seconds. 33 will shift through the effect area in approx. 3 seconds. Max. speed is 10000 (shift through the effect area in 1/100 seconds). Min. speed is 1 (shifts through the effect area in 100 seconds).

The shift speed in percentage of the effect area (Left, Top, Width, Height properties) per second .


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