class Assimp::Scene

Public Class Methods

inherited(klass) click to toggle source
# File lib/assimp/scene.rb, line 140
def self.inherited(klass)
  klass.instance_variable_set(:@layout, @layout)
end
release(ptr) click to toggle source
# File lib/assimp/scene.rb, line 144
def self.release(ptr)
  Assimp::aiReleaseImport(ptr)
end

Public Instance Methods

apply_post_processing(steps) click to toggle source
# File lib/assimp/scene.rb, line 158
def apply_post_processing(steps)
  ptr = Assimp::aiApplyPostProcessing(self, steps)
  raise "Post processing failed!" if ptr.null?
  self
end
copy() click to toggle source
# File lib/assimp/scene.rb, line 170
def copy
  m = FFI::MemoryPointer::new(:pointer)
  Assimp::aiCopyScene(self, m)
  ptr = m.read_pointer
  raise "Could not copy scene: #{Assimp::LogStream::error_string}" if ptr.null?
  Assimp::SceneCopy::new(ptr)
end
each_node(&block) click to toggle source
# File lib/assimp/scene.rb, line 148
def each_node(&block)
  if block then
    node = root_node
    node.each_node(&block)
    return self
  else
    to_enum(:each_obj)
  end
end
export(format_id, file_name, preprocessing: 0, io: nil) click to toggle source
# File lib/assimp/scene.rb, line 178
def export(format_id, file_name, preprocessing: 0, io: nil)
  if io
    Assimp::aiExportSceneEx(self, format_id, file_name, io, preprocessing)
  else
    Assimp::aiExportScene(self, format_id, file_name, preprocessing)
  end
end
export_to_blob(format_id, preprocessing: 0) click to toggle source
# File lib/assimp/scene.rb, line 186
def export_to_blob(format_id, preprocessing: 0)
  ptr = Assimp::aiExportSceneToBlob(self, format_id, preprocessing)
  raise "Could not export scene: #{Assimp::LogStream::error_string}" if ptr.null?
  Assimp::ExportDataBlob::new(FFI::AutoPointer::new(ptr, Assimp::ExportDataBlob::method(:releaser)))
end
memory_requirements() click to toggle source
# File lib/assimp/scene.rb, line 164
def memory_requirements
  m = Assimp::MemoryInfo::new
  Assimp::aiGetMemoryRequirements(self, m)
  m
end