Class: Collada::Document

Inherits:
XML::Document
  • Object
show all
Defined in:
lib/collada/document.rb

Constant Summary collapse

XMLNS =
"http://www.collada.org/2005/11/COLLADASchema"
VERSION =
"1.4.1"
COLLADA =
'COLLADA'
ASSET =
'asset'
LIBRARY_MATERIALS =
'library_materials'
LIBRARY_EFFECTS =
'library_effects'
LIBRARY_GEOMETRIES =
'library_geometries'
LIBRARY_VISUAL_SCENES =
'library_visual_scenes'
SCENE =
'scene'
VISUAL_SCENE =
'visual_scene'
INSTANCE_VISUAL_SCENE =
'instance_visual_scene'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDocument

Returns a new instance of Document.



20
21
22
23
24
25
26
27
28
29
# File 'lib/collada/document.rb', line 20

def initialize
  super
  self.root = XML::Node.new(COLLADA)
  self.root.namespaces.namespace = XML::Namespace.new(self.root,nil,XMLNS)
  self.root.attributes['version'] = VERSION

  create_structure

  self.assets_libraries = []
end

Instance Attribute Details

#assets_librariesObject

Returns the value of attribute assets_libraries.



18
19
20
# File 'lib/collada/document.rb', line 18

def assets_libraries
  @assets_libraries
end

Instance Method Details

#<<(node) ⇒ Object



31
32
33
# File 'lib/collada/document.rb', line 31

def << (node)
  root << node
end

#place(doc, position, rotation, scale) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/collada/document.rb', line 35

def place(doc,position,rotation,scale)
  unless materials_and_effects_included?(doc.name)
    doc.library_materials.each do |material|
      library_materials_node << imported(material)
    end
    doc.library_effects.each do |effect|
      library_effects_node << imported(effect)
    end
    materials_and_effects_added(doc.name)
  end

  doc.library_geometries.each do |geometry|
    library_geometries_node << imported(geometry)
  end
  library_visual_scenes_node << imported(doc.library_visual_scenes)
end