class MHL::GenericParticle

Attributes

attractor[R]

Public Class Methods

new(initial_position) click to toggle source
# File lib/mhl/generic_particle.rb, line 7
def initialize(initial_position)
  @position  = initial_position
  @attractor = nil
end

Public Instance Methods

evaluate(func) click to toggle source
# File lib/mhl/generic_particle.rb, line 12
def evaluate(func)
  # calculate particle height
  @height = func.call(@position)

  # update particle attractor (if needed)
  if @attractor.nil? or @height > @attractor[:height]
    @attractor = { height: @height, position: @position }
  end
end