Module: LensProtocol::OMA

Defined in:
lib/lens_protocol/oma.rb,
lib/lens_protocol/oma/line.rb,
lib/lens_protocol/oma/types.rb,
lib/lens_protocol/oma/parser.rb,
lib/lens_protocol/oma/record.rb,
lib/lens_protocol/oma/builder.rb,
lib/lens_protocol/oma/message.rb,
lib/lens_protocol/oma/formatter.rb,
lib/lens_protocol/oma/types/type.rb,
lib/lens_protocol/oma/types/array.rb,
lib/lens_protocol/oma/types/chiral.rb,
lib/lens_protocol/oma/types/matrix.rb,
lib/lens_protocol/oma/types/single.rb,
lib/lens_protocol/oma/types/trcfmt.rb,
lib/lens_protocol/oma/types/ignored.rb,
lib/lens_protocol/oma/types/values/tracing_dataset.rb

Overview

The API layer of the library.

Defined Under Namespace

Modules: Types Classes: Builder, Formatter, Line, Message, Parser, Record

Constant Summary collapse

TYPES =
Hash.new { Types::Single.new }.merge(
  'ACOAT' => Types::Chiral.new,
  'ADD' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'AX' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'BACK' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'BCTHK' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'BEVM' => Types::Chiral.new(value_type: :integer),
  'BEVP' => Types::Chiral.new(value_type: :integer),
  'BSIZ' => Types::Chiral.new(value_type: :integer),
  'BVD' => Types::Chiral.new(value_type: :integer),
  'CRIB' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'CTHICK' => Types::Chiral.new(value_type: :numeric, decimals: 3),
  'CYL' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'DBL' => Types::Single.new(value_type: :numeric),
  'DIA' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'DRILLE' => Types::Matrix.new,
  'ETYP' => Types::Single.new(value_type: :integer),
  'FCOCIN' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'FCOCUP' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'FCSGIN' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'FCSGUP' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'FCRV' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'FED' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'FPINB' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'FRNT' => Types::Chiral.new(value_type: :numeric, decimals: 3),
  'FTYP' => Types::Single.new(value_type: :integer),
  'FWD' => Types::Chiral.new(value_type: :numeric),
  'GDEPTH' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'GWIDTH' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'GRADIENT' => Types::Chiral.new(value_type: :integer),
  'HBOX' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'IPD' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'LDADD' => Types::Chiral.new(value_type: :numeric),
  'LDDRAX' => Types::Chiral.new(value_type: :numeric),
  'LDDRCYL' => Types::Chiral.new(value_type: :numeric),
  'LDDRSPH' => Types::Chiral.new(value_type: :numeric),
  'LDNAM' => Types::Chiral.new,
  'LDNRAX' => Types::Chiral.new(value_type: :numeric),
  'LDNRCYL' => Types::Chiral.new(value_type: :numeric),
  'LDNRSPH' => Types::Chiral.new(value_type: :numeric),
  'LDVEN' => Types::Chiral.new,
  'LIND' => Types::Chiral.new(value_type: :numeric, decimals: 3),
  'LMATID' => Types::Chiral.new(value_type: :integer),
  'LMATTYPE' => Types::Chiral.new,
  'LNAM' => Types::Chiral.new,
  'LTYPE' => Types::Chiral.new,
  'MAXFRT' => Types::Chiral.new(value_type: :numeric),
  'MBASE' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'MINFRT' => Types::Chiral.new(value_type: :numeric),
  'MINEDG' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'MPD' => Types::Chiral.new(value_type: :integer),
  'NPD' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'OCHT' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'OPC' => Types::Chiral.new,
  'OPTFRNT' => Types::Chiral.new(value_type: :numeric),
  'PANTO' => Types::Chiral.new(value_type: :integer),
  'PINB' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'POLAR' => Types::Chiral.new(value_type: :integer),
  'PRVA' => Types::Chiral.new(value_type: :numeric, decimals: 1),
  'PRVM' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'R' => Types::Ignored.new,
  'SEGHT' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'SGOCIN' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'SGOCUP' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'SPH' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'STATUS' => Types::Single.new(value_type: :integer),
  'THKP' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'TINT' => Types::Chiral.new,
  'TRCFMT' => Types::Trcfmt.new,
  'VIEWP' => Types::Array.new,
  'VBOX' => Types::Chiral.new(value_type: :numeric, decimals: 2),
  'XSTATUS' => Types::Matrix.new,
  'ZTILT' => Types::Chiral.new(value_type: :integer),
  '_BLANK' => Types::Matrix.new,
  '_LLVAL' => Types::Chiral.new(value_type: :integer),
  '_PRVA1' => Types::Chiral.new(value_type: :integer),
  '_PRVA2' => Types::Chiral.new(value_type: :integer),
  '_PRVM1' => Types::Chiral.new(value_type: :numeric, decimals: 1),
  '_PRVM2' => Types::Chiral.new(value_type: :numeric, decimals: 1),
  '_ETYP2' => Types::Chiral.new(value_type: :integer),
  '_CTO' => Types::Chiral.new(value_type: :integer)
)

Class Method Summary collapse

Class Method Details

.format(*args) ⇒ Object



14
15
16
# File 'lib/lens_protocol/oma.rb', line 14

def format *args
  Formatter.new.format *args
end

.generate(*args) ⇒ Object



10
11
12
# File 'lib/lens_protocol/oma.rb', line 10

def generate *args
  Builder.new.build *args
end

.parse(*args) ⇒ Object



6
7
8
# File 'lib/lens_protocol/oma.rb', line 6

def parse *args
  Parser.new.parse *args
end