Class: Physicist::Laboratory::ScientistView

Inherits:
Metacosm::View
  • Object
show all
Defined in:
lib/physicist/laboratory/views/scientist_view.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#display_nameObject

Returns the value of attribute display_name.



6
7
8
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 6

def display_name
  @display_name
end

#positionObject

Returns the value of attribute position.



6
7
8
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 6

def position
  @position
end

#scientist_idObject

Returns the value of attribute scientist_id.



5
6
7
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 5

def scientist_id
  @scientist_id
end

#space_idObject

Returns the value of attribute space_id.



5
6
7
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 5

def space_id
  @space_id
end

#t0Object

Returns the value of attribute t0.



6
7
8
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 6

def t0
  @t0
end

#velocityObject

Returns the value of attribute velocity.



6
7
8
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 6

def velocity
  @velocity
end

Instance Method Details

#bodyObject



16
17
18
19
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 16

def body
  # ... integrate physicist bodies ...
  @body ||= construct_body
end

#construct_bodyObject



21
22
23
24
25
26
27
28
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 21

def construct_body
  Physicist::Body.new(
    position: position,
    velocity: velocity,
    t0: t0 || Time.now,
    dimensions: [2,2]
  )
end

#currentObject

at(t)



12
13
14
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 12

def current # at(t)
  @body = body.at(Time.now, obstacles: workspace_view.obstacles)
end

#workspace_viewObject



30
31
32
# File 'lib/physicist/laboratory/views/scientist_view.rb', line 30

def workspace_view
  WorkspaceView.find_by(space_id: space_id)
end