diff options
Diffstat (limited to 'platform/darwin/src/MGLShapeCollection.mm')
-rw-r--r-- | platform/darwin/src/MGLShapeCollection.mm | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/platform/darwin/src/MGLShapeCollection.mm b/platform/darwin/src/MGLShapeCollection.mm deleted file mode 100644 index 5a0ef03340..0000000000 --- a/platform/darwin/src/MGLShapeCollection.mm +++ /dev/null @@ -1,80 +0,0 @@ -#import "MGLShapeCollection.h" - -#import "MGLShape_Private.h" -#import "MGLFeature.h" -#import "MGLLoggingConfiguration_Private.h" - -#import <mbgl/style/conversion/geojson.hpp> - -@implementation MGLShapeCollection - -+ (instancetype)shapeCollectionWithShapes:(NSArray<MGLShape *> *)shapes { - return [[self alloc] initWithShapes:shapes]; -} - -- (instancetype)initWithShapes:(NSArray<MGLShape *> *)shapes { - MGLLogDebug(@"Initializing with %lu shapes.", (unsigned long)shapes.count); - if (self = [super init]) { - _shapes = shapes.copy; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)decoder { - MGLLogInfo(@"Initializing with coder."); - if (self = [super initWithCoder:decoder]) { - _shapes = [decoder decodeObjectOfClass:[NSArray class] forKey:@"shapes"]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)coder { - [super encodeWithCoder:coder]; - [coder encodeObject:_shapes forKey:@"shapes"]; -} - -- (BOOL)isEqual:(id)other { - if (self == other) return YES; - if (![other isKindOfClass:[MGLShapeCollection class]]) return NO; - - MGLShapeCollection *otherShapeCollection = other; - return [super isEqual:otherShapeCollection] - && [_shapes isEqualToArray:otherShapeCollection.shapes]; -} - -- (NSUInteger)hash { - NSUInteger hash = [super hash]; - for (MGLShape *shape in _shapes) { - hash += [shape hash]; - } - return hash; -} - -- (CLLocationCoordinate2D)coordinate { - return _shapes.firstObject.coordinate; -} - -- (NSDictionary *)geoJSONDictionary { - return @{@"type": @"GeometryCollection", - @"geometries": [self geometryCollection]}; -} - -- (NSArray *)geometryCollection { - NSMutableArray *geometries = [[NSMutableArray alloc] initWithCapacity:self.shapes.count]; - for (id shape in self.shapes) { - NSDictionary *geometry = [shape geoJSONDictionary]; - [geometries addObject:geometry]; - } - return [geometries copy]; -} - -- (mbgl::Geometry<double>)geometryObject { - mapbox::geojson::geometry_collection collection; - collection.reserve(self.shapes.count); - for (MGLShape *shape in self.shapes) { - collection.push_back([shape geometryObject]); - } - return collection; -} - -@end |