MaplySamplingParams

Objective-C

@interface MaplySamplingParams : NSObject

Swift

class MaplySamplingParams : NSObject

Sampling parameters.

These are used to describe how we want to break down the globe or flat projection onto the globe.

  • The coordinate system we’ll be sampling from.

    Declaration

    Objective-C

    @property (nonatomic, strong, nonnull) MaplyCoordinateSystem *coordSys;

    Swift

    var coordSys: MaplyCoordinateSystem { get set }
  • Min zoom level for sampling

    Declaration

    Objective-C

    @property (nonatomic) int minZoom;

    Swift

    var minZoom: Int32 { get set }
  • Max zoom level for sampling

    Declaration

    Objective-C

    @property (nonatomic) int maxZoom;

    Swift

    var maxZoom: Int32 { get set }
  • We may want to calculate zoom levels beyond what we actually load. Useful for zoom scaled features and enable/disable based on zoome

    Declaration

    Objective-C

    @property (nonatomic) int reportedMaxZoom;

    Swift

    var reportedMaxZoom: Int32 { get set }
  • Maximum number of tiles to load

    Declaration

    Objective-C

    @property (nonatomic) int maxTiles;

    Swift

    var maxTiles: Int32 { get set }
  • Cutoff for loading tiles. This is size in screen space (pixels^2)

    Declaration

    Objective-C

    @property (nonatomic) double minImportance;

    Swift

    var minImportance: Double { get set }
  • Normally we always load the lowest level If this is set we only load those lowest level tiles that pass this test

    Declaration

    Objective-C

    @property (nonatomic) double minImportanceTop;

    Swift

    var minImportanceTop: Double { get set }
  • Generate geometry to cover the north and south poles Only works for world-wide projections

    Declaration

    Objective-C

    @property (nonatomic) _Bool coverPoles;

    Swift

    var coverPoles: Bool { get set }
  • If set, generate skirt geometry to hide the edges between levels

    Declaration

    Objective-C

    @property (nonatomic) _Bool edgeMatching;

    Swift

    var edgeMatching: Bool { get set }
  • Tesselation values per level for breaking down the coordinate system (e.g. globe)

    Declaration

    Objective-C

    @property (nonatomic) int tessX;

    Swift

    var tessX: Int32 { get set }
  • Tesselation values per level for breaking down the coordinate system (e.g. globe)

    Declaration

    Objective-C

    @property (nonatomic) int tessY;

    Swift

    var tessY: Int32 { get set }
  • If set, we’ll always load the lowest level first and then whatever the target level is Turn this off to get true single level loading

    Declaration

    Objective-C

    @property (nonatomic) _Bool forceMinLevel;

    Swift

    var forceMinLevel: Bool { get set }
  • If set, we’ll turn on forceMinLevel and only use it when the viewer is above this height

    Declaration

    Objective-C

    @property (nonatomic) double forceMinLevelHeight;

    Swift

    var forceMinLevelHeight: Double { get set }
  • If set, we’ll try to load a single level

    Declaration

    Objective-C

    @property (nonatomic) _Bool singleLevel;

    Swift

    var singleLevel: Bool { get set }
  • If set, the tiles are clipped to this boundary

    Declaration

    Objective-C

    @property (nonatomic) MaplyBoundingBoxD clipBounds;

    Swift

    var clipBounds: MaplyBoundingBoxD { get set }
  • Undocumented

    Declaration

    Objective-C

    @property (nonatomic, readonly) bool hasClipBounds

    Swift

    var hasClipBounds: Bool { get }
  • Detail the levels you want loaded in target level mode.

    The layer calculates the optimal target level. The entries in this array are relative to that level or absolute. For example [0,-4,-2] means the layer will always try to load levels 0, targetLevel-4 and targetLevel-2, but only the latter two if they make sense.

    Declaration

    Objective-C

    @property (nonatomic, strong, nullable) NSArray *levelLoads;

    Swift

    var levelLoads: [Any]? { get set }
  • Set the min importance for just one level.

    This is useful if you want your lower levels loaded more aggressively.

    Declaration

    Objective-C

    - (void)setMinImportance:(double)minImportance forLevel:(int)level;

    Swift

    func setMinImportance(_ minImportance: Double, forLevel level: Int32)
  • Decide if these sampling params are the same as others

    Declaration

    Objective-C

    - (_Bool)isEqualTo:(MaplySamplingParams *_Nonnull)other;

    Swift

    func isEqual(to other: MaplySamplingParams) -> Bool