collada 0.0.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,38 +19,186 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  require 'collada/parser/support'
22
+ require 'collada/transforms'
22
23
 
23
24
  module Collada
24
25
  module Parser
25
26
  class VisualScene
27
+ class NodeReference < Reference
28
+ def initialize(url)
29
+ super :nodes, url
30
+ end
31
+
32
+ def lookup(scene)
33
+ scene[id]
34
+ end
35
+ end
36
+
37
+ class GeometryInstance < Reference
38
+ def initialize(url)
39
+ super :geometries, url
40
+ end
41
+
42
+ def self.parse(doc, element)
43
+ self.new(element.attributes['url'])
44
+ end
45
+ end
46
+
47
+ class ControllerInstance < Reference
48
+ def initialize(url, skeleton)
49
+ super :controllers, url
50
+
51
+ # This references the node for the skeleton:
52
+ @skeleton = skeleton
53
+ end
54
+
55
+ attr :skeleton
56
+
57
+ def self.parse(doc, element)
58
+ skeleton = NodeReference.new(element.elements['skeleton'].text)
59
+
60
+ self.new(element.attributes['url'], skeleton)
61
+ end
62
+ end
63
+
64
+ INSTANCE_ELEMENTS = [
65
+ ['instance_geometry', GeometryInstance],
66
+ ['instance_controller', ControllerInstance],
67
+ ]
68
+
26
69
  class Node
27
- def initialize(structure = {})
28
- @structure = structure
70
+ def initialize(id, type, transforms, instances, children, attributes = {})
71
+ @id = id
72
+ @type = type
73
+
74
+ @transforms = transforms
75
+
76
+ @instances = instances
77
+
78
+ @children = children
79
+ @children.each {|child| child.attach!(self)}
80
+
81
+ @attributes = attributes
29
82
  end
30
83
 
31
- attr :structure
84
+ def attach!(parent)
85
+ @parent = parent
86
+ end
87
+
88
+ attr :parent
89
+
90
+ attr :id
91
+ attr :type
92
+
93
+ attr :transforms
94
+
95
+ attr :instances
96
+ attr :children
97
+
98
+ attr :attributes
99
+
100
+ def inspect
101
+ "\#<#{self.class} #{id} -> [#{children.keys.join(', ')}]>"
102
+ end
103
+
104
+ def local_transform_matrix
105
+ Transforms.for(@transforms)
106
+ end
107
+
108
+ def transform_matrix
109
+ if parent
110
+ parent.transform_matrix * local_transform_matrix
111
+ else
112
+ local_transform_matrix
113
+ end
114
+ end
115
+
116
+ def parents(type = nil)
117
+ result = []
118
+
119
+ parent = @parent
120
+
121
+ while parent
122
+ result << parent if !type || parent.type == type
123
+
124
+ parent = parent.parent
125
+ end
126
+
127
+ return result
128
+ end
129
+
130
+ def self.parse_transforms(doc, element)
131
+ transforms = []
132
+
133
+ element.elements.each('translate | rotate | scale | matrix') do |transform_element|
134
+ values = transform_element.text.strip.split(/\s+/).collect &:to_f
135
+ transforms << [transform_element.name.to_sym, values]
136
+ end
137
+
138
+ return transforms
139
+ end
140
+
141
+ def self.parse_instances(doc, element)
142
+ instances = []
143
+
144
+ INSTANCE_ELEMENTS.each do |(element_name, klass)|
145
+ element.elements.each(element_name) do |instance_element|
146
+ instances << klass.parse(doc, instance_element)
147
+ end
148
+ end
149
+
150
+ return instances
151
+ end
152
+
153
+ def self.parse_children(doc, element)
154
+ OrderedMap.parse(element, 'node') do |node_element|
155
+ Node.parse(doc, node_element)
156
+ end
157
+ end
32
158
 
33
159
  def self.parse(doc, element)
34
- self.new(element)
160
+ id = element.attributes['id']
161
+ type = (element.attributes['type'] || 'node').downcase.to_sym
162
+
163
+ transforms = parse_transforms(doc, element)
164
+ instances = parse_instances(doc, element)
165
+ children = parse_children(doc, element)
166
+
167
+ self.new(id, type, transforms, instances, children, element.attributes)
35
168
  end
36
169
  end
37
170
 
38
- def initialize(nodes = [])
171
+ def initialize(nodes)
39
172
  @nodes = nodes
173
+ @named = {}
174
+
175
+ traverse(@nodes) do |node|
176
+ @named[node.id] = node
177
+ end
40
178
  end
41
179
 
42
180
  attr :nodes
181
+ attr :named
182
+
183
+ def [] (id)
184
+ @named[id]
185
+ end
43
186
 
44
187
  def self.parse(doc, element)
45
- nodes = []
46
-
47
- element.elements.each('node') do |element|
48
- nodes << Node.parse(doc, element)
49
- end
188
+ nodes = Node.parse_children(doc, element)
50
189
 
51
190
  self.new(nodes)
52
191
  end
192
+
193
+ def traverse(nodes = @nodes, &block)
194
+ nodes.each do |node|
195
+ catch(:pass) do
196
+ yield node
197
+
198
+ traverse(node.children, &block)
199
+ end
200
+ end
201
+ end
53
202
  end
54
-
55
203
  end
56
204
  end
@@ -0,0 +1,111 @@
1
+ # Copyright, 2012, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ require 'matrix'
22
+
23
+ module Collada
24
+ module Transforms
25
+ R2D = (180.0 / Math::PI)
26
+ D2R = (Math::PI / 180.0)
27
+
28
+ # In x, y, z, w format.
29
+ def self.rotation_matrix_to_quaternion(a)
30
+ t = a[0, 0] + a[1, 1] + a[2, 2]
31
+
32
+ if (t > 0)
33
+ s = Math::sqrt(t + 1.0) * 2.0
34
+ Vector[
35
+ (a[2, 1] - a[1, 2]) / s,
36
+ (a[0, 2] - a[2, 0]) / s,
37
+ (a[1, 0] - a[0, 1]) / s,
38
+ 0.25 * s,
39
+ ]
40
+ elsif a[0, 0] > a[1, 1] and a[0, 0] > a[2, 2]
41
+ s = 2.0 * Math::sqrt(1.0 + a[0, 0] - a[1, 1] - a[2, 2])
42
+ Vector[
43
+ 0.25 * s,
44
+ (a[0, 1] + a[1, 0]) / s,
45
+ (a[0, 2] + a[2, 0]) / s,
46
+ (a[2, 1] - a[1, 2] ) / s,
47
+ ]
48
+ elsif a[1, 1] > a[2, 2]
49
+ s = 2.0 * Math::sqrt(1.0 + a[1, 1] - a[0, 0] - a[2, 2])
50
+ Vector[
51
+ (a[0, 1] + a[1, 0]) / s,
52
+ 0.25 * s,
53
+ (a[1, 2] + a[2, 1]) / s,
54
+ (a[0, 2] - a[2, 0]) / s,
55
+ ]
56
+ else
57
+ s = 2.0 * Math::sqrt(1.0 + a[2, 2] - a[0, 0] - a[1, 1])
58
+ Vector[
59
+ (a[0, 2] + a[2, 0]) / s,
60
+ (a[1, 2] + a[2, 1]) / s,
61
+ 0.25 * s,
62
+ (a[1, 0] - a[0, 1]) / s,
63
+ ]
64
+ end
65
+ end
66
+
67
+ def self.scale(x, y, z)
68
+ Matrix[
69
+ [x, 0, 0, 0],
70
+ [0, y, 0, 0],
71
+ [0, 0, z, 0],
72
+ [0, 0, 0, 1],
73
+ ]
74
+ end
75
+
76
+ def self.rotate(x, y, z, angle)
77
+ c = Math::cos(angle*D2R)
78
+ s = Math::sin(angle*D2R)
79
+
80
+ Matrix[
81
+ [x*x*(1-c) + c, x*y*(1-c) - z*s, x*z*(1-c) + y*s, 0],
82
+ [x*y*(1-c) + z*s, y*y*(1-c) + c, y*z*(1-c) - x*s, 0],
83
+ [x*z*(1-c) - y*s, y*z*(1-c) + x*s, z*z*(1-c) + c, 0],
84
+ [0, 0, 0, 1],
85
+ ]
86
+ end
87
+
88
+ def self.translate(x, y, z)
89
+ Matrix[
90
+ [1, 0, 0, x],
91
+ [0, 1, 0, y],
92
+ [0, 0, 1, z],
93
+ [0, 0, 0, 1],
94
+ ]
95
+ end
96
+
97
+ def self.matrix(*arguments)
98
+ Matrix[*(arguments.each_slice(4).to_a)]
99
+ end
100
+
101
+ def self.for(transforms)
102
+ product = Matrix.identity(4)
103
+
104
+ transforms.each do |(name, arguments)|
105
+ product = product * self.send(name, *arguments)
106
+ end
107
+
108
+ return product
109
+ end
110
+ end
111
+ end
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Collada
22
- VERSION = "0.0.1"
22
+ VERSION = "0.2.0"
23
23
  end
