Value Processing Behaviors
Animation Value Processing Behaviors
Jump to Animation Keyframe
Expects a Float value between 0 and 1 (inclusive) as an event. Sets a selected animation to a frame corresponding to the value that the AnimationProcessValueBehavior receives.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Animation | SharedPointer<Candera::Animation::AnimationPlayer> | The animation controlled. AnimationProcessValueBehavior sets the animation to the frame corresponding to the value it receives. |
| SequenceStartTime | FeatStd::Optional<Candera::Animation::SequenceTimeType> | The start point of the animation. [ms] |
| SequenceDurationTime | FeatStd::Optional<Candera::Animation::SequenceTimeType> | The duration of the animation. [ms] |
| ControlNode |
Candera::AbstractNodePointer |
Diagnostics Value Processing Behaviors
Frame Measurement
Outputs Frame Measure information of the specified Render Target. These Measurements can be Frames Per Seconds, Current Frame and Frame Time. This Behavior acts as Source for Process Value Behaviors.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| RenderTarget | Candera::GraphicDeviceUnit* | The render target which FPS should be monitored. |
| Output | OutputType::Enum | Specifies which information will be output. |
| DispatchThreshold | FeatStd::Optional< FeatStd::Variant > | Specifies how much the Output has to change to dispatch an event to its receivers. |
| Receivers |
Candera::ProcessValueBehaviorArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Effects Value Processing Behaviors
Set Alpha Value
Sets the Alpha value of a node (expects a Float value).
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | Candera::AbstractNodePointer | The Node which gets the resulting alpha value. If not set, then the node where the behavior is attached to, will be modified. |
Switch Image
Sets an image on a Render Node based on a float index received as event.
Supports
- Controls:
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Upload Strategy | Enum (OnInit, OnDemand) |
Specifies if images are uploaded on demand or when the behavior is instantiated. OnInit may cause an initial delay and keeps all images loaded. OnDemand avoids an initial delay and only keeps one image loaded. Possible values: OnInit, OnDemand |
| Target Node | RenderNode * | The Render Node SwitchImageProcessValueBehavior will switch images on. |
| Images |
SharedPointer<Candera::Image2D> |
A list of images which should be available for selection. This property is only available for 2D scenes. |
| Textures |
SharedPointer<Candera::TextureImage> |
A list of images which should be available for selection. This property is only available for 3D scenes. |
| OutOfBoundsHandlingMode |
OutOfBoundsHandlingMode::Enum |
Behavior when an index greater than the number of images is given. Possible values: Hold, Clamping |
Switch Text
Sets a text on a Render Node based on a float index received as event.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | Candera::AbstractNodePointer | The Render Node SwitchTextProcessValueBehavior will switch the text on. |
| Texts |
ArrayProperty<FeatStd::String> | Use list of texts (strings) and switch between them. |
Zoom Effect
Expects a Float value between 0 and 1 (inclusive) as an event. Applies scale and alpha on children of a group.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node |
Candera::AbstractNodePointer | The node whose children are enabled or disabled by ZoomProcessValueBehavior. If not set, then the node where the behavior is attached to will be considered. |
| Alpha Factors | Vector2 | Min/Max transparency factors |
| Zoom Factors | Vector2 | Min/Max zoom factors |
| Zoom Distribution | Float | Distribution of Zoom/Alpha to each side of the selection. |
| ZoomByLayout | bool | Whether the zoom is accomplished by layout size. |
Transformation Value Processing Behaviors
Resize Group Node
Expects a Float value as an event, and changes the layout size of a group node it is placed on. When mode is 'Relative' it scales the layout size (expected value is a normalized value). When mode is 'Absolute' the layout size is set in pixels.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| AffectXAxis | bool | Enables or disables scaling in horizontal direction. |
| AffectYAxis | bool | Enables or disables scaling in vertical direction. |
| Mode |
Mode::Enum | Determines how the received value will be interpreted. |
| ScaleVector |
Vector2 |
This vector is multiplied by the received value and specifies the magnitude by which the node is scaled. |
Set Node Size
Expects a Float value as an event. Sets the layout size of a node on a given axis by the received value in pixels.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | Candera::AbstractNodePointer | The target node which is modified. if not set, then the node where the behavior is attached to, will be modified. |
| Size Axis | AxisType2D::Enum |
The axis along which the size is set. Possible values: AxisX, AxisY |
Set Position
Expects a Float value as an event. Translates Position Node along given axis by the received value in pixels.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | Candera::AbstractNodePointer | The target node to which the events are routed from the source node. |
| Translation Axis 2D |
AxisType2D::Enum |
The axis along which the position is set. Possible values: AxisX, AxisY This property is only available for 2D scenes. |
| Translation Axis 3D |
AxisType3D::Enum |
The axis along which the position is set. Possible values: AxisX, AxisY,, AxisZ This property is only available for 3D scenes. |
Set Rotation
Expects a Float value as an event. Rotates Rotation Node clockwise by the received value in degrees.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | Candera::AbstractNodePointer | The node which is modified. If not set, then the node where the behavior is attached to, will be modified. |
| RotationAxis |
AxisType3D::Enum |
The axis to rotate the node around. Possible values: AxisX, AxisY,, AxisZ This property is only available for 3D scenes. |
Set Scale
Expects a Float value as an event. Scales Scaled Node by the received (scalar) value multiplied by Vector (X value for horizontal scaling, Y value for vertical scaling). Scaling along either axis can be enabled or disabled.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TargetNode | Candera::AbstractNodePointer | The Node which is modified. If not set, then the node where the behavior is attached to, will be modified. |
| ScaleAlongX | bool | Enables or disables scaling in horizontal direction. |
| ScaleAlongY | bool | Enables or disables scaling in vertical direction. |
| ScaleAlongZ | bool |
Enables or disables scaling in Z-direction. This property is only available for 3D scenes. |
| ScaleVector2D | Vector2 |
This vector is multiplied by the received value and specifies the magnitude by which the node is scaled. This property is only available for 2D scenes. |
| ScaleVector3D | Vector3 |
This vector is multiplied by the received value and specifies the magnitude by which the node is scaled. This property is only available for 3D scenes. |
Move Node
Expects a Float value as an event. Translates Translated Node by the received (scalar) value multiplied by Vector X Y (Z).
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Target Node | Candera::AbstractNodePointer | The node TranslateProcessBehavior moves. |
| Multiplied Vector | Vector3 | This vector is multiplied by the value TranslateProcessValueBehavior receives and specifies direction and magnitude by which TranslateProcessValueBehavior moves Translated Node. If not set, then the node where the behavior is attached to, will be modified. |
AnimationMeter
This behavior is a Behavior Block. It can be dragged&dropped on nodes just like any Behavior. Controls an animation according to the passed value.
| Property Name | Type | Description |
|---|---|---|
| Animation | Candera::Animation::AnimationPlayer |
TThe animation controlled. AnimtionMeter sets the animation to the frame corresponding to a mapped value it receives. |
| Minimum | FeatStd::Variant |
Minimum of the Variant value which will be mapped between 0 and 1. |
| Maximum | FeatStd::Variant |
Maximum of the Variant value which will be mapped between 0 and 1. |
Arithmetic Operation
Arithmetic operation behavior allows to perform addition, subtraction, multiplication and division operations on the passed value.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Operation | ArithmeticOperationType::Enum |
Arithmetic operation to be performed. Possible values: Addition, Subtraction, Multiplication, Division, Modulo, Absolute |
| Operand | FeatStd::Variant | A number to be used as addend/subtrahend/multiplicant/divisor on provided value. |
| OutputType | VariantValueType::Enum |
Type of the Variant forwarded as result. Possible values: FloatValue, Int32Value, UInt32Value, BoolValue, DoubleValue, Int8Value, Int16Value, Int64Value, UInt8Value, UInt16Value, UInt64Value, StringValue |
| Receivers |
Candera::ProcessValueBehaviorArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Clock
Converts a time integer into seconds, minutes and hours and passes those values to behavior-properties.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| SecondsProcessValueBehavior | Candera::ProcessValueBehavior* |
The behavior that receives the seconds. This property can be set in the right side of the Scene Tree panel. |
| MinutesProcessValueBehavior | Candera::ProcessValueBehavior* |
The behavior that receives the minutes. This property can be set in the right side of the Scene Tree panel. |
| HoursProcessValueBehavior | Candera::ProcessValueBehavior* |
The behavior that receives the hours. This property can be set in the right side of the Scene Tree panel. |
| OffsetInMinutes | FeatStd::Int32 | Offset in minutes to add to time (i.e. for different time zones). |
| ShowFull24Hours | bool | If true, hours will be shown from 0-23, otherwise in AM/PM format. |
| AMText | FeatStd::String | The string of the AM label. |
| PMText | FeatStd::String | The string of the PM label. |
| AMPMTextBehavior | Candera::Behavior* |
Sets text 'AM' or 'PM'. This property can be set in the right side of the Scene Tree panel. |
| ShowSeconds | bool | If true, seconds will be shown. |
| SecondsNode | Candera::AbstractNodePointer | The node that will be turned off if showing of seconds is disabled. |
Dial
Receives an angle from a ProcessValueEvent or a value in a ChangeValueEvent. The knob changes its rotation according to that angle. The Behavior Transmits the changed value through events (ValueChangedEvent and ProcessValueEvent).
This behavior is available for 2D scenes only.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| CurrentValue | FeatStd::Int32 | Current value for the dial. |
| MinimumRotation | FeatStd::Float | Minimum rotation of the dial. |
| MaximumRotation | FeatStd::Float | Maximum rotation of the dial. |
| StepSize | FeatStd::Float | Step size in degrees. |
| KnobNode | Candera::AbstractNodePointer | Knob node which will be rotated. |
| Receivers |
Candera::ProcessValueBehaviorArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Filter
Filters the processed value via an attached Condition (e.g. Check processed Value).
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Condition | Candera::ConditionBehavior* | ConditionBehavior for passing the value to the next process value behavior. |
| Receivers |
Candera::ProcessValueBehaviorArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Forward Value
Forwards a received value to the associated target (associated controls with a value property). Receives a ValueChanged-Event (change notification) and forwards it as a ChangeValue-Event(change request) to the target. The common usecase is to send the Value from a Value behavior to another Value behavior(or Control with a Value).
Emits a ChangeValueEvent which will be received by a Value Behavior.
Note that the target Value - Behavior must have 'Accept Value Event' property enabled.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Event Dispatch Strategy | EventDispatchStrategyType::Enum |
The way the event gets sent. Possible values: Direct, Broadcast, Bubble, Tunnel, DedicatedBehavior |
| Target Node | Candera::AbstractNodePointer | The target node to which the events are routed. If this property is not set, the event will be routed to the node of the behavior. |
| Dedicated Behavior |
Candera::ProcessValueBehavior* |
The dedicated process value behavior that will receive the change value event. This property can be set in the right side of the Scene Tree panel. |
Interpolate Value
Expects a Float value as an event. This behavior holds an internal Float value. It changes this internal value with given speed (Units Per Second) until it reaches the received value. Unless received value matches internal value, it sends internal value to a Process Value Behavior every frame.
If the Animation Mode property is set to Instant, no interpolation will be taking place - the received value will be applied immediately.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Animation Mode | InterpolationAnimationMode::Enum |
Animation mode sets a specific interpolation type. Possible values: SpeedBased, TimeBased, Instant |
| Units Per Second | Float |
Speed at which InterpolateProcessValueBehavior changes its internal value. This property can only be set when AnimationMode is set to "SpeedBased". |
| Interpolation Time |
UInt32 |
Time in ms the InterpolateProcessValueBehavior changes its internal value. This Property can only be set when AnimationMode is set to "TimeBased" |
| Filter Time Constant | Float |
The moment before InterpolateProcessValueBehavior’s internal value reaches the received value, the speed at which the former is changing slows down. This prevents a sudden end of movement that can be felt as artificial in some cases. This property can only be set when AnimationMode is set to either "SpeedBased" or "Timebased". |
| Receivers |
Candera::ProcessValueBehaviorArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Map Value
Expects a Float value as an event. Maps the received value from one interval to another.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| InputMin | FeatStd::Optional< FeatStd::Variant > | [Optional] Smallest value of the interval to check. If Minimum is given as greater than Maximum then the values are internally swapped. |
| InputMax | FeatStd::Optional< FeatStd::Variant > | [Optional] Largest value of the interval to check. If Maximum is given as smaller than Minimum then the values are internally swapped. |
| OutputMin | FeatStd::Float | Smallest value of the interval mapped to. |
| OutputMax | FeatStd::Float | Largest value of the interval mapped to. |
| OutputType | VariantValueType::Enum |
Type of the Variant forwarded as result. Possible values: FloatValue, Int32Value, UInt32Value, BoolValue, DoubleValue, Int8Value, Int16Value, Int64Value, UInt8Value, UInt16Value, UInt64Value, StringValue |
| Receivers |
Candera::ProcessValueBehaviorArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Map Value Normalized
Maps the numeric value received via 'ProcessValueEvent' within an arbitrary range to the normalized range from 0.0 to 1.0 and dispatches the result locally to its receivers. Receivers of this Behavior must therefore be value processing behaviors operating on normalized values.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Reverse | bool | Toggles the mapping direction. If this property is true, the received value is assumed to be within range from 0.0 to 1.0 and the emitted value is mapped accordingly. |
| ValueForRange | ValueBehaviorBase* |
The input value behavior for defining the mapped range. This property can be set in the right side of the Scene Tree panel. |
| Receivers |
Candera::ProcessValueBehaviorArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Process Value Changed Event
This behavior handles ValueChanged events and processes the new value within a set of ProcessValueBehaviors chains. By default ProcessValueChangedBehavior does consume the event, which will result in dispatching the event any further in the dispatching strategy. If further dispatching of the ValueChangedEvent is required set the ConsumeEvent flag to false.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Sender | Candera::AbstractNodePointer | The node for which the event shall be emitted. If it is not set then the TargetNode or Node (if TargetNode is not set) will be taken instead. |
| Minimum | Optional<FeatStd::Variant> | Minimum threshold of the processed values. |
| Maximum |
Optional<FeatStd::Variant> |
Maximum threshold of the processed values. |
| ConsumeEvent |
bool |
Set this flag to false if the event should not be consumed by the trigger. By default it is set to true and if the trigger evaluates to true the event will not be routed to any other behavior. |
| Receivers |
ProcessValueBehavior ArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Render a Range
This behavior is a Behavior Block. It can be dragged&dropped on nodes just like any Behavior. Renders a range of nodes according to the passed value.
| Property Name | Type | Description |
|---|---|---|
| OperationMode | OperationModeType Enum | When set to MultipleNodes, EnableNodesProcessValueBehavior will enable the first N children of Group Node. When Operation Mode is set to SingleNode, only Nth node is enabled. N is a number from 0 to number of all children nodes of Group Node. It corresponds linearly to the value EnableNodesProcessValueBehavior receives. |
| Minimum | Optional< FeatStd::Variant > | Minimum of the Variant value which gets mapped between 0 and 1. |
| Maximum |
Optional< FeatStd::Variant > | Maximum of the Variant value which gets mapped between 0 and 1. |
Send ChangeValue on receiving ProcessValue event
Sends out a new value. Associated controls with a value property receive the new values.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| ChangeValue | ChangeValue::Enum | How the event value shall be handled by the receiving behavior |
| Target Node |
Candera::AbstractNodePointer |
The target node to which the events are routed. If this property is not set, the event will be routed to the node of the behavior. This property is only visible if EventDispatchStrategy is set to "Direct", "Broadcast", "Bubble" or "Tunnel". |
| EventDispatchStrategy | CgiStudioControl::EventDispatchStrategyType::Enum |
The way the event gets sent Possible values: Direct, Broadcast, Bubble, Tunnel, DedicatedBehavior |
| DedicatedBehavior | Candera::ProcessValueBehavior* |
The dedicated process value behavior that will receive the change value event. This property can be set in the right side of the Scene Tree panel. This property only visible if EventDispatchStrategy is set to "DedicatedBehavior". |
| Receivers |
ProcessValueBehavior ArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Set Selected State
This behavior is a Behavior Block. It can be dragged&dropped on nodes just like any Behavior.
Sets the state to selected or deselected according to the passed value.
Smooth Value
Expects a numeric value as an event and applies exponent smoothing to that value and the previous calculated one.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| SmoothingFactor | FeatStd::Float | The factor how fast the output value should adapt to the input value. Valid values are between 0.0 and 1.0 |
| Receivers |
ProcessValueBehavior ArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Render Child Nodes
Enables/Disables Child nodes corresponding to the received value and the behavior settings.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TargetNode | Candera::AbstractNodePointer | The Node which is modified. If not set, then the node where the behavior is attached to, will be modified. |
| OperationMode | OperationMode::Enum |
When set to MultipleNodes, EnableChildNodes will enable the first N children of Group Node. When Operation Mode is set to SingleNode, only the Nth node is enabled. Possible values: MultipleNodes, SingleNode |
| Levels | FeatStd::UInt8 | Number of levels to step down through groups. Default is zero. |
| NormalizeValue | bool | If set to true, the received value has to be between 0 and 1 and will be mapped to the number of children. Otherwise the value has to be the index of the child. |
Format String
'Format String' modifies the Text of a TextNode Node and provides the Text as property for Controls. It supports formatted text that can display one variable.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Text | String | Text that TextBehavior will change the Node to. Supports formatting for one variable that corresponds to the value TextProcessValueBehavior2D receivers. |
| Style | SharedPointer <Candera::TextRendering::SharedStyle> | The style that will be set to the Text Node. |
| Alignment | TextNode2DLayouter::TextAlignment |
The horizontal text alignment, using the culture text direction, is used to define how text will be horizontally aligned within its layout area. Possible values: Auto, Left, Center, Right |
| Multiline | bool | If multi line is disabled, then the new line control characters will be ignored and text will always be rendered in one line. |
| Line Spacing | PixelSize (UInt16) | Defines the distance between the baselines of successive lines of type. |
| Word Wrap | Bool | If word wrapping is enabled then the lines that exceed the client area will be split during arrangement into multiple lines. |
| Trimming | TextNode2DLayouter::Trimming |
Trimming defines the behavior to employ when content overflows the content area. Possible values: None, Ellipsis, CustomText |
| TrimmingText | FeatStd::String |
Trimming text defines the text which replaces content overflowing the content area. This property is only visible if Trimming is set to "CustomText". |
| TargetNode | Candera::AbstractNodePointer | The Node which gets the given text. If not set, then the node where the behavior is attached to, will be modified. |
Track Angle on Drag
Listens to the touch of the selected node, returns the angle between pressing, moving and releasing.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TouchNode | Candera::AbstractNodePointer | A node that is used to collect information about the touch. |
| Receivers |
ProcessValueBehavior ArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Drag on Track to Value
Determines the position of a touch move in relation to the associated node and provides it as value in range from 0.0 to 1.0 (normalized). The horizontal boundary of the associated node is the track. The Dragged Node is used to determine the hit area and to determine the position change relative to its center. This behavior can be used as a source to a Value Behavior. Add a Value Behavior as a receiver.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| TargetNode | Candera::AbstractNodePointer | The Node which gets the given text. If not set, then the node where the behavior is attached to, will be modified. |
| UseCenter | bool | If true, the center value defined for the knob bitmap is used to align the knob to the value position, otherwise the calculated center. |
| TrackDirection | TrackDirection::Enum |
Defines if the position will be tracked horizontally or vertically Possible values: Vertical, Horizontal |
| LeftTouchMargin | FeatStd::Float | Defines the size for extending or shrinking the touch-sensitive area at the left border of the knob. The size is given in percentage of the knob width. Positive values extend, negative values shrink the area. |
| RightTouchMargin | FeatStd::Float | Defines the size for extending or shrinking the touch-sensitive area at the right border of the knob. The size is given in percentage of the knob width. Positive values extend, negative values shrink the area. |
| TopTouchMargin | FeatStd::Float | Defines the size for extending or shrinking the touch-sensitive area at the top border of the knob. The size is given in percentage of the knob height. Positive values extend, negative values shrink the area. |
| BottomTouchMargin | FeatStd::Float | Defines the size for extending or shrinking the touch-sensitive area at the bottom border of the knob. The size is given in percentage of the knob height. Positive values extend, negative values shrink the area. |
| OnKnobDragOnly | bool | The position will only be updated when the Knob gets dragged, otherwise clicking on the control will move the knob to the position. |
| UseExcclusiveMode |
bool |
Enabling the option prevents some controls (e.g. Slider) from loosing the touch when leaving the node area. |
| DraggedNode |
Candera::AbstractNodePointer |
Defines the node to move along the track, to determine the hit area and to determine the position change relative to its center. |
| Receivers |
ProcessValueBehavior ArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Action on Value
Passes a Process Value to a Condition Behavior and if the response is positive, invokes an Action behavior.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Condition | ConditionBehavior* | The ConditionBehavior that TriggerBehavior passes a value to and expect a response from to see if Action needs to be invoked. |
| Actions | ActionBehaviorArrayProperty | The set of ActionBehaviors that TriggerBehavior invokes in the event that it receives a positive response form Condition. |
| Consume Event | bool | Set this flag to false if the event should not be consumed by the trigger. By default it is set to true and if the trigger evaluates to true the event will not be routed to any other behavior. |
Value
ValueBehavior sends a value to any behavior derived from ProcessValueBehavior type. It supplies an input to process value behaviors via event.
Example Usage
Common Properties
| Property Name | Type | Description |
|---|---|---|
| Minimum | FeatStd::Optional< FeatStd::Variant > |
Minimum of the Variant value. If Minimum is given as greater than Maximum then the values are internally swapped. |
| Maximum | FeatStd::Optional< FeatStd::Variant > | Maximum of the Variant value. If Maximum is given as smaller than Minimum then the values are internally swapped. |
| IntervalHandling | IntervalHandling::Enum |
Select how the behavior should react when the minimum or maximum limit is exceeded. Possible values: Limit, Cycle, Ignore |
| AcceptValueEvent | bool | Set this flag to true to make the value changeable by events/actions. |
| BroadcastProcessValueEvent | bool | Set this flag to true to broadcast ProcessValue event even if value did not change. |
| DispatchStrategy |
CgiStudioControl::EventDispatchStrategyType::Enum |
By default the event that indicates that this value behavior has been changed (ValueChangedEvent) is dispatched only on the node to which the value behavior is attached (CgiStudioControl::EventDispatchStrategyType::Direct). To change this you have to select a different dispatch strategy. Possible values: Direct, Broadcast, Bubble, Tunnel, DedicatedBehavior |
| DedicatedBehavior |
Candera::Behavior* |
The dedicated behavior that will receive ValueChangedEvent when DedicatedBehavior dispatch strategy is selected. This property is only visible if DispatchStrategy is set to "DedicatedBehavior". This property can be set in the right side of the Scene Tree panel. |
| TargetNode |
Candera::AbstractNodePointer |
The node on which the for which the EventDispatchStrategy will be applied. If it is not set then the Node will be taken instead. This property is only visible if DispatchStrategy is set to "Direct", "Broadcast", "Bubble" or "Tunnel". |
| Variant |
Candera::Variant | Specifies the type and the value to pass onto Process Value Behavior. |
| Receivers |
ProcessValueBehavior ArrayProperty |
The process value behaviors that will receive the value as next in the value processing chain. This property can be set in the right side of the Scene Tree panel. |
Value Generator
The Value Generator is a demo behavior. It allows you to configure minimum and maximum values, period, and update interval, and is used for UI verification and simulation purposes. It appears in the tool when CONTROLS_DEMO_BEHAVIORS_ENABLED is enabled via CMake.
Common Properties
| Property Name | Type | Description |
|---|---|---|
| GeneratorFunction | Enum | The type of function used to generate values (linear, sin, etc.) |
| Minimum | Float | The minimum for the generated values. |
| Maximum | Float | The maximum for the generated values. |
| OffsetMs | Int | The time offset where the function is evaluated. |
| PeriodMs | Int | The time period after which the generated values repeat. |
| SamplerateMs | Int | The update rate of the generated value. |
| GenerateValues | bool |
Set this flag to true to generates values at sample rate. If set to false, no values are generated. |
| Event Dispatch Strategy | EventDispatchStrategyType::Enum |
The way the event gets sent. Possible values: Direct, Broadcast, Bubble, Tunnel, DedicatedBehavior |
| Dedicated Behavior | Candera::ProcessValueBehavior* |
The dedicated process value behavior that will receive the change value event. This property can be set in the right side of the Scene Tree panel. |
| Target Node | Candera::AbstractNodePointer |
The target node to which the events are routed. If this property is not set, the event will be routed to the node of the behavior. |