Skip to content

editor › Globals › AngledHintLine

Class: AngledHintLine

This class is used to draw an angled hint line. Depending on the direction a different configuration will be chosen. All possible configurations are shown below including the direction and the configuration chosen for that direction.

/ direction / XXX / XXX __ | / chosenConfiguration \ | / / \ | / / |/ / referenceLine (the _referenceAngle is measure from here (CCW)) XXX ------ position ------ XXX --------------------> /|\ / | \ XXX ___/ | ______ XXX | XXX

Hierarchy

↳ AngledHintLine

Index

Constructors

Properties

Methods

Constructors

constructor

+ new AngledHintLine(assembly: any, options: IAngledHintLineOptions): AngledHintLine

Overrides FilterableHint.constructor

Defined in src/renderContext/hints/AngledHintLine.ts:48

option options [Number] lengthStraight The length of the straight line in pixels

option options [Number] lengthAngle The length of the straight line in pixels

option options [Number] angle The angle of the angled line in rad ______ Text / / / angle /_ _ _ _ _ _

option options [Number] margin The margin that will be added to getOffsetVector in pixels

option options [Number] thickness The thickness of the line in pixels

Parameters:

Name Type Default Description
assembly any - @see Hint
options IAngledHintLineOptions {} -

Returns: AngledHintLine

Properties

Private _referenceAngle

• _referenceAngle: number

Defined in src/renderContext/hints/AngledHintLine.ts:43


Private _to

• _to: Vector3

Defined in src/renderContext/hints/AngledHintLine.ts:42


Private Readonly angle

• angle: number

Defined in src/renderContext/hints/AngledHintLine.ts:39


Private Readonly angledLine

• angledLine: HintLine

Defined in src/renderContext/hints/AngledHintLine.ts:46


Private arrowHeadLength

• arrowHeadLength: number = 0

Defined in src/renderContext/hints/AngledHintLine.ts:47


Private arrowHeadWidth

• arrowHeadWidth: number = 0

Defined in src/renderContext/hints/AngledHintLine.ts:48


Protected assembly

• assembly: Assembly | null

Inherited from FilterableHint.assembly

Defined in src/renderContext/hints/Hint.ts:38


Protected children

• children: Hint[] = []

Inherited from FilterableHint.children

Defined in src/renderContext/hints/Hint.ts:37


Private Readonly defaultDirection

• defaultDirection: Vector3

Defined in src/renderContext/hints/AngledHintLine.ts:44


Protected destroyed

• destroyed: boolean = false

Inherited from FilterableHint.destroyed

Defined in src/renderContext/hints/Hint.ts:36


Protected domNode

• domNode: HTMLElement | null = null

Inherited from FilterableHint.domNode

Defined in src/renderContext/hints/Hint.ts:33


Protected Readonly externalChangeEventEmitter

• externalChangeEventEmitter: EventEmitter‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]› = new EventEmitter< [number, number, EdgeHint] | [number, Hint] | number | [number, number, RoundEdgeRadiusHint] | any[]

()

Inherited from FilterableHint.externalChangeEventEmitter

Defined in src/renderContext/hints/Hint.ts:43


Private Readonly lengthAngle

• lengthAngle: number

Defined in src/renderContext/hints/AngledHintLine.ts:38


Private lengthStraight

• lengthStraight: number

Defined in src/renderContext/hints/AngledHintLine.ts:37


Protected manager

• manager: any = null

Inherited from FilterableHint.manager

Defined in src/renderContext/hints/Hint.ts:34


Private margin

• margin: number

Defined in src/renderContext/hints/AngledHintLine.ts:40


Protected scale

• scale: number = 1

Inherited from FilterableHint.scale

Defined in src/renderContext/hints/Hint.ts:47


Private Readonly straightLine

• straightLine: HintLine

Defined in src/renderContext/hints/AngledHintLine.ts:45


Private Readonly thickness

• thickness: number

Defined in src/renderContext/hints/AngledHintLine.ts:41


Protected threeMaterial

• threeMaterial: Material | null = null

Inherited from FilterableHint.threeMaterial

Defined in src/renderContext/hints/Hint.ts:48


Protected threeNode

• threeNode: Object3D | null = null

