Class: Symbol
Overview
:nodoc:
Instance Method Summary collapse
-
#*(number) ⇒ Object
Multiplication defined for vectors carries over to their symbolic equivalence.
-
#+(number) ⇒ Object
Addition for vectors.
-
#-(number) ⇒ Object
Subtraction for numbers.
-
#to_v ⇒ Object
Vectors in symbol form can be any of the following: :x => v(1,0,0) :y => v(0,1,0) :z => v(0,0,1), :up => v(0,1,0) :down => v(0,-1,0) :left => v(-1,0,0) :right => v(1,0,0) :forward => v(0,0,1) :backward => v(0,0,-1) :zero => v(0,0,0).
Instance Method Details
#*(number) ⇒ Object
Multiplication defined for vectors carries over to their symbolic equivalence.
36 37 38 |
# File 'lib/shattered_ogrerb/vector.rb', line 36 def *(number) return to_v * number end |
#+(number) ⇒ Object
Addition for vectors
41 42 43 |
# File 'lib/shattered_ogrerb/vector.rb', line 41 def +(number) return to_v + number end |
#-(number) ⇒ Object
Subtraction for numbers
46 47 48 |
# File 'lib/shattered_ogrerb/vector.rb', line 46 def -(number) return to_v - number end |
#to_v ⇒ Object
Vectors in symbol form can be any of the following:
:x => v(1,0,0)
:y => v(0,1,0)
:z => v(0,0,1),
:up => v(0,1,0)
:down => v(0,-1,0)
:left => v(-1,0,0)
:right => v(1,0,0)
:forward => v(0,0,1)
:backward => v(0,0,-1)
:zero => v(0,0,0)
25 26 27 28 29 30 31 32 33 |
# File 'lib/shattered_ogrerb/vector.rb', line 25 def to_v @definitions ||= {:x => v(1,0,0),:y => v(0,1,0),:z => v(0,0,1), :up => v(0,1,0),:down => v(0,-1,0), :left => v(-1,0,0),:right => v(1,0,0), :forward => v(0,0,1),:backward => v(0,0,-1), :zero => v(0,0,0)} return @definitions[self] unless @definitions[self].nil? raise SymbolToVectorError, "Undefined vector for symbol #{self}" end |