class Blender3d::FileHeader

Attributes

endian_code[R]
endianness[R]
identifier[RW]
pointer_size[R]
size_code[R]
version[RW]

Public Class Methods

new(file = nil) click to toggle source
# File lib/blender-3d/file_header.rb, line 9
def initialize(file = nil)
  deserialize(file) if file
end

Public Instance Methods

big_endian?() click to toggle source
# File lib/blender-3d/file_header.rb, line 35
def big_endian?
  !little_endian?
end
deserialize(file) click to toggle source
# File lib/blender-3d/file_header.rb, line 13
def deserialize(file)
  self.identifier = file.read(7)
  self.pointer_size = file.read(1) == '-'.freeze ? 8 : 4
  self.endianness = file.read(1) == 'v'.freeze ? :little : :big
  self.version = file.read(1) + '.'.freeze + file.read(2)
  self
end
endianness=(value) click to toggle source
# File lib/blender-3d/file_header.rb, line 26
def endianness=(value)
  @endianness = value
  @endian_code = little_endian? ? '<'.freeze : '>'.freeze
end
little_endian?() click to toggle source
# File lib/blender-3d/file_header.rb, line 31
def little_endian?
  @endianness == :little
end
pointer_size=(value) click to toggle source
# File lib/blender-3d/file_header.rb, line 21
def pointer_size=(value)
  @pointer_size = value
  @size_code = @pointer_size == 8 ? 'Q'.freeze : 'L'.freeze
end