fixed dependencies
This commit is contained in:
56
vendor/github.com/paulmach/orb/multi_polygon.go
generated
vendored
Normal file
56
vendor/github.com/paulmach/orb/multi_polygon.go
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
package orb
|
||||
|
||||
// MultiPolygon is a set of polygons.
|
||||
type MultiPolygon []Polygon
|
||||
|
||||
// GeoJSONType returns the GeoJSON type for the object.
|
||||
func (mp MultiPolygon) GeoJSONType() string {
|
||||
return "MultiPolygon"
|
||||
}
|
||||
|
||||
// Dimensions returns 2 because a MultiPolygon is a 2d object.
|
||||
func (mp MultiPolygon) Dimensions() int {
|
||||
return 2
|
||||
}
|
||||
|
||||
// Bound returns a bound around the multi-polygon.
|
||||
func (mp MultiPolygon) Bound() Bound {
|
||||
if len(mp) == 0 {
|
||||
return emptyBound
|
||||
}
|
||||
bound := mp[0].Bound()
|
||||
for i := 1; i < len(mp); i++ {
|
||||
bound = bound.Union(mp[i].Bound())
|
||||
}
|
||||
|
||||
return bound
|
||||
}
|
||||
|
||||
// Equal compares two multi-polygons.
|
||||
func (mp MultiPolygon) Equal(multiPolygon MultiPolygon) bool {
|
||||
if len(mp) != len(multiPolygon) {
|
||||
return false
|
||||
}
|
||||
|
||||
for i, p := range mp {
|
||||
if !p.Equal(multiPolygon[i]) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// Clone returns a new deep copy of the multi-polygon.
|
||||
func (mp MultiPolygon) Clone() MultiPolygon {
|
||||
if mp == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
nmp := make(MultiPolygon, 0, len(mp))
|
||||
for _, p := range mp {
|
||||
nmp = append(nmp, p.Clone())
|
||||
}
|
||||
|
||||
return nmp
|
||||
}
|
||||
Reference in New Issue
Block a user