Method: ChemScanner::ChemDraw::BaseValue#point_2d

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

#point_2d(data) ⇒ Object



144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/chem_scanner/chem_draw/node/base_value.rb', line 144

def point_2d(data)
  x = 0
  y = 0

  if @parser_type == "cdx"
    y, x = binary_chunks(data, 4).map { |v| read_int(v, false) * 1.0e-6 }
  elsif @parser_type == "cdxml"
    values = data.text.split(" ")
    x, y = values[0..1].map { |v| v.to_f / CDXML_CDX_POINT }
  end

  [x.round(5), -y.round(5)]
end