Page History: XAML 3D Viewport Element
Compare Page Revisions
Page Revision: 2015/01/01 17:44
|
3D XAML Viewport
|
Info |
Category: |
Visual Stimuli |
|
AddIn: |
Base Elements |
Creator: |
OkazoLab Team |
|
Scope: |
Parent Event |
Owns Snippets: |
no |
|
Usage: |
Presentation Screen |
Element actions aligned with different epochs of the parent event
Epoche | Actions |
---|
Initialized | The camera starts capturing video |
Rendered |
Activating |
Activated |
Running | The camera output is captured and rendered via the Video Output property, if the latter is bound to the status screen |
Deactivated |
Deinitialized | The camera stops capturing video |
Notes
Insert Notes here..
Properties
Generic Properties
Name | Description | Constraints | Value Type | Upon Runtime Change |
---|
Settings |
name | description | attributes | type String | |
+=== Properties inherited from clVisualElement ===
Name | Description | Constraints | Value Type | Upon Runtime Change |
---|
VISUAL APPEARANCE |
Alpha Masking | Defines whether the visual content rendered by this element will be used as an opacity mask which is applied onto the given event surface. The active opacity mask allows one to expose pixels of the parent event surface through a solid background of the given event. If the value is true, the darker pixels of the content will make more transparent holes on the entire event surface. | | Boolean | |
AntiAliasing | If true, the rendered content will be anti-aliased for smoother visual appearance. If false, rendering will be authentic to its source, e.g. a bitmap. | | Boolean | |
Position | Defines the position of the element viewport on the screen. The position can be set in any of three coordinate systems: a) pixels, b) polar, c) central. | | clPoint | |
Size | Defines the size of the element viewport on the screen. The size can be set in any of three coordinate systems: a) pixels, b) visual degrees, c) 'relative-to-screen' size. | | clSize | |
Z Order | Indicates the current depth order of the element viewport on the surface of the parent event. The greatest number corresponds to the top position. The order can be changed by moving the element up and down in the element list. | | Int32 | |
Pivot Point | Defines the pivot point (coordinate and the rotation centers) within the element viewport. | | stAlignment or Int32 | |
Visible | Defines whether the element is currently visible on the event surface. The property is convenient for switching visual content on and off. | | Boolean | |
Rotation | Defines the rotation angle (in degrees) of element viewport relative to the its pivot point. | | Double in the range 0..360 | |
EFFECTS |
Transparent Color | The color of the original pixels of rendered content that will be set as transparent. | | stColor | |
Transparency Tolerance | Tolerance ratio for choosing colors that become transparent. Zero means that effect is not applied, 1 denotes that all colors will become trasparent. | | Int32, range (0..100) | |
Color Mask | Produces a multiplicative combination of the original pixels and the selected mask color (except the alpha channel). The effect emulates a look through a colored glass. White or transparent mask color doesn't change the original pixels. | | stColor | |
Opacity | Opacity of the rendered content. | | Int32, range (0..100) | |
Contrast | Contrast of the rendered content. | | Int32, range (-100..100) | |
Brightness | Defines the brighness of the rendered content. | | Int32, range (-100..100) | |
Saturation | Saturation of the rendered content. | | Double | |
Pixelation | Defines the pixel scale of the rendering. | | Int32, range (0..100) | |
Blurring | The radius used in the gaussian blur of rendered content, as a pixel-based factor. The default is 0 which means no blurring. | | Int32 | |
POSITIONAL JITTER |
Reset Jitter | Set to true at runtime to reset the current positional jitter. | | Boolean, set true for action | |
Current Jitter | Jitter range, in pixels (non inclusive). | . | clSize | |
Jitter Range | Jitter range, centered at the original position of the element. | . | clSize | |
+=== Properties inherited from clLibraryElement ===
Name | Description | Constraints | Value Type | Upon Runtime Change |
---|
Material List |
Selected Index | Defines the index of the active item in the material list of the element. | | Int32 | A change causes the current item to be reloaded and an update of the element. |
Selected Item | Defines the name of the active item in the material list of the element. The name matches to a name of item in the Material Library | | String | A change causes the current item to be reloaded and an update of the element. |
Item Count | Returns the total number of items in the material list of the element. | | Int32 |
Equalize RGB | The property is only available in the visual element. If the value is true, the average RGB pixel intensity will be equalized across all items in the material list. You can turn on this property, when you need to obtain a luminance-balanced set of visual stimulus. | | Boolean | |
+=== Properties inherited from clSerialPortElement ===
Inherited properties of clSerialPort
Name | Description | Constraints | Value Type | Upon Runtime Change |
---|
Settings |
Working Mode | Defines a working mode for the element. Select 'Auto Output' mode for sending data synchronously with an onset of the parent event, 'Input Detection' mode for catching the particular pattern in port input and 'Manual Output'/'Input Listener' modes for custom writing/reading scenarios controlled via snippets. | | Struct,Int32 |
Encoding | The encoding method that is used to convert raw port bytes into text strings and vice verse. The default encoding is ByteChar which converts each byte of data to a single char. | | Struct,Int32 |
Buffer Size | Size of the input circular buffer (in bytes) that stores all incoming port data, when the element works in the 'Input Listener' mode. If the buffer is small, a part of the data can be lost before it is read by the program. | | Int32 |
Output |
Test Output | Initiates a single output transfer through the port by sending the current content of the Output Buffer property | |
Output Buffer | Text buffer that accumulates data meant to be sent through the port. | | String |
Send Now | Runtime action that initiates an instant transfer of the current output value through the port. Manual runtime calls of this action are required if the element works in the Manual Output mode. | | Boolean | Assigning "true" to the linked Proxy in snippets initiates a single action call |
Input |
Test Input | Start a dialog window that monitors arriving port input in realtime. Useп for verification of the selected port settings and encoding method. | |
Input | Returns the most recent content of the circular input buffer, when the element works in the Input Listener. The property is refreshed automatically on each OnRunning cycle, therefore, a property value should be read in the Running snippet. | | String |
Triggering Input | When the element works in the 'Input Detection' mode, the value of this property defines the 'catching' input string. If such string is detected an incoming input at some moment, the element registers the detection time and becomes triggered. This property is essential for time-accurate registration of the specific input, e.g button press, coming out of a external device. | | String |
Trigger Once | Defines whether the element can be triggered multiple times, while the parent event is active. If the property value is 'true', only the first triggering is registered. Triggering can occur only in the 'Input Detection' working mode | | Boolean |
Runtime Status |
Is Input Lost | Indicates that a part of the input has been lost due to large amount of incoming data at runtime or due to an insufficient size of the input buffer. Try to increase the buffer size or reduce a processing load when the element is active. | | Boolean |
Is Triggered | Indicates whether the element has been triggered at least once, since activation of the parent event. Triggering can occur only in the 'Input Detection' working mode | | Boolean |
Trigger Time | Indicates the local event time of the last element triggering. Triggering can occur only in the 'Input Detection' working mode. | | UInt64 |
+=== Properties inherited from clParallelPortElement ===
Inherited properties of clParallelPort
Name | Description | Constraints | Value Type | Upon Runtime Change |
---|
Port Settings |
Working Mode | Defines a working mode for the element.Select the 'Output on event onset' mode for sending signals synchronously with an onset of the parent event,or 'Triggering on input' mode for catching the particular pattern in port input. For custom reading/writing scenarios use the 'Manual IO' mode, in which port communications can be controlled by your code. | | Int32 |
Output |
Test Output | Sends a test output signal through the port using the selected signal profile and the current Output Value. | |
Signal Profile | Defines the time-amplitude profile of the output signal. The 'Level Change', 'Pulse' and 'TTL' profiles are available. Last two can be used to send the EEG triggers. | | Int32 | |
Preface Duration | Defines the duration (ms) of the guarantied zero preface interval for the TTL or Pulse signals. Increase the preface duration marginally, if your recording hardware does not detect port signals. Note that a non-zero preface delays the onset of the actual signal. | | Double | |
Pulse Duration | Duration of an output pulse in ms. The value is applied only, if the Pulse signal profile is selected. | | UInt64 |
Output Value | Value to be sent through the port. Can be defined in integer or binary format, e.g. Output='01010000'; or Output=255; | | clBinaryInteger |
Send Now | Runtime command that that initiates an instant transfer of the current output value through the port. Manual command calls at runtime are only required, if the element works in the Manual I/O mode. | | Boolean | Execute the command by assigning true in code: SendNow=true; |
Input |
Test Input | Open a input monitor window showing real-time port input with the current settings. Use it for testing at designtime. | |
Input Value | Returns the current state of the port input lines. The property is not updated automatically. Manual reading of the property value in snippets is required to obtain the current input. The value can be read either to the integer or binary formats, e.g. 'string S=Input;' may return '01010101'. | | clBinaryInteger |
Triggering Input | eturns the current state of the port input lines. The property is not updated automatically. Manual reading of the property value in snippets is required to obtain the current input. The value can be read either to the integer or binary formats, e.g. 'string S=Input;' may return '01010101'. | | String |
Trigger Once | Returns the current state of the port input lines. The property is not updated automatically. Manual reading of the property value in snippets is required to obtain the current input. The value can be read either to the integer or binary formats, e.g. 'string S=Input;' may return '01010101' | | Boolean |
Runtime Status |
Is Triggered | Indicates whether the element has been triggered at least once, since activation of the parent event. Triggering occurs only in the 'Input Detection' working mode. | | Boolean |
Trigger Time | Indicates the local event time of the last element triggering. Triggering occurs only in the 'Input Detection' working mode. | | UInt64 |
+=== Properties inherited from clTrackerElement ===
Name | Description | Constraints | Type | Upon Runtime Change |
---|
GLM Calibration |
Run GLM Calibration | Runs the GLM calibration procedure, which calculates two pairs of linear coefficients for mapping of the tracker input into the screen coordinates. The calculated coefficients are automatically applied at runtime. | | Boolean |
Gain X | Defines the gain coefficient for the X axis in the GLM calibration model: X='GainX'*x+OffsetX | | Double | |
Gain Y | Defines the gain coefficient for the Y axis in the GLM calibration model: Y=GainY*y+OffsetY | | Double |
Offset X | Defines the offset coefficient for the X axis in the GLM calibration model: X=GainX*x+OffsetX | | Double | |
Offset Y | Defines the offset coefficient for the Y axis in the GLM calibration model: Y=GainY*y+OffsetY | | Double | |
Drift Correction |
Recalibrate Now | Runtime command that helps to correct drifts in tracking data.Correction is done by recalibration of the latest tracker position into a custom screen point defined by the 'Recalibration Point' property.nAs result, the offsets of the GLM calibration get adjusted (but not gains) to compensate a drift in further data. | | Boolean |
Recalibration Point | Defines the screen point to which the tracker position will be recalibrated on calling 'Recalibrate Now' action. The default auto value always denotes the screen center. | | clPoint |
Logging |
Log Folder | Opens the dialog for selecting a local folder that will hold all tracking logs | | String |
Open Log Designer | Opens a designer window where the log format can be defined. | | Boolean |
Is Logging | Defines whether logging is turn on/off. The value can be changed at any moment at runtime allowing selective logging during the relevant periods only. | | Boolean | |
User Field | Defines the custom user data that is added to every line in the log file. The property can be used for recording varying status information (e.g. trial number) together with the tracker data. The string value may contains multiple fields separated by delimiter. | | String | Once a string value is assigned, it is added to every new upcoming line in the log until a new assignment is made. |
+=== Properties inherited from clElement ===
Inherited properties of clElement
Name | Description | Constraints | Value Type | Upon Change |
---|
Control |
Is Enabled | If set to false the element is completely omitted when the experiment is run. | | Boolean |
|
Title | Title of the element. | | String |
|
XAML 3D Viewport element allows rendering of 3D primitives and scenes stored in the XAML 3D format. The XAML 3D scenes can be created either by XAML scripting or by converting models from other 3D formats. If you want to use the generic 3D models, e.g. the Wavefront obj, use the 3D Viewport element. In contrast to the latter, the XAML 3D viewport element provided full control of 3D scenes. For example, object positions, materials, lighting and the camera pose can be changed dynamically via user variables. This makes the element the best choice for creating 3D animations and interactive 3D scenes with the hit testing support. Multiple XAML 3D scenes can be loaded into element's material list in order to form a 3D stimulus set.
Description
Short description
Snapshots
Snapshot 1
| Snapshot 2 |
Practical Use
Technique 1
- Step 1
- Step 2
Technique 2
- Step 1
- Step 2
// Check the trial outcome. Result and RT just other user variables
// insert code snippet here..