Class: TCD::ConstituentData

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/tcd/constituent.rb

Overview

Reader for constituent data (speeds, equilibrium args, node factors). Data is stored as bit-packed arrays after the lookup tables.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bit_buffer, header, lookup_tables) ⇒ ConstituentData

Returns a new instance of ConstituentData.



38
39
40
41
42
43
44
# File 'lib/tcd/constituent.rb', line 38

def initialize(bit_buffer, header, lookup_tables)
    @bit = bit_buffer
    @header = header
    @lookup = lookup_tables
    @constituents = []
    load_data
end

Instance Attribute Details

#constituentsObject (readonly)

Returns the value of attribute constituents.



36
37
38
# File 'lib/tcd/constituent.rb', line 36

def constituents
  @constituents
end

Instance Method Details

#[](idx) ⇒ Object

Find constituent by index



52
53
54
# File 'lib/tcd/constituent.rb', line 52

def [](idx)
    @constituents[idx]
end

#each(&block) ⇒ Object

Iterate over constituents



62
63
64
# File 'lib/tcd/constituent.rb', line 62

def each(&block)
    @constituents.each(&block)
end

#find(name) ⇒ Object

Find constituent by name



47
48
49
# File 'lib/tcd/constituent.rb', line 47

def find(name)
    @constituents.find { |c| c.name == name }
end

#sizeObject

Number of constituents



57
58
59
# File 'lib/tcd/constituent.rb', line 57

def size
    @constituents.size
end