Process SMIL directives in XML data
In order to represent evolutions of data over time, the SMIL standard provides a solution to record the animation of data formated in XML.
Process SMIL directives in XML data is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
The task is to create an utility that given the first Smiled XML file, would return the second one
And here is the same data with additional Smil statments that you should load, display and animate with OpenGL (or something else):
<lang xml><?xml version="1.0" ?> <smil> <X3D>
<Scene> <Viewpoint position="0 0 8" orientation="0 0 1 0"/> <PointLight color='1 1 1' location='0 2 0'/> <Transform translation='0.0 0.0 0.0' scale='1 1 1'> <Shape> <Box size='2 1 2'> <animate attributeName="size" from="2 1 2" to="1 2 1" begin="0s" dur="10s"/> </Box> <Appearance> <Material diffuseColor='0.0 0.6 1.0'> <animate attributeName="diffuseColor" from="0.0 0.6 1.0" to="1.0 0.4 0.0" begin="0s" dur="10s"/> </Material> </Appearance> </Shape> </Transform> </Scene>
</X3D></smil></lang>
At t = 0 second here is the expected output:
<lang xml><?xml version="1.0" ?> <X3D>
<Scene> <Viewpoint position="0 0 8" orientation="0 0 1 0"/> <PointLight color='1 1 1' location='0 2 0'/> <Transform translation='0.0 0.0 0.0' scale='1 1 1'> <Shape> <Box size='2 1 2'/> <Appearance> <Material diffuseColor='0.0 0.6 1.0'/> </Appearance> </Shape> </Transform> </Scene>
</X3D></lang>
At t = 2 second here is the expected output:
<lang xml><?xml version="1.0" ?> <X3D>
<Scene> <Viewpoint position="0 0 8" orientation="0 0 1 0"/> <PointLight color='1 1 1' location='0 2 0'/> <Transform translation='0.0 0.0 0.0' scale='1 1 1'> <Shape> <Box size='1.8 1.2 1.8'/> <Appearance> <Material diffuseColor='0.2 0.56 0.8'/> </Appearance> </Shape> </Transform> </Scene>
</X3D></lang>