@@ -0,0 +1,165 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
3
+ <asset>
4
+ <contributor>
5
+ <author>Blender User</author>
6
+ <authoring_tool>Blender 2.65.0 r52859</authoring_tool>
7
+ </contributor>
8
+ <created>2013-02-26T03:40:31</created>
9
+ <modified>2013-02-26T03:40:31</modified>
10
+ <unit name="meter" meter="1"/>
11
+ <up_axis>Z_UP</up_axis>
12
+ </asset>
13
+ <library_images/>
14
+ <library_geometries>
15
+ <geometry id="Cylinder-mesh" name="Cylinder">
16
+ <mesh>
17
+ <source id="Cylinder-mesh-positions">
18
+ <float_array id="Cylinder-mesh-positions-array" count="480">0 1 -3 0 1 3 0.1950903 0.9807853 -3 0.1950903 0.9807853 3 0.3826835 0.9238795 -3 0.3826835 0.9238795 3 0.5555703 0.8314696 -3 0.5555703 0.8314696 3 0.7071068 0.7071068 -3 0.7071068 0.7071068 3 0.8314697 0.5555702 -3 0.8314697 0.5555702 3 0.9238795 0.3826834 -3 0.9238795 0.3826834 3 0.9807853 0.1950903 -3 0.9807853 0.1950903 3 1 0 -3 1 0 3 0.9807853 -0.1950902 -3 0.9807853 -0.1950902 3 0.9238796 -0.3826833 -3 0.9238796 -0.3826833 3 0.8314697 -0.5555702 -3 0.8314697 -0.5555702 3 0.7071068 -0.7071068 -3 0.7071068 -0.7071068 3 0.5555702 -0.8314697 -3 0.5555702 -0.8314697 3 0.3826833 -0.9238796 -3 0.3826833 -0.9238796 3 0.1950901 -0.9807853 -3 0.1950901 -0.9807853 3 -3.25841e-7 -1 -3 -3.25841e-7 -1 3 -0.1950907 -0.9807852 -3 -0.1950907 -0.9807852 3 -0.3826839 -0.9238793 -3 -0.3826839 -0.9238793 3 -0.5555707 -0.8314693 -3 -0.5555707 -0.8314693 3 -0.7071073 -0.7071064 -3 -0.7071073 -0.7071064 3 -0.83147 -0.5555697 -3 -0.83147 -0.5555697 3 -0.9238799 -0.3826827 -3 -0.9238799 -0.3826827 3 -0.9807854 -0.1950894 -3 -0.9807854 -0.1950894 3 -1 9.65599e-7 -3 -1 9.65599e-7 3 -0.9807851 0.1950913 -3 -0.9807851 0.1950913 3 -0.9238791 0.3826845 -3 -0.9238791 0.3826845 3 -0.8314689 0.5555713 -3 -0.8314689 0.5555713 3 -0.7071059 0.7071077 -3 -0.7071059 0.7071077 3 -0.5555691 0.8314704 -3 -0.5555691 0.8314704 3 -0.3826821 0.9238801 -3 -0.3826821 0.9238801 3 -0.1950888 0.9807856 -3 -0.1950888 0.9807856 3 0.8314697 -0.5555702 1.5 0.8314697 -0.5555702 0 0.8314697 -0.5555702 -1.5 0.8314697 0.5555702 1.5 0.8314697 0.5555702 0 0.8314697 0.5555702 -1.5 0 1 -1.5 0 1 0 0 1 1.5 -0.7071059 0.7071077 1.5 -0.7071059 0.7071077 0 -0.7071059 0.7071077 -1.5 -0.9238799 -0.3826827 1.5 -0.9238799 -0.3826827 0 -0.9238799 -0.3826827 -1.5 -3.25841e-7 -1 1.5 -3.25841e-7 -1 0 -3.25841e-7 -1 -1.5 0.9238796 -0.3826833 1.5 0.9238796 -0.3826833 0 0.9238796 -0.3826833 -1.5 0.7071068 0.7071068 1.5 0.7071068 0.7071068 0 0.7071068 0.7071068 -1.5 -0.8314689 0.5555713 1.5 -0.8314689 0.5555713 0 -0.8314689 0.5555713 -1.5 -0.83147 -0.5555697 1.5 -0.83147 -0.5555697 0 -0.83147 -0.5555697 -1.5 0.1950901 -0.9807853 1.5 0.1950901 -0.9807853 0 0.1950901 -0.9807853 -1.5 0.9807853 -0.1950902 1.5 0.9807853 -0.1950902 0 0.9807853 -0.1950902 -1.5 0.5555703 0.8314696 1.5 0.5555703 0.8314696 0 0.5555703 0.8314696 -1.5 -0.9238791 0.3826845 1.5 -0.9238791 0.3826845 0 -0.9238791 0.3826845 -1.5 -0.7071073 -0.7071064 1.5 -0.7071073 -0.7071064 0 -0.7071073 -0.7071064 -1.5 0.3826833 -0.9238796 1.5 0.3826833 -0.9238796 0 0.3826833 -0.9238796 -1.5 1 0 1.5 1 0 0 1 0 -1.5 0.3826835 0.9238795 1.5 0.3826835 0.9238795 0 0.3826835 0.9238795 -1.5 -0.1950888 0.9807856 1.5 -0.1950888 0.9807856 0 -0.1950888 0.9807856 -1.5 -0.9807851 0.1950913 1.5 -0.9807851 0.1950913 0 -0.9807851 0.1950913 -1.5 -0.5555707 -0.8314693 1.5 -0.5555707 -0.8314693 0 -0.5555707 -0.8314693 -1.5 0.5555702 -0.8314697 1.5 0.5555702 -0.8314697 0 0.5555702 -0.8314697 -1.5 0.9807853 0.1950903 1.5 0.9807853 0.1950903 0 0.9807853 0.1950903 -1.5 0.1950903 0.9807853 1.5 0.1950903 0.9807853 0 0.1950903 0.9807853 -1.5 -0.3826821 0.9238801 1.5 -0.3826821 0.9238801 0 -0.3826821 0.9238801 -1.5 -1 9.65599e-7 1.5 -1 9.65599e-7 0 -1 9.65599e-7 -1.5 -0.3826839 -0.9238793 1.5 -0.3826839 -0.9238793 0 -0.3826839 -0.9238793 -1.5 0.7071068 -0.7071068 1.5 0.7071068 -0.7071068 0 0.7071068 -0.7071068 -1.5 0.9238795 0.3826834 1.5 0.9238795 0.3826834 0 0.9238795 0.3826834 -1.5 -0.5555691 0.8314704 1.5 -0.5555691 0.8314704 0 -0.5555691 0.8314704 -1.5 -0.9807854 -0.1950894 1.5 -0.9807854 -0.1950894 0 -0.9807854 -0.1950894 -1.5 -0.1950907 -0.9807852 1.5 -0.1950907 -0.9807852 0 -0.1950907 -0.9807852 -1.5</float_array>
19
+ <technique_common>
20
+ <accessor source="#Cylinder-mesh-positions-array" count="160" stride="3">
21
+ <param name="X" type="float"/>
22
+ <param name="Y" type="float"/>
23
+ <param name="Z" type="float"/>
24
+ </accessor>
25
+ </technique_common>
26
+ </source>
27
+ <source id="Cylinder-mesh-normals">
28
+ <float_array id="Cylinder-mesh-normals-array" count="480">0.1950743 0.9807733 0 0 1 0 0 1 0 0.1950743 0.9807733 0 0.3826716 0.9238563 0 0.3826716 0.9238563 0 0.5555589 0.8314463 0 0.5555589 0.8314463 0 0.7070834 0.7070834 0 0.7070834 0.7070834 0 0.8314463 0.5555589 0 0.8314463 0.5555589 0 0.9238563 0.3826716 0 0.9238563 0.3826716 0 0.9807733 0.1950743 0 0.9807733 0.1950743 0 1 0 0 1 0 0 0.9807733 -0.1950743 0 0.9807733 -0.1950743 0 0.9238563 -0.3826716 0 0.9238563 -0.3826716 0 0.8314463 -0.5555589 0 0.8314463 -0.5555589 0 0.7070834 -0.7070834 0 0.7070834 -0.7070834 0 0.5555589 -0.8314463 0 0.5555589 -0.8314463 0 0.3826716 -0.9238563 0 0.3826716 -0.9238563 0 0.1950743 -0.9807733 0 0.1950743 -0.9807733 0 0 -1 0 0 -1 0 -0.1950743 -0.9807733 0 -0.1950743 -0.9807733 0 -0.1950743 -0.9807733 0 -0.1950743 -0.9807733 0 -0.3826716 -0.9238563 0 -0.3826716 -0.9238563 0 -0.5555589 -0.8314463 0 -0.5555589 -0.8314463 0 -0.7070834 -0.7070834 0 -0.7070834 -0.7070834 0 -0.8314463 -0.5555589 0 -0.8314463 -0.5555589 0 -0.9238563 -0.3826716 0 -0.9238563 -0.3826716 0 -0.9807733 -0.1950743 0 -0.9807733 -0.1950743 0 -1 0 0 -1 0 0 -0.9807733 0.1950743 0 -0.9807733 0.1950743 0 -0.9238563 0.3826716 0 -0.9238563 0.3826716 0 -0.8314463 0.5555589 0 -0.8314463 0.5555589 0 -0.7070834 0.7070834 0 -0.7070834 0.7070834 0 -0.5555589 0.8314463 0 -0.5555589 0.8314463 0 -0.3826716 0.9238563 0 -0.3826716 0.9238563 0 -0.1950743 0.9807733 0 -0.1950743 0.9807733 0 0 1 0 -0.1950743 0.9807733 0 -0.1950743 0.9807733 0 -0.3826716 0.9238563 0 -0.3826716 0.9238563 0 -0.1950743 0.9807733 0 -0.3826716 0.9238563 0 -0.9238563 0.3826716 0 -0.9807733 0.1950743 0 -0.9807733 0.1950743 0 -0.9238563 0.3826716 0 -0.9238563 0.3826716 0 -0.9807733 0.1950743 0 -0.5555589 -0.8314463 0 -0.3826716 -0.9238563 0 -0.3826716 -0.9238563 0 -0.5555589 -0.8314463 0 -0.5555589 -0.8314463 0 -0.3826716 -0.9238563 0 0.8314463 -0.5555589 0 0.7070834 -0.7070834 0 0.8314463 -0.5555589 0 0.7070834 -0.7070834 0 0.8314463 -0.5555589 0 0.7070834 -0.7070834 0 0.7070834 0.7070834 0 0.8314463 0.5555589 0 0.7070834 0.7070834 0 0.8314463 0.5555589 0 0.7070834 0.7070834 0 0.8314463 0.5555589 0 -1 0 0 -0.9807733 -0.1950743 0 -0.9807733 -0.1950743 0 -1 0 0 -1 0 0 -0.9807733 -0.1950743 0 0 -1 0 0 -1 0 0 -1 0 -0.1950743 -0.9807733 0 0.9807733 -0.1950743 0 0.9238563 -0.3826716 0 0.9807733 -0.1950743 0 0.9238563 -0.3826716 0 0.9807733 -0.1950743 0 0.9238563 -0.3826716 0 0.3826716 0.9238563 0 0.5555589 0.8314463 0 0.3826716 0.9238563 0 0.5555589 0.8314463 0 0.3826716 0.9238563 0 0.5555589 0.8314463 0 -0.5555589 0.8314463 0 -0.7070834 0.7070834 0 -0.7070834 0.7070834 0 -0.5555589 0.8314463 0 -0.5555589 0.8314463 0 -0.7070834 0.7070834 0 -0.9238563 -0.3826716 0 -0.8314463 -0.5555589 0 -0.8314463 -0.5555589 0 -0.9238563 -0.3826716 0 -0.9238563 -0.3826716 0 -0.8314463 -0.5555589 0 0.3826716 -0.9238563 0 0.1950743 -0.9807733 0 0.3826716 -0.9238563 0 0.1950743 -0.9807733 0 0.3826716 -0.9238563 0 0.1950743 -0.9807733 0 0.9807733 0.1950743 0 1 0 0 0.9807733 0.1950743 0 1 0 0 0.9807733 0.1950743 0 1 0 0 0.1950743 0.9807733 0 0 1 0 0.1950743 0.9807733 0 0 1 0 0.1950743 0.9807733 0 -0.8314463 0.5555589 0 -0.8314463 0.5555589 0 -0.8314463 0.5555589 0 -0.7070834 -0.7070834 0 -0.7070834 -0.7070834 0 -0.7070834 -0.7070834 0 0.5555589 -0.8314463 0 0.5555589 -0.8314463 0 0.5555589 -0.8314463 0 0.9238563 0.3826716 0 0.9238563 0.3826716 0 0.9238563 0.3826716 0</float_array>
29
+ <technique_common>
30
+ <accessor source="#Cylinder-mesh-normals-array" count="160" stride="3">
31
+ <param name="X" type="float"/>
32
+ <param name="Y" type="float"/>
33
+ <param name="Z" type="float"/>
34
+ </accessor>
35
+ </technique_common>
36
+ </source>
37
+ <source id="Cylinder-mesh-map-0">
38
+ <float_array id="Cylinder-mesh-map-0-array" count="1024">0.4782335 0.4687688 0.4782329 0.5000119 0.2391681 0.5000072 0.2391687 0.4687635 0.4782343 0.4375258 0.4782335 0.4687688 0.2391687 0.4687635 0.2391694 0.4375199 0.4782351 0.4062827 0.4782343 0.4375258 0.2391694 0.4375199 0.2391703 0.4062763 0.478236 0.3750397 0.4782351 0.4062827 0.2391703 0.4062763 0.239171 0.3750327 0.4782369 0.3437966 0.478236 0.3750397 0.239171 0.3750327 0.239172 0.3437891 0.478238 0.3125536 0.4782369 0.3437966 0.239172 0.3437891 0.239173 0.3125454 0.4782392 0.2813107 0.478238 0.3125536 0.239173 0.3125454 0.2391741 0.2813018 0.4782404 0.2500677 0.4782392 0.2813107 0.2391741 0.2813018 0.2391753 0.2500582 0.4782417 0.2188248 0.4782404 0.2500677 0.2391753 0.2500582 0.2391765 0.2188146 0.4782432 0.1875818 0.4782417 0.2188248 0.2391765 0.2188146 0.2391778 0.1875709 0.4782447 0.1563389 0.4782432 0.1875818 0.2391778 0.1875709 0.2391791 0.1563273 0.4782464 0.125096 0.4782447 0.1563389 0.2391791 0.1563273 0.2391807 0.1250837 0.4782482 0.09385311 0.4782464 0.125096 0.2391807 0.1250837 0.2391822 0.09384 0.4782501 0.0626102 0.4782482 0.09385311 0.2391822 0.09384 0.2391838 0.06259638 0.4782522 0.03136724 0.4782501 0.0626102 0.2391838 0.06259638 0.2391854 0.03135257 0.4782544 1.2417e-4 0.4782522 0.03136724 0.2391854 0.03135257 0.2391871 1.08929e-4 0.4782292 0.9686589 0.4782292 0.9999021 0.2391651 0.9999015 0.2391651 0.9686583 0.9563546 0.9686571 0.7172928 0.9686589 0.7172927 0.9374159 0.9563544 0.9374143 0.9563544 0.9374143 0.7172927 0.9374159 0.7172926 0.9061728 0.9563542 0.9061714 0.9563542 0.9061714 0.7172926 0.9061728 0.7172926 0.8749299 0.9563539 0.8749284 0.9563539 0.8749284 0.7172926 0.8749299 0.7172925 0.8436868 0.9563537 0.8436856 0.9563537 0.8436856 0.7172925 0.8436868 0.7172923 0.8124438 0.9563534 0.8124427 0.9563534 0.8124427 0.7172923 0.8124438 0.7172923 0.7812008 0.9563531 0.7811999 0.9563531 0.7811999 0.7172923 0.7812008 0.7172923 0.7499579 0.9563528 0.7499571 0.9563528 0.7499571 0.7172923 0.7499579 0.7172924 0.718715 0.9563525 0.7187142 0.9563525 0.7187142 0.7172924 0.718715 0.7172924 0.6874722 0.9563521 0.6874716 0.9563521 0.6874716 0.7172924 0.6874722 0.7172926 0.6562294 0.9563517 0.6562288 0.9563517 0.6562288 0.7172926 0.6562294 0.7172927 0.6249867 0.9563513 0.6249863 0.9563513 0.6249863 0.7172927 0.6249867 0.7172929 0.5937439 0.9563509 0.5937438 0.9563509 0.5937438 0.7172929 0.5937439 0.7172931 0.5625013 0.9563505 0.5625014 0.7172933 0.5312587 0.4782323 0.5312547 0.4782329 0.5000119 0.7172936 0.5000163 0.9563505 0.5625014 0.7172931 0.5625013 0.7172933 0.5312587 0.95635 0.5312592 0.2391676 0.5312504 0.239167 0.562494 9.8444e-5 0.5624909 9.88531e-5 0.5312468 0.4782323 0.5312547 0.4782319 0.5624979 0.239167 0.562494 0.2391676 0.5312504 0.7172931 0.5625013 0.4782319 0.5624979 0.4782323 0.5312547 0.7172933 0.5312587 0.2391656 0.6874682 0.2391654 0.7187117 9.79837e-5 0.7187114 9.78302e-5 0.6874675 0.4782303 0.6874703 0.4782301 0.7187135 0.2391654 0.7187117 0.2391656 0.6874682 0.7172924 0.718715 0.4782301 0.7187135 0.4782303 0.6874703 0.7172924 0.6874722 0.2391651 0.9061719 0.2391651 0.9374151 1.01564e-4 0.9374163 1.00848e-4 0.9061732 0.4782293 0.9061725 0.4782292 0.9374156 0.2391651 0.9374151 0.2391651 0.9061719 0.7172927 0.9374159 0.4782292 0.9374156 0.4782293 0.9061725 0.7172926 0.9061728 0.717303 0.1563524 0.4782447 0.1563389 0.4782464 0.125096 0.7173047 0.1251106 0.9563497 0.1563653 0.717303 0.1563524 0.7173047 0.1251106 0.9563505 0.1251255 0.2391807 0.1250837 0.2391791 0.1563273 1.10207e-4 0.1563177 1.11537e-4 0.1250736 0.7172957 0.3750466 0.478236 0.3750397 0.4782369 0.3437966 0.7172964 0.3438044 0.9563481 0.3750506 0.7172957 0.3750466 0.7172964 0.3438044 0.956348 0.3438093 0.239172 0.3437891 0.239171 0.3750327 1.02075e-4 0.3750262 1.03047e-4 0.3437821 0.2391653 0.7499551 0.2391652 0.7811985 9.86486e-5 0.781199 9.82905e-5 0.7499553 0.4782299 0.7499567 0.4782297 0.7811998 0.2391652 0.7811985 0.2391653 0.7499551 0.7172923 0.7812008 0.4782297 0.7811998 0.4782299 0.7499567 0.7172923 0.7499579 0.9563548 0.9999001 0.7172929 0.999902 0.7172928 0.9686589 0.9563546 0.9686571 0.7172929 0.999902 0.4782292 0.9999021 0.4782292 0.9686589 0.7172928 0.9686589 0.2391651 0.9686583 0.2391651 0.9999015 1.02842e-4 0.9999022 1.02229e-4 0.9686592 0.7173003 0.2188361 0.4782417 0.2188248 0.4782432 0.1875818 0.7173016 0.1875942 0.9563484 0.2188459 0.7173003 0.2188361 0.7173016 0.1875942 0.956349 0.1876055 0.2391778 0.1875709 0.2391765 0.2188146 1.07548e-4 0.2188057 1.08878e-4 0.1875617 0.7172945 0.4375314 0.4782343 0.4375258 0.4782351 0.4062827 0.7172951 0.406289 0.9563487 0.4375336 0.7172945 0.4375314 0.7172951 0.406289 0.9563483 0.406292 0.2391703 0.4062763 0.2391694 0.4375199 1.0049e-4 0.4375146 1.01257e-4 0.4062704 0.2391666 0.5937376 0.2391662 0.6249812 9.79325e-5 0.6249793 9.81371e-5 0.5937351 0.4782314 0.5937409 0.478231 0.6249841 0.2391662 0.6249812 0.2391666 0.5937376 0.7172927 0.6249867 0.478231 0.6249841 0.4782314 0.5937409 0.7172929 0.5937439 0.2391651 0.812442 0.2391651 0.8436853 9.95692e-5 0.8436864 9.90577e-5 0.8124428 0.4782296 0.812443 0.4782295 0.8436861 0.2391651 0.8436853 0.2391651 0.812442 0.7172925 0.8436868 0.4782295 0.8436861 0.4782296 0.812443 0.7172923 0.8124438 0.7173085 0.06262707 0.4782501 0.0626102 0.4782522 0.03136724 0.7173108 0.03138524 0.9563551 0.06264406 0.7173085 0.06262707 0.7173108 0.03138524 0.9563575 0.03140312 0.2391854 0.03135257 0.2391838 0.06259638 1.1435e-4 0.06258565 1.15782e-4 0.03134167 0.7172982 0.2813201 0.4782392 0.2813107 0.4782404 0.2500677 0.7172992 0.2500781 0.956348 0.2813271 0.7172982 0.2813201 0.7172992 0.2500781 0.9563481 0.2500864 0.2391753 0.2500582 0.2391741 0.2813018 1.05246e-4 0.2812939 1.06423e-4 0.2500498 0.7172936 0.5000163 0.4782329 0.5000119 0.4782335 0.4687688 0.717294 0.4687739 0.9563494 0.5000174 0.7172936 0.5000163 0.717294 0.4687739 0.956349 0.4687754 0.2391687 0.4687635 0.2391681 0.5000072 9.93134e-5 0.500003 9.98249e-5 0.4687588 0.2391659 0.6562247 0.2391656 0.6874682 9.78302e-5 0.6874675 9.77791e-5 0.6562234 0.4782306 0.6562272 0.4782303 0.6874703 0.2391656 0.6874682 0.2391659 0.6562247 0.7172924 0.6874722 0.4782303 0.6874703 0.4782306 0.6562272 0.7172926 0.6562294 0.2391651 0.8749287 0.2391651 0.9061719 1.00848e-4 0.9061732 1.00183e-4 0.8749299 0.4782294 0.8749293 0.4782293 0.9061725 0.2391651 0.9061719 0.2391651 0.8749287 0.7172926 0.9061728 0.4782293 0.9061725 0.4782294 0.8749293 0.7172926 0.8749299 0.7173047 0.1251106 0.4782464 0.125096 0.4782482 0.09385311 0.7173066 0.09386879 0.9563505 0.1251255 0.7173047 0.1251106 0.7173066 0.09386879 0.9563528 0.09388476 0.2391822 0.09384 0.2391807 0.1250837 1.11537e-4 0.1250736 1.12867e-4 0.09382957 0.7172964 0.3438044 0.4782369 0.3437966 0.478238 0.3125536 0.7172973 0.3125622 0.956348 0.3438093 0.7172964 0.3438044 0.7172973 0.3125622 0.956348 0.3125681 0.239173 0.3125454 0.239172 0.3437891 1.03047e-4 0.3437821 1.04121e-4 0.312538 0.2391681 0.5000072 0.2391676 0.5312504 9.88531e-5 0.5312468 9.93134e-5 0.500003 0.4782329 0.5000119 0.4782323 0.5312547 0.2391676 0.5312504 0.2391681 0.5000072 0.7172936 0.5000163 0.9563494 0.5000174 0.95635 0.5312592 0.7172933 0.5312587 0.2391654 0.7187117 0.2391653 0.7499551 9.82905e-5 0.7499553 9.79837e-5 0.7187114 0.4782301 0.7187135 0.4782299 0.7499567 0.2391653 0.7499551 0.2391654 0.7187117 0.7172923 0.7499579 0.4782299 0.7499567 0.4782301 0.7187135 0.7172924 0.718715 0.2391651 0.9374151 0.2391651 0.9686583 1.02229e-4 0.9686592 1.01564e-4 0.9374163 0.4782292 0.9374156 0.4782292 0.9686589 0.2391651 0.9686583 0.2391651 0.9374151 0.7172928 0.9686589 0.4782292 0.9686589 0.4782292 0.9374156 0.7172927 0.9374159 0.7173016 0.1875942 0.4782432 0.1875818 0.4782447 0.1563389 0.717303 0.1563524 0.956349 0.1876055 0.7173016 0.1875942 0.717303 0.1563524 0.9563497 0.1563653 0.2391791 0.1563273 0.2391778 0.1875709 1.08878e-4 0.1875617 1.10207e-4 0.1563177 0.7172951 0.406289 0.4782351 0.4062827 0.478236 0.3750397 0.7172957 0.3750466 0.9563483 0.406292 0.7172951 0.406289 0.7172957 0.3750466 0.9563481 0.3750506 0.239171 0.3750327 0.2391703 0.4062763 1.01257e-4 0.4062704 1.02075e-4 0.3750262 0.239167 0.562494 0.2391666 0.5937376 9.81371e-5 0.5937351 9.8444e-5 0.5624909 0.4782319 0.5624979 0.4782314 0.5937409 0.2391666 0.5937376 0.239167 0.562494 0.7172929 0.5937439 0.4782314 0.5937409 0.4782319 0.5624979 0.7172931 0.5625013 0.2391652 0.7811985 0.2391651 0.812442 9.90577e-5 0.8124428 9.86486e-5 0.781199 0.4782297 0.7811998 0.4782296 0.812443 0.2391651 0.812442 0.2391652 0.7811985 0.7172923 0.8124438 0.4782296 0.812443 0.4782297 0.7811998 0.7172923 0.7812008 0.7173108 0.03138524 0.4782522 0.03136724 0.4782544 1.2417e-4 0.7173132 1.43605e-4 0.9563575 0.03140312 0.7173108 0.03138524 0.7173132 1.43605e-4 0.95636 1.62222e-4 0.2391871 1.08929e-4 0.2391854 0.03135257 1.15782e-4 0.03134167 1.17265e-4 9.77791e-5 0.7172992 0.2500781 0.4782404 0.2500677 0.4782417 0.2188248 0.7173003 0.2188361 0.9563481 0.2500864 0.7172992 0.2500781 0.7173003 0.2188361 0.9563484 0.2188459 0.2391765 0.2188146 0.2391753 0.2500582 1.06423e-4 0.2500498 1.07548e-4 0.2188057 0.717294 0.4687739 0.4782335 0.4687688 0.4782343 0.4375258 0.7172945 0.4375314 0.956349 0.4687754 0.717294 0.4687739 0.7172945 0.4375314 0.9563487 0.4375336 0.2391694 0.4375199 0.2391687 0.4687635 9.98249e-5 0.4687588 1.0049e-4 0.4375146 0.2391662 0.6249812 0.2391659 0.6562247 9.77791e-5 0.6562234 9.79325e-5 0.6249793 0.478231 0.6249841 0.4782306 0.6562272 0.2391659 0.6562247 0.2391662 0.6249812 0.7172926 0.6562294 0.4782306 0.6562272 0.478231 0.6249841 0.7172927 0.6249867 0.2391651 0.8436853 0.2391651 0.8749287 1.00183e-4 0.8749299 9.95692e-5 0.8436864 0.4782295 0.8436861 0.4782294 0.8749293 0.2391651 0.8749287 0.2391651 0.8436853 0.7172926 0.8749299 0.4782294 0.8749293 0.4782295 0.8436861 0.7172925 0.8436868 0.7173066 0.09386879 0.4782482 0.09385311 0.4782501 0.0626102 0.7173085 0.06262707 0.9563528 0.09388476 0.7173066 0.09386879 0.7173085 0.06262707 0.9563551 0.06264406 0.2391838 0.06259638 0.2391822 0.09384 1.12867e-4 0.09382957 1.1435e-4 0.06258565 0.7172973 0.3125622 0.478238 0.3125536 0.4782392 0.2813107 0.7172982 0.2813201 0.956348 0.3125681 0.7172973 0.3125622 0.7172982 0.2813201 0.956348 0.2813271 0.2391741 0.2813018 0.239173 0.3125454 1.04121e-4 0.312538 1.05246e-4 0.2812939</float_array>
39
+ <technique_common>
40
+ <accessor source="#Cylinder-mesh-map-0-array" count="512" stride="2">
41
+ <param name="S" type="float"/>
42
+ <param name="T" type="float"/>
43
+ </accessor>
44
+ </technique_common>
45
+ </source>
46
+ <vertices id="Cylinder-mesh-vertices">
47
+ <input semantic="POSITION" source="#Cylinder-mesh-positions"/>
48
+ </vertices>
49
+ <polylist count="128">
50
+ <input semantic="VERTEX" source="#Cylinder-mesh-vertices" offset="0"/>
51
+ <input semantic="NORMAL" source="#Cylinder-mesh-normals" offset="1"/>
52
+ <input semantic="TEXCOORD" source="#Cylinder-mesh-map-0" offset="2" set="0"/>
53
+ <vcount>4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 </vcount>
54
+ <p>134 0 0 71 1 1 72 2 2 133 3 3 116 4 4 134 0 5 133 3 6 115 5 7 101 6 8 116 4 9 115 5 10 100 7 11 86 8 12 101 6 13 100 7 14 85 9 15 68 10 16 86 8 17 85 9 18 67 11 19 149 12 20 68 10 21 67 11 22 148 13 23 131 14 24 149 12 25 148 13 26 130 15 27 113 16 28 131 14 29 130 15 30 112 17 31 98 18 32 113 16 33 112 17 34 97 19 35 83 20 36 98 18 37 97 19 38 82 21 39 65 22 40 83 20 41 82 21 42 64 23 43 146 24 44 65 22 45 64 23 46 145 25 47 128 26 48 146 24 49 145 25 50 127 27 51 110 28 52 128 26 53 127 27 54 109 29 55 95 30 56 110 28 57 109 29 58 94 31 59 80 32 60 95 30 61 94 31 62 79 33 63 158 34 64 80 32 65 79 33 66 157 35 67 34 36 68 159 37 69 144 38 70 36 39 71 36 39 72 144 38 73 126 40 74 38 41 75 38 41 76 126 40 77 108 42 78 40 43 79 40 43 80 108 42 81 93 44 82 42 45 83 42 45 84 93 44 85 78 46 86 44 47 87 44 47 88 78 46 89 156 48 90 46 49 91 46 49 92 156 48 93 141 50 94 48 51 95 48 51 96 141 50 97 123 52 98 50 53 99 50 53 100 123 52 101 105 54 102 52 55 103 52 55 104 105 54 105 90 56 106 54 57 107 54 57 108 90 56 109 75 58 110 56 59 111 56 59 112 75 58 113 153 60 114 58 61 115 58 61 116 153 60 117 138 62 118 60 63 119 120 64 120 119 65 121 71 1 122 70 66 123 60 63 124 138 62 125 120 64 126 62 67 127 118 68 128 136 69 129 61 70 130 63 71 131 119 65 132 137 72 133 136 69 134 118 68 135 138 62 136 137 72 137 119 65 138 120 64 139 103 73 140 121 74 141 51 75 142 53 76 143 104 77 144 122 78 145 121 74 146 103 73 147 123 52 148 122 78 149 104 77 150 105 54 151 124 79 152 142 80 153 37 81 154 39 82 155 125 83 156 143 84 157 142 80 158 124 79 159 144 38 160 143 84 161 125 83 162 126 40 163 66 85 164 65 22 165 146 24 166 147 86 167 22 87 168 66 85 169 147 86 170 24 88 171 145 25 172 64 23 173 23 89 174 25 90 175 87 91 176 86 8 177 68 10 178 69 92 179 8 93 180 87 91 181 69 92 182 10 94 183 67 11 184 85 9 185 9 95 186 11 96 187 139 97 188 154 98 189 47 99 190 49 100 191 140 101 192 155 102 193 154 98 194 139 97 195 156 48 196 155 102 197 140 101 198 141 50 199 32 103 200 81 104 201 159 37 202 34 36 203 81 104 204 80 32 205 158 34 206 159 37 207 157 35 208 79 33 209 33 105 210 35 106 211 99 107 212 98 18 213 83 20 214 84 108 215 18 109 216 99 107 217 84 108 218 20 110 219 82 21 220 97 19 221 19 111 222 21 112 223 117 113 224 116 4 225 101 6 226 102 114 227 4 115 228 117 113 229 102 114 230 6 116 231 100 7 232 115 5 233 5 117 234 7 118 235 151 119 236 73 120 237 57 121 238 59 122 239 152 123 240 74 124 241 73 120 242 151 119 243 75 58 244 74 124 245 152 123 246 153 60 247 76 125 248 91 126 249 43 127 250 45 128 251 77 129 252 92 130 253 91 126 254 76 125 255 93 44 256 92 130 257 77 129 258 78 46 259 111 131 260 110 28 261 95 30 262 96 132 263 28 133 264 111 131 265 96 132 266 30 134 267 94 31 268 109 29 269 29 135 270 31 136 271 132 137 272 131 14 273 113 16 274 114 138 275 14 139 276 132 137 277 114 138 278 16 140 279 112 17 280 130 15 281 15 141 282 17 142 283 70 66 284 71 1 285 134 0 286 135 143 287 0 144 288 70 66 289 135 143 290 2 145 291 133 3 292 72 2 293 1 146 294 3 147 295 88 148 296 103 73 297 53 76 298 55 149 299 89 150 300 104 77 301 103 73 302 88 148 303 105 54 304 104 77 305 89 150 306 90 56 307 106 151 308 124 79 309 39 82 310 41 152 311 107 153 312 125 83 313 124 79 314 106 151 315 126 40 316 125 83 317 107 153 318 108 42 319 147 86 320 146 24 321 128 26 322 129 154 323 24 88 324 147 86 325 129 154 326 26 155 327 127 27 328 145 25 329 25 90 330 27 156 331 69 92 332 68 10 333 149 12 334 150 157 335 10 94 336 69 92 337 150 157 338 12 158 339 148 13 340 67 11 341 11 96 342 13 159 343 72 2 344 118 68 345 63 71 346 1 146 347 71 1 348 119 65 349 118 68 350 72 2 351 70 66 352 0 144 353 62 67 354 120 64 355 121 74 356 139 97 357 49 100 358 51 75 359 122 78 360 140 101 361 139 97 362 121 74 363 141 50 364 140 101 365 122 78 366 123 52 367 142 80 368 157 35 369 35 106 370 37 81 371 143 84 372 158 34 373 157 35 374 142 80 375 159 37 376 158 34 377 143 84 378 144 38 379 84 108 380 83 20 381 65 22 382 66 85 383 20 110 384 84 108 385 66 85 386 22 87 387 64 23 388 82 21 389 21 112 390 23 89 391 102 114 392 101 6 393 86 8 394 87 91 395 6 116 396 102 114 397 87 91 398 8 93 399 85 9 400 100 7 401 7 118 402 9 95 403 136 69 404 151 119 405 59 122 406 61 70 407 137 72 408 152 123 409 151 119 410 136 69 411 153 60 412 152 123 413 137 72 414 138 62 415 154 98 416 76 125 417 45 128 418 47 99 419 155 102 420 77 129 421 76 125 422 154 98 423 78 46 424 77 129 425 155 102 426 156 48 427 96 132 428 95 30 429 80 32 430 81 104 431 30 134 432 96 132 433 81 104 434 32 103 435 79 33 436 94 31 437 31 136 438 33 105 439 114 138 440 113 16 441 98 18 442 99 107 443 16 140 444 114 138 445 99 107 446 18 109 447 97 19 448 112 17 449 17 142 450 19 111 451 135 143 452 134 0 453 116 4 454 117 113 455 2 145 456 135 143 457 117 113 458 4 115 459 115 5 460 133 3 461 3 147 462 5 117 463 73 120 464 88 148 465 55 149 466 57 121 467 74 124 468 89 150 469 88 148 470 73 120 471 90 56 472 89 150 473 74 124 474 75 58 475 91 126 476 106 151 477 41 152 478 43 127 479 92 130 480 107 153 481 106 151 482 91 126 483 108 42 484 107 153 485 92 130 486 93 44 487 129 154 488 128 26 489 110 28 490 111 131 491 26 155 492 129 154 493 111 131 494 28 133 495 109 29 496 127 27 497 27 156 498 29 135 499 150 157 500 149 12 501 131 14 502 132 137 503 12 158 504 150 157 505 132 137 506 14 139 507 130 15 508 148 13 509 13 159 510 15 141 511</p>
55
+ </polylist>
56
+ </mesh>
57
+ <extra><technique profile="MAYA"><double_sided>1</double_sided></technique></extra>
58
+ </geometry>
59
+ </library_geometries>
60
+ <library_animations>
61
+ <animation id="Armature_Secondary-Bone_pose_matrix">
62
+ <source id="Armature_Secondary-Bone_pose_matrix-input">
63
+ <float_array id="Armature_Secondary-Bone_pose_matrix-input-array" count="3">0 0.5 1</float_array>
64
+ <technique_common>
65
+ <accessor source="#Armature_Secondary-Bone_pose_matrix-input-array" count="3" stride="1">
66
+ <param name="TIME" type="float"/>
67
+ </accessor>
68
+ </technique_common>
69
+ </source>
70
+ <source id="Armature_Secondary-Bone_pose_matrix-output">
71
+ <float_array id="Armature_Secondary-Bone_pose_matrix-output-array" count="48">-1 0 -1.50996e-7 0 0 1 0 3 1.50996e-7 0 -1 0 0 0 0 1 -1 0 -1.50996e-7 0 -1.50996e-7 0 1 3 0 1 0 0 0 0 0 1 -1 0 -1.50996e-7 0 0 1 0 3 1.50996e-7 0 -1 0 0 0 0 1</float_array>
72
+ <technique_common>
73
+ <accessor source="#Armature_Secondary-Bone_pose_matrix-output-array" count="3" stride="16">
74
+ <param name="TRANSFORM" type="float4x4"/>
75
+ </accessor>
76
+ </technique_common>
77
+ </source>
78
+ <source id="Armature_Secondary-Bone_pose_matrix-interpolation">
79
+ <Name_array id="Armature_Secondary-Bone_pose_matrix-interpolation-array" count="3">LINEAR LINEAR LINEAR</Name_array>
80
+ <technique_common>
81
+ <accessor source="#Armature_Secondary-Bone_pose_matrix-interpolation-array" count="3" stride="1">
82
+ <param name="INTERPOLATION" type="name"/>
83
+ </accessor>
84
+ </technique_common>
85
+ </source>
86
+ <sampler id="Armature_Secondary-Bone_pose_matrix-sampler">
87
+ <input semantic="INPUT" source="#Armature_Secondary-Bone_pose_matrix-input"/>
88
+ <input semantic="OUTPUT" source="#Armature_Secondary-Bone_pose_matrix-output"/>
89
+ <input semantic="INTERPOLATION" source="#Armature_Secondary-Bone_pose_matrix-interpolation"/>
90
+ </sampler>
91
+ <channel source="#Armature_Secondary-Bone_pose_matrix-sampler" target="Secondary-Bone/transform"/>
92
+ </animation>
93
+ </library_animations>
94
+ <library_controllers>
95
+ <controller id="Armature_Cylinder-skin" name="Armature">
96
+ <skin source="#Cylinder-mesh">
97
+ <bind_shape_matrix>1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</bind_shape_matrix>
98
+ <source id="Armature_Cylinder-skin-joints">
99
+ <Name_array id="Armature_Cylinder-skin-joints-array" count="2">Primary-Bone Secondary-Bone</Name_array>
100
+ <technique_common>
101
+ <accessor source="#Armature_Cylinder-skin-joints-array" count="2" stride="1">
102
+ <param name="JOINT" type="name"/>
103
+ </accessor>
104
+ </technique_common>
105
+ </source>
106
+ <source id="Armature_Cylinder-skin-bind_poses">
107
+ <float_array id="Armature_Cylinder-skin-bind_poses-array" count="32">1 0 0 0 0 0 1 3 0 -1 0 -1.31134e-7 0 0 0 1 -1 -1.50996e-7 0 0 0 0 1 0 -1.50996e-7 1 0 1.31134e-7 0 0 0 1</float_array>
108
+ <technique_common>
109
+ <accessor source="#Armature_Cylinder-skin-bind_poses-array" count="2" stride="16">
110
+ <param name="TRANSFORM" type="float4x4"/>
111
+ </accessor>
112
+ </technique_common>
113
+ </source>
114
+ <source id="Armature_Cylinder-skin-weights">
115
+ <float_array id="Armature_Cylinder-skin-weights-array" count="256">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.04281288 0.9571871 0.5000168 0.4999833 0.957727 0.04227298 0.04410439 0.9558957 0.5000461 0.4999538 0.9577463 0.04225373 0.9576354 0.04236465 0.5000624 0.4999377 0.04492539 0.9550747 0.04459875 0.9554011 0.500056 0.4999441 0.9577031 0.04229682 0.04310417 0.9568958 0.5000248 0.4999752 0.9577651 0.04223495 0.04268771 0.9573123 0.5000106 0.4999895 0.9576266 0.04237335 0.0429188 0.9570812 0.5000202 0.4999799 0.9577538 0.04224622 0.04436302 0.9556369 0.5000512 0.4999487 0.957718 0.04228192 0.04438555 0.9556145 0.5000517 0.4999483 0.9577323 0.04226768 0.0429514 0.9570487 0.5000207 0.4999793 0.9577418 0.0422582 0.042683 0.957317 0.5000105 0.4999895 0.9576294 0.04237049 0.0430721 0.9569278 0.5000243 0.4999757 0.9577727 0.04222726 0.04458105 0.9554189 0.5000556 0.4999445 0.9576883 0.04231178 0.04413121 0.9558688 0.5000466 0.4999534 0.9577574 0.04224252 0.04284459 0.9571554 0.5000172 0.4999828 0.9577123 0.04228764 0.0426886 0.9573113 0.5000111 0.499989 0.9576434 0.04235666 0.04327738 0.9567226 0.5000293 0.4999708 0.9577816 0.04221838 0.04475021 0.9552497 0.5000589 0.4999411 0.9576617 0.04233825 0.04492795 0.9550721 0.5000624 0.4999375 0.9576382 0.04236173 0.04384946 0.9561506 0.500041 0.499959 0.9577746 0.0422253 0.04277408 0.9572259 0.5000146 0.4999855 0.9576815 0.04231858 0.04270726 0.9572927 0.5000123 0.4999877 0.9576669 0.04233306 0.04353076 0.9564692 0.5000348 0.4999653 0.9577803 0.04221963 0.04486578 0.9551342 0.5000612 0.4999389 0.9576431 0.04235684 0.04487347 0.9551266 0.5000614 0.4999387 0.9576517 0.04234814 0.04356288 0.9564371 0.5000353 0.4999647 0.9577819 0.04221808 0.04272979 0.9572702 0.5000125 0.4999875 0.957654 0.04234588 0.04274564 0.9572543 0.5000141 0.4999859 0.9576964 0.04230356 0.04381912 0.9561808 0.5000405 0.4999595 0.957768 0.04223191 0.0447629 0.955237 0.5000592 0.4999409 0.9576748 0.04232531 0.04330867 0.9566913 0.5000298 0.4999703 0.9577789 0.04222106 0.04270291 0.957297 0.5000112 0.4999887 0.9576348 0.04236513</float_array>
116
+ <technique_common>
117
+ <accessor source="#Armature_Cylinder-skin-weights-array" count="256" stride="1">
118
+ <param name="WEIGHT" type="float"/>
119
+ </accessor>
120
+ </technique_common>
121
+ </source>
122
+ <joints>
123
+ <input semantic="JOINT" source="#Armature_Cylinder-skin-joints"/>
124
+ <input semantic="INV_BIND_MATRIX" source="#Armature_Cylinder-skin-bind_poses"/>
125
+ </joints>
126
+ <vertex_weights count="160">
127
+ <input semantic="JOINT" source="#Armature_Cylinder-skin-joints" offset="0"/>
128
+ <input semantic="WEIGHT" source="#Armature_Cylinder-skin-weights" offset="1"/>
129
+ <vcount>1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 </vcount>
130
+ <v>0 0 1 1 0 2 1 3 0 4 1 5 0 6 1 7 0 8 1 9 0 10 1 11 0 12 1 13 0 14 1 15 0 16 1 17 0 18 1 19 0 20 1 21 0 22 1 23 0 24 1 25 0 26 1 27 0 28 1 29 0 30 1 31 0 32 1 33 0 34 1 35 0 36 1 37 0 38 1 39 0 40 1 41 0 42 1 43 0 44 1 45 0 46 1 47 0 48 1 49 0 50 1 51 0 52 1 53 0 54 1 55 0 56 1 57 0 58 1 59 0 60 1 61 0 62 1 63 0 64 1 65 0 66 1 67 0 68 1 69 0 70 1 71 0 72 1 73 0 74 1 75 0 76 1 77 0 78 1 79 0 80 1 81 0 82 1 83 0 84 1 85 0 86 1 87 0 88 1 89 0 90 1 91 0 92 1 93 0 94 1 95 0 96 1 97 0 98 1 99 0 100 1 101 0 102 1 103 0 104 1 105 0 106 1 107 0 108 1 109 0 110 1 111 0 112 1 113 0 114 1 115 0 116 1 117 0 118 1 119 0 120 1 121 0 122 1 123 0 124 1 125 0 126 1 127 0 128 1 129 0 130 1 131 0 132 1 133 0 134 1 135 0 136 1 137 0 138 1 139 0 140 1 141 0 142 1 143 0 144 1 145 0 146 1 147 0 148 1 149 0 150 1 151 0 152 1 153 0 154 1 155 0 156 1 157 0 158 1 159 0 160 1 161 0 162 1 163 0 164 1 165 0 166 1 167 0 168 1 169 0 170 1 171 0 172 1 173 0 174 1 175 0 176 1 177 0 178 1 179 0 180 1 181 0 182 1 183 0 184 1 185 0 186 1 187 0 188 1 189 0 190 1 191 0 192 1 193 0 194 1 195 0 196 1 197 0 198 1 199 0 200 1 201 0 202 1 203 0 204 1 205 0 206 1 207 0 208 1 209 0 210 1 211 0 212 1 213 0 214 1 215 0 216 1 217 0 218 1 219 0 220 1 221 0 222 1 223 0 224 1 225 0 226 1 227 0 228 1 229 0 230 1 231 0 232 1 233 0 234 1 235 0 236 1 237 0 238 1 239 0 240 1 241 0 242 1 243 0 244 1 245 0 246 1 247 0 248 1 249 0 250 1 251 0 252 1 253 0 254 1 255</v>
131
+ </vertex_weights>
132
+ </skin>
133
+ </controller>
134
+ </library_controllers>
135
+ <library_visual_scenes>
136
+ <visual_scene id="Scene" name="Scene">
137
+ <node id="Armature" name="Armature" type="NODE">
138
+ <translate sid="location">0 0 0</translate>
139
+ <rotate sid="rotationZ">0 0 1 0</rotate>
140
+ <rotate sid="rotationY">0 1 0 0</rotate>
141
+ <rotate sid="rotationX">1 0 0 0</rotate>
142
+ <scale sid="scale">1 1 1</scale>
143
+ <node id="Primary-Bone" name="Primary-Bone" sid="Primary-Bone" type="JOINT">
144
+ <matrix sid="transform">1 0 0 0 0 -4.37114e-8 -1 0 0 1 -4.37114e-8 -3 0 0 0 1</matrix>
145
+ <node id="Secondary-Bone" name="Secondary-Bone" sid="Secondary-Bone" type="JOINT">
146
+ <matrix sid="transform">-1 5.05191e-16 -1.50996e-7 0 1.37057e-14 1 -8.74228e-8 3 1.50996e-7 -8.74228e-8 -1 0 0 0 0 1</matrix>
147
+ </node>
148
+ </node>
149
+ </node>
150
+ <node id="Cylinder" name="Cylinder" type="NODE">
151
+ <translate sid="location">0 0 0</translate>
152
+ <rotate sid="rotationZ">0 0 1 0</rotate>
153
+ <rotate sid="rotationY">0 1 0 0</rotate>
154
+ <rotate sid="rotationX">1 0 0 0</rotate>
155
+ <scale sid="scale">1 1 1</scale>
156
+ <instance_controller url="#Armature_Cylinder-skin">
157
+ <skeleton>#Primary-Bone</skeleton>
158
+ </instance_controller>
159
+ </node>
160
+ </visual_scene>
161
+ </library_visual_scenes>
162
+ <scene>
163
+ <instance_visual_scene url="#Scene"/>
164
+ </scene>
165
+ </COLLADA>