summaryrefslogtreecommitdiffstats
path: root/examples/qt3d
diff options
context:
space:
mode:
authorSergey Dubitskiy <sergey.dubitskiy@nokia.com>2012-06-08 10:11:42 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-24 04:53:42 +0200
commita92ad1a2b363e18fc8a1ea3660482d2d1adfd67d (patch)
treece910844b135b640d29b24b60c503ad26a82bc7e /examples/qt3d
parent2f6f43649a89975ce93c07950f0935d3e66c1b7c (diff)
Object animations.
Animation tracks for object rotate/scale/translate can be loaded and played. A simple example illustrating this feature is also provided. Task-number: QTBUG-19906 Change-Id: I7a07c214f8ad7065b7f3f48d8929cb7d546af5f3 Reviewed-by: Sergey Dubitskiy <sergey.dubitskiy@nokia.com>
Diffstat (limited to 'examples/qt3d')
-rw-r--r--examples/qt3d/qt3d.pro2
-rw-r--r--examples/qt3d/scene_animations/brick.dae222
-rwxr-xr-xexamples/qt3d/scene_animations/cube_2rotations_angles_text.x433
-rw-r--r--examples/qt3d/scene_animations/cube_rotated.dae561
-rw-r--r--examples/qt3d/scene_animations/qt3d.icobin0 -> 54334 bytes
-rw-r--r--examples/qt3d/scene_animations/rotate.dae697
-rw-r--r--examples/qt3d/scene_animations/scale.dae697
-rw-r--r--examples/qt3d/scene_animations/scale_rotate_translate.dae697
-rw-r--r--examples/qt3d/scene_animations/scene_animations.cpp140
-rw-r--r--examples/qt3d/scene_animations/scene_animations.h73
-rw-r--r--examples/qt3d/scene_animations/scene_animations.pro17
-rw-r--r--examples/qt3d/scene_animations/scene_animations.qrc14
-rw-r--r--examples/qt3d/scene_animations/scene_animations.rc1
-rw-r--r--examples/qt3d/scene_animations/scene_animations_main.cpp79
-rw-r--r--examples/qt3d/scene_animations/stonewal.jpgbin0 -> 19550 bytes
-rw-r--r--examples/qt3d/scene_animations/translate.dae697
16 files changed, 4329 insertions, 1 deletions
diff --git a/examples/qt3d/qt3d.pro b/examples/qt3d/qt3d.pro
index f1e5903aa..b13095849 100644
--- a/examples/qt3d/qt3d.pro
+++ b/examples/qt3d/qt3d.pro
@@ -1,2 +1,2 @@
TEMPLATE = subdirs
-SUBDIRS += basket builder cube cylinder geometry nesting solarsystem tank teapot load_model
+SUBDIRS += scene_animations basket builder cube cylinder geometry nesting solarsystem tank teapot load_model
diff --git a/examples/qt3d/scene_animations/brick.dae b/examples/qt3d/scene_animations/brick.dae
new file mode 100644
index 000000000..a25cc2fa5
--- /dev/null
+++ b/examples/qt3d/scene_animations/brick.dae
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
+ <asset>
+ <contributor>
+ <author>Blender User</author>
+ <authoring_tool>Blender 2.62.0 r44136</authoring_tool>
+ </contributor>
+ <created>2012-04-12T12:56:41</created>
+ <modified>2012-04-12T12:56:41</modified>
+ <unit name="meter" meter="1"/>
+ <up_axis>Z_UP</up_axis>
+ </asset>
+ <library_cameras>
+ <camera id="Camera-camera" name="Camera">
+ <optics>
+ <technique_common>
+ <perspective>
+ <xfov sid="xfov">49.13434</xfov>
+ <aspect_ratio>1.777778</aspect_ratio>
+ <znear sid="znear">0.1</znear>
+ <zfar sid="zfar">100</zfar>
+ </perspective>
+ </technique_common>
+ </optics>
+ </camera>
+ </library_cameras>
+ <library_lights>
+ <light id="Lamp-light" name="Lamp">
+ <technique_common>
+ <point>
+ <color sid="color">1 1 1</color>
+ <constant_attenuation>1</constant_attenuation>
+ <linear_attenuation>0</linear_attenuation>
+ <quadratic_attenuation>0.00111109</quadratic_attenuation>
+ </point>
+ </technique_common>
+ <extra>
+ <technique profile="blender">
+ <adapt_thresh>0.000999987</adapt_thresh>
+ <area_shape>0</area_shape>
+ <area_size>1</area_size>
+ <area_sizey>1</area_sizey>
+ <area_sizez>1</area_sizez>
+ <atm_distance_factor>1</atm_distance_factor>
+ <atm_extinction_factor>1</atm_extinction_factor>
+ <atm_turbidity>2</atm_turbidity>
+ <att1>0</att1>
+ <att2>1</att2>
+ <backscattered_light>1</backscattered_light>
+ <bias>1</bias>
+ <blue>1</blue>
+ <buffers>1</buffers>
+ <bufflag>0</bufflag>
+ <bufsize>2880</bufsize>
+ <buftype>2</buftype>
+ <clipend>30.002</clipend>
+ <clipsta>1.000799</clipsta>
+ <compressthresh>0.04999995</compressthresh>
+ <dist sid="blender_dist">29.99998</dist>
+ <energy sid="blender_energy">1</energy>
+ <falloff_type>2</falloff_type>
+ <filtertype>0</filtertype>
+ <flag>0</flag>
+ <gamma sid="blender_gamma">1</gamma>
+ <green>1</green>
+ <halo_intensity sid="blnder_halo_intensity">1</halo_intensity>
+ <horizon_brightness>1</horizon_brightness>
+ <mode>8192</mode>
+ <ray_samp>1</ray_samp>
+ <ray_samp_method>1</ray_samp_method>
+ <ray_samp_type>0</ray_samp_type>
+ <ray_sampy>1</ray_sampy>
+ <ray_sampz>1</ray_sampz>
+ <red>1</red>
+ <samp>3</samp>
+ <shadhalostep>0</shadhalostep>
+ <shadow_b sid="blender_shadow_b">0</shadow_b>
+ <shadow_g sid="blender_shadow_g">0</shadow_g>
+ <shadow_r sid="blender_shadow_r">0</shadow_r>
+ <shadspotsize>45</shadspotsize>
+ <sky_colorspace>0</sky_colorspace>
+ <sky_exposure>1</sky_exposure>
+ <skyblendfac>1</skyblendfac>
+ <skyblendtype>1</skyblendtype>
+ <soft>3</soft>
+ <spotblend>0.15</spotblend>
+ <spotsize>75</spotsize>
+ <spread>1</spread>
+ <sun_brightness>1</sun_brightness>
+ <sun_effect_type>0</sun_effect_type>
+ <sun_intensity>1</sun_intensity>
+ <sun_size>1</sun_size>
+ <type>0</type>
+ </technique>
+ </extra>
+ </light>
+ </library_lights>
+ <library_effects>
+ <effect id="Material-effect">
+ <profile_COMMON>
+ <technique sid="common">
+ <phong>
+ <emission>
+ <color sid="emission">0 0 0 1</color>
+ </emission>
+ <ambient>
+ <color sid="ambient">0 0 0 1</color>
+ </ambient>
+ <diffuse>
+ <color sid="diffuse">0.64 0.64 0.64 1</color>
+ </diffuse>
+ <specular>
+ <color sid="specular">0.5 0.5 0.5 1</color>
+ </specular>
+ <shininess>
+ <float sid="shininess">50</float>
+ </shininess>
+ <index_of_refraction>
+ <float sid="index_of_refraction">1</float>
+ </index_of_refraction>
+ </phong>
+ </technique>
+ <extra>
+ <technique profile="GOOGLEEARTH">
+ <double_sided>1</double_sided>
+ </technique>
+ </extra>
+ </profile_COMMON>
+ <extra><technique profile="MAX3D"><double_sided>1</double_sided></technique></extra>
+ </effect>
+ </library_effects>
+ <library_materials>
+ <material id="Material-material" name="Material">
+ <instance_effect url="#Material-effect"/>
+ </material>
+ </library_materials>
+ <library_geometries>
+ <geometry id="Cube-mesh" name="Cube">
+ <mesh>
+ <source id="Cube-mesh-positions">
+ <float_array id="Cube-mesh-positions-array" count="60">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999994 -1.000001 1 -1 -0.9999997 1 -1 1 1 -1.000001 -3.177726 0.9999998 0.9999989 -3.177727 0.9999998 -1.000001 -3.177726 -1 0.9999995 -3.177726 -1 -1.000001 -3.177726 -1 -1.000001 -3.177726 0.9999998 -1 -0.9999997 1 -1 -0.9999998 -1 -2.741302 -0.9999995 -1 -2.741302 -0.9999993 0.9999998 -2.741302 -3.177725 0.9999995 -2.741302 -3.177725 -1</float_array>
+ <technique_common>
+ <accessor source="#Cube-mesh-positions-array" count="20" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube-mesh-normals">
+ <float_array id="Cube-mesh-normals-array" count="54">0 0 -1 0 0 1 1 -2.83122e-7 0 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7 0 0 1 1 -2.18961e-7 3.27825e-7 0 0 -1 -2.98023e-7 -1 -1.78814e-7 0 0 0 0 0 0 0 0 0 0 0 0 2.0538e-7 1 0 -1.3692e-7 0 1 1.3692e-7 0 -1 -2.73839e-7 -1 0 -1 2.18961e-7 -1.19209e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube-mesh-normals-array" count="18" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube-mesh-map-0">
+ <float_array id="Cube-mesh-map-0-array" count="144">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube-mesh-map-0-array" count="72" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube-mesh-vertices">
+ <input semantic="POSITION" source="#Cube-mesh-positions"/>
+ </vertices>
+ <polylist material="Material1" count="18">
+ <input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 2 3 12 6 3 13 7 3 14 3 3 15 4 4 16 0 4 17 3 4 18 7 4 19 5 5 20 6 5 21 8 5 22 9 5 23 1 6 24 5 6 25 9 6 26 11 6 27 2 7 28 1 7 29 11 7 30 10 7 31 11 8 32 9 8 33 8 8 34 10 8 35 10 9 36 8 9 37 13 9 38 12 9 39 2 10 40 10 10 41 12 10 42 15 10 43 8 11 44 6 11 45 14 11 46 13 11 47 6 12 48 2 12 49 15 12 50 14 12 51 14 13 52 15 13 53 16 13 54 17 13 55 13 14 56 14 14 57 17 14 58 18 14 59 15 15 60 12 15 61 19 15 62 16 15 63 12 16 64 13 16 65 18 16 66 19 16 67 17 17 68 16 17 69 19 17 70 18 17 71</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ </library_geometries>
+ <library_visual_scenes>
+ <visual_scene id="Scene" name="Scene">
+ <node id="Cube" type="NODE">
+ <translate sid="location">0 0 0</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_geometry url="#Cube-mesh">
+ <bind_material>
+ <technique_common>
+ <instance_material symbol="Material1" target="#Material-material">
+ <bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
+ </instance_material>
+ </technique_common>
+ </bind_material>
+ </instance_geometry>
+ </node>
+ <node id="Lamp" type="NODE">
+ <translate sid="location">4.076245 1.005454 5.903862</translate>
+ <rotate sid="rotationZ">0 0 1 106.9363</rotate>
+ <rotate sid="rotationY">0 1 0 3.163708</rotate>
+ <rotate sid="rotationX">1 0 0 37.26105</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_light url="#Lamp-light"/>
+ </node>
+ <node id="Camera" type="NODE">
+ <translate sid="location">7.481132 -6.50764 5.343665</translate>
+ <rotate sid="rotationZ">0 0 1 46.69195</rotate>
+ <rotate sid="rotationY">0 1 0 0.619768</rotate>
+ <rotate sid="rotationX">1 0 0 63.5593</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_camera url="#Camera-camera"/>
+ </node>
+ </visual_scene>
+ </library_visual_scenes>
+ <scene>
+ <instance_visual_scene url="#Scene"/>
+ </scene>
+</COLLADA> \ No newline at end of file
diff --git a/examples/qt3d/scene_animations/cube_2rotations_angles_text.x b/examples/qt3d/scene_animations/cube_2rotations_angles_text.x
new file mode 100755
index 000000000..ff7d0b6f0
--- /dev/null
+++ b/examples/qt3d/scene_animations/cube_2rotations_angles_text.x
@@ -0,0 +1,433 @@
+xof 0303txt 0032
+template Frame {
+ <3d82ab46-62da-11cf-ab39-0020af71e433>
+ [...]
+}
+
+template Matrix4x4 {
+ <f6f23f45-7686-11cf-8f52-0040333594a3>
+ array FLOAT matrix[16];
+}
+
+template FrameTransformMatrix {
+ <f6f23f41-7686-11cf-8f52-0040333594a3>
+ Matrix4x4 frameMatrix;
+}
+
+template Vector {
+ <3d82ab5e-62da-11cf-ab39-0020af71e433>
+ FLOAT x;
+ FLOAT y;
+ FLOAT z;
+}
+
+template MeshFace {
+ <3d82ab5f-62da-11cf-ab39-0020af71e433>
+ DWORD nFaceVertexIndices;
+ array DWORD faceVertexIndices[nFaceVertexIndices];
+}
+
+template Mesh {
+ <3d82ab44-62da-11cf-ab39-0020af71e433>
+ DWORD nVertices;
+ array Vector vertices[nVertices];
+ DWORD nFaces;
+ array MeshFace faces[nFaces];
+ [...]
+}
+
+template MeshNormals {
+ <f6f23f43-7686-11cf-8f52-0040333594a3>
+ DWORD nNormals;
+ array Vector normals[nNormals];
+ DWORD nFaceNormals;
+ array MeshFace faceNormals[nFaceNormals];
+}
+
+template ColorRGBA {
+ <35ff44e0-6c7c-11cf-8f52-0040333594a3>
+ FLOAT red;
+ FLOAT green;
+ FLOAT blue;
+ FLOAT alpha;
+}
+
+template ColorRGB {
+ <d3e16e81-7835-11cf-8f52-0040333594a3>
+ FLOAT red;
+ FLOAT green;
+ FLOAT blue;
+}
+
+template Material {
+ <3d82ab4d-62da-11cf-ab39-0020af71e433>
+ ColorRGBA faceColor;
+ FLOAT power;
+ ColorRGB specularColor;
+ ColorRGB emissiveColor;
+ [...]
+}
+
+template MeshMaterialList {
+ <f6f23f42-7686-11cf-8f52-0040333594a3>
+ DWORD nMaterials;
+ DWORD nFaceIndexes;
+ array DWORD faceIndexes[nFaceIndexes];
+ [Material <3d82ab4d-62da-11cf-ab39-0020af71e433>]
+}
+
+template Coords2d {
+ <f6f23f44-7686-11cf-8f52-0040333594a3>
+ FLOAT u;
+ FLOAT v;
+}
+
+template MeshTextureCoords {
+ <f6f23f40-7686-11cf-8f52-0040333594a3>
+ DWORD nTextureCoords;
+ array Coords2d textureCoords[nTextureCoords];
+}
+
+template Animation {
+ <3d82ab4f-62da-11cf-ab39-0020af71e433>
+ [...]
+}
+
+template AnimationSet {
+ <3d82ab50-62da-11cf-ab39-0020af71e433>
+ [Animation <3d82ab4f-62da-11cf-ab39-0020af71e433>]
+}
+
+template FloatKeys {
+ <10dd46a9-775b-11cf-8f52-0040333594a3>
+ DWORD nValues;
+ array FLOAT values[nValues];
+}
+
+template TimedFloatKeys {
+ <f406b180-7b3b-11cf-8f52-0040333594a3>
+ DWORD time;
+ FloatKeys tfkeys;
+}
+
+template AnimationKey {
+ <10dd46a8-775b-11cf-8f52-0040333594a3>
+ DWORD keyType;
+ DWORD nKeys;
+ array TimedFloatKeys keys[nKeys];
+}
+
+
+Frame Box01 {
+
+
+ FrameTransformMatrix {
+ 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;;
+ }
+
+ Mesh {
+ 20;
+ -20.000000;0.000000;-20.000000;,
+ 20.000000;0.000000;-20.000000;,
+ -20.000000;0.000000;20.000000;,
+ 20.000000;0.000000;20.000000;,
+ -20.000000;20.000000;-20.000000;,
+ 20.000000;20.000000;-20.000000;,
+ -20.000000;20.000000;20.000000;,
+ 20.000000;20.000000;20.000000;,
+ -20.000000;0.000000;-20.000000;,
+ 20.000000;20.000000;-20.000000;,
+ 20.000000;0.000000;-20.000000;,
+ -20.000000;20.000000;-20.000000;,
+ 20.000000;0.000000;20.000000;,
+ 20.000000;20.000000;-20.000000;,
+ 20.000000;0.000000;20.000000;,
+ -20.000000;20.000000;20.000000;,
+ -20.000000;0.000000;20.000000;,
+ 20.000000;20.000000;20.000000;,
+ -20.000000;0.000000;20.000000;,
+ -20.000000;20.000000;-20.000000;;
+ 12;
+ 3;0,3,2;,
+ 3;3,0,1;,
+ 3;4,7,5;,
+ 3;7,4,6;,
+ 3;8,9,10;,
+ 3;9,8,11;,
+ 3;1,7,12;,
+ 3;7,1,13;,
+ 3;14,15,16;,
+ 3;15,14,17;,
+ 3;18,19,0;,
+ 3;19,18,6;;
+
+ MeshNormals {
+ 6;
+ 0.000000;-1.000000;0.000000;,
+ 0.000000;1.000000;0.000000;,
+ 0.000000;0.000000;-1.000000;,
+ 1.000000;0.000000;0.000000;,
+ 0.000000;0.000000;1.000000;,
+ -1.000000;0.000000;0.000000;;
+ 12;
+ 3;0,0,0;,
+ 3;0,0,0;,
+ 3;1,1,1;,
+ 3;1,1,1;,
+ 3;2,2,2;,
+ 3;2,2,2;,
+ 3;3,3,3;,
+ 3;3,3,3;,
+ 3;4,4,4;,
+ 3;4,4,4;,
+ 3;5,5,5;,
+ 3;5,5,5;;
+ }
+
+ MeshMaterialList {
+ 1;
+ 12;
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0;
+
+ Material {
+ 0.890196;0.596078;0.596078;1.000000;;
+ 0.000000;
+ 0.890196;0.596078;0.596078;;
+ 0.000000;0.000000;0.000000;;
+ }
+ }
+
+ MeshTextureCoords {
+ 20;
+ 1.000000;1.000000;,
+ 0.000000;1.000000;,
+ 1.000000;0.000000;,
+ 0.000000;0.000000;,
+ 0.000000;1.000000;,
+ 1.000000;1.000000;,
+ 0.000000;0.000000;,
+ 1.000000;0.000000;,
+ 0.000000;1.000000;,
+ 1.000000;0.000000;,
+ 1.000000;1.000000;,
+ 0.000000;0.000000;,
+ 1.000000;1.000000;,
+ 0.000000;0.000000;,
+ 0.000000;1.000000;,
+ 1.000000;0.000000;,
+ 1.000000;1.000000;,
+ 0.000000;0.000000;,
+ 0.000000;1.000000;,
+ 1.000000;0.000000;;
+ }
+ }
+}
+
+AnimationSet rotate1 {
+
+
+ Animation Anim-Box01 {
+
+ { Box01 }
+
+ AnimationKey {
+ 0;
+ 25;
+ 0;4;-1.000000,0.000000,0.000000,0.000000;;,
+ 160;4;-0.999992,0.000000,-0.003977,0.000000;;,
+ 320;4;-0.999881,0.000000,-0.015453,0.000000;;,
+ 480;4;-0.999431,0.000000,-0.033741,0.000000;;,
+ 640;4;-0.998308,0.000000,-0.058145,0.000000;;,
+ 800;4;-0.996125,0.000000,-0.087948,0.000000;;,
+ 960;4;-0.992480,0.000000,-0.122411,0.000000;;,
+ 1120;4;-0.986993,0.000000,-0.160765,0.000000;;,
+ 1280;4;-0.979341,0.000000,-0.202218,0.000000;;,
+ 1440;4;-0.969281,0.000000,-0.245955,0.000000;;,
+ 1600;4;-0.956676,0.000000,-0.291154,0.000000;;,
+ 1760;4;-0.941506,0.000000,-0.336997,0.000000;;,
+ 1920;4;-0.923880,0.000000,-0.382683,0.000000;;,
+ 2080;4;-0.904038,0.000000,-0.427452,0.000000;;,
+ 2240;4;-0.882349,0.000000,-0.470595,0.000000;;,
+ 2400;4;-0.859302,0.000000,-0.511469,0.000000;;,
+ 2560;4;-0.835488,0.000000,-0.549509,0.000000;;,
+ 2720;4;-0.811587,0.000000,-0.584231,0.000000;;,
+ 2880;4;-0.788346,0.000000,-0.615232,0.000000;;,
+ 3040;4;-0.766555,0.000000,-0.642178,0.000000;;,
+ 3200;4;-0.747025,0.000000,-0.664796,0.000000;;,
+ 3360;4;-0.730563,0.000000,-0.682846,0.000000;;,
+ 3520;4;-0.717949,0.000000,-0.696096,0.000000;;,
+ 3680;4;-0.709913,0.000000,-0.704289,0.000000;;,
+ 3840;4;-0.707107,0.000000,-0.707107,0.000000;;;
+ }
+
+ AnimationKey {
+ 1;
+ 25;
+ 0;3;1.000000,1.000000,1.000000;;,
+ 160;3;1.000000,1.000000,1.000000;;,
+ 320;3;1.000000,1.000000,1.000000;;,
+ 480;3;1.000000,1.000000,1.000000;;,
+ 640;3;1.000000,1.000000,1.000000;;,
+ 800;3;1.000000,1.000000,1.000000;;,
+ 960;3;1.000000,1.000000,1.000000;;,
+ 1120;3;1.000000,1.000000,1.000000;;,
+ 1280;3;1.000000,1.000000,1.000000;;,
+ 1440;3;1.000000,1.000000,1.000000;;,
+ 1600;3;1.000000,1.000000,1.000000;;,
+ 1760;3;1.000000,1.000000,1.000000;;,
+ 1920;3;1.000000,1.000000,1.000000;;,
+ 2080;3;1.000000,1.000000,1.000000;;,
+ 2240;3;1.000000,1.000000,1.000000;;,
+ 2400;3;1.000000,1.000000,1.000000;;,
+ 2560;3;1.000000,1.000000,1.000000;;,
+ 2720;3;1.000000,1.000000,1.000000;;,
+ 2880;3;1.000000,1.000000,1.000000;;,
+ 3040;3;1.000000,1.000000,1.000000;;,
+ 3200;3;1.000000,1.000000,1.000000;;,
+ 3360;3;1.000000,1.000000,1.000000;;,
+ 3520;3;1.000000,1.000000,1.000000;;,
+ 3680;3;1.000000,1.000000,1.000000;;,
+ 3840;3;1.000000,1.000000,1.000000;;;
+ }
+
+ AnimationKey {
+ 2;
+ 25;
+ 0;3;0.000000,0.000000,0.000000;;,
+ 160;3;0.000000,0.000000,0.000000;;,
+ 320;3;0.000000,0.000000,0.000000;;,
+ 480;3;0.000000,0.000000,0.000000;;,
+ 640;3;0.000000,0.000000,0.000000;;,
+ 800;3;0.000000,0.000000,0.000000;;,
+ 960;3;0.000000,0.000000,0.000000;;,
+ 1120;3;0.000000,0.000000,0.000000;;,
+ 1280;3;0.000000,0.000000,0.000000;;,
+ 1440;3;0.000000,0.000000,0.000000;;,
+ 1600;3;0.000000,0.000000,0.000000;;,
+ 1760;3;0.000000,0.000000,0.000000;;,
+ 1920;3;0.000000,0.000000,0.000000;;,
+ 2080;3;0.000000,0.000000,0.000000;;,
+ 2240;3;0.000000,0.000000,0.000000;;,
+ 2400;3;0.000000,0.000000,0.000000;;,
+ 2560;3;0.000000,0.000000,0.000000;;,
+ 2720;3;0.000000,0.000000,0.000000;;,
+ 2880;3;0.000000,0.000000,0.000000;;,
+ 3040;3;0.000000,0.000000,0.000000;;,
+ 3200;3;0.000000,0.000000,0.000000;;,
+ 3360;3;0.000000,0.000000,0.000000;;,
+ 3520;3;0.000000,0.000000,0.000000;;,
+ 3680;3;0.000000,0.000000,0.000000;;,
+ 3840;3;0.000000,0.000000,0.000000;;;
+ }
+ }
+}
+
+AnimationSet rotate2 {
+
+
+ Animation Anim-Box01 {
+
+ { Box01 }
+
+ AnimationKey {
+ 0;
+ 25;
+ 0;4;-1.000000,0.000000,-0.000000,0.000000;;,
+ 160;4;-0.999992,0.000000,-0.000000,-0.003977;;,
+ 320;4;-0.999881,0.000000,-0.000000,-0.015453;;,
+ 480;4;-0.999431,0.000000,-0.000000,-0.033741;;,
+ 640;4;-0.998308,0.000000,-0.000000,-0.058145;;,
+ 800;4;-0.996125,0.000000,-0.000000,-0.087948;;,
+ 960;4;-0.992480,0.000000,-0.000000,-0.122411;;,
+ 1120;4;-0.986993,0.000000,-0.000000,-0.160765;;,
+ 1280;4;-0.979341,0.000000,-0.000000,-0.202218;;,
+ 1440;4;-0.969281,0.000000,-0.000000,-0.245955;;,
+ 1600;4;-0.956676,0.000000,-0.000000,-0.291154;;,
+ 1760;4;-0.941506,0.000000,-0.000000,-0.336997;;,
+ 1920;4;-0.923880,0.000000,-0.000000,-0.382683;;,
+ 2080;4;-0.904038,0.000000,-0.000000,-0.427452;;,
+ 2240;4;-0.882349,0.000000,-0.000000,-0.470595;;,
+ 2400;4;-0.859302,0.000000,-0.000000,-0.511469;;,
+ 2560;4;-0.835488,0.000000,-0.000000,-0.549509;;,
+ 2720;4;-0.811587,0.000000,-0.000000,-0.584231;;,
+ 2880;4;-0.788346,0.000000,-0.000000,-0.615232;;,
+ 3040;4;-0.766555,0.000000,-0.000000,-0.642178;;,
+ 3200;4;-0.747025,0.000000,-0.000000,-0.664796;;,
+ 3360;4;-0.730563,0.000000,-0.000000,-0.682846;;,
+ 3520;4;-0.717949,0.000000,-0.000000,-0.696096;;,
+ 3680;4;-0.709913,0.000000,-0.000000,-0.704289;;,
+ 3840;4;-0.707107,0.000000,-0.000000,-0.707107;;;
+ }
+
+ AnimationKey {
+ 1;
+ 25;
+ 0;3;1.000000,1.000000,1.000000;;,
+ 160;3;1.000000,1.000000,1.000000;;,
+ 320;3;1.000000,1.000000,1.000000;;,
+ 480;3;1.000000,1.000000,1.000000;;,
+ 640;3;1.000000,1.000000,1.000000;;,
+ 800;3;1.000000,1.000000,1.000000;;,
+ 960;3;1.000000,1.000000,1.000000;;,
+ 1120;3;1.000000,1.000000,1.000000;;,
+ 1280;3;1.000000,1.000000,1.000000;;,
+ 1440;3;1.000000,1.000000,1.000000;;,
+ 1600;3;1.000000,1.000000,1.000000;;,
+ 1760;3;1.000000,1.000000,1.000000;;,
+ 1920;3;1.000000,1.000000,1.000000;;,
+ 2080;3;1.000000,1.000000,1.000000;;,
+ 2240;3;1.000000,1.000000,1.000000;;,
+ 2400;3;1.000000,1.000000,1.000000;;,
+ 2560;3;1.000000,1.000000,1.000000;;,
+ 2720;3;1.000000,1.000000,1.000000;;,
+ 2880;3;1.000000,1.000000,1.000000;;,
+ 3040;3;1.000000,1.000000,1.000000;;,
+ 3200;3;1.000000,1.000000,1.000000;;,
+ 3360;3;1.000000,1.000000,1.000000;;,
+ 3520;3;1.000000,1.000000,1.000000;;,
+ 3680;3;1.000000,1.000000,1.000000;;,
+ 3840;3;1.000000,1.000000,1.000000;;;
+ }
+
+ AnimationKey {
+ 2;
+ 25;
+ 0;3;0.000000,0.000000,0.000000;;,
+ 160;3;0.000000,0.000000,0.000000;;,
+ 320;3;0.000000,0.000000,0.000000;;,
+ 480;3;0.000000,0.000000,0.000000;;,
+ 640;3;0.000000,0.000000,0.000000;;,
+ 800;3;0.000000,0.000000,0.000000;;,
+ 960;3;0.000000,0.000000,0.000000;;,
+ 1120;3;0.000000,0.000000,0.000000;;,
+ 1280;3;0.000000,0.000000,0.000000;;,
+ 1440;3;0.000000,0.000000,0.000000;;,
+ 1600;3;0.000000,0.000000,0.000000;;,
+ 1760;3;0.000000,0.000000,0.000000;;,
+ 1920;3;0.000000,0.000000,0.000000;;,
+ 2080;3;0.000000,0.000000,0.000000;;,
+ 2240;3;0.000000,0.000000,0.000000;;,
+ 2400;3;0.000000,0.000000,0.000000;;,
+ 2560;3;0.000000,0.000000,0.000000;;,
+ 2720;3;0.000000,0.000000,0.000000;;,
+ 2880;3;0.000000,0.000000,0.000000;;,
+ 3040;3;0.000000,0.000000,0.000000;;,
+ 3200;3;0.000000,0.000000,0.000000;;,
+ 3360;3;0.000000,0.000000,0.000000;;,
+ 3520;3;0.000000,0.000000,0.000000;;,
+ 3680;3;0.000000,0.000000,0.000000;;,
+ 3840;3;0.000000,0.000000,0.000000;;;
+ }
+ }
+} \ No newline at end of file
diff --git a/examples/qt3d/scene_animations/cube_rotated.dae b/examples/qt3d/scene_animations/cube_rotated.dae
new file mode 100644
index 000000000..ac681b5fb
--- /dev/null
+++ b/examples/qt3d/scene_animations/cube_rotated.dae
@@ -0,0 +1,561 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.0">
+ <asset>
+ <contributor>
+ <author></author>
+ <authoring_tool>FBX COLLADA exporter</authoring_tool>
+ <comments></comments>
+ </contributor>
+ <created>2012-01-09T10:08:02Z</created>
+ <modified>2012-01-09T10:08:02Z</modified>
+ <revision></revision>
+ <title></title>
+ <subject></subject>
+ <keywords></keywords>
+ <unit meter="0.025400"/>
+ <up_axis>Y_UP</up_axis>
+ </asset>
+ <library_images>
+ <image id="Map__2-image" name="Map__2">
+ <init_from>file://stonewal.jpg</init_from>
+ </image>
+ <image id="Map__1-image" name="Map__1">
+ <init_from>file://stonewal.jpg</init_from>
+ </image>
+ </library_images>
+ <library_materials>
+ <material id="_02___Default" name="_02___Default">
+ <instance_effect url="#_02___Default-fx"/>
+ </material>
+ <material id="_01___Default" name="_01___Default">
+ <instance_effect url="#_01___Default-fx"/>
+ </material>
+ </library_materials>
+ <library_effects>
+ <effect id="_02___Default-fx" name="_02___Default">
+ <profile_COMMON>
+ <technique sid="standard">
+ <phong>
+ <emission>
+ <color sid="emission">0.000000 0.000000 0.000000 1.000000</color>
+ </emission>
+ <ambient>
+ <color sid="ambient">0.588235 0.588235 0.588235 1.000000</color>
+ </ambient>
+ <diffuse>
+ <texture texture="Map__2-image" texcoord="CHANNEL0">
+ <extra>
+ <technique profile="MAYA">
+ <wrapU sid="wrapU0">TRUE</wrapU>
+ <wrapV sid="wrapV0">TRUE</wrapV>
+ <blend_mode>ADD</blend_mode>
+ </technique>
+ </extra>
+ </texture>
+ </diffuse>
+ <specular>
+ <color sid="specular">0.000000 0.000000 0.000000 1.000000</color>
+ </specular>
+ <shininess>
+ <float sid="shininess">2.000000</float>
+ </shininess>
+ <reflective>
+ <color sid="reflective">0.000000 0.000000 0.000000 1.000000</color>
+ </reflective>
+ <reflectivity>
+ <float sid="reflectivity">1.000000</float>
+ </reflectivity>
+ <transparent>
+ <color sid="transparent">1.000000 1.000000 1.000000 1.000000</color>
+ </transparent>
+ <transparency>
+ <float sid="transparency">0.000000</float>
+ </transparency>
+ </phong>
+ </technique>
+ </profile_COMMON>
+ </effect>
+ <effect id="_01___Default-fx" name="_01___Default">
+ <profile_COMMON>
+ <technique sid="standard">
+ <phong>
+ <emission>
+ <color sid="emission">0.000000 0.000000 0.000000 1.000000</color>
+ </emission>
+ <ambient>
+ <color sid="ambient">0.588235 0.588235 0.588235 1.000000</color>
+ </ambient>
+ <diffuse>
+ <texture texture="Map__1-image" texcoord="CHANNEL0">
+ <extra>
+ <technique profile="MAYA">
+ <wrapU sid="wrapU0">TRUE</wrapU>
+ <wrapV sid="wrapV0">TRUE</wrapV>
+ <blend_mode>ADD</blend_mode>
+ </technique>
+ </extra>
+ </texture>
+ </diffuse>
+ <specular>
+ <color sid="specular">0.000000 0.000000 0.000000 1.000000</color>
+ </specular>
+ <shininess>
+ <float sid="shininess">2.000000</float>
+ </shininess>
+ <reflective>
+ <color sid="reflective">0.000000 0.000000 0.000000 1.000000</color>
+ </reflective>
+ <reflectivity>
+ <float sid="reflectivity">1.000000</float>
+ </reflectivity>
+ <transparent>
+ <color sid="transparent">1.000000 1.000000 1.000000 1.000000</color>
+ </transparent>
+ <transparency>
+ <float sid="transparency">0.000000</float>
+ </transparency>
+ </phong>
+ </technique>
+ </profile_COMMON>
+ </effect>
+ </library_effects>
+ <library_geometries>
+ <geometry id="Box01-lib" name="Box01Mesh">
+ <mesh>
+ <source id="Box01-lib-Position">
+ <float_array id="Box01-lib-Position-array" count="24">
+-50.000000 -50.000000 0.000000
+50.000000 -50.000000 0.000000
+-50.000000 50.000000 0.000000
+50.000000 50.000000 0.000000
+-50.000000 -50.000000 1.000000
+50.000000 -50.000000 1.000000
+-50.000000 50.000000 1.000000
+50.000000 50.000000 1.000000
+</float_array>
+ <technique_common>
+ <accessor source="#Box01-lib-Position-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box01-lib-Normal0">
+ <float_array id="Box01-lib-Normal0-array" count="108">
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+</float_array>
+ <technique_common>
+ <accessor source="#Box01-lib-Normal0-array" count="36" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box01-lib-UV0">
+ <float_array id="Box01-lib-UV0-array" count="24">
+0.000000 0.000000
+1.000000 0.000000
+0.000000 1.000000
+1.000000 1.000000
+0.000000 0.000000
+1.000000 0.000000
+0.000000 1.000000
+1.000000 1.000000
+0.000000 0.000000
+1.000000 0.000000
+0.000000 1.000000
+1.000000 1.000000
+</float_array>
+ <technique_common>
+ <accessor source="#Box01-lib-UV0-array" count="12" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Box01-lib-Vertex">
+ <input semantic="POSITION" source="#Box01-lib-Position"/>
+ </vertices>
+ <polygons material="_02___Default" count="12">
+ <input semantic="VERTEX" offset="0" source="#Box01-lib-Vertex"/>
+ <input semantic="NORMAL" offset="1" source="#Box01-lib-Normal0"/>
+ <input semantic="TEXCOORD" offset="2" set="0" source="#Box01-lib-UV0"/>
+ <p>0 0 9 2 1 11 3 2 10</p>
+ <p>3 3 10 1 4 8 0 5 9</p>
+ <p>4 6 8 5 7 9 7 8 11</p>
+ <p>7 9 11 6 10 10 4 11 8</p>
+ <p>0 12 4 1 13 5 5 14 7</p>
+ <p>5 15 7 4 16 6 0 17 4</p>
+ <p>1 18 0 3 19 1 7 20 3</p>
+ <p>7 21 3 5 22 2 1 23 0</p>
+ <p>3 24 4 2 25 5 6 26 7</p>
+ <p>6 27 7 7 28 6 3 29 4</p>
+ <p>2 30 0 0 31 1 4 32 3</p>
+ <p>4 33 3 6 34 2 2 35 0</p>
+ </polygons>
+ </mesh>
+ </geometry>
+ <geometry id="Box02-lib" name="Box02Mesh">
+ <mesh>
+ <source id="Box02-lib-Position">
+ <float_array id="Box02-lib-Position-array" count="24">
+-20.000000 -20.000000 0.000000
+20.000000 -20.000000 0.000000
+-20.000000 20.000000 0.000000
+20.000000 20.000000 0.000000
+-20.000000 -20.000000 20.000000
+20.000000 -20.000000 20.000000
+-20.000000 20.000000 20.000000
+20.000000 20.000000 20.000000
+</float_array>
+ <technique_common>
+ <accessor source="#Box02-lib-Position-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-lib-Normal0">
+ <float_array id="Box02-lib-Normal0-array" count="108">
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 -1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 0.000000 1.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+0.000000 -1.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+1.000000 0.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+0.000000 1.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+-1.000000 0.000000 0.000000
+</float_array>
+ <technique_common>
+ <accessor source="#Box02-lib-Normal0-array" count="36" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-lib-UV0">
+ <float_array id="Box02-lib-UV0-array" count="24">
+0.000000 0.000000
+1.000000 0.000000
+0.000000 1.000000
+1.000000 1.000000
+0.000000 0.000000
+1.000000 0.000000
+0.000000 1.000000
+1.000000 1.000000
+0.000000 0.000000
+1.000000 0.000000
+0.000000 1.000000
+1.000000 1.000000
+</float_array>
+ <technique_common>
+ <accessor source="#Box02-lib-UV0-array" count="12" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Box02-lib-Vertex">
+ <input semantic="POSITION" source="#Box02-lib-Position"/>
+ </vertices>
+ <polygons material="_01___Default" count="12">
+ <input semantic="VERTEX" offset="0" source="#Box02-lib-Vertex"/>
+ <input semantic="NORMAL" offset="1" source="#Box02-lib-Normal0"/>
+ <input semantic="TEXCOORD" offset="2" set="0" source="#Box02-lib-UV0"/>
+ <p>0 0 9 2 1 11 3 2 10</p>
+ <p>3 3 10 1 4 8 0 5 9</p>
+ <p>4 6 8 5 7 9 7 8 11</p>
+ <p>7 9 11 6 10 10 4 11 8</p>
+ <p>0 12 4 1 13 5 5 14 7</p>
+ <p>5 15 7 4 16 6 0 17 4</p>
+ <p>1 18 0 3 19 1 7 20 3</p>
+ <p>7 21 3 5 22 2 1 23 0</p>
+ <p>3 24 4 2 25 5 6 26 7</p>
+ <p>6 27 7 7 28 6 3 29 4</p>
+ <p>2 30 0 0 31 1 4 32 3</p>
+ <p>4 33 3 6 34 2 2 35 0</p>
+ </polygons>
+ </mesh>
+ </geometry>
+ </library_geometries>
+ <library_animations>
+ <animation id="Box02-anim" name="Box02">
+ <animation>
+ <source id="Box02-rotateX-animation-inputANGLE">
+ <float_array id="Box02-rotateX-animation-inputANGLE-array" count="2">
+
+0.000000 0.800000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateX-animation-inputANGLE-array" count="2">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateX-animation-outputANGLE">
+ <float_array id="Box02-rotateX-animation-outputANGLE-array" count="2">
+
+0.000000 0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateX-animation-outputANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateX-animation-intanANGLE">
+ <float_array id="Box02-rotateX-animation-intanANGLE-array" count="2">
+
+0.000000 -0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateX-animation-intanANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateX-animation-outtanANGLE">
+ <float_array id="Box02-rotateX-animation-outtanANGLE-array" count="2">
+
+0.000000 0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateX-animation-outtanANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateX-animation-interpolationANGLE">
+ <Name_array id="Box02-rotateX-animation-interpolationANGLE-array" count="2">
+ BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Box02-rotateX-animation-interpolationANGLE-array" count="2">
+ <param type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Box02-rotateX-animationANGLE">
+ <input semantic="INPUT" source="#Box02-rotateX-animation-inputANGLE"/>
+ <input semantic="OUTPUT" source="#Box02-rotateX-animation-outputANGLE"/>
+ <input semantic="IN_TANGENT" source="#Box02-rotateX-animation-intanANGLE"/>
+ <input semantic="OUT_TANGENT" source="#Box02-rotateX-animation-outtanANGLE"/>
+ <input semantic="INTERPOLATION" source="#Box02-rotateX-animation-interpolationANGLE"/>
+ </sampler>
+ <channel source="#Box02-rotateX-animationANGLE" target="Box02/rotateX.ANGLE"/>
+ </animation>
+ <animation>
+ <source id="Box02-rotateY-animation-inputANGLE">
+ <float_array id="Box02-rotateY-animation-inputANGLE-array" count="2">
+
+0.000000 0.800000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateY-animation-inputANGLE-array" count="2">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateY-animation-outputANGLE">
+ <float_array id="Box02-rotateY-animation-outputANGLE-array" count="2">
+
+-0.000000 -0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateY-animation-outputANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateY-animation-intanANGLE">
+ <float_array id="Box02-rotateY-animation-intanANGLE-array" count="2">
+
+0.000000 -0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateY-animation-intanANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateY-animation-outtanANGLE">
+ <float_array id="Box02-rotateY-animation-outtanANGLE-array" count="2">
+
+0.000000 0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateY-animation-outtanANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateY-animation-interpolationANGLE">
+ <Name_array id="Box02-rotateY-animation-interpolationANGLE-array" count="2">
+ BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Box02-rotateY-animation-interpolationANGLE-array" count="2">
+ <param type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Box02-rotateY-animationANGLE">
+ <input semantic="INPUT" source="#Box02-rotateY-animation-inputANGLE"/>
+ <input semantic="OUTPUT" source="#Box02-rotateY-animation-outputANGLE"/>
+ <input semantic="IN_TANGENT" source="#Box02-rotateY-animation-intanANGLE"/>
+ <input semantic="OUT_TANGENT" source="#Box02-rotateY-animation-outtanANGLE"/>
+ <input semantic="INTERPOLATION" source="#Box02-rotateY-animation-interpolationANGLE"/>
+ </sampler>
+ <channel source="#Box02-rotateY-animationANGLE" target="Box02/rotateY.ANGLE"/>
+ </animation>
+ <animation>
+ <source id="Box02-rotateZ-animation-inputANGLE">
+ <float_array id="Box02-rotateZ-animation-inputANGLE-array" count="2">
+
+0.000000 0.800000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateZ-animation-inputANGLE-array" count="2">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateZ-animation-outputANGLE">
+ <float_array id="Box02-rotateZ-animation-outputANGLE-array" count="2">
+
+0.000000 90.000008</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateZ-animation-outputANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateZ-animation-intanANGLE">
+ <float_array id="Box02-rotateZ-animation-intanANGLE-array" count="2">
+
+0.000000 -0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateZ-animation-intanANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateZ-animation-outtanANGLE">
+ <float_array id="Box02-rotateZ-animation-outtanANGLE-array" count="2">
+
+0.000000 0.000000</float_array>
+ <technique_common>
+ <accessor source="#Box02-rotateZ-animation-outtanANGLE-array" count="2">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Box02-rotateZ-animation-interpolationANGLE">
+ <Name_array id="Box02-rotateZ-animation-interpolationANGLE-array" count="2">
+ BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Box02-rotateZ-animation-interpolationANGLE-array" count="2">
+ <param type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Box02-rotateZ-animationANGLE">
+ <input semantic="INPUT" source="#Box02-rotateZ-animation-inputANGLE"/>
+ <input semantic="OUTPUT" source="#Box02-rotateZ-animation-outputANGLE"/>
+ <input semantic="IN_TANGENT" source="#Box02-rotateZ-animation-intanANGLE"/>
+ <input semantic="OUT_TANGENT" source="#Box02-rotateZ-animation-outtanANGLE"/>
+ <input semantic="INTERPOLATION" source="#Box02-rotateZ-animation-interpolationANGLE"/>
+ </sampler>
+ <channel source="#Box02-rotateZ-animationANGLE" target="Box02/rotateZ.ANGLE"/>
+ </animation>
+ </animation>
+ </library_animations>
+ <library_visual_scenes>
+ <visual_scene id="RootNode" name="RootNode">
+ <node id="Box01" name="Box01">
+ <rotate sid="jointOrientX">1 0 0 -90.000000</rotate>
+ <instance_geometry url="#Box01-lib">
+ <bind_material>
+ <technique_common>
+ <instance_material symbol="_02___Default" target="#_02___Default"/>
+ </technique_common>
+ </bind_material>
+ </instance_geometry>
+ </node>
+ <node id="Box02" name="Box02">
+ <translate sid="translate">0.000000 5.000000 -0.000000</translate>
+ <rotate sid="jointOrientX">1 0 0 -90.000000</rotate>
+ <rotate sid="rotateZ">0 0 1 0.000000</rotate>
+ <rotate sid="rotateY">0 1 0 0.000000</rotate>
+ <rotate sid="rotateX">1 0 0 0.000000</rotate>
+ <instance_geometry url="#Box02-lib">
+ <bind_material>
+ <technique_common>
+ <instance_material symbol="_01___Default" target="#_01___Default"/>
+ </technique_common>
+ </bind_material>
+ </instance_geometry>
+ </node>
+ </visual_scene>
+ </library_visual_scenes>
+ <scene>
+ <instance_visual_scene url="#RootNode"/>
+ </scene>
+</COLLADA>
+
diff --git a/examples/qt3d/scene_animations/qt3d.ico b/examples/qt3d/scene_animations/qt3d.ico
new file mode 100644
index 000000000..1d07c43dd
--- /dev/null
+++ b/examples/qt3d/scene_animations/qt3d.ico
Binary files differ
diff --git a/examples/qt3d/scene_animations/rotate.dae b/examples/qt3d/scene_animations/rotate.dae
new file mode 100644
index 000000000..23531c092
--- /dev/null
+++ b/examples/qt3d/scene_animations/rotate.dae
@@ -0,0 +1,697 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
+ <asset>
+ <contributor>
+ <author>Blender User</author>
+ <authoring_tool>Blender 2.62.0 r44136</authoring_tool>
+ </contributor>
+ <created>2012-04-13T13:11:43</created>
+ <modified>2012-04-13T13:11:43</modified>
+ <unit name="meter" meter="1"/>
+ <up_axis>Z_UP</up_axis>
+ </asset>
+ <library_cameras>
+ <camera id="Camera-camera" name="Camera">
+ <optics>
+ <technique_common>
+ <perspective>
+ <xfov sid="xfov">49.13434</xfov>
+ <aspect_ratio>1.777778</aspect_ratio>
+ <znear sid="znear">0.1</znear>
+ <zfar sid="zfar">100</zfar>
+ </perspective>
+ </technique_common>
+ </optics>
+ </camera>
+ </library_cameras>
+ <library_lights>
+ <light id="Lamp-light" name="Lamp">
+ <technique_common>
+ <point>
+ <color sid="color">1 1 1</color>
+ <constant_attenuation>1</constant_attenuation>
+ <linear_attenuation>0</linear_attenuation>
+ <quadratic_attenuation>0.00111109</quadratic_attenuation>
+ </point>
+ </technique_common>
+ <extra>
+ <technique profile="blender">
+ <adapt_thresh>0.000999987</adapt_thresh>
+ <area_shape>0</area_shape>
+ <area_size>1</area_size>
+ <area_sizey>1</area_sizey>
+ <area_sizez>1</area_sizez>
+ <atm_distance_factor>1</atm_distance_factor>
+ <atm_extinction_factor>1</atm_extinction_factor>
+ <atm_turbidity>2</atm_turbidity>
+ <att1>0</att1>
+ <att2>1</att2>
+ <backscattered_light>1</backscattered_light>
+ <bias>1</bias>
+ <blue>1</blue>
+ <buffers>1</buffers>
+ <bufflag>0</bufflag>
+ <bufsize>2880</bufsize>
+ <buftype>2</buftype>
+ <clipend>30.002</clipend>
+ <clipsta>1.000799</clipsta>
+ <compressthresh>0.04999995</compressthresh>
+ <dist sid="blender_dist">29.99998</dist>
+ <energy sid="blender_energy">1</energy>
+ <falloff_type>2</falloff_type>
+ <filtertype>0</filtertype>
+ <flag>0</flag>
+ <gamma sid="blender_gamma">1</gamma>
+ <green>1</green>
+ <halo_intensity sid="blnder_halo_intensity">1</halo_intensity>
+ <horizon_brightness>1</horizon_brightness>
+ <mode>8192</mode>
+ <ray_samp>1</ray_samp>
+ <ray_samp_method>1</ray_samp_method>
+ <ray_samp_type>0</ray_samp_type>
+ <ray_sampy>1</ray_sampy>
+ <ray_sampz>1</ray_sampz>
+ <red>1</red>
+ <samp>3</samp>
+ <shadhalostep>0</shadhalostep>
+ <shadow_b sid="blender_shadow_b">0</shadow_b>
+ <shadow_g sid="blender_shadow_g">0</shadow_g>
+ <shadow_r sid="blender_shadow_r">0</shadow_r>
+ <shadspotsize>45</shadspotsize>
+ <sky_colorspace>0</sky_colorspace>
+ <sky_exposure>1</sky_exposure>
+ <skyblendfac>1</skyblendfac>
+ <skyblendtype>1</skyblendtype>
+ <soft>3</soft>
+ <spotblend>0.15</spotblend>
+ <spotsize>75</spotsize>
+ <spread>1</spread>
+ <sun_brightness>1</sun_brightness>
+ <sun_effect_type>0</sun_effect_type>
+ <sun_intensity>1</sun_intensity>
+ <sun_size>1</sun_size>
+ <type>0</type>
+ </technique>
+ </extra>
+ </light>
+ </library_lights>
+ <library_geometries>
+ <geometry id="Cube_002-mesh" name="Cube.002">
+ <mesh>
+ <source id="Cube_002-mesh-positions">
+ <float_array id="Cube_002-mesh-positions-array" count="24">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999993 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-normals">
+ <float_array id="Cube_002-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.68221e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-map-0">
+ <float_array id="Cube_002-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_002-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_002-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_002-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_002-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_002-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ <geometry id="Cube_001-mesh" name="Cube.001">
+ <mesh>
+ <source id="Cube_001-mesh-positions">
+ <float_array id="Cube_001-mesh-positions-array" count="24">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999993 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-normals">
+ <float_array id="Cube_001-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.68221e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-map-0">
+ <float_array id="Cube_001-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_001-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_001-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_001-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ </library_geometries>
+ <library_animations>
+ <animation id="Cube_location_X">
+ <source id="Cube_location_X-input">
+ <float_array id="Cube_location_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-output">
+ <float_array id="Cube_location_X-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-output-array" count="2" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-interpolation">
+ <Name_array id="Cube_location_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-intangent">
+ <float_array id="Cube_location_X-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-outtangent">
+ <float_array id="Cube_location_X-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_X-sampler">
+ <input semantic="INPUT" source="#Cube_location_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_X-sampler" target="Cube/location.X"/>
+ </animation>
+ <animation id="Cube_location_Y">
+ <source id="Cube_location_Y-input">
+ <float_array id="Cube_location_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-output">
+ <float_array id="Cube_location_Y-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-output-array" count="2" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-interpolation">
+ <Name_array id="Cube_location_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-intangent">
+ <float_array id="Cube_location_Y-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-outtangent">
+ <float_array id="Cube_location_Y-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Y-sampler">
+ <input semantic="INPUT" source="#Cube_location_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Y-sampler" target="Cube/location.Y"/>
+ </animation>
+ <animation id="Cube_location_Z">
+ <source id="Cube_location_Z-input">
+ <float_array id="Cube_location_Z-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-output">
+ <float_array id="Cube_location_Z-output-array" count="2">2.5 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-output-array" count="2" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-interpolation">
+ <Name_array id="Cube_location_Z-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-intangent">
+ <float_array id="Cube_location_Z-intangent-array" count="4">-0.7228892 2.5 1.235444 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-outtangent">
+ <float_array id="Cube_location_Z-outtangent-array" count="4">0.8062225 2.5 2.764556 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Z-sampler">
+ <input semantic="INPUT" source="#Cube_location_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Z-sampler" target="Cube/location.Z"/>
+ </animation>
+ <animation id="Cube_rotation_euler_X">
+ <source id="Cube_rotation_euler_X-input">
+ <float_array id="Cube_rotation_euler_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-output">
+ <float_array id="Cube_rotation_euler_X-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-output-array" count="2" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-interpolation">
+ <Name_array id="Cube_rotation_euler_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-intangent">
+ <float_array id="Cube_rotation_euler_X-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-outtangent">
+ <float_array id="Cube_rotation_euler_X-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_X-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_X-sampler" target="Cube/rotationX.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Y">
+ <source id="Cube_rotation_euler_Y-input">
+ <float_array id="Cube_rotation_euler_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-output">
+ <float_array id="Cube_rotation_euler_Y-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-output-array" count="2" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-interpolation">
+ <Name_array id="Cube_rotation_euler_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-intangent">
+ <float_array id="Cube_rotation_euler_Y-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-outtangent">
+ <float_array id="Cube_rotation_euler_Y-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Y-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Y-sampler" target="Cube/rotationY.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Z">
+ <source id="Cube_rotation_euler_Z-input">
+ <float_array id="Cube_rotation_euler_Z-input-array" count="3">0.04166662 2 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-input-array" count="3" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-output">
+ <float_array id="Cube_rotation_euler_Z-output-array" count="3">0 179.0001 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-output-array" count="3" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-interpolation">
+ <Name_array id="Cube_rotation_euler_Z-interpolation-array" count="3">BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-interpolation-array" count="3" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-intangent">
+ <float_array id="Cube_rotation_euler_Z-intangent-array" count="6">-0.7212057 0 1.235444 179.0001 3.220825 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-intangent-array" count="3" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-outtangent">
+ <float_array id="Cube_rotation_euler_Z-outtangent-array" count="6">0.804539 0 2.780823 179.0001 4.779174 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-outtangent-array" count="3" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Z-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Z-sampler" target="Cube/rotationZ.ANGLE"/>
+ </animation>
+ <animation id="Cube_scale_X">
+ <source id="Cube_scale_X-input">
+ <float_array id="Cube_scale_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-output">
+ <float_array id="Cube_scale_X-output-array" count="2">1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-output-array" count="2" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-interpolation">
+ <Name_array id="Cube_scale_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-intangent">
+ <float_array id="Cube_scale_X-intangent-array" count="4">-0.7228892 1 1.235444 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-outtangent">
+ <float_array id="Cube_scale_X-outtangent-array" count="4">0.8062225 1 2.764556 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_X-sampler">
+ <input semantic="INPUT" source="#Cube_scale_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_X-sampler" target="Cube/scale.X"/>
+ </animation>
+ <animation id="Cube_scale_Y">
+ <source id="Cube_scale_Y-input">
+ <float_array id="Cube_scale_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-output">
+ <float_array id="Cube_scale_Y-output-array" count="2">1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-output-array" count="2" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-interpolation">
+ <Name_array id="Cube_scale_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-intangent">
+ <float_array id="Cube_scale_Y-intangent-array" count="4">-0.7228892 1 1.235444 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-outtangent">
+ <float_array id="Cube_scale_Y-outtangent-array" count="4">0.8062225 1 2.764556 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Y-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Y-sampler" target="Cube/scale.Y"/>
+ </animation>
+ <animation id="Cube_scale_Z">
+ <source id="Cube_scale_Z-input">
+ <float_array id="Cube_scale_Z-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-output">
+ <float_array id="Cube_scale_Z-output-array" count="2">1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-output-array" count="2" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-interpolation">
+ <Name_array id="Cube_scale_Z-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-intangent">
+ <float_array id="Cube_scale_Z-intangent-array" count="4">-0.7228892 1 1.235444 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-outtangent">
+ <float_array id="Cube_scale_Z-outtangent-array" count="4">0.8062225 1 2.764556 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Z-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Z-sampler" target="Cube/scale.Z"/>
+ </animation>
+ </library_animations>
+ <library_visual_scenes>
+ <visual_scene id="Scene" name="Scene">
+ <node id="Cube_001" type="NODE">
+ <translate sid="location">0 0 0</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">5 5 0.05</scale>
+ <instance_geometry url="#Cube_002-mesh"/>
+ </node>
+ <node id="Cube" type="NODE">
+ <translate sid="location">0 0 2.5</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_geometry url="#Cube_001-mesh"/>
+ </node>
+ <node id="Lamp" type="NODE">
+ <translate sid="location">4.076245 1.005454 5.903862</translate>
+ <rotate sid="rotationZ">0 0 1 106.9363</rotate>
+ <rotate sid="rotationY">0 1 0 3.163708</rotate>
+ <rotate sid="rotationX">1 0 0 37.26105</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_light url="#Lamp-light"/>
+ </node>
+ <node id="Camera" type="NODE">
+ <translate sid="location">7.481132 -6.50764 5.343665</translate>
+ <rotate sid="rotationZ">0 0 1 46.69195</rotate>
+ <rotate sid="rotationY">0 1 0 0.619768</rotate>
+ <rotate sid="rotationX">1 0 0 63.5593</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_camera url="#Camera-camera"/>
+ </node>
+ </visual_scene>
+ </library_visual_scenes>
+ <scene>
+ <instance_visual_scene url="#Scene"/>
+ </scene>
+</COLLADA> \ No newline at end of file
diff --git a/examples/qt3d/scene_animations/scale.dae b/examples/qt3d/scene_animations/scale.dae
new file mode 100644
index 000000000..d7e3b647e
--- /dev/null
+++ b/examples/qt3d/scene_animations/scale.dae
@@ -0,0 +1,697 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
+ <asset>
+ <contributor>
+ <author>Blender User</author>
+ <authoring_tool>Blender 2.62.0 r44136</authoring_tool>
+ </contributor>
+ <created>2012-04-13T11:49:19</created>
+ <modified>2012-04-13T11:49:19</modified>
+ <unit name="meter" meter="1"/>
+ <up_axis>Z_UP</up_axis>
+ </asset>
+ <library_cameras>
+ <camera id="Camera-camera" name="Camera">
+ <optics>
+ <technique_common>
+ <perspective>
+ <xfov sid="xfov">49.13434</xfov>
+ <aspect_ratio>1.777778</aspect_ratio>
+ <znear sid="znear">0.1</znear>
+ <zfar sid="zfar">100</zfar>
+ </perspective>
+ </technique_common>
+ </optics>
+ </camera>
+ </library_cameras>
+ <library_lights>
+ <light id="Lamp-light" name="Lamp">
+ <technique_common>
+ <point>
+ <color sid="color">1 1 1</color>
+ <constant_attenuation>1</constant_attenuation>
+ <linear_attenuation>0</linear_attenuation>
+ <quadratic_attenuation>0.00111109</quadratic_attenuation>
+ </point>
+ </technique_common>
+ <extra>
+ <technique profile="blender">
+ <adapt_thresh>0.000999987</adapt_thresh>
+ <area_shape>0</area_shape>
+ <area_size>1</area_size>
+ <area_sizey>1</area_sizey>
+ <area_sizez>1</area_sizez>
+ <atm_distance_factor>1</atm_distance_factor>
+ <atm_extinction_factor>1</atm_extinction_factor>
+ <atm_turbidity>2</atm_turbidity>
+ <att1>0</att1>
+ <att2>1</att2>
+ <backscattered_light>1</backscattered_light>
+ <bias>1</bias>
+ <blue>1</blue>
+ <buffers>1</buffers>
+ <bufflag>0</bufflag>
+ <bufsize>2880</bufsize>
+ <buftype>2</buftype>
+ <clipend>30.002</clipend>
+ <clipsta>1.000799</clipsta>
+ <compressthresh>0.04999995</compressthresh>
+ <dist sid="blender_dist">29.99998</dist>
+ <energy sid="blender_energy">1</energy>
+ <falloff_type>2</falloff_type>
+ <filtertype>0</filtertype>
+ <flag>0</flag>
+ <gamma sid="blender_gamma">1</gamma>
+ <green>1</green>
+ <halo_intensity sid="blnder_halo_intensity">1</halo_intensity>
+ <horizon_brightness>1</horizon_brightness>
+ <mode>8192</mode>
+ <ray_samp>1</ray_samp>
+ <ray_samp_method>1</ray_samp_method>
+ <ray_samp_type>0</ray_samp_type>
+ <ray_sampy>1</ray_sampy>
+ <ray_sampz>1</ray_sampz>
+ <red>1</red>
+ <samp>3</samp>
+ <shadhalostep>0</shadhalostep>
+ <shadow_b sid="blender_shadow_b">0</shadow_b>
+ <shadow_g sid="blender_shadow_g">0</shadow_g>
+ <shadow_r sid="blender_shadow_r">0</shadow_r>
+ <shadspotsize>45</shadspotsize>
+ <sky_colorspace>0</sky_colorspace>
+ <sky_exposure>1</sky_exposure>
+ <skyblendfac>1</skyblendfac>
+ <skyblendtype>1</skyblendtype>
+ <soft>3</soft>
+ <spotblend>0.15</spotblend>
+ <spotsize>75</spotsize>
+ <spread>1</spread>
+ <sun_brightness>1</sun_brightness>
+ <sun_effect_type>0</sun_effect_type>
+ <sun_intensity>1</sun_intensity>
+ <sun_size>1</sun_size>
+ <type>0</type>
+ </technique>
+ </extra>
+ </light>
+ </library_lights>
+ <library_geometries>
+ <geometry id="Cube_002-mesh" name="Cube.002">
+ <mesh>
+ <source id="Cube_002-mesh-positions">
+ <float_array id="Cube_002-mesh-positions-array" count="24">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999993 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-normals">
+ <float_array id="Cube_002-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.68221e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-map-0">
+ <float_array id="Cube_002-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_002-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_002-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_002-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_002-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_002-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ <geometry id="Cube_001-mesh" name="Cube.001">
+ <mesh>
+ <source id="Cube_001-mesh-positions">
+ <float_array id="Cube_001-mesh-positions-array" count="24">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999993 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-normals">
+ <float_array id="Cube_001-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.68221e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-map-0">
+ <float_array id="Cube_001-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_001-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_001-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_001-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ </library_geometries>
+ <library_animations>
+ <animation id="Cube_location_X">
+ <source id="Cube_location_X-input">
+ <float_array id="Cube_location_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-output">
+ <float_array id="Cube_location_X-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-output-array" count="2" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-interpolation">
+ <Name_array id="Cube_location_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-intangent">
+ <float_array id="Cube_location_X-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-outtangent">
+ <float_array id="Cube_location_X-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_X-sampler">
+ <input semantic="INPUT" source="#Cube_location_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_X-sampler" target="Cube/location.X"/>
+ </animation>
+ <animation id="Cube_location_Y">
+ <source id="Cube_location_Y-input">
+ <float_array id="Cube_location_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-output">
+ <float_array id="Cube_location_Y-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-output-array" count="2" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-interpolation">
+ <Name_array id="Cube_location_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-intangent">
+ <float_array id="Cube_location_Y-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-outtangent">
+ <float_array id="Cube_location_Y-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Y-sampler">
+ <input semantic="INPUT" source="#Cube_location_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Y-sampler" target="Cube/location.Y"/>
+ </animation>
+ <animation id="Cube_location_Z">
+ <source id="Cube_location_Z-input">
+ <float_array id="Cube_location_Z-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-output">
+ <float_array id="Cube_location_Z-output-array" count="2">2.5 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-output-array" count="2" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-interpolation">
+ <Name_array id="Cube_location_Z-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-intangent">
+ <float_array id="Cube_location_Z-intangent-array" count="4">-0.7228892 2.5 1.235444 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-outtangent">
+ <float_array id="Cube_location_Z-outtangent-array" count="4">0.8062225 2.5 2.764556 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Z-sampler">
+ <input semantic="INPUT" source="#Cube_location_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Z-sampler" target="Cube/location.Z"/>
+ </animation>
+ <animation id="Cube_rotation_euler_X">
+ <source id="Cube_rotation_euler_X-input">
+ <float_array id="Cube_rotation_euler_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-output">
+ <float_array id="Cube_rotation_euler_X-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-output-array" count="2" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-interpolation">
+ <Name_array id="Cube_rotation_euler_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-intangent">
+ <float_array id="Cube_rotation_euler_X-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-outtangent">
+ <float_array id="Cube_rotation_euler_X-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_X-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_X-sampler" target="Cube/rotationX.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Y">
+ <source id="Cube_rotation_euler_Y-input">
+ <float_array id="Cube_rotation_euler_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-output">
+ <float_array id="Cube_rotation_euler_Y-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-output-array" count="2" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-interpolation">
+ <Name_array id="Cube_rotation_euler_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-intangent">
+ <float_array id="Cube_rotation_euler_Y-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-outtangent">
+ <float_array id="Cube_rotation_euler_Y-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Y-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Y-sampler" target="Cube/rotationY.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Z">
+ <source id="Cube_rotation_euler_Z-input">
+ <float_array id="Cube_rotation_euler_Z-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-output">
+ <float_array id="Cube_rotation_euler_Z-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-output-array" count="2" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-interpolation">
+ <Name_array id="Cube_rotation_euler_Z-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-intangent">
+ <float_array id="Cube_rotation_euler_Z-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-outtangent">
+ <float_array id="Cube_rotation_euler_Z-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Z-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Z-sampler" target="Cube/rotationZ.ANGLE"/>
+ </animation>
+ <animation id="Cube_scale_X">
+ <source id="Cube_scale_X-input">
+ <float_array id="Cube_scale_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-output">
+ <float_array id="Cube_scale_X-output-array" count="2">1 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-output-array" count="2" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-interpolation">
+ <Name_array id="Cube_scale_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-intangent">
+ <float_array id="Cube_scale_X-intangent-array" count="4">-0.7227162 1 1.235617 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-outtangent">
+ <float_array id="Cube_scale_X-outtangent-array" count="4">0.8060495 1 2.764383 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_X-sampler">
+ <input semantic="INPUT" source="#Cube_scale_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_X-sampler" target="Cube/scale.X"/>
+ </animation>
+ <animation id="Cube_scale_Y">
+ <source id="Cube_scale_Y-input">
+ <float_array id="Cube_scale_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-output">
+ <float_array id="Cube_scale_Y-output-array" count="2">1 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-output-array" count="2" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-interpolation">
+ <Name_array id="Cube_scale_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-intangent">
+ <float_array id="Cube_scale_Y-intangent-array" count="4">-0.7227162 1 1.235617 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-outtangent">
+ <float_array id="Cube_scale_Y-outtangent-array" count="4">0.8060495 1 2.764383 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Y-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Y-sampler" target="Cube/scale.Y"/>
+ </animation>
+ <animation id="Cube_scale_Z">
+ <source id="Cube_scale_Z-input">
+ <float_array id="Cube_scale_Z-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-output">
+ <float_array id="Cube_scale_Z-output-array" count="2">1 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-output-array" count="2" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-interpolation">
+ <Name_array id="Cube_scale_Z-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-intangent">
+ <float_array id="Cube_scale_Z-intangent-array" count="4">-0.7227162 1 1.235617 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-outtangent">
+ <float_array id="Cube_scale_Z-outtangent-array" count="4">0.8060495 1 2.764383 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Z-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Z-sampler" target="Cube/scale.Z"/>
+ </animation>
+ </library_animations>
+ <library_visual_scenes>
+ <visual_scene id="Scene" name="Scene">
+ <node id="Cube_001" type="NODE">
+ <translate sid="location">0 0 0</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">5 5 0.05</scale>
+ <instance_geometry url="#Cube_002-mesh"/>
+ </node>
+ <node id="Cube" type="NODE">
+ <translate sid="location">0 0 2.5</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_geometry url="#Cube_001-mesh"/>
+ </node>
+ <node id="Lamp" type="NODE">
+ <translate sid="location">4.076245 1.005454 5.903862</translate>
+ <rotate sid="rotationZ">0 0 1 106.9363</rotate>
+ <rotate sid="rotationY">0 1 0 3.163708</rotate>
+ <rotate sid="rotationX">1 0 0 37.26105</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_light url="#Lamp-light"/>
+ </node>
+ <node id="Camera" type="NODE">
+ <translate sid="location">7.481132 -6.50764 5.343665</translate>
+ <rotate sid="rotationZ">0 0 1 46.69195</rotate>
+ <rotate sid="rotationY">0 1 0 0.619768</rotate>
+ <rotate sid="rotationX">1 0 0 63.5593</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_camera url="#Camera-camera"/>
+ </node>
+ </visual_scene>
+ </library_visual_scenes>
+ <scene>
+ <instance_visual_scene url="#Scene"/>
+ </scene>
+</COLLADA> \ No newline at end of file
diff --git a/examples/qt3d/scene_animations/scale_rotate_translate.dae b/examples/qt3d/scene_animations/scale_rotate_translate.dae
new file mode 100644
index 000000000..042ed018b
--- /dev/null
+++ b/examples/qt3d/scene_animations/scale_rotate_translate.dae
@@ -0,0 +1,697 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
+ <asset>
+ <contributor>
+ <author>Blender User</author>
+ <authoring_tool>Blender 2.62.0 r44136</authoring_tool>
+ </contributor>
+ <created>2012-04-13T14:32:17</created>
+ <modified>2012-04-13T14:32:17</modified>
+ <unit name="meter" meter="1"/>
+ <up_axis>Z_UP</up_axis>
+ </asset>
+ <library_cameras>
+ <camera id="Camera-camera" name="Camera">
+ <optics>
+ <technique_common>
+ <perspective>
+ <xfov sid="xfov">49.13434</xfov>
+ <aspect_ratio>1.777778</aspect_ratio>
+ <znear sid="znear">0.1</znear>
+ <zfar sid="zfar">100</zfar>
+ </perspective>
+ </technique_common>
+ </optics>
+ </camera>
+ </library_cameras>
+ <library_lights>
+ <light id="Lamp-light" name="Lamp">
+ <technique_common>
+ <point>
+ <color sid="color">1 1 1</color>
+ <constant_attenuation>1</constant_attenuation>
+ <linear_attenuation>0</linear_attenuation>
+ <quadratic_attenuation>0.00111109</quadratic_attenuation>
+ </point>
+ </technique_common>
+ <extra>
+ <technique profile="blender">
+ <adapt_thresh>0.000999987</adapt_thresh>
+ <area_shape>0</area_shape>
+ <area_size>1</area_size>
+ <area_sizey>1</area_sizey>
+ <area_sizez>1</area_sizez>
+ <atm_distance_factor>1</atm_distance_factor>
+ <atm_extinction_factor>1</atm_extinction_factor>
+ <atm_turbidity>2</atm_turbidity>
+ <att1>0</att1>
+ <att2>1</att2>
+ <backscattered_light>1</backscattered_light>
+ <bias>1</bias>
+ <blue>1</blue>
+ <buffers>1</buffers>
+ <bufflag>0</bufflag>
+ <bufsize>2880</bufsize>
+ <buftype>2</buftype>
+ <clipend>30.002</clipend>
+ <clipsta>1.000799</clipsta>
+ <compressthresh>0.04999995</compressthresh>
+ <dist sid="blender_dist">29.99998</dist>
+ <energy sid="blender_energy">1</energy>
+ <falloff_type>2</falloff_type>
+ <filtertype>0</filtertype>
+ <flag>0</flag>
+ <gamma sid="blender_gamma">1</gamma>
+ <green>1</green>
+ <halo_intensity sid="blnder_halo_intensity">1</halo_intensity>
+ <horizon_brightness>1</horizon_brightness>
+ <mode>8192</mode>
+ <ray_samp>1</ray_samp>
+ <ray_samp_method>1</ray_samp_method>
+ <ray_samp_type>0</ray_samp_type>
+ <ray_sampy>1</ray_sampy>
+ <ray_sampz>1</ray_sampz>
+ <red>1</red>
+ <samp>3</samp>
+ <shadhalostep>0</shadhalostep>
+ <shadow_b sid="blender_shadow_b">0</shadow_b>
+ <shadow_g sid="blender_shadow_g">0</shadow_g>
+ <shadow_r sid="blender_shadow_r">0</shadow_r>
+ <shadspotsize>45</shadspotsize>
+ <sky_colorspace>0</sky_colorspace>
+ <sky_exposure>1</sky_exposure>
+ <skyblendfac>1</skyblendfac>
+ <skyblendtype>1</skyblendtype>
+ <soft>3</soft>
+ <spotblend>0.15</spotblend>
+ <spotsize>75</spotsize>
+ <spread>1</spread>
+ <sun_brightness>1</sun_brightness>
+ <sun_effect_type>0</sun_effect_type>
+ <sun_intensity>1</sun_intensity>
+ <sun_size>1</sun_size>
+ <type>0</type>
+ </technique>
+ </extra>
+ </light>
+ </library_lights>
+ <library_geometries>
+ <geometry id="Cube_002-mesh" name="Cube.002">
+ <mesh>
+ <source id="Cube_002-mesh-positions">
+ <float_array id="Cube_002-mesh-positions-array" count="24">1.000601 1 -1 1.000601 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1.000601 0.9999995 1 1.0006 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-normals">
+ <float_array id="Cube_002-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.6814e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38347e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-map-0">
+ <float_array id="Cube_002-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_002-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_002-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_002-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_002-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_002-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ <geometry id="Cube_001-mesh" name="Cube.001">
+ <mesh>
+ <source id="Cube_001-mesh-positions">
+ <float_array id="Cube_001-mesh-positions-array" count="24">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999993 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-normals">
+ <float_array id="Cube_001-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.68221e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-map-0">
+ <float_array id="Cube_001-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_001-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_001-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_001-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ </library_geometries>
+ <library_animations>
+ <animation id="Cube_location_X">
+ <source id="Cube_location_X-input">
+ <float_array id="Cube_location_X-input-array" count="19">0.04166662 1 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-input-array" count="19" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-output">
+ <float_array id="Cube_location_X-output-array" count="19">0 2 0 -0.3248718 -0.6679949 -0.9943791 -1.293132 -1.569738 -1.789759 -1.942461 -2 -1.89669 -1.647319 -1.336814 -1.001622 -0.6429761 -0.3335189 -0.09716588 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-output-array" count="19" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-interpolation">
+ <Name_array id="Cube_location_X-interpolation-array" count="19">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-interpolation-array" count="19" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-intangent">
+ <float_array id="Cube_location_X-intangent-array" count="38">-0.3310711 0 0.6258562 2 1.757105 0.5585337 2.076498 -0.1952761 2.2015 -0.5381093 2.326461 -0.8730057 2.451421 -1.181331 2.576365 -1.473124 2.701292 -1.717142 2.826228 -1.901446 2.9512 -2 3.076282 -1.965417 3.20141 -1.756138 3.326479 -1.462134 3.451522 -1.136166 3.576498 -0.7725926 3.701399 -0.4396261 3.826274 -0.1621703 3.951224 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-intangent-array" count="19" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-outtangent">
+ <float_array id="Cube_location_X-outtangent-array" count="38">0.4144045 0 1.390411 2 2.048579 -0.1117067 2.173502 -0.4544676 2.2985 -0.7978804 2.423539 -1.115752 2.548578 -1.404932 2.673635 -1.666352 2.798708 -1.862377 2.923772 -1.983476 3.0488 -2 3.173717 -1.827964 3.29859 -1.538501 3.423521 -1.211493 3.548478 -0.8670771 3.673502 -0.5133597 3.798601 -0.2274117 3.923726 -0.03216141 4.048776 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-outtangent-array" count="19" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_X-sampler">
+ <input semantic="INPUT" source="#Cube_location_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_X-sampler" target="Cube/location.X"/>
+ </animation>
+ <animation id="Cube_location_Y">
+ <source id="Cube_location_Y-input">
+ <float_array id="Cube_location_Y-input-array" count="19">0.04166662 1 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-input-array" count="19" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-output">
+ <float_array id="Cube_location_Y-output-array" count="19">2 0 -2 -1.948142 -1.79288 -1.56575 -1.293132 -0.9912196 -0.6709893 -0.3410397 0 0.3630216 0.7166984 1.042826 1.334604 1.598892 1.806223 1.947618 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-output-array" count="19" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-interpolation">
+ <Name_array id="Cube_location_Y-interpolation-array" count="19">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-interpolation-array" count="19" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-intangent">
+ <float_array id="Cube_location_Y-intangent-array" count="38">-0.3310711 2 0.6272045 0.7617995 1.756126 -2 2.076228 -1.988549 2.201297 -1.867374 2.326367 -1.662967 2.451421 -1.404773 2.576459 -1.112018 2.701483 -0.7971695 2.826501 -0.4712092 2.951531 -0.1365002 3.076543 0.2241055 3.201509 0.5848402 3.326455 0.9228423 3.451407 1.22652 3.576349 1.507113 3.701281 1.738264 3.826224 1.909811 3.951206 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-intangent-array" count="19" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-outtangent">
+ <float_array id="Cube_location_Y-outtangent-array" count="38">0.4144045 2 1.389004 -0.7949212 2.048775 -2 2.173772 -1.907735 2.298702 -1.718386 2.423633 -1.468533 2.548579 -1.181491 2.673541 -0.8704215 2.798517 -0.5448092 2.923499 -0.2108702 3.048469 0.1365002 3.173457 0.5019378 3.298491 0.8485565 3.423545 1.162811 3.548593 1.442688 3.673651 1.690672 3.798719 1.874181 3.923776 1.985424 4.048794 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-outtangent-array" count="19" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Y-sampler">
+ <input semantic="INPUT" source="#Cube_location_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Y-sampler" target="Cube/location.Y"/>
+ </animation>
+ <animation id="Cube_location_Z">
+ <source id="Cube_location_Z-input">
+ <float_array id="Cube_location_Z-input-array" count="19">0.04166662 1 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-input-array" count="19" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-output">
+ <float_array id="Cube_location_Z-output-array" count="19">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-output-array" count="19" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-interpolation">
+ <Name_array id="Cube_location_Z-interpolation-array" count="19">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-interpolation-array" count="19" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-intangent">
+ <float_array id="Cube_location_Z-intangent-array" count="38">-0.3324777 1 0.6258556 1 1.755993 1 2.076199 1 2.201199 1 2.326199 1 2.451199 1 2.576199 1 2.701199 1 2.826199 1 2.951199 1 3.076199 1 3.201199 1 3.326199 1 3.451199 1 3.576199 1 3.701199 1 3.826199 1 3.951199 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-intangent-array" count="19" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-outtangent">
+ <float_array id="Cube_location_Z-outtangent-array" count="38">0.415811 1 1.390411 1 2.048801 1 2.173801 1 2.298801 1 2.423801 1 2.548801 1 2.673801 1 2.798801 1 2.923801 1 3.048801 1 3.173801 1 3.298801 1 3.423801 1 3.548801 1 3.673801 1 3.798801 1 3.923801 1 4.048801 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-outtangent-array" count="19" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Z-sampler">
+ <input semantic="INPUT" source="#Cube_location_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Z-sampler" target="Cube/location.Z"/>
+ </animation>
+ <animation id="Cube_rotation_euler_X">
+ <source id="Cube_rotation_euler_X-input">
+ <float_array id="Cube_rotation_euler_X-input-array" count="18">0.04166662 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-input-array" count="18" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-output">
+ <float_array id="Cube_rotation_euler_X-output-array" count="18">0 0 4.665797 15.91774 29.91382 45.01158 61.1512 75.06085 85.6594 90.00004 85.34708 74.11523 60.13529 45.04613 28.90539 14.98535 4.361264 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-output-array" count="18" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-interpolation">
+ <Name_array id="Cube_rotation_euler_X-interpolation-array" count="18">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-interpolation-array" count="18" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-intangent">
+ <float_array id="Cube_rotation_euler_X-intangent-array" count="36">-0.7228892 0 1.756015 0 2.076251 1.561887 2.20133 11.00242 2.326372 24.25477 2.451399 38.93888 2.576384 55.30769 2.701322 70.28882 2.826245 82.74594 2.951199 90.00004 3.076251 88.44458 3.201329 79.02354 3.326372 65.78958 3.451399 51.11739 3.576384 34.75112 3.701323 19.76434 3.826245 7.283716 3.951214 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-intangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-outtangent">
+ <float_array id="Cube_rotation_euler_X-outtangent-array" count="36">0.8062225 0 2.048797 0 2.173749 7.769707 2.29867 20.83307 2.423628 35.57288 2.548601 51.08428 2.673616 66.99472 2.798678 79.83288 2.923755 88.57287 3.048801 90.00004 3.173749 82.24958 3.298671 69.20693 3.423628 54.48102 3.548601 38.97488 3.673616 23.05966 3.798677 10.20636 3.923755 1.438813 4.048786 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-outtangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_X-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_X-sampler" target="Cube/rotationX.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Y">
+ <source id="Cube_rotation_euler_Y-input">
+ <float_array id="Cube_rotation_euler_Y-input-array" count="18">0.04166662 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-input-array" count="18" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-output">
+ <float_array id="Cube_rotation_euler_Y-output-array" count="18">0 0 4.665797 15.91774 29.91382 45.01158 61.1512 75.06085 85.6594 90.00004 85.34708 74.11523 60.13529 45.04613 28.90539 14.98535 4.361264 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-output-array" count="18" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-interpolation">
+ <Name_array id="Cube_rotation_euler_Y-interpolation-array" count="18">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-interpolation-array" count="18" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-intangent">
+ <float_array id="Cube_rotation_euler_Y-intangent-array" count="36">-0.7228892 0 1.756015 0 2.076251 1.561887 2.20133 11.00242 2.326372 24.25477 2.451399 38.93888 2.576384 55.30769 2.701322 70.28882 2.826245 82.74594 2.951199 90.00004 3.076251 88.44458 3.201329 79.02354 3.326372 65.78958 3.451399 51.11739 3.576384 34.75112 3.701323 19.76434 3.826245 7.283716 3.951214 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-intangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-outtangent">
+ <float_array id="Cube_rotation_euler_Y-outtangent-array" count="36">0.8062225 0 2.048797 0 2.173749 7.769707 2.29867 20.83307 2.423628 35.57288 2.548601 51.08428 2.673616 66.99472 2.798678 79.83288 2.923755 88.57287 3.048801 90.00004 3.173749 82.24958 3.298671 69.20693 3.423628 54.48102 3.548601 38.97488 3.673616 23.05966 3.798677 10.20636 3.923755 1.438813 4.048786 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-outtangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Y-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Y-sampler" target="Cube/rotationY.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Z">
+ <source id="Cube_rotation_euler_Z-input">
+ <float_array id="Cube_rotation_euler_Z-input-array" count="18">0.04166662 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-input-array" count="18" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-output">
+ <float_array id="Cube_rotation_euler_Z-output-array" count="18">0 0 4.665797 15.91774 29.91382 45.01158 61.1512 75.06085 85.6594 90.00004 85.34708 74.11523 60.13529 45.04613 28.90539 14.98535 4.361264 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-output-array" count="18" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-interpolation">
+ <Name_array id="Cube_rotation_euler_Z-interpolation-array" count="18">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-interpolation-array" count="18" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-intangent">
+ <float_array id="Cube_rotation_euler_Z-intangent-array" count="36">-0.7228892 0 1.756015 0 2.076251 1.561887 2.20133 11.00242 2.326372 24.25477 2.451399 38.93888 2.576384 55.30769 2.701322 70.28882 2.826245 82.74594 2.951199 90.00004 3.076251 88.44458 3.201329 79.02354 3.326372 65.78958 3.451399 51.11739 3.576384 34.75112 3.701323 19.76434 3.826245 7.283716 3.951214 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-intangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-outtangent">
+ <float_array id="Cube_rotation_euler_Z-outtangent-array" count="36">0.8062225 0 2.048797 0 2.173749 7.769707 2.29867 20.83307 2.423628 35.57288 2.548601 51.08428 2.673616 66.99472 2.798678 79.83288 2.923755 88.57287 3.048801 90.00004 3.173749 82.24958 3.298671 69.20693 3.423628 54.48102 3.548601 38.97488 3.673616 23.05966 3.798677 10.20636 3.923755 1.438813 4.048786 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-outtangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Z-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Z-sampler" target="Cube/rotationZ.ANGLE"/>
+ </animation>
+ <animation id="Cube_scale_X">
+ <source id="Cube_scale_X-input">
+ <float_array id="Cube_scale_X-input-array" count="18">0.04166662 1 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-input-array" count="18" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-output">
+ <float_array id="Cube_scale_X-output-array" count="18">1 0.33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-output-array" count="18" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-interpolation">
+ <Name_array id="Cube_scale_X-interpolation-array" count="18">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-interpolation-array" count="18" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-intangent">
+ <float_array id="Cube_scale_X-intangent-array" count="36">-0.332319 1 0.6258558 0.33 1.756017 1 2.076199 1 2.201199 1 2.326199 1 2.451199 1 2.576199 1 2.701199 1 2.826199 1 2.951199 1 3.076199 1 3.201199 1 3.326199 1 3.451199 1 3.576199 1 3.701199 1 3.826199 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-intangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-outtangent">
+ <float_array id="Cube_scale_X-outtangent-array" count="36">0.4156524 1 1.390411 0.33 2.048797 1 2.173801 1 2.298801 1 2.423801 1 2.548801 1 2.673801 1 2.798801 1 2.923801 1 3.048801 1 3.173801 1 3.298801 1 3.423801 1 3.548801 1 3.673801 1 3.798801 1 3.923801 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-outtangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_X-sampler">
+ <input semantic="INPUT" source="#Cube_scale_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_X-sampler" target="Cube/scale.X"/>
+ </animation>
+ <animation id="Cube_scale_Y">
+ <source id="Cube_scale_Y-input">
+ <float_array id="Cube_scale_Y-input-array" count="18">0.04166662 1 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-input-array" count="18" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-output">
+ <float_array id="Cube_scale_Y-output-array" count="18">1 0.33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-output-array" count="18" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-interpolation">
+ <Name_array id="Cube_scale_Y-interpolation-array" count="18">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-interpolation-array" count="18" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-intangent">
+ <float_array id="Cube_scale_Y-intangent-array" count="36">-0.332319 1 0.6258558 0.33 1.756017 1 2.076199 1 2.201199 1 2.326199 1 2.451199 1 2.576199 1 2.701199 1 2.826199 1 2.951199 1 3.076199 1 3.201199 1 3.326199 1 3.451199 1 3.576199 1 3.701199 1 3.826199 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-intangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-outtangent">
+ <float_array id="Cube_scale_Y-outtangent-array" count="36">0.4156524 1 1.390411 0.33 2.048797 1 2.173801 1 2.298801 1 2.423801 1 2.548801 1 2.673801 1 2.798801 1 2.923801 1 3.048801 1 3.173801 1 3.298801 1 3.423801 1 3.548801 1 3.673801 1 3.798801 1 3.923801 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-outtangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Y-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Y-sampler" target="Cube/scale.Y"/>
+ </animation>
+ <animation id="Cube_scale_Z">
+ <source id="Cube_scale_Z-input">
+ <float_array id="Cube_scale_Z-input-array" count="18">0.04166662 1 2 2.125 2.25 2.375 2.5 2.625 2.75 2.875 3 3.125 3.25 3.375 3.5 3.625 3.75 3.875</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-input-array" count="18" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-output">
+ <float_array id="Cube_scale_Z-output-array" count="18">1 0.33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-output-array" count="18" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-interpolation">
+ <Name_array id="Cube_scale_Z-interpolation-array" count="18">BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-interpolation-array" count="18" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-intangent">
+ <float_array id="Cube_scale_Z-intangent-array" count="36">-0.332319 1 0.6258558 0.33 1.756017 1 2.076199 1 2.201199 1 2.326199 1 2.451199 1 2.576199 1 2.701199 1 2.826199 1 2.951199 1 3.076199 1 3.201199 1 3.326199 1 3.451199 1 3.576199 1 3.701199 1 3.826199 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-intangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-outtangent">
+ <float_array id="Cube_scale_Z-outtangent-array" count="36">0.4156524 1 1.390411 0.33 2.048797 1 2.173801 1 2.298801 1 2.423801 1 2.548801 1 2.673801 1 2.798801 1 2.923801 1 3.048801 1 3.173801 1 3.298801 1 3.423801 1 3.548801 1 3.673801 1 3.798801 1 3.923801 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-outtangent-array" count="18" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Z-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Z-sampler" target="Cube/scale.Z"/>
+ </animation>
+ </library_animations>
+ <library_visual_scenes>
+ <visual_scene id="Scene" name="Scene">
+ <node id="Cube_001" type="NODE">
+ <translate sid="location">0 0 0</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">3 3 0.05</scale>
+ <instance_geometry url="#Cube_002-mesh"/>
+ </node>
+ <node id="Cube" type="NODE">
+ <translate sid="location">0 2 1</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_geometry url="#Cube_001-mesh"/>
+ </node>
+ <node id="Lamp" type="NODE">
+ <translate sid="location">4.076245 1.005454 5.903862</translate>
+ <rotate sid="rotationZ">0 0 1 106.9363</rotate>
+ <rotate sid="rotationY">0 1 0 3.163708</rotate>
+ <rotate sid="rotationX">1 0 0 37.26105</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_light url="#Lamp-light"/>
+ </node>
+ <node id="Camera" type="NODE">
+ <translate sid="location">7.481132 -6.50764 5.343665</translate>
+ <rotate sid="rotationZ">0 0 1 46.69195</rotate>
+ <rotate sid="rotationY">0 1 0 0.619768</rotate>
+ <rotate sid="rotationX">1 0 0 63.5593</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_camera url="#Camera-camera"/>
+ </node>
+ </visual_scene>
+ </library_visual_scenes>
+ <scene>
+ <instance_visual_scene url="#Scene"/>
+ </scene>
+</COLLADA> \ No newline at end of file
diff --git a/examples/qt3d/scene_animations/scene_animations.cpp b/examples/qt3d/scene_animations/scene_animations.cpp
new file mode 100644
index 000000000..aa074cadb
--- /dev/null
+++ b/examples/qt3d/scene_animations/scene_animations.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the Qt3D examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "scene_animations.h"
+#include "qglmaterialcollection.h"
+#include "qgltexture2d.h"
+#include "qglmaterial.h"
+#include "qglscenenode.h"
+#include "qgllightmodel.h"
+#include "qglabstractscene.h"
+
+#include <QtGui/qmatrix4x4.h>
+
+#include <QPropertyAnimation>
+#include <QtCore/qmath.h>
+#include <QTimer>
+
+AnimationsView::AnimationsView(QWindow *parent)
+ : QGLView(parent)
+ , m_pScene(0)
+ , m_pTexture(0)
+ , m_bPaused(false)
+{
+ loadAssets();
+ QObject::connect(m_pScene,SIGNAL(animationUpdated()),this,SLOT(animationUpdated()));
+ QList<QGLSceneAnimation *> anims = m_pScene->animations();
+ for (int i=0; i<anims.size(); ++i) {
+ QGLSceneAnimation* pAnim = anims.at(i);
+ pAnim->play();
+ }
+
+ QTimer::singleShot(500+(rand()%1500),this,SLOT(timerEvent()));
+
+ camera()->setCenter(QVector3D(0, 2, 0));
+ camera()->setEye(QVector3D(12, 24, 40));
+}
+
+AnimationsView::~AnimationsView()
+{
+ m_pTexture->cleanupResources();
+ delete m_pScene;
+}
+
+void AnimationsView::animationUpdated()
+{
+ update();
+}
+
+void AnimationsView::timerEvent()
+{
+ QList<QGLSceneAnimation *> anims = m_pScene->animations();
+ m_bPaused = !m_bPaused;
+ if (m_bPaused) {
+ for (int i=0; i<anims.size(); ++i) {
+ QGLSceneAnimation* pAnim = anims.at(i);
+ pAnim->pause(true);
+ }
+ } else {
+ for (int i=0; i<anims.size(); ++i) {
+ QGLSceneAnimation* pAnim = anims.at(i);
+ pAnim->pause(false);
+ }
+ }
+ QTimer::singleShot(500+(rand()%1500),this,SLOT(timerEvent()));
+}
+
+void AnimationsView::paintGL(QGLPainter *painter)
+{
+ m_pScene->mainNode()->draw(painter);
+}
+
+void FixNodesRecursive(int matIndex, QGLSceneNode* pNode)
+{
+ if (pNode) {
+ pNode->setMaterialIndex(matIndex);
+ pNode->setEffect(QGL::FlatReplaceTexture2D);
+ foreach (QGLSceneNode* pCh, pNode->children()) {
+ FixNodesRecursive(matIndex, pCh);
+ }
+ }
+}
+
+void AnimationsView::loadAssets()
+{
+ {
+ m_pScene = QGLAbstractScene::loadScene(QLatin1String(":/models/scale_rotate_translate.dae"));
+ Q_ASSERT(m_pScene!=0);
+ QGLMaterial *mat = new QGLMaterial;
+ mat->setAmbientColor(Qt::lightGray);
+ mat->setDiffuseColor(Qt::lightGray);
+ QUrl url;
+ url.setPath(QLatin1String(":/images/stonewal.jpg"));
+ url.setScheme(QLatin1String("file"));
+ mat->setTextureUrl(url);
+ m_pTexture = mat->texture();
+ Q_ASSERT(m_pTexture!=0);
+ QGLSceneNode* pSceneRoot = m_pScene->mainNode();
+ int matIndex = pSceneRoot->palette()->addMaterial(mat);
+ pSceneRoot->setMaterialIndex(matIndex);
+ pSceneRoot->setEffect(QGL::FlatReplaceTexture2D);
+ FixNodesRecursive(matIndex,pSceneRoot);
+ }
+}
diff --git a/examples/qt3d/scene_animations/scene_animations.h b/examples/qt3d/scene_animations/scene_animations.h
new file mode 100644
index 000000000..7a04f7199
--- /dev/null
+++ b/examples/qt3d/scene_animations/scene_animations.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the Qt3D examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef LOAD_MODEL_H
+#define LOAD_MODEL_H
+
+#include "qglview.h"
+
+QT_BEGIN_NAMESPACE
+class QGLAbstractScene;
+QT_END_NAMESPACE
+
+class AnimationsView : public QGLView
+{
+ Q_OBJECT
+public:
+ AnimationsView(QWindow *parent = 0);
+ ~AnimationsView();
+
+public Q_SLOTS:
+ void animationUpdated();
+ void timerEvent();
+
+protected:
+ void paintGL(QGLPainter *painter);
+
+private:
+ void loadAssets();
+
+ QGLAbstractScene* m_pScene;
+ QGLTexture2D* m_pTexture;
+
+ bool m_bPaused;
+};
+
+#endif
diff --git a/examples/qt3d/scene_animations/scene_animations.pro b/examples/qt3d/scene_animations/scene_animations.pro
new file mode 100644
index 000000000..75bd10158
--- /dev/null
+++ b/examples/qt3d/scene_animations/scene_animations.pro
@@ -0,0 +1,17 @@
+TEMPLATE = app
+TARGET = scene_animations
+CONFIG += qt warn_on
+
+QT += 3d
+
+include(../../../pkg.pri)
+
+SOURCES = scene_animations.cpp \
+ scene_animations_main.cpp
+HEADERS = scene_animations.h
+RESOURCES += scene_animations.qrc
+
+OTHER_FILES += \
+ scene_animations.rc
+
+RC_FILE = scene_animations.rc
diff --git a/examples/qt3d/scene_animations/scene_animations.qrc b/examples/qt3d/scene_animations/scene_animations.qrc
new file mode 100644
index 000000000..b5471f1d0
--- /dev/null
+++ b/examples/qt3d/scene_animations/scene_animations.qrc
@@ -0,0 +1,14 @@
+<RCC>
+ <qresource prefix="/images">
+ <file>stonewal.jpg</file>
+ </qresource>
+ <qresource prefix="/models">
+ <file>cube_2rotations_angles_text.x</file>
+ <file>cube_rotated.dae</file>
+ <file>brick.dae</file>
+ <file>scale.dae</file>
+ <file>rotate.dae</file>
+ <file>translate.dae</file>
+ <file>scale_rotate_translate.dae</file>
+ </qresource>
+</RCC>
diff --git a/examples/qt3d/scene_animations/scene_animations.rc b/examples/qt3d/scene_animations/scene_animations.rc
new file mode 100644
index 000000000..b40ecdc12
--- /dev/null
+++ b/examples/qt3d/scene_animations/scene_animations.rc
@@ -0,0 +1 @@
+IDI_ICON1 ICON DISCARDABLE "qt3d.ico"
diff --git a/examples/qt3d/scene_animations/scene_animations_main.cpp b/examples/qt3d/scene_animations/scene_animations_main.cpp
new file mode 100644
index 000000000..498faa743
--- /dev/null
+++ b/examples/qt3d/scene_animations/scene_animations_main.cpp
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the Qt3D examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QGuiApplication>
+
+#include "scene_animations.h"
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication app(argc, argv);
+ AnimationsView view;
+
+ if (view.stereoType() != QGLView::RedCyanAnaglyph)
+ view.camera()->setEyeSeparation(0.3f);
+ QStringList args = QCoreApplication::arguments();
+ int w_pos = args.indexOf("-width");
+ int h_pos = args.indexOf("-height");
+ if (w_pos >= 0 && h_pos >= 0)
+ {
+ bool ok = true;
+ int w = args.at(w_pos + 1).toInt(&ok);
+ if (!ok)
+ {
+ qWarning() << "Could not parse width argument:" << args;
+ return 1;
+ }
+ int h = args.at(h_pos + 1).toInt(&ok);
+ if (!ok)
+ {
+ qWarning() << "Could not parse height argument:" << args;
+ return 1;
+ }
+ view.resize(w, h);
+ }
+ else
+ {
+ view.resize(800, 600);
+ }
+ view.show();
+
+ return app.exec();
+}
diff --git a/examples/qt3d/scene_animations/stonewal.jpg b/examples/qt3d/scene_animations/stonewal.jpg
new file mode 100644
index 000000000..226672a29
--- /dev/null
+++ b/examples/qt3d/scene_animations/stonewal.jpg
Binary files differ
diff --git a/examples/qt3d/scene_animations/translate.dae b/examples/qt3d/scene_animations/translate.dae
new file mode 100644
index 000000000..aaced419f
--- /dev/null
+++ b/examples/qt3d/scene_animations/translate.dae
@@ -0,0 +1,697 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
+ <asset>
+ <contributor>
+ <author>Blender User</author>
+ <authoring_tool>Blender 2.62.0 r44136</authoring_tool>
+ </contributor>
+ <created>2012-04-13T13:21:22</created>
+ <modified>2012-04-13T13:21:22</modified>
+ <unit name="meter" meter="1"/>
+ <up_axis>Z_UP</up_axis>
+ </asset>
+ <library_cameras>
+ <camera id="Camera-camera" name="Camera">
+ <optics>
+ <technique_common>
+ <perspective>
+ <xfov sid="xfov">49.13434</xfov>
+ <aspect_ratio>1.777778</aspect_ratio>
+ <znear sid="znear">0.1</znear>
+ <zfar sid="zfar">100</zfar>
+ </perspective>
+ </technique_common>
+ </optics>
+ </camera>
+ </library_cameras>
+ <library_lights>
+ <light id="Lamp-light" name="Lamp">
+ <technique_common>
+ <point>
+ <color sid="color">1 1 1</color>
+ <constant_attenuation>1</constant_attenuation>
+ <linear_attenuation>0</linear_attenuation>
+ <quadratic_attenuation>0.00111109</quadratic_attenuation>
+ </point>
+ </technique_common>
+ <extra>
+ <technique profile="blender">
+ <adapt_thresh>0.000999987</adapt_thresh>
+ <area_shape>0</area_shape>
+ <area_size>1</area_size>
+ <area_sizey>1</area_sizey>
+ <area_sizez>1</area_sizez>
+ <atm_distance_factor>1</atm_distance_factor>
+ <atm_extinction_factor>1</atm_extinction_factor>
+ <atm_turbidity>2</atm_turbidity>
+ <att1>0</att1>
+ <att2>1</att2>
+ <backscattered_light>1</backscattered_light>
+ <bias>1</bias>
+ <blue>1</blue>
+ <buffers>1</buffers>
+ <bufflag>0</bufflag>
+ <bufsize>2880</bufsize>
+ <buftype>2</buftype>
+ <clipend>30.002</clipend>
+ <clipsta>1.000799</clipsta>
+ <compressthresh>0.04999995</compressthresh>
+ <dist sid="blender_dist">29.99998</dist>
+ <energy sid="blender_energy">1</energy>
+ <falloff_type>2</falloff_type>
+ <filtertype>0</filtertype>
+ <flag>0</flag>
+ <gamma sid="blender_gamma">1</gamma>
+ <green>1</green>
+ <halo_intensity sid="blnder_halo_intensity">1</halo_intensity>
+ <horizon_brightness>1</horizon_brightness>
+ <mode>8192</mode>
+ <ray_samp>1</ray_samp>
+ <ray_samp_method>1</ray_samp_method>
+ <ray_samp_type>0</ray_samp_type>
+ <ray_sampy>1</ray_sampy>
+ <ray_sampz>1</ray_sampz>
+ <red>1</red>
+ <samp>3</samp>
+ <shadhalostep>0</shadhalostep>
+ <shadow_b sid="blender_shadow_b">0</shadow_b>
+ <shadow_g sid="blender_shadow_g">0</shadow_g>
+ <shadow_r sid="blender_shadow_r">0</shadow_r>
+ <shadspotsize>45</shadspotsize>
+ <sky_colorspace>0</sky_colorspace>
+ <sky_exposure>1</sky_exposure>
+ <skyblendfac>1</skyblendfac>
+ <skyblendtype>1</skyblendtype>
+ <soft>3</soft>
+ <spotblend>0.15</spotblend>
+ <spotsize>75</spotsize>
+ <spread>1</spread>
+ <sun_brightness>1</sun_brightness>
+ <sun_effect_type>0</sun_effect_type>
+ <sun_intensity>1</sun_intensity>
+ <sun_size>1</sun_size>
+ <type>0</type>
+ </technique>
+ </extra>
+ </light>
+ </library_lights>
+ <library_geometries>
+ <geometry id="Cube_002-mesh" name="Cube.002">
+ <mesh>
+ <source id="Cube_002-mesh-positions">
+ <float_array id="Cube_002-mesh-positions-array" count="24">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999993 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-normals">
+ <float_array id="Cube_002-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.68221e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_002-mesh-map-0">
+ <float_array id="Cube_002-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_002-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_002-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_002-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_002-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_002-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_002-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ <geometry id="Cube_001-mesh" name="Cube.001">
+ <mesh>
+ <source id="Cube_001-mesh-positions">
+ <float_array id="Cube_001-mesh-positions-array" count="24">1 1 -1 1 -1 -1 -1 -0.9999998 -1 -0.9999997 1 -1 1 0.9999995 1 0.9999993 -1.000001 1 -1 -0.9999997 1 -1 1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-positions-array" count="8" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-normals">
+ <float_array id="Cube_001-mesh-normals-array" count="18">0 0 -1 0 0 1 1 -2.98023e-7 0 -2.68221e-7 -1 -1.19209e-7 -1 2.23517e-7 -1.3411e-7 2.38419e-7 1 2.08616e-7</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-normals-array" count="6" stride="3">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_001-mesh-map-0">
+ <float_array id="Cube_001-mesh-map-0-array" count="48">0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_001-mesh-map-0-array" count="24" stride="2">
+ <param name="S" type="float"/>
+ <param name="T" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <vertices id="Cube_001-mesh-vertices">
+ <input semantic="POSITION" source="#Cube_001-mesh-positions"/>
+ </vertices>
+ <polylist count="6">
+ <input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/>
+ <input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/>
+ <input semantic="TEXCOORD" source="#Cube_001-mesh-map-0" offset="2" set="0"/>
+ <vcount>4 4 4 4 4 4 </vcount>
+ <p>0 0 0 1 0 1 2 0 2 3 0 3 4 1 4 7 1 5 6 1 6 5 1 7 0 2 8 4 2 9 5 2 10 1 2 11 1 3 12 5 3 13 6 3 14 2 3 15 2 4 16 6 4 17 7 4 18 3 4 19 4 5 20 0 5 21 3 5 22 7 5 23</p>
+ </polylist>
+ </mesh>
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
+ </geometry>
+ </library_geometries>
+ <library_animations>
+ <animation id="Cube_location_X">
+ <source id="Cube_location_X-input">
+ <float_array id="Cube_location_X-input-array" count="5">0.04166662 1 2 3 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-input-array" count="5" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-output">
+ <float_array id="Cube_location_X-output-array" count="5">0 0 2 0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-output-array" count="5" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-interpolation">
+ <Name_array id="Cube_location_X-interpolation-array" count="5">BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-interpolation-array" count="5" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-intangent">
+ <float_array id="Cube_location_X-intangent-array" count="10">-0.3324777 0 0.62618 0 1.609588 2 2.609927 0 3.609589 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-intangent-array" count="5" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_X-outtangent">
+ <float_array id="Cube_location_X-outtangent-array" count="10">0.415811 0 1.390073 0 2.390412 2 3.390073 0 4.390411 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_X-outtangent-array" count="5" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_X-sampler">
+ <input semantic="INPUT" source="#Cube_location_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_X-sampler" target="Cube/location.X"/>
+ </animation>
+ <animation id="Cube_location_Y">
+ <source id="Cube_location_Y-input">
+ <float_array id="Cube_location_Y-input-array" count="5">0.04166662 1 2 3 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-input-array" count="5" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-output">
+ <float_array id="Cube_location_Y-output-array" count="5">0 2 0 -2 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-output-array" count="5" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-interpolation">
+ <Name_array id="Cube_location_Y-interpolation-array" count="5">BEZIER BEZIER BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-interpolation-array" count="5" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-intangent">
+ <float_array id="Cube_location_Y-intangent-array" count="10">-0.3310711 0 0.6258562 2 1.610937 0.7781259 2.609588 -2 3.610937 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-intangent-array" count="5" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Y-outtangent">
+ <float_array id="Cube_location_Y-outtangent-array" count="10">0.4144045 0 1.390411 2 2.389063 -0.7781259 3.390411 -2 4.389063 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Y-outtangent-array" count="5" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Y-sampler">
+ <input semantic="INPUT" source="#Cube_location_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Y-sampler" target="Cube/location.Y"/>
+ </animation>
+ <animation id="Cube_location_Z">
+ <source id="Cube_location_Z-input">
+ <float_array id="Cube_location_Z-input-array" count="3">0.04166662 2 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-input-array" count="3" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-output">
+ <float_array id="Cube_location_Z-output-array" count="3">2.5 2.5 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-output-array" count="3" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-interpolation">
+ <Name_array id="Cube_location_Z-interpolation-array" count="3">BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-interpolation-array" count="3" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-intangent">
+ <float_array id="Cube_location_Z-intangent-array" count="6">-0.7228892 2.5 1.235444 2.5 3.219177 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-intangent-array" count="3" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_location_Z-outtangent">
+ <float_array id="Cube_location_Z-outtangent-array" count="6">0.8062225 2.5 2.780823 2.5 4.780823 2.5</float_array>
+ <technique_common>
+ <accessor source="#Cube_location_Z-outtangent-array" count="3" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_location_Z-sampler">
+ <input semantic="INPUT" source="#Cube_location_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_location_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_location_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_location_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_location_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_location_Z-sampler" target="Cube/location.Z"/>
+ </animation>
+ <animation id="Cube_rotation_euler_X">
+ <source id="Cube_rotation_euler_X-input">
+ <float_array id="Cube_rotation_euler_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-output">
+ <float_array id="Cube_rotation_euler_X-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-output-array" count="2" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-interpolation">
+ <Name_array id="Cube_rotation_euler_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-intangent">
+ <float_array id="Cube_rotation_euler_X-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_X-outtangent">
+ <float_array id="Cube_rotation_euler_X-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_X-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_X-sampler" target="Cube/rotationX.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Y">
+ <source id="Cube_rotation_euler_Y-input">
+ <float_array id="Cube_rotation_euler_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-output">
+ <float_array id="Cube_rotation_euler_Y-output-array" count="2">0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-output-array" count="2" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-interpolation">
+ <Name_array id="Cube_rotation_euler_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-intangent">
+ <float_array id="Cube_rotation_euler_Y-intangent-array" count="4">-0.7228892 0 1.235444 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Y-outtangent">
+ <float_array id="Cube_rotation_euler_Y-outtangent-array" count="4">0.8062225 0 2.764556 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Y-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Y-sampler" target="Cube/rotationY.ANGLE"/>
+ </animation>
+ <animation id="Cube_rotation_euler_Z">
+ <source id="Cube_rotation_euler_Z-input">
+ <float_array id="Cube_rotation_euler_Z-input-array" count="3">0.04166662 2 4</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-input-array" count="3" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-output">
+ <float_array id="Cube_rotation_euler_Z-output-array" count="3">0 0 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-output-array" count="3" stride="1">
+ <param name="ANGLE" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-interpolation">
+ <Name_array id="Cube_rotation_euler_Z-interpolation-array" count="3">BEZIER BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-interpolation-array" count="3" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-intangent">
+ <float_array id="Cube_rotation_euler_Z-intangent-array" count="6">-0.7228892 0 1.235444 0 3.219177 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-intangent-array" count="3" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_rotation_euler_Z-outtangent">
+ <float_array id="Cube_rotation_euler_Z-outtangent-array" count="6">0.8062225 0 2.780823 0 4.780823 0</float_array>
+ <technique_common>
+ <accessor source="#Cube_rotation_euler_Z-outtangent-array" count="3" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_rotation_euler_Z-sampler">
+ <input semantic="INPUT" source="#Cube_rotation_euler_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_rotation_euler_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_rotation_euler_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_rotation_euler_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_rotation_euler_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_rotation_euler_Z-sampler" target="Cube/rotationZ.ANGLE"/>
+ </animation>
+ <animation id="Cube_scale_X">
+ <source id="Cube_scale_X-input">
+ <float_array id="Cube_scale_X-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-output">
+ <float_array id="Cube_scale_X-output-array" count="2">1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-output-array" count="2" stride="1">
+ <param name="X" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-interpolation">
+ <Name_array id="Cube_scale_X-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-intangent">
+ <float_array id="Cube_scale_X-intangent-array" count="4">-0.7228892 1 1.235444 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_X-outtangent">
+ <float_array id="Cube_scale_X-outtangent-array" count="4">0.8062225 1 2.764556 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_X-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_X-sampler">
+ <input semantic="INPUT" source="#Cube_scale_X-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_X-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_X-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_X-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_X-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_X-sampler" target="Cube/scale.X"/>
+ </animation>
+ <animation id="Cube_scale_Y">
+ <source id="Cube_scale_Y-input">
+ <float_array id="Cube_scale_Y-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-output">
+ <float_array id="Cube_scale_Y-output-array" count="2">1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-output-array" count="2" stride="1">
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-interpolation">
+ <Name_array id="Cube_scale_Y-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-intangent">
+ <float_array id="Cube_scale_Y-intangent-array" count="4">-0.7228892 1 1.235444 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Y-outtangent">
+ <float_array id="Cube_scale_Y-outtangent-array" count="4">0.8062225 1 2.764556 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Y-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Y-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Y-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Y-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Y-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Y-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Y-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Y-sampler" target="Cube/scale.Y"/>
+ </animation>
+ <animation id="Cube_scale_Z">
+ <source id="Cube_scale_Z-input">
+ <float_array id="Cube_scale_Z-input-array" count="2">0.04166662 2</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-input-array" count="2" stride="1">
+ <param name="TIME" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-output">
+ <float_array id="Cube_scale_Z-output-array" count="2">1 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-output-array" count="2" stride="1">
+ <param name="Z" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-interpolation">
+ <Name_array id="Cube_scale_Z-interpolation-array" count="2">BEZIER BEZIER</Name_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-interpolation-array" count="2" stride="1">
+ <param name="INTERPOLATION" type="name"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-intangent">
+ <float_array id="Cube_scale_Z-intangent-array" count="4">-0.7228892 1 1.235444 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-intangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <source id="Cube_scale_Z-outtangent">
+ <float_array id="Cube_scale_Z-outtangent-array" count="4">0.8062225 1 2.764556 1</float_array>
+ <technique_common>
+ <accessor source="#Cube_scale_Z-outtangent-array" count="2" stride="2">
+ <param name="X" type="float"/>
+ <param name="Y" type="float"/>
+ </accessor>
+ </technique_common>
+ </source>
+ <sampler id="Cube_scale_Z-sampler">
+ <input semantic="INPUT" source="#Cube_scale_Z-input"/>
+ <input semantic="OUTPUT" source="#Cube_scale_Z-output"/>
+ <input semantic="INTERPOLATION" source="#Cube_scale_Z-interpolation"/>
+ <input semantic="IN_TANGENT" source="#Cube_scale_Z-intangent"/>
+ <input semantic="OUT_TANGENT" source="#Cube_scale_Z-outtangent"/>
+ </sampler>
+ <channel source="#Cube_scale_Z-sampler" target="Cube/scale.Z"/>
+ </animation>
+ </library_animations>
+ <library_visual_scenes>
+ <visual_scene id="Scene" name="Scene">
+ <node id="Cube_001" type="NODE">
+ <translate sid="location">0 0 0</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">5 5 0.05</scale>
+ <instance_geometry url="#Cube_002-mesh"/>
+ </node>
+ <node id="Cube" type="NODE">
+ <translate sid="location">0 0 2.5</translate>
+ <rotate sid="rotationZ">0 0 1 0</rotate>
+ <rotate sid="rotationY">0 1 0 0</rotate>
+ <rotate sid="rotationX">1 0 0 0</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_geometry url="#Cube_001-mesh"/>
+ </node>
+ <node id="Lamp" type="NODE">
+ <translate sid="location">4.076245 1.005454 5.903862</translate>
+ <rotate sid="rotationZ">0 0 1 106.9363</rotate>
+ <rotate sid="rotationY">0 1 0 3.163708</rotate>
+ <rotate sid="rotationX">1 0 0 37.26105</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_light url="#Lamp-light"/>
+ </node>
+ <node id="Camera" type="NODE">
+ <translate sid="location">7.481132 -6.50764 5.343665</translate>
+ <rotate sid="rotationZ">0 0 1 46.69195</rotate>
+ <rotate sid="rotationY">0 1 0 0.619768</rotate>
+ <rotate sid="rotationX">1 0 0 63.5593</rotate>
+ <scale sid="scale">1 1 1</scale>
+ <instance_camera url="#Camera-camera"/>
+ </node>
+ </visual_scene>
+ </library_visual_scenes>
+ <scene>
+ <instance_visual_scene url="#Scene"/>
+ </scene>
+</COLLADA> \ No newline at end of file