Method: Microstation::App#to_point3d

Defined in:
lib/microstation/app.rb

#to_point3d(pt) ⇒ Point3d

convert pt to Point3d

Parameters:

  • pt (Array<Numeric,Numeric,Numeric>, Point3d, WIN32OLE_RECORD)

    Point to convert

Returns:



716
717
718
719
720
721
722
723
724
725
726
727
728
# File 'lib/microstation/app.rb', line 716

def to_point3d(pt)
  case pt
  when Array
    pt_a = pt.map(&:to_f)
    x, y, z = pt_a
    z ||= 0.0
    Point3d.new(x, y, z)
  when Point3d
    pt
  when WIN32OLE_RECORD
    Point3d.from_ole(pt) if pt.typename == "Point3d"
  end
end