Module: Gsplat::IO::PlyReader

Defined in:
lib/gsplat/io/ply_reader.rb

Overview

Header and scalar payload decoder for PLY files.

Defined Under Namespace

Classes: Element, Property

Constant Summary collapse

TYPE_FORMATS =
{
  "char" => ["c", 1], "int8" => ["c", 1],
  "uchar" => ["C", 1], "uint8" => ["C", 1],
  "short" => ["s<", 2], "int16" => ["s<", 2],
  "ushort" => ["S<", 2], "uint16" => ["S<", 2],
  "int" => ["l<", 4], "int32" => ["l<", 4],
  "uint" => ["L<", 4], "uint32" => ["L<", 4],
  "float" => ["e", 4], "float32" => ["e", 4],
  "double" => ["E", 8], "float64" => ["E", 8]
}.freeze

Class Method Summary collapse

Class Method Details

.decode(data) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/gsplat/io/ply_reader.rb', line 24

def decode(data)
  header, payload = split_header(data.b)
  format, elements = parse_header(header)
  columns = vertex_columns(elements)
  reader = payload_reader(payload, format)
  decode_elements(reader, elements, columns)
  columns
end