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
- _referenceAngle
- _to
- angle
- angledLine
- arrowHeadLength
- arrowHeadWidth
- assembly
- children
- defaultDirection
- destroyed
- domNode
- externalChangeEventEmitter
- lengthAngle
- lengthStraight
- manager
- margin
- scale
- straightLine
- thickness
- threeMaterial
- threeNode
- unitConversionErrorEventEmitter
- visible
Methods
- _applyDOMScale
- _applyVisibility
- _getAngledOffset
- _getPrincipalOrientation
- _getStraightLineVector
- _isAngled
- _isReversedX
- _isReversedY
- _onExternalChange
- _onUnitConversionError
- _projectAssemblyToCanvas
- add
- cancelFade
- destroy
- direction
- fadeOut
- focus
- getAssembly
- getChildren
- getDOMNode
- getExternalChangeEventEmitter
- getOffsetVector
- getPreferredTextAlignment
- getScale
- getThreeNode
- getUnitConversionErrorEventEmitter
- hasMaterial
- hide
- initDOMNode
- initThreeNode
- isToolHint
- isValid
- isVisible
- makeInteractable
- remove
- removeAllListeners
- setAssembly
- setCanvasSizeGetter
- setConversionMethod
- setFontSize
- setHintLineArrow
- setManager
- setMargin
- setMaterial
- setOpacity
- setScale
- setStraightLength
- setToolHint
- setVisible
- show
- to
- update
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
-
horizontal: HorizontalAlignment
-
vertical: VerticalAlignment
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