7#ifndef CartoTypeBase_h__
8#define CartoTypeBase_h__
10#import <Foundation/Foundation.h>
11#import <CoreGraphics/CGImage.h>
12#import <CoreGraphics/CGGeometry.h>
13#import <UIKit/UIImage.h>
14#import <CartoType/CartoTypeResultCode.h>
27 CtFontStyleItalic = 2,
31 CtFontStyleCursive = 8,
33 CtFontStyleFantasy = 16,
35 CtFontStyleMonospace = 32
44 CtStringMatchPrefixFlag = 1,
46 CtStringMatchIgnoreSymbolsFlag = 2,
48 CtStringMatchFoldAccentsFlag = 4,
50 CtStringMatchFuzzyFlag = 8,
52 CtStringMatchFoldCaseFlag = 16,
54 CtStringMatchIgnoreWhitespaceFlag = 32,
57 CtStringMatchExact = 0,
59 CtStringMatchFoldCase = CtStringMatchFoldCaseFlag,
61 CtStringMatchPrefix = CtStringMatchPrefixFlag,
63 CtStringMatchIgnoreNonAlphanumerics = CtStringMatchIgnoreSymbolsFlag | CtStringMatchIgnoreWhitespaceFlag,
65 CtStringMatchLoose = CtStringMatchIgnoreNonAlphanumerics | CtStringMatchFoldAccentsFlag | CtStringMatchFoldCaseFlag,
67 CtStringMatchFuzzy = CtStringMatchIgnoreNonAlphanumerics | CtStringMatchFoldAccentsFlag | CtStringMatchFuzzyFlag | CtStringMatchFoldCaseFlag
101 CtMapObjectTypePoint,
107 CtMapObjectTypePolygon,
110 CtMapObjectTypeArray,
113 CtMapObjectTypeCount,
116 CtMapObjectTypeNone = -1
125 CtPointTypeOnCurve = 0,
127 CtPointTypeQuadratic = 1,
270 CtCoordTypeScreen = CtCoordTypeDisplay,
341 -(id)initWithBlendStyle:(
void*)aBlendStyle;
353 @property (nonatomic, strong) NSString*
feature;
355 @property (nonatomic, strong) NSString*
street;
361 @property (nonatomic, strong) NSString*
island;
367 @property (nonatomic, strong) NSString*
country;
375 -(NSString*)ToString:(
bool) aFull;
381@protocol CtPath <NSObject>
385 -(int)pointCount:(
int)aContourIndex;
387 -(
CtPathPoint)point:(
int)aContourIndex pointIndex:(
int)aPointIndex;
391@protocol CartoTypePath <CtPath>
399 @property (nonatomic, strong) NSString*
key;
401 @property (nonatomic, strong) NSString*
value;
405 @property (nonatomic)
size_t end;
411#define MakeFeatureTypeCode(A,B,C) ((((A)-'a'+1) << 10) | (((B)-'a'+1) << 5) | ((C)-'a'+1))
422 CtFeatureTypeMotorway = 0,
423 CtFeatureTypeMotorwayLink = 1,
424 CtFeatureTypeTrunkRoad = 2,
425 CtFeatureTypeTrunkLink = 3,
426 CtFeatureTypePrimaryRoad = 4,
427 CtFeatureTypePrimaryLink = 5,
428 CtFeatureTypeSecondaryRoad = 6,
429 CtFeatureTypeSecondaryLink = 7,
430 CtFeatureTypeTertiaryRoad = 8,
431 CtFeatureTypeUnclassifiedRoad = 9,
432 CtFeatureTypeResidentialRoad = 10,
433 CtFeatureTypeTrack = 11,
434 CtFeatureTypeServiceRoad = 12,
435 CtFeatureTypePedestrianRoad = 13,
436 CtFeatureTypeVehicularFerry = 14,
437 CtFeatureTypePassengerFerry = 15,
438 CtFeatureTypeLivingStreet = 16,
439 CtFeatureTypeCycleway = 17,
440 CtFeatureTypePath = 18,
441 CtFeatureTypeFootway = 19,
442 CtFeatureTypeBridleway = 20,
443 CtFeatureTypeSteps = 21,
444 CtFeatureTypeOtherRoad = 22,
445 CtFeatureTypeUnpavedRoad = 23,
446 CtFeatureTypeRailway = 24,
447 CtFeatureTypeLightRail = 25,
448 CtFeatureTypeSubway = 26,
449 CtFeatureTypeAerialWay = 27,
450 CtFeatureTypeSkiDownhill = 28,
451 CtFeatureTypeSkiNordic = 29,
452 CtFeatureTypeWaterway = 30,
453 CtFeatureTypeUnknownRoute = 31,
455 CtFeatureTypeUnknownNonRoute = 32,
756 CtFeatureTypeInvalid = INT16_MAX
762typedef NS_ENUM(NSUInteger,CtFeatureDiscriminator)
765 CtFeatureDiscriminatorNonRoute = 0,
767 CtFeatureDiscriminatorBridgeRoute = 1,
769 CtFeatureDiscriminatorTunnelRoute = 2,
771 CtFeatureDiscriminatorRoute = 3
797 -(id)initWithType:(CtFeatureType)aFeatureType;
803 -(id)initWithTypeAndSubType:(CtFeatureType)aFeatureType subType:(
int)aSubType;
808 -(id)initWithSubType:(
int)aSubType;
820 @property (nonatomic) CtFeatureType
type;
836 @property (nonatomic)
bool toll;
844 -(void)setVehicleAccess:(
bool)aValue;
860 -(id)initWithRawValue:(uint32_t)aValue;
868static const uint32_t CtFeatureInfoRouteTypeCount = 32;
870static const uint32_t CtFeatureInfoGradientCount = 8;
872static const uint32_t CtFeatureInfoMaxSubType = 2047;
901 -(id)initWithMapObject:(
void*)aMapObject;
905 @property (nonatomic) CtMapObjectType
type;
909 @property (nonatomic) NSString*
label;
911 -(NSString*)stringAttribute:(NSString*)aAttribName;
948 -(
CtMatch*)match:(NSString*)aText matchMethod:(CtStringMatch)aMethod attributes:(NSString*)aAttributes phrase:(
bool)aPhrase;
954 -(int)pointCount:(
int)aContourIndex;
956 -(
CtPathPoint)point:(
int)aContourIndex pointIndex:(
int)aPointIndex;
958 @property (nonatomic)
double area;
971 -(id)initWithMapObjectGroup:(
void*)aMapObjectGroup;
973 @property (nonatomic, strong) NSString*
name;
981typedef NS_ENUM(NSInteger,CtPathIntersectionType)
984 CtPathIntersectionTypeUnknown,
986 CtPathIntersectionTypeSeparate,
988 CtPathIntersectionTypeIntersects,
990 CtPathIntersectionTypeContains,
992 CtPathIntersectionTypeContained
1000 @property (nonatomic) CtPathIntersectionType
type;
1027 CtClipOperationIntersection,
1029 CtClipOperationUnion,
1031 CtClipOperationDifference,
1041 -(id)initWithCoordType:(CtCoordType)aCoordType;
1045 -(id)initWithGeometryContour:(
CtGeometry*)aGeometry contourIndex:(
int)aContourIndex;
1047 -(id)initWithRect:(
CtRect)aRect coordType:(CtCoordType)aCoordType;
1053 -(void)appendX:(
double)aX andY:(
double)aY;
1055 -(void)appendX:(
double)aX andY:(
double)aY andPointType:(CtPointType)aPointType;
1061 -(bool)contourIsOuter:(
int)aContourIndex;
1063 -(int)pointCount:(
int)aContourIndex;
1071 -(void)setClosed:(
bool)aClosed;
1075 -(
CtResult)convertLinesToGreatCircles:(
double)aMaxDistanceInMeters;
1124 -(id)initWithGeometry:(
void*)aGeometry;
1136 -(id)initWithFeatureType:(CtFeatureType)aFeatureType text:(NSString*)aText location:(
CtGeometry*)aLocation;
1145 @property (nonatomic, strong) NSString*
layers;
1155 @property (nonatomic, strong) NSString*
text;
1178 CtWritableMapTypeMemory,
1180 CtWritableMapTypeSQLite
1189 CtNoticeAnchorTopLeft,
1191 CtNoticeAnchorTopRight,
1193 CtNoticeAnchorBottomLeft,
1195 CtNoticeAnchorBottomRight,
1199 CtNoticeAnchorRight,
1203 CtNoticeAnchorBottom,
1205 CtNoticeAnchorCenter
1222 -(id)init:(CtNoticeAnchor)aAnchor;
1224 -(id)init:(CtNoticeAnchor)aAnchor width:(
double)aWidth widthUnit:(NSString*)aWidthUnit xInset:(
double)aXInset xUnit:(NSString*)aXUnit yInset:(
double)aYInset yUnit:(NSString*)aYUnit;
1234 -(id)init:(UIImage*)aImage topLeft:(CGPoint)aTopLeft;
1238 @property (nonatomic, strong) UIImage*
image;
1365 CtPointFormatUnknown = 0,
1368 CtPointFormatMeter = 2,
1376 CtPointFormatScaledDegree = 7,
1382 CtPointFormatMeter32nds = 8
1406 @property (nonatomic) NSMutableArray<NSString*>*
layers;
1427 -(id)initWithMetaData:(
void*)aMetaData;
1441 -(id)initWithType:(CtMapObjectType)aType andLayer:(NSString*)aLayer andCoordType:(CtCoordType)aCoordType;
1445 -(void)appendX:(
double)aX andY:(
double)aY;
1447 -(void)appendX:(
double)aX andY:(
double)aY andPointType:(CtPointType)aPointType;
1456 @property (nonatomic, strong) NSString*
layer;
1496 -(void)addTileSet:(NSString*)aFileNameTemplate tileRange:(
CtRect)aTileRange fileZoom:(
int)aFileZoom minDisplayZoom:(
int)aMinDisplayZoom maxDisplayZoom:(
int)aMaxDisplayZoom;
CtMapTableId const CtMapTableIdPalette
Definition CartoTypeBase.h:1333
CtColor CartoTypeColor
Definition CartoTypeBase.h:282
CtRouteAccess const CtRouteAccessMask
Definition CartoTypeBase.h:880
#define MakeFeatureTypeCode(A, B, C)
Definition CartoTypeBase.h:411
CtFileType CartoTypeFileType
Definition CartoTypeBase.h:95
CtWritableMapType CartoTypeWritableMapType
Definition CartoTypeBase.h:1183
CtPathPoint CartoTypePathPoint
Definition CartoTypeBase.h:162
CtRectAndResult CartoTypeRectAndResult
Definition CartoTypeBase.h:223
CtRouteAccess const CtRouteAccessOtherFlag
Definition CartoTypeBase.h:892
CtCoordType CartoTypeCoordType
Definition CartoTypeBase.h:277
CtMapTableId const CtMapTableIdRouteExtra
Definition CartoTypeBase.h:1341
CtColor const CtColorDarkCyan
Definition CartoTypeBase.h:299
CtMapTableId const CtMapTableIdTextIndex
Definition CartoTypeBase.h:1335
CtRect CartoTypeRect
Definition CartoTypeBase.h:201
CtColor const CtColorDarkRed
Definition CartoTypeBase.h:289
CtRouteAccess const CtRouteAccessShift
Definition CartoTypeBase.h:878
CtColor const CtColorRed
Definition CartoTypeBase.h:301
CtFeatureDiscriminator CartoTypeFeatureDiscriminator
Definition CartoTypeBase.h:774
CtPathPointFP CartoTypePathPointFP
Definition CartoTypeBase.h:175
CtMapTableId const CtMapTableIdLowResolutionLayer
Definition CartoTypeBase.h:1331
CtStringMatch CartoTypeStringMatch
Definition CartoTypeBase.h:70
CtRouteAccess const CtRouteAccessVehicle
Definition CartoTypeBase.h:894
CtMapTableId const CtMapTableIdRouteCHTiled
Definition CartoTypeBase.h:1349
CtPointFormat CartoTypePointFormat
Definition CartoTypeBase.h:1385
CtAreaLengthAndResult CartoTypeAreaLengthAndResult
Definition CartoTypeBase.h:260
uint32_t CtColor NS_TYPED_ENUM
Definition CartoTypeBase.h:280
CtIdAndResult CartoTypeIdAndResult
Definition CartoTypeBase.h:247
typedef NS_OPTIONS(NSUInteger, CtFontStyle)
Definition CartoTypeBase.h:22
CtColor const CtColorDarkGray
Definition CartoTypeBase.h:287
CtColor const CtColorMagenta
Definition CartoTypeBase.h:309
CtColor const CtColorBlack
Definition CartoTypeBase.h:285
CtClipOperation CartoTypeClipOperation
Definition CartoTypeBase.h:1036
CtRouteAccess const CtRouteAccessPedestrianFlag
Definition CartoTypeBase.h:884
CtColor const CtColorGray
Definition CartoTypeBase.h:313
CtColor const CtColorTransparentBlack
Definition CartoTypeBase.h:317
CtColor const CtColorDarkYellow
Definition CartoTypeBase.h:293
CtMapTableId const CtMapTableIdRouteTECH
Definition CartoTypeBase.h:1347
CtMapTableId const CtMapTableIdRouteTurnExpandedCompact
Definition CartoTypeBase.h:1353
CtMapObjectType CartoTypeMapObjectType
Definition CartoTypeBase.h:119
CtAlign CartoTypeAlign
Definition CartoTypeBase.h:149
CtPoint CartoTypePoint
Definition CartoTypeBase.h:186
CtColor const CtColorDarkBlue
Definition CartoTypeBase.h:295
CtLetterCase CartoTypeLetterCase
Definition CartoTypeBase.h:1317
CtColor const CtColorGreen
Definition CartoTypeBase.h:303
CtColor const CtColorYellow
Definition CartoTypeBase.h:305
CtPointType CartoTypePointType
Definition CartoTypeBase.h:132
CtColor const CtColorWhite
Definition CartoTypeBase.h:315
CtMapTableId const CtMapTableIdLayer
Definition CartoTypeBase.h:1325
CtPathIntersectionType CartoTypePathIntersectionType
Definition CartoTypeBase.h:995
CtColor const CtColorCyan
Definition CartoTypeBase.h:311
CtRouteAccess const CtRouteAccessNormal
Definition CartoTypeBase.h:896
CtFontStyle CartoTypeFontStyle
Definition CartoTypeBase.h:38
CtFeatureType CartoTypeFeatureType
Definition CartoTypeBase.h:759
CtRouteAccess const CtRouteAccessCycleFlag
Definition CartoTypeBase.h:886
CtMapTableId const CtMapTableIdGlobal
Definition CartoTypeBase.h:1323
CtMapTableId const CtMapTableIdRouteCH
Definition CartoTypeBase.h:1339
CtMapTableId const CtMapTableIdNone
Definition CartoTypeBase.h:1355
CtRouteAccess const CtRouteAccessMotorVehicleFlag
Definition CartoTypeBase.h:888
CtRouteAccess const CtRouteAccessWrongWayFlag
Definition CartoTypeBase.h:882
CtMapTableId const CtMapTableIdString
Definition CartoTypeBase.h:1329
CtMapTableId const CtMapTableIdRouteAStar
Definition CartoTypeBase.h:1337
CtMapTableId const CtMapTableIdRouteTurnExpanded
Definition CartoTypeBase.h:1343
CtMapTableId const CtMapTableIdProjection
Definition CartoTypeBase.h:1327
typedef NS_ENUM(NSInteger, CtFileType)
Definition CartoTypeBase.h:73
CtRouteAccess const CtRouteAccessEmergencyVehicleFlag
Definition CartoTypeBase.h:890
CtColor const CtColorDarkGreen
Definition CartoTypeBase.h:291
CtColor const CtColorDarkMagenta
Definition CartoTypeBase.h:297
CtColor const CtColorBlue
Definition CartoTypeBase.h:307
CtMapTableId const CtMapTableIdRouteCHStandAlone
Definition CartoTypeBase.h:1345
CtMapTableId const CtMapTableIdRouteTECHTiled
Definition CartoTypeBase.h:1351
CtNoticeAnchor CartoTypeNoticeAnchor
Definition CartoTypeBase.h:1208
CtPointAndResult CartoTypePointAndResult
Definition CartoTypeBase.h:212
uint32_t CtResult
Definition CartoTypeResultCode.h:363
Definition CartoTypeBase.h:350
NSString * feature
Definition CartoTypeBase.h:353
NSString * country
Definition CartoTypeBase.h:367
NSString * island
Definition CartoTypeBase.h:361
NSString * building
Definition CartoTypeBase.h:351
NSString * postCode
Definition CartoTypeBase.h:369
NSString * street
Definition CartoTypeBase.h:355
NSString * adminArea
Definition CartoTypeBase.h:365
NSString * locality
Definition CartoTypeBase.h:359
NSString * subLocality
Definition CartoTypeBase.h:357
NSString * subAdminArea
Definition CartoTypeBase.h:363
Definition CartoTypeBase.h:324
CtColor textColor
Definition CartoTypeBase.h:334
const void * blendStyle()
CtColor iconColor
Definition CartoTypeBase.h:338
NSString * styles
Definition CartoTypeBase.h:328
CtColor textGlowColor
Definition CartoTypeBase.h:336
CtColor borderColor
Definition CartoTypeBase.h:332
CtColor mainColor
Definition CartoTypeBase.h:330
Definition CartoTypeBase.h:794
bool driveOnLeft
Definition CartoTypeBase.h:828
bool toll
Definition CartoTypeBase.h:836
bool oneWay
Definition CartoTypeBase.h:822
int level
Definition CartoTypeBase.h:818
bool cycleAccess
Definition CartoTypeBase.h:848
bool oneWayBackward
Definition CartoTypeBase.h:826
bool tunnel
Definition CartoTypeBase.h:814
bool wrongWay
Definition CartoTypeBase.h:838
bool pedestrianAccess
Definition CartoTypeBase.h:846
bool roundabout
Definition CartoTypeBase.h:834
int subType
Definition CartoTypeBase.h:858
bool driveOnRight
Definition CartoTypeBase.h:830
bool bridge
Definition CartoTypeBase.h:816
bool route
Definition CartoTypeBase.h:812
bool isPrivate
Definition CartoTypeBase.h:856
CtFeatureType type
Definition CartoTypeBase.h:820
void reverseOneWayDirection()
bool emergencyVehicleAccess
Definition CartoTypeBase.h:852
int speedLimit
Definition CartoTypeBase.h:840
int gradient
Definition CartoTypeBase.h:842
bool otherAccessRestricted
Definition CartoTypeBase.h:854
CtFeatureDiscriminator discriminator
Definition CartoTypeBase.h:810
bool motorVehicleAccess
Definition CartoTypeBase.h:850
bool oneWayForward
Definition CartoTypeBase.h:824
Definition CartoTypeBase.h:1133
NSString * layers
Definition CartoTypeBase.h:1145
int maxObjectCount
Definition CartoTypeBase.h:1139
CtGeometry * clip
Definition CartoTypeBase.h:1141
double timeOut
Definition CartoTypeBase.h:1169
bool merge
Definition CartoTypeBase.h:1164
NSString * text
Definition CartoTypeBase.h:1155
NSString * attributes
Definition CartoTypeBase.h:1150
CtGeometry * location
Definition CartoTypeBase.h:1143
NSString * condition
Definition CartoTypeBase.h:1162
CtStringMatch stringMatchMethod
Definition CartoTypeBase.h:1157
Definition CartoTypeBase.h:230
CtResult result
Definition CartoTypeBase.h:233
CtGeometry * geometry
Definition CartoTypeBase.h:231
Definition CartoTypeBase.h:1040
Definition CartoTypeBase.h:970
NSMutableArray * objectArray
Definition CartoTypeBase.h:975
NSString * name
Definition CartoTypeBase.h:973
Definition CartoTypeBase.h:899
CtRectAndResult boundsInDegrees
Definition CartoTypeBase.h:936
CtFeatureInfo * featureInfo
Definition CartoTypeBase.h:915
double area
Definition CartoTypeBase.h:958
double lengthOrPerimeter
Definition CartoTypeBase.h:960
CtPointAndResult centerInDegrees
Definition CartoTypeBase.h:933
NSString * layerName
Definition CartoTypeBase.h:907
NSString * label
Definition CartoTypeBase.h:909
CtPoint center
Definition CartoTypeBase.h:921
CtGeometryAndResult * geometryInDegrees
Definition CartoTypeBase.h:939
NSMutableDictionary * stringAttributes()
CtRect bounds
Definition CartoTypeBase.h:924
uint64_t objectId
Definition CartoTypeBase.h:950
CtMapObjectType type
Definition CartoTypeBase.h:905
Definition CartoTypeBase.h:1440
uint64_t objectId
Definition CartoTypeBase.h:1472
NSString * layer
Definition CartoTypeBase.h:1456
double radiusX
Definition CartoTypeBase.h:1460
double radius
Definition CartoTypeBase.h:1458
double radiusY
Definition CartoTypeBase.h:1462
CtFeatureInfo * featureInfo
Definition CartoTypeBase.h:1468
uint32_t mapHandle
Definition CartoTypeBase.h:1454
bool replace
Definition CartoTypeBase.h:1474
double rotationDegrees
Definition CartoTypeBase.h:1466
CtCoordType radiusCoordType
Definition CartoTypeBase.h:1464
NSString * stringAttrib
Definition CartoTypeBase.h:1470
Definition CartoTypeBase.h:396
size_t start
Definition CartoTypeBase.h:403
NSString * key
Definition CartoTypeBase.h:399
NSString * value
Definition CartoTypeBase.h:401
bool found
Definition CartoTypeBase.h:397
size_t end
Definition CartoTypeBase.h:405
Definition CartoTypeBase.h:1221
Definition CartoTypeBase.h:999
CtPoint nearest2
Definition CartoTypeBase.h:1015
CtPoint nearest1
Definition CartoTypeBase.h:1010
double distance
Definition CartoTypeBase.h:1005
CtPathIntersectionType type
Definition CartoTypeBase.h:1000
Definition CartoTypeBase.h:1247
bool autoPosition
Definition CartoTypeBase.h:1254
double heightMeters
Definition CartoTypeBase.h:1256
double fieldOfViewDegrees
Definition CartoTypeBase.h:1266
double rotationDegrees
Definition CartoTypeBase.h:1264
void * getPerspectiveParam()
bool autoAzimuth
Definition CartoTypeBase.h:1260
double declinationDegrees
Definition CartoTypeBase.h:1262
double azimuthDegrees
Definition CartoTypeBase.h:1258
CtPoint positionDegrees
Definition CartoTypeBase.h:1252
Definition CartoTypeBase.h:1233
CGPoint topLeft
Definition CartoTypeBase.h:1240
UIImage * image
Definition CartoTypeBase.h:1238
Definition CartoTypeBase.h:1481
Definition CartoTypeBase.h:1275
bool perspective
Definition CartoTypeBase.h:1290
CtPoint viewCenterDegrees
Definition CartoTypeBase.h:1284
double rotationDegrees
Definition CartoTypeBase.h:1288
CtPerspectiveParam * getPerspectiveParam()
double scaleDenominator
Definition CartoTypeBase.h:1286
int heightInPixels
Definition CartoTypeBase.h:1282
int widthInPixels
Definition CartoTypeBase.h:1280
Definition CartoTypeBase.h:381
Definition CartoTypeBase.h:251
double area
Definition CartoTypeBase.h:253
CtResult result
Definition CartoTypeBase.h:257
double length
Definition CartoTypeBase.h:255
Definition CartoTypeBase.h:240
CtResult result
Definition CartoTypeBase.h:244
uint64_t objectId
Definition CartoTypeBase.h:242
Definition CartoTypeBase.h:166
double y
Definition CartoTypeBase.h:170
double x
Definition CartoTypeBase.h:168
CtPointType type
Definition CartoTypeBase.h:172
Definition CartoTypeBase.h:153
int32_t x
Definition CartoTypeBase.h:155
CtPointType type
Definition CartoTypeBase.h:159
int32_t y
Definition CartoTypeBase.h:157
Definition CartoTypeBase.h:205
CtResult result
Definition CartoTypeBase.h:209
CtPoint point
Definition CartoTypeBase.h:207
Definition CartoTypeBase.h:179
double x
Definition CartoTypeBase.h:181
double y
Definition CartoTypeBase.h:183
Definition CartoTypeBase.h:216
CtResult result
Definition CartoTypeBase.h:220
CtRect rect
Definition CartoTypeBase.h:218
Definition CartoTypeBase.h:190
double maxY
Definition CartoTypeBase.h:198
double minX
Definition CartoTypeBase.h:192
double maxX
Definition CartoTypeBase.h:196
double minY
Definition CartoTypeBase.h:194