xml3d/xml3d.js — pull request #44 by K1ll3rF0x (2013-12-20 14:16:40+00:00)
Title: XML3D data adapter enhancements

This pull request introduces some changes in the XML3D DataAdapter and DataflowDataAdapter behaviour. These changes provide a basis for incoming features [1](http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE.Feature.MiWi.3D-UI.DataflowProcessing.XFlowArchitecturalEnhancements.SinglePlatformDataflow) and [2](http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE.Feature.MiWi.3D-UI.DataflowProcessing.XFlowParallelProcessing.WebCLRealTimeNode).

Changes include:
* Two new attributes for `````` and `````` elements: *"platform"* and *"nodeType"*
* *"platform"* attribute can be used to force a data sequence or a data flow to utilise a spesific platform (js, gl or cl). If no *"platform"* attribute is defined, a default Xflow Graph platform will be used instead. ([1](http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE.Feature.MiWi.3D-UI.DataflowProcessing.XFlowArchitecturalEnhancements.SinglePlatformDataflow))
* *"nodeType"* attribute can be used for changing executing behaviour of a data sequence or a dataflow node. By default all data nodes are "pre-processing" nodes, but they can be defined to be "realtime" nodes. ([2](http://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/FIWARE.Feature.MiWi.3D-UI.DataflowProcessing.XFlowParallelProcessing.WebCLRealTimeNode)).
Real-time node is an incoming feature that is not yet fully planned, but a basic idea is to provide a way to synchronize a data flow/data sequence with the renderer animation loop (or other ticker). This way we can provide e.g. particle simulations or other time synchronized data flows more efficiently.

This pull request *does not* include the changes that are required for making the event handlers for the new attributes work correctly. A few lines must be changed in the /src/interface/configuration.js file:

* XML3D.classInfo['data'] should include lines:
```"platform: {a: XML3D.StringAttributeHandler}"``` and ```"nodeType: {a: XML3D.StringAttributeHandler}"```
* XML3D.classInfo['dataflow'] should also include the same lines.

Because the configuration.js seems to be generated from the XML3D specification, *we request that these changes would be made in the specification.*

We will continue with the next features after our Christmas holidays in January.
The incoming features will concern integrating the WebCL API in the Xflow architecture (this is already work in progress), providing Xflow DataEntry enhancements and support for different platforms, specific "WebCL Xflow Operators" that are more deeply integrated with the WebCL API, and the "Real-Time Xflow Operators" that were explained above.

**Merry Christmas and Happy New Year 2014!**