Method: ChemScanner::ChemDraw::BaseValue#read_value

Defined in:
lib/chem_scanner/chem_draw/node/base_value.rb

#read_value(prop_name, data) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/chem_scanner/chem_draw/node/base_value.rb', line 93

def read_value(prop_name, data)
  data_type = PROPS_DATA_TYPE[@props_ref[prop_name]]

  unless (/U?INT[8(16)(32)]/ =~ data_type).nil?
    return read_int(data, data_type[0] == "U")
  end

  case data_type
  when "CDXObjectID" then read_int(data, true)
  when "CDXPoint2D" then point_2d(data)
  when "CDXPoint3D" then point_3d(data)
  when "CDXRectangle" then polygon_from_bb(data)
  when "CDXObjectIDArray" then read_ids(data)
  end
end