Class: Box2D::PixelScale

Inherits:
Object
  • Object
show all
Defined in:
lib/box2d/pixel_scale.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pixels_per_meter = 32) ⇒ PixelScale

Returns a new instance of PixelScale.



7
8
9
# File 'lib/box2d/pixel_scale.rb', line 7

def initialize(pixels_per_meter = 32)
  @pixels_per_meter = ValueConversion.positive_float(pixels_per_meter, label: "pixels_per_meter")
end

Instance Attribute Details

#pixels_per_meterObject (readonly)

Returns the value of attribute pixels_per_meter.



5
6
7
# File 'lib/box2d/pixel_scale.rb', line 5

def pixels_per_meter
  @pixels_per_meter
end

Instance Method Details

#to_meters(pixels) ⇒ Object



15
16
17
# File 'lib/box2d/pixel_scale.rb', line 15

def to_meters(pixels)
  ValueConversion.finite_float(pixels, label: "pixels") / @pixels_per_meter
end

#to_pixels(meters) ⇒ Object



11
12
13
# File 'lib/box2d/pixel_scale.rb', line 11

def to_pixels(meters)
  ValueConversion.finite_float(meters, label: "meters") * @pixels_per_meter
end

#vector_to_meters(vector) ⇒ Object



24
25
26
27
# File 'lib/box2d/pixel_scale.rb', line 24

def vector_to_meters(vector)
  x, y = vector
  [to_meters(x), to_meters(y)]
end

#vector_to_pixels(vector) ⇒ Object



19
20
21
22
# File 'lib/box2d/pixel_scale.rb', line 19

def vector_to_pixels(vector)
  x, y = vector
  [to_pixels(x), to_pixels(y)]
end