class Microstation::Point3d

Attributes

x[R]
y[R]
z[R]

Public Class Methods

cartesian_to_polar(x,y) click to toggle source
# File lib/microstation/point3d.rb, line 13
def cartesian_to_polar(x,y)
  r = Math.sqrt(x*x + y*y)
  angle = Angle.radians(Math.atan2(y,x))
  [r,angle]
end
from_ole(ole) click to toggle source
# File lib/microstation/point3d.rb, line 23
def from_ole(ole)
  new(ole.X, ole.Y, ole.Z)
end
from_polar_degrees(r,a) click to toggle source
# File lib/microstation/point3d.rb, line 19
def from_polar_degrees(r,a)
  
end
new(x=0,y=0,z=0) click to toggle source
# File lib/microstation/point3d.rb, line 35
def initialize(x=0,y=0,z=0)
  @x = x
  @y = y
  @z = z
end
ole_point3d?(ole) click to toggle source
# File lib/microstation/point3d.rb, line 9
def ole_point3d?(ole)
  ole.class == WIN32OLE_RECORD && ole.typename == 'Point3d'
end
polar_to_cartesian(r,a) click to toggle source
# File lib/microstation/point3d.rb, line 27
def polar_to_cartesian(r,a)

end

Public Instance Methods

+(pt) click to toggle source
# File lib/microstation/point3d.rb, line 42
def +(pt)
  case pt
  when Point3d
    self.class.new(self.x + pt.x, self.y + pt.y, self.z + pt.z)
  when Array
    self.class.new(self.x + pt[0], self.y + pt[1])
  end
end
-(pt) click to toggle source
# File lib/microstation/point3d.rb, line 51
def -(pt)
  case pt
  when Point3d
    self.class.new(self.x - pt.x, self.y - pt.y, self.z - pt.z)
  when Array
    self.class.new(self.x - pt[0], self.y - pt[1])
  end
end
to_cartesian() click to toggle source
# File lib/microstation/point3d.rb, line 64
def to_cartesian

end
zero() click to toggle source
# File lib/microstation/point3d.rb, line 60
def zero
  new(0.0,0.0,0,0)
end