Class CollisionIndex
Index
Constructors
Properties
Methods
Constructors
constructor
- new CollisionIndex(
transform: IReadonlyTransform,
grid?: GridIndex<FeatureKey>,
ignoredGrid?: GridIndex<FeatureKey>,
): CollisionIndexParameters
- transform: IReadonlyTransform
Optionalgrid: GridIndex<FeatureKey>OptionalignoredGrid: GridIndex<FeatureKey>
Returns CollisionIndex
Properties
grid
gridBottomBoundary
gridBottomBoundary: number
gridRightBoundary
gridRightBoundary: number
ignoredGrid
perspectiveRatioCutoff
perspectiveRatioCutoff: number
pitchFactor
pitchFactor: number
screenBottomBoundary
screenBottomBoundary: number
screenRightBoundary
screenRightBoundary: number
transform
Methods
getPerspectiveRatio
- getPerspectiveRatio(
x: number,
y: number,
unwrappedTileID: UnwrappedTileID,
getElevation?: (x: number, y: number) => number,
): numberParameters
- x: number
- y: number
- unwrappedTileID: UnwrappedTileID
OptionalgetElevation: (x: number, y: number) => number
Returns number
getViewportMatrix
Returns mat4
insertCollisionBox
- insertCollisionBox(
collisionBox: number[],
overlapMode: OverlapMode,
ignorePlacement: boolean,
bucketInstanceId: number,
featureIndex: number,
collisionGroupID: number,
): voidParameters
- collisionBox: number[]
- overlapMode: OverlapMode
- ignorePlacement: boolean
- bucketInstanceId: number
- featureIndex: number
- collisionGroupID: number
Returns void
insertCollisionCircles
- insertCollisionCircles(
collisionCircles: number[],
overlapMode: OverlapMode,
ignorePlacement: boolean,
bucketInstanceId: number,
featureIndex: number,
collisionGroupID: number,
): voidParameters
- collisionCircles: number[]
- overlapMode: OverlapMode
- ignorePlacement: boolean
- bucketInstanceId: number
- featureIndex: number
- collisionGroupID: number
Returns void
isInsideGrid
Parameters
- x1: number
- y1: number
- x2: number
- y2: number
Returns boolean
isOffscreen
Parameters
- x1: number
- y1: number
- x2: number
- y2: number
Returns boolean
placeCollisionBox
- placeCollisionBox(
collisionBox: SingleCollisionBox,
overlapMode: OverlapMode,
textPixelRatio: number,
tileID: OverscaledTileID,
unwrappedTileID: UnwrappedTileID,
pitchWithMap: boolean,
rotateWithMap: boolean,
translation: [number, number],
collisionGroupPredicate?: (key: FeatureKey) => boolean,
getElevation?: (x: number, y: number) => number,
shift?: Point,
simpleProjectionMatrix?: mat4,
): PlacedBoxParameters
- collisionBox: SingleCollisionBox
- overlapMode: OverlapMode
- textPixelRatio: number
- tileID: OverscaledTileID
- unwrappedTileID: UnwrappedTileID
- pitchWithMap: boolean
- rotateWithMap: boolean
- translation: [number, number]
OptionalcollisionGroupPredicate: (key: FeatureKey) => booleanOptionalgetElevation: (x: number, y: number) => numberOptionalshift: PointOptionalsimpleProjectionMatrix: mat4
Returns PlacedBox
placeCollisionCircles
- placeCollisionCircles(
overlapMode: OverlapMode,
symbol: PlacedSymbolStruct,
lineVertexArray: SymbolLineVertexArray,
glyphOffsetArray: GlyphOffsetArray,
fontSize: number,
unwrappedTileID: UnwrappedTileID,
pitchedLabelPlaneMatrix: mat4,
showCollisionCircles: boolean,
pitchWithMap: boolean,
collisionGroupPredicate: (key: FeatureKey) => boolean,
circlePixelDiameter: number,
textPixelPadding: number,
translation: [number, number],
getElevation: (x: number, y: number) => number,
): PlacedCirclesParameters
- overlapMode: OverlapMode
- symbol: PlacedSymbolStruct
- lineVertexArray: SymbolLineVertexArray
- glyphOffsetArray: GlyphOffsetArray
- fontSize: number
- unwrappedTileID: UnwrappedTileID
- pitchedLabelPlaneMatrix: mat4
- showCollisionCircles: boolean
- pitchWithMap: boolean
- collisionGroupPredicate: (key: FeatureKey) => boolean
- circlePixelDiameter: number
- textPixelPadding: number
- translation: [number, number]
- getElevation: (x: number, y: number) => number
Returns PlacedCircles
projectAndGetPerspectiveRatio
- projectAndGetPerspectiveRatio(
x: number,
y: number,
unwrappedTileID: UnwrappedTileID,
getElevation?: (x: number, y: number) => number,
simpleProjectionMatrix?: mat4,
): {
isOccluded: boolean;
perspectiveRatio: number;
signedDistanceFromCamera: any;
x: number;
y: number;
}Parameters
- x: number
- y: number
- unwrappedTileID: UnwrappedTileID
OptionalgetElevation: (x: number, y: number) => numberOptionalsimpleProjectionMatrix: mat4
Returns {
isOccluded: boolean;
perspectiveRatio: number;
signedDistanceFromCamera: any;
x: number;
y: number;
}
projectPathToScreenSpace
- projectPathToScreenSpace(
projectedPath: Point[],
projectionContext: SymbolProjectionContext,
): PointProjection[]Parameters
- projectedPath: Point[]
- projectionContext: SymbolProjectionContext
Returns PointProjection[]
queryRenderedSymbols
Parameters
- viewportQueryGeometry: Point[]
Returns {}
Because the geometries in the CollisionIndex are an approximation of the shape of symbols on the map, we use the CollisionIndex to look up the symbol part of
queryRenderedFeatures.