AccuDrawHintBuilder Class

AccuDrawHintBuilder is an InteractiveTool helper class that facilitates AccuDraw interaction. Accudraw is an aide for entering coordinate data. A tool does not directly change the current AccuDraw state; the tool's job is merely to supply "hints" to AccuDraw regarding its preferred AccuDraw configuration for the current tool state. User settings such as "Context Sensitivity" and "Floating Origin" affect how and which hints are applied. Additionally the user can drive AccuDraw through keyboard shortcuts.

@see Using AccuDraw*

Methods

Name Description
constructor(): AccuDrawHintBuilder    
sendHints(activate: boolean = true): boolean Provide hints to AccuDraw using the current builder state.  
setAngle(angle: number): void Set current angle value in polar mode  
setDistance(distance: number): void Set current distance value in polar mode  
setLastPoint(ev: BeButtonEvent): void Adjust the location of the last data button.  
setMatrix(matrix: Matrix3d): boolean Add hint to fully specify compass orientation from a Matrix3d  
setModePolar(): void Add hint to change compass to polar mode  
setModeRectangular(): void Add hint to change compass to rectangular mode  
setNormal(normal: Vector3d): void Add hint to change compass orientation by combining the supplied z axis direction with the current base rotation  
setOrigin(origin: Point3d): void Add hint to specify a new compass origin  
setXAxis(xAxis: Vector3d): void Add hint to change compass orientation by combining the supplied x axis direction with the current base rotation  
setXAxis2(xAxis: Vector3d): void Add hint to change compass orientation by combining the supplied x axis direction with the current base rotation preferring the result most closely aligned to the view  
activate(): void Static Enable AccuDraw for the current tool without sending any hints  
deactivate(): void Static Disable AccuDraw for the current tool  
getBoresite(spacePt: Point3d, vp: Viewport, checkAccuDraw: boolean = false, checkACS: boolean = false): Ray3d Static Create a Ray3d whose origin is the supplied space point and direction is into the view  
getContextRotation(id: ContextRotationId, vp: Viewport): undefined | Matrix3d Static Return a Matrix3d corresponding to the supplied ContextRotationId.  
getCurrentRotation(vp: Viewport, checkAccuDraw: boolean, checkACS: boolean, matrix?: Matrix3d): undefined | Matrix3d Static Return a Matrix3d representing the current working plane specified by AccuDraw, Viewport.auxCoordSystem, or Viewport.rotation.  
getSnapRotation(snap: SnapDetail, matrix?: Matrix3d): undefined | Matrix3d Static Return a Matrix3d from a SnapDetail.  
projectPointToLineInView(spacePt: Point3d, linePt: Point3d, lineDirection: Vector3d, vp: Viewport, checkAccuDraw: boolean = false, checkACS: boolean = false): undefined | Point3d Static Return ray intersection with a line defined by a point and direction  
projectPointToPlaneInView(spacePt: Point3d, planePt: Point3d, planeNormal: Vector3d, vp: Viewport, checkAccuDraw: boolean = false, checkACS: boolean = false): undefined | Point3d Static Return ray intersection with a plane defined by a point and normal  

Properties

Name Type Description
enableSmartRotation boolean Set the initial compass orientation from the current SnapDetail when activating  
isActive Accessor StaticReadOnly boolean Whether AccuDraw compass is currently displayed and points are being adjusted  
isEnabled Accessor StaticReadOnly boolean Whether AccuDraw is enabled by the host application this session and can be used  
setLockAngle boolean Lock current angle value in polar mode  
setLockDistance boolean Lock current distance value in polar mode  
setLockX boolean Lock current x delta value in rectangular mode  
setLockY boolean Lock current y delta value in rectangular mode  
setLockZ boolean Lock current z delta value in 3d views  
setOriginAlways boolean Override "fixed" and "floating" origin settings for [[setOrigin] hint  
setOriginFixed boolean Don't automatically set compass origin to point from data button events  

Defined in

Last Updated: 28 March, 2024