class NSWTopo::GeoJSON::MultiPoint

Public Instance Methods

clip(hull) click to toggle source
# File lib/nswtopo/gis/geojson/multi_point.rb, line 4
def clip(hull)
  points = [hull, hull.perps].transpose.inject(@coordinates) do |result, (vertex, perp)|
    result.select { |point| point.minus(vertex).dot(perp) >= 0 }
  end
  points.none? ? nil : points.one? ? Point.new(*points, @properties) : MultiPoint.new(points, @properties)
end