Skip to content

editorGlobalsAngledHintLine

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