SnapDetail Class

A SnapDetail is generated from the result of IModelDb.requestSnap call. In addition to the HitDetail about the reason the element was picked, it holds the exact point on the element from the snapping logic, plus additional information that varies with the type of element and snap mode.


Extended by


Name Description
constructor(from: HitDetail, snapMode: SnapMode = SnapMode.Nearest, heat: SnapHeat = SnapHeat.None, snapPoint?: XYZProps): SnapDetail Constructor for SnapDetail.  
clone(): SnapDetail Make a copy of this SnapDetail.  
draw(context: DecorateContext): void    
getCurvePrimitive(singleSegment: boolean = true): CurvePrimitive | undefined    
getHitType(): HitDetailType Returns HitDetailType.Snap  
getPoint(): Point3d Get the snap point if this SnapDetail is hot, the pick point otherwise.  
setCurvePrimitive(primitive?: CurvePrimitive, localToWorld?: Transform, geomType?: HitGeomType): void Set curve primitive and HitGeometryType for this SnapDetail.  
setSnapPoint(point: Point3d, heat: SnapHeat): void Change the snap point.  

Inherited methods

Name Inherited from Description
getToolTip(): Promise<HTMLElement | string> HitDetail Get the tooltip content for this HitDetail.
isSameHit(otherHit?: HitDetail): boolean HitDetail Determine if this HitPoint is from the same source as another HitDetail.


Name Type Description
adjustedPoint Point3d AccuSnap/AccuDraw can adjust the point after the snap.  
geomType undefined | HitGeomType The HitGeomType of this SnapDetail  
heat ConstructorProperty SnapHeat The SnapHeat of this SnapDetail  
isHot Accessor ReadOnly boolean Return true if the pick point was closer than SnapRequestProps.snapAperture from the generated snap point.  
isPointAdjusted Accessor ReadOnly boolean Determine whether the SnapDetail.adjustedPoint is different than the SnapDetail.snapPoint.  
normal undefined | Vector3d Surface normal at snapPoint  
parentGeomType undefined | HitParentGeomType The HitGeomType of this SnapDetail  
primitive undefined | CurvePrimitive Curve primitive for snap.  
snapMode ConstructorProperty SnapMode The SnapMode used to create this SnapDetail  
snapPoint Point3d HitPoint adjusted by snap  
sprite undefined | Sprite A sprite to show the user the type of snap performed  

Inherited properties

Name Type Inherited from Description
distFraction ConstructorProperty number HitDetail The near plane distance fraction to hit.
distXY ConstructorProperty number HitDetail The xy distance to hit in view coordinates.
geometryClass ConstructorProperty undefined | GeometryClass HitDetail The GeometryClass for a persistent element hit.
hitPoint ConstructorProperty Point3d HitDetail The approximate world coordinate location on the geometry identified by this HitDetail.
hitSource ConstructorProperty HitSource HitDetail The procedure that requested the locate operation.
isElementHit Accessor ReadOnly boolean HitDetail Return whether sourceId is for a persistent element and not a pickable decoration.
isModelHit Accessor ReadOnly boolean HitDetail  
modelId ConstructorProperty undefined | string HitDetail Optionally the Id of the ModelState from which the hit originated.
priority ConstructorProperty HitPriority HitDetail The hit geometry priority/classification.
sourceId ConstructorProperty string HitDetail The source of the geometry, either a persistent element id or pickable decoration id.
subCategoryId ConstructorProperty undefined | string HitDetail The SubCategory for a persistent element hit.
testPoint ConstructorProperty Point3d HitDetail The world coordinate space point that was used as the locate point.
viewport ConstructorProperty ScreenViewport HitDetail The view the locate operation was performed in.

Defined in

Last Updated: 20 September, 2019