Inherited from FilterableHint.threeNode

Defined in src/renderContext/hints/Hint.ts:39


Protected Readonly unitConversionErrorEventEmitter

• unitConversionErrorEventEmitter: EventEmitter‹void› = new EventEmitter()

Inherited from FilterableHint.unitConversionErrorEventEmitter

Defined in src/renderContext/hints/Hint.ts:46


Protected visible

• visible: boolean = true

Inherited from FilterableHint.visible

Defined in src/renderContext/hints/Hint.ts:35

Methods

Protected _applyDOMScale

▸ _applyDOMScale(): void

Inherited from FilterableHint._applyDOMScale

Defined in src/renderContext/hints/Hint.ts:406

Returns: void


Protected _applyVisibility

▸ _applyVisibility(): void

Inherited from FilterableHint._applyVisibility

Defined in src/renderContext/hints/Hint.ts:391

Returns: void


Private _getAngledOffset

▸ _getAngledOffset(): Vector3‹›

Defined in src/renderContext/hints/AngledHintLine.ts:228

Returns: Vector3‹›


Private _getPrincipalOrientation

▸ _getPrincipalOrientation(): "horizontal" | "vertical"

Defined in src/renderContext/hints/AngledHintLine.ts:197

Returns: "horizontal" | "vertical"


Private _getStraightLineVector

▸ _getStraightLineVector(margin: number): any

Defined in src/renderContext/hints/AngledHintLine.ts:210

Parameters:

Name Type Default
margin number this.margin

Returns: any


Private _isAngled

▸ _isAngled(): boolean

Defined in src/renderContext/hints/AngledHintLine.ts:177

Returns: boolean


Private _isReversedX

▸ _isReversedX(): boolean

Defined in src/renderContext/hints/AngledHintLine.ts:189

Returns: boolean


Private _isReversedY

▸ _isReversedY(): boolean

Defined in src/renderContext/hints/AngledHintLine.ts:193

Returns: boolean


Protected _onExternalChange

▸ _onExternalChange(args: any[]): any[]

Inherited from FilterableHint._onExternalChange

Defined in src/renderContext/hints/Hint.ts:380

propagate event fired by child

Parameters:

Name Type
args any[]

Returns: any[]


Protected _onUnitConversionError

▸ _onUnitConversionError(): any[]

Inherited from FilterableHint._onUnitConversionError

Defined in src/renderContext/hints/Hint.ts:387

propagate event fired by child

Returns: any[]


Protected _projectAssemblyToCanvas

▸ _projectAssemblyToCanvas(point: Vector3): Vector3

Inherited from FilterableHint._projectAssemblyToCanvas

Defined in src/renderContext/hints/Hint.ts:373

Parameters:

Name Type
point Vector3

Returns: Vector3


add

▸ add(child: Hint): void

Inherited from FilterableHint.add

Defined in src/renderContext/hints/Hint.ts:182

This adds a child hint to this hint. Using this method takes care of calling all required setters on the child hint.

Parameters:

Name Type
child Hint

Returns: void


cancelFade

▸ cancelFade(): void

Inherited from FilterableHint.cancelFade

Defined in src/renderContext/hints/Hint.ts:348

Returns: void


destroy

▸ destroy(): void

Inherited from FilterableHint.destroy

Defined in src/renderContext/hints/Hint.ts:305

Subclasses should override this method to clean up all references such as event listeners.

Returns: void


direction

▸ direction(direction: Vector3): this

Defined in src/renderContext/hints/AngledHintLine.ts:108

Sets the direction of this AngledHintLine in screen space. This determines whether this line will be drawn as a straight line or angled.

see the class documentation for details.

Parameters:

Name Type Description
direction Vector3 The direction in screen space where this AngledHintLine should be drawn.

Returns: this


fadeOut

▸ fadeOut(duration: number, delay: number): KyubAnimation‹any›

Inherited from FilterableHint.fadeOut

Defined in src/renderContext/hints/Hint.ts:317

Start a fade animation. If one is already ongoing, that animation is canceled before starting the new animation.

Parameters:

Name Type Default Description
duration number - in ms
delay number 0 in ms

Returns: KyubAnimation‹any›

the animation that is used to fade the THREE.js part of this hint. This animation still needs to be started (by passing it to the RenderContext).


focus

▸ focus(): void

Inherited from FilterableHint.focus

Defined in src/renderContext/hints/Hint.ts:273

Returns: void


getAssembly

▸ getAssembly(): Assembly | null

Inherited from FilterableHint.getAssembly

Defined in src/renderContext/hints/Hint.ts:224

Returns: Assembly | null


getChildren

▸ getChildren(): Hint[]

Inherited from FilterableHint.getChildren

Defined in src/renderContext/hints/Hint.ts:257

Returns: Hint[]


getDOMNode

▸ getDOMNode(): HTMLElement | null

Inherited from FilterableHint.getDOMNode

Defined in src/renderContext/hints/Hint.ts:286

Returns: HTMLElement | null


getExternalChangeEventEmitter

▸ getExternalChangeEventEmitter(): IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›

Inherited from FilterableHint.getExternalChangeEventEmitter

Defined in src/renderContext/hints/Hint.ts:64

Returns: IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›


getOffsetVector

▸ getOffsetVector(): Vector3‹›

Defined in src/renderContext/hints/AngledHintLine.ts:121

Returns: Vector3‹›


getPreferredTextAlignment

▸ getPreferredTextAlignment(): object

Defined in src/renderContext/hints/AngledHintLine.ts:159

option [String] horizontal 'left', 'center' or 'right'

option [String] vertical 'top', 'center' or 'bottom'

Returns: object

Where text should be aligned in regard to AngledHintLine.getOffsetVector in order to look pleasing


getScale

▸ getScale(): number

Inherited from FilterableHint.getScale

Defined in src/renderContext/hints/Hint.ts:261

Returns: number


getThreeNode

▸ getThreeNode(): Object3D

Inherited from FilterableHint.getThreeNode

Defined in src/renderContext/hints/Hint.ts:290

Returns: Object3D


getUnitConversionErrorEventEmitter

▸ getUnitConversionErrorEventEmitter(): IPublicEventEmitterInterface‹void›

Inherited from FilterableHint.getUnitConversionErrorEventEmitter

Defined in src/renderContext/hints/Hint.ts:68

Returns: IPublicEventEmitterInterface‹void›


hasMaterial

▸ hasMaterial(): boolean

Inherited from FilterableHint.hasMaterial

Defined in src/renderContext/hints/Hint.ts:162

Returns: boolean


hide

▸ hide(): void

Inherited from FilterableHint.hide

Defined in src/renderContext/hints/Hint.ts:269

Returns: void


initDOMNode

▸ initDOMNode(): void

Inherited from FilterableHint.initDOMNode

Defined in src/renderContext/hints/Hint.ts:104

Returns: void


initThreeNode

▸ initThreeNode(): void

Inherited from FilterableHint.initThreeNode

Defined in src/renderContext/hints/Hint.ts:80

This method is called, before the Hint is rendered. Note: It may be called multiple times on the same Hint instance.

Returns: void


isToolHint

▸ isToolHint(): boolean

Inherited from FilterableHint.isToolHint

Defined in src/renderContext/hints/Hint.ts:174

Returns: boolean


isValid

▸ isValid(): boolean

Inherited from FilterableHint.isValid

Defined in src/renderContext/hints/Hint.ts:232

The hint may use this to indicate that the object it annotates no longer exists.

Returns: boolean

Whether or not the hint is (still) valid.


isVisible

▸ isVisible(): boolean

Inherited from FilterableHint.isVisible

Defined in src/renderContext/hints/Hint.ts:282

Returns: boolean


makeInteractable

▸ makeInteractable(): void

Inherited from FilterableHint.makeInteractable

Defined in src/renderContext/hints/Hint.ts:133

Makes this hint interactable. That means that tools that can work with hints will be provided with this instance if the user interacts with it.

Returns: void


remove

▸ remove(child: Hint): void

Inherited from FilterableHint.remove

Defined in src/renderContext/hints/Hint.ts:204

This removes a child hint from this hint.

Parameters:

Name Type
child Hint

Returns: void


removeAllListeners

▸ removeAllListeners(): void

Inherited from FilterableHint.removeAllListeners

Defined in src/renderContext/hints/Hint.ts:72

Returns: void


setAssembly

▸ setAssembly(assembly: Assembly): void

Inherited from FilterableHint.setAssembly

Defined in src/renderContext/hints/Hint.ts:220

Set the assembly this hint belongs to

Parameters:

Name Type Description
assembly Assembly assembly

Returns: void


setCanvasSizeGetter

▸ setCanvasSizeGetter(getCanvasSize: function): void

Inherited from FilterableHint.setCanvasSizeGetter

Defined in src/renderContext/hints/Hint.ts:298

Parameters:

▪ getCanvasSize: function

▸ (): IDimensions2

Returns: void


setConversionMethod

▸ setConversionMethod(worldToCanvas: function): void

Inherited from FilterableHint.setConversionMethod

Defined in src/renderContext/hints/Hint.ts:294

Parameters:

▪ worldToCanvas: function

▸ (worldPosition: Vector3): Vector3

Parameters:

Name Type
worldPosition Vector3

Returns: void


setFontSize

▸ setFontSize(fontSize: number): void

Inherited from FilterableHint.setFontSize

Defined in src/renderContext/hints/Hint.ts:248

Set the font size in px.

Parameters:

Name Type Default Description
fontSize number Config.get("hints.fontSize") -

Returns: void


setHintLineArrow

▸ setHintLineArrow(arrowHeadLength: number, arrowHeadWidth: number): void

Defined in src/renderContext/hints/AngledHintLine.ts:134

Render an arrow head at the "to" end of this AngledHintLine. Use arrowHeadLength = 0 to remove the arrow head.

Parameters:

Name Type Default Description
arrowHeadLength number 0 -
arrowHeadWidth number arrowHeadLength -

Returns: void


setManager

▸ setManager(manager: HintManager): void

Inherited from FilterableHint.setManager

Defined in src/renderContext/hints/Hint.ts:140

Parameters:

Name Type
manager HintManager

Returns: void


setMargin

▸ setMargin(margin: number): void

Defined in src/renderContext/hints/AngledHintLine.ts:125

Parameters:

Name Type
margin number

Returns: void


setMaterial

▸ setMaterial(material: Material): void

Inherited from FilterableHint.setMaterial

Defined in src/renderContext/hints/Hint.ts:147

Parameters:

Name Type
material Material

Returns: void


setOpacity

▸ setOpacity(opacity: number): void

Inherited from FilterableHint.setOpacity

Defined in src/renderContext/hints/Hint.ts:363

Parameters:

Name Type
opacity number

Returns: void


setScale

▸ setScale(scale: number): void

Inherited from FilterableHint.setScale

Defined in src/renderContext/hints/Hint.ts:236

Parameters:

Name Type
scale number

Returns: void


setStraightLength

▸ setStraightLength(straightLength: any): void

Defined in src/renderContext/hints/AngledHintLine.ts:117

Parameters:

Name Type
straightLength any

Returns: void


setToolHint

▸ setToolHint(isToolHint: boolean): void

Inherited from FilterableHint.setToolHint

Defined in src/renderContext/hints/Hint.ts:170

Sets whether this hint is a tool hint. Tool hints will be cleared when another tool is selected

Parameters:

Name Type Description
isToolHint boolean Whether this hint belongs to a tool

Returns: void


setVisible

▸ setVisible(visible: boolean): void

Inherited from FilterableHint.setVisible

Defined in src/renderContext/hints/Hint.ts:277

Parameters:

Name Type
visible boolean

Returns: void


show

▸ show(): void

Inherited from FilterableHint.show

Defined in src/renderContext/hints/Hint.ts:265

Returns: void


to

▸ to(to: Vector3, screenSpace: boolean): this

Defined in src/renderContext/hints/AngledHintLine.ts:93

Sets the origin in assembly or screen space

Parameters:

Name Type Default Description
to Vector3 - the position where the line should begin
screenSpace boolean false whether to should be interpreted as screen space (true) or assembly space (false)

Returns: this


update

▸ update(): void

Overrides FilterableHint.update

Defined in src/renderContext/hints/AngledHintLine.ts:140

Returns: void