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*
extensions
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 | |
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. | |
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
- core/frontend/src/AccuDraw.ts Line 3127
Last Updated: 30 November, 2023