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 {}
Was this helpful?
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.