Class: Box2D

Inherits:
Java::ProcessingBox2d::Box2DProcessing
  • Object
show all
Defined in:
lib/pbox2d/box2d.rb

Overview

rubified interface, also needed for add_listener

Instance Method Summary collapse

Instance Method Details

#add_listener(listener) ⇒ Object



34
35
36
37
# File 'lib/pbox2d/box2d.rb', line 34

def add_listener(listener)
  # in combination with field accessor we can access protected world
  world.setContactListener(listener)
end

#default_stepObject



26
27
28
# File 'lib/pbox2d/box2d.rb', line 26

def default_step
  { time_step: 1.0 / 60, velocity_iter: 8, position_iter: 10 }
end

#defaultsObject



22
23
24
# File 'lib/pbox2d/box2d.rb', line 22

def defaults
  { scale: 10.0, gravity: [0, -10], warm: true, continuous: true }
end

#gravity(args) ⇒ Object



30
31
32
# File 'lib/pbox2d/box2d.rb', line 30

def gravity(args)
  change_gravity(args.to_java(Java::float))
end

#init_options(args = {}) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/pbox2d/box2d.rb', line 9

def init_options(args = {})
  args = defaults.merge(args)
  set_options(args[:scale],
              args[:gravity].to_java(Java::float),
              args[:warm],
              args[:continuous])
end

#step_options(args = {}) ⇒ Object



17
18
19
20
# File 'lib/pbox2d/box2d.rb', line 17

def step_options(args = {})
  default_step.merge(args)
  set_step(args[:time_step], args[:velocity_iter], args[:position_iter])
end

#versionObject



39
40
41
# File 'lib/pbox2d/box2d.rb', line 39

def version
  format('pbox2d version %s', Pbox2d::VERSION)
end