Class: Pongo::VectorForce

Inherits:
IForce
  • Object
show all
Defined in:
lib/pongo/vector_force.rb

Overview

A force represented by a 2D vector.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(use_mass, vx, vy) ⇒ VectorForce



6
7
8
9
10
11
# File 'lib/pongo/vector_force.rb', line 6

def initialize(use_mass, vx, vy)
  @fvx = vx
  @fvy = vy
  @scale_mass = use_mass
  @value = Vector.new(vx, vy)
end

Instance Attribute Details

#fvxObject

Returns the value of attribute fvx.



4
5
6
# File 'lib/pongo/vector_force.rb', line 4

def fvx
  @fvx
end

#fvyObject

Returns the value of attribute fvy.



4
5
6
# File 'lib/pongo/vector_force.rb', line 4

def fvy
  @fvy
end

#scale_massObject

Returns the value of attribute scale_mass.



4
5
6
# File 'lib/pongo/vector_force.rb', line 4

def scale_mass
  @scale_mass
end

#valueObject

Returns the value of attribute value.



4
5
6
# File 'lib/pongo/vector_force.rb', line 4

def value
  @value
end

Instance Method Details

#get_value(invmass) ⇒ Object



27
28
29
30
31
32
# File 'lib/pongo/vector_force.rb', line 27

def get_value(invmass)
  if @scale_mass
    @value.set_to(@fvx * invmass, @fvy * invmass)
  end
  @value
end

#use_mass=(b) ⇒ Object



23
24
25
# File 'lib/pongo/vector_force.rb', line 23

def use_mass=(b)
  @scale_mass = b
end

#vx=(x) ⇒ Object



13
14
15
16
# File 'lib/pongo/vector_force.rb', line 13

def vx=(x)
  @fvx = x
  @value.x = x
end

#vy=(y) ⇒ Object



18
19
20
21
# File 'lib/pongo/vector_force.rb', line 18

def vy=(y)
  @fvy = y
  @value.y = y
end