class Vec
Attributes
x[RW]
y[RW]
z[RW]
Public Class Methods
new(x, y, z)
click to toggle source
include Inline
# File typeprof-0.15.2/testbed/ao.rb, line 15 def initialize(x, y, z) @x = x @y = y @z = z end
Public Instance Methods
vadd(b)
click to toggle source
# File typeprof-0.15.2/testbed/ao.rb, line 23 def vadd(b) Vec.new(@x + b.x, @y + b.y, @z + b.z) end
vcross(b)
click to toggle source
make_inline_method :vsub
# File typeprof-0.15.2/testbed/ao.rb, line 32 def vcross(b) Vec.new(@y * b.z - @z * b.y, @z * b.x - @x * b.z, @x * b.y - @y * b.x) end
vdot(b)
click to toggle source
make_inline_method :vcross
# File typeprof-0.15.2/testbed/ao.rb, line 39 def vdot(b) r = @x * b.x + @y * b.y + @z * b.z r end
vlength()
click to toggle source
make_inline_method :vdot
# File typeprof-0.15.2/testbed/ao.rb, line 45 def vlength Math.sqrt(@x * @x + @y * @y + @z * @z) end
vnormalize()
click to toggle source
make_inline_method :vlength
# File typeprof-0.15.2/testbed/ao.rb, line 50 def vnormalize len = vlength v = Vec.new(@x, @y, @z) if len > 1.0e-17 v.x = v.x / len v.y = v.y / len v.z = v.z / len end v end
vsub(b)
click to toggle source
# File typeprof-0.15.2/testbed/ao.rb, line 27 def vsub(b) Vec.new(@x - b.x, @y - b.y, @z - b.z) end