class Zadt::Universe
Attributes
objects[R]
points[R]
Public Class Methods
distance(pointa, pointb)
click to toggle source
# File lib/zadt/AbstractDataTypes/Geometrics/universe.rb, line 14 def self.distance(pointa, pointb) raise "different dimensions" if pointa.dims != pointb.dims coordinate_distances = Array.new pointa.dims.times {|coord| coordinate_distances[coord] = pointa.coords[coord] - pointb.coords[coord]} sum_of_squares = coordinate_distances.inject(0) {|sum, coord| sum += coord ** 2} return Math.sqrt(sum_of_squares) end
help()
click to toggle source
# File lib/zadt/HelpModules/Functionality/Geometrics/universe.rb, line 3 def self.help Universe.show_help_message end
new(num_dim = nil)
click to toggle source
# File lib/zadt/AbstractDataTypes/Geometrics/universe.rb, line 8 def initialize(num_dim = nil) @num_dim = num_dim @points = [] @objects = [] end
Private Class Methods
show_help_message()
click to toggle source
# File lib/zadt/HelpModules/Functionality/Geometrics/universe.rb, line 13 def self.show_help_message Zadt::ADT::show_universe_help_message end
Public Instance Methods
add_point(coords)
click to toggle source
# File lib/zadt/AbstractDataTypes/Geometrics/universe.rb, line 22 def add_point(coords) point = Point.new(coords) dim_check(point) @points << point point end
add_sphere(radius, center)
click to toggle source
# File lib/zadt/AbstractDataTypes/Geometrics/universe.rb, line 29 def add_sphere(radius, center) sphere = Sphere.new(radius, center) dim_check(sphere.center) @objects << sphere sphere end
help()
click to toggle source
# File lib/zadt/HelpModules/Functionality/Geometrics/universe.rb, line 7 def help Universe.help end
Private Instance Methods
dim_check(point)
click to toggle source
# File lib/zadt/AbstractDataTypes/Geometrics/universe.rb, line 38 def dim_check(point) return if !@num_dim raise "Wrong number of dimensions" if point.dims != @num_dim end