Class: Hint
A hint is an object that is drawn in 2D. We are using canvas coordinate system here, see CanvasSpaceHelper Hints may contain children, that are also drawn, much like a scene graph. Hints usually reference a point in an assembly and use the _projectAssemblyToCanvas method to convert from assembly space to Hint space.
Hierarchy
- Hint
↳ HintLine
↳ HtmlHint
Index
Constructors
Properties
- assembly
- children
- destroyed
- domNode
- externalChangeEventEmitter
- fadeAnimation
- fontSize
- interactable
- manager
- opacity
- scale
- threeMaterial
- threeNode
- toolHint
- transparentMaterial
- unitConversionErrorEventEmitter
- visible
Methods
- _applyDOMScale
- _applyVisibility
- _assignMaterial
- _getTransparentMaterial
- _onExternalChange
- _onUnitConversionError
- _projectAssemblyToCanvas
- add
- cancelFade
- destroy
- fadeOut
- focus
- getAssembly
- getChildren
- getDOMNode
- getExternalChangeEventEmitter
- getScale
- getThreeNode
- getUnitConversionErrorEventEmitter
- hasMaterial
- hide
- initDOMNode
- initThreeNode
- isToolHint
- isValid
- isVisible
- makeInteractable
- remove
- removeAllListeners
- setAssembly
- setCanvasSizeGetter
- setConversionMethod
- setFontSize
- setManager
- setMaterial
- setOpacity
- setScale
- setToolHint
- setVisible
- show
- update
Constructors
constructor
+ new Hint(assembly: Assembly): Hint
Defined in src/renderContext/hints/Hint.ts:54
Parameters:
| Name | Type |
|---|---|
assembly |
Assembly |
Returns: Hint
Properties
Protected assembly
• assembly: Assembly | null
Defined in src/renderContext/hints/Hint.ts:38
Protected children
• children: Hint[] = []
Defined in src/renderContext/hints/Hint.ts:37
Protected destroyed
• destroyed: boolean = false
Defined in src/renderContext/hints/Hint.ts:36
Protected domNode
• domNode: HTMLElement | null = null
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[]
()
Defined in src/renderContext/hints/Hint.ts:43
Private fadeAnimation
• fadeAnimation: NumberAnimation | null
Defined in src/renderContext/hints/Hint.ts:52
Private fontSize
• fontSize: number = Config.get("hints.fontSize", 20)
Defined in src/renderContext/hints/Hint.ts:54
Private interactable
• interactable: boolean = false
Defined in src/renderContext/hints/Hint.ts:49
Protected manager
• manager: any = null
Defined in src/renderContext/hints/Hint.ts:34
Private opacity
• opacity: number = 1
Defined in src/renderContext/hints/Hint.ts:53
Protected scale
• scale: number = 1
Defined in src/renderContext/hints/Hint.ts:47
Protected threeMaterial
• threeMaterial: Material | null = null
Defined in src/renderContext/hints/Hint.ts:48
Protected threeNode
• threeNode: Object3D | null = null
Defined in src/renderContext/hints/Hint.ts:39
Private toolHint
• toolHint: boolean = true
Defined in src/renderContext/hints/Hint.ts:50
Private transparentMaterial
• transparentMaterial: Material | null
Defined in src/renderContext/hints/Hint.ts:51
Protected Readonly unitConversionErrorEventEmitter
• unitConversionErrorEventEmitter: EventEmitter‹void› = new EventEmitter
Defined in src/renderContext/hints/Hint.ts:46
Protected visible
• visible: boolean = true
Defined in src/renderContext/hints/Hint.ts:35
Methods
Protected _applyDOMScale
▸ _applyDOMScale(): void
Defined in src/renderContext/hints/Hint.ts:406
Returns: void
Protected _applyVisibility
▸ _applyVisibility(): void
Defined in src/renderContext/hints/Hint.ts:391
Returns: void
Private _assignMaterial
▸ _assignMaterial(object: Object3D, material: Material): void
Defined in src/renderContext/hints/Hint.ts:428
Assigns the threeMaterial to the object
Parameters:
| Name | Type | Description |
|---|---|---|
object |
Object3D | The object, e.g. Sprite or Mesh |
material |
Material | A threeMaterial compatible (e.g. SpriteBasicMaterial or MeshBasicMaterial) |
Returns: void
Private _getTransparentMaterial
▸ _getTransparentMaterial(): Material
Defined in src/renderContext/hints/Hint.ts:412
Returns: Material
Protected _onExternalChange
▸ _onExternalChange(args: any[]): any[]
Defined in src/renderContext/hints/Hint.ts:380
propagate event fired by child
Parameters:
| Name | Type |
|---|---|
args |
any[] |
Returns: any[]
Protected _onUnitConversionError
▸ _onUnitConversionError(): any[]
Defined in src/renderContext/hints/Hint.ts:387
propagate event fired by child
Returns: any[]
Protected _projectAssemblyToCanvas
▸ _projectAssemblyToCanvas(point: Vector3): Vector3
Defined in src/renderContext/hints/Hint.ts:373
Parameters:
| Name | Type |
|---|---|
point |
Vector3 |
Returns: Vector3
add
▸ add(child: Hint): void
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
Defined in src/renderContext/hints/Hint.ts:348
Returns: void
destroy
▸ destroy(): void
Defined in src/renderContext/hints/Hint.ts:305
Subclasses should override this method to clean up all references such as event listeners.
Returns: void
fadeOut
▸ fadeOut(duration: number, delay: number): KyubAnimation‹any›
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
Defined in src/renderContext/hints/Hint.ts:273
Returns: void
getAssembly
▸ getAssembly(): Assembly | null
Defined in src/renderContext/hints/Hint.ts:224
Returns: Assembly | null
getChildren
▸ getChildren(): Hint[]
Defined in src/renderContext/hints/Hint.ts:257
Returns: Hint[]
getDOMNode
▸ getDOMNode(): HTMLElement | null
Defined in src/renderContext/hints/Hint.ts:286
Returns: HTMLElement | null
getExternalChangeEventEmitter
▸ getExternalChangeEventEmitter(): IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›
Defined in src/renderContext/hints/Hint.ts:64
Returns: IPublicEventEmitterInterface‹number | any[] | [number, number, EdgeHint‹›] | [number, Hint‹›] | [number, number, RoundEdgeHint‹›]›
getScale
▸ getScale(): number
Defined in src/renderContext/hints/Hint.ts:261
Returns: number
getThreeNode
▸ getThreeNode(): Object3D
Defined in src/renderContext/hints/Hint.ts:290
Returns: Object3D
getUnitConversionErrorEventEmitter
▸ getUnitConversionErrorEventEmitter(): IPublicEventEmitterInterface‹void›
Defined in src/renderContext/hints/Hint.ts:68
Returns: IPublicEventEmitterInterface‹void›
hasMaterial
▸ hasMaterial(): boolean
Defined in src/renderContext/hints/Hint.ts:162
Returns: boolean
hide
▸ hide(): void
Defined in src/renderContext/hints/Hint.ts:269
Returns: void
initDOMNode
▸ initDOMNode(): void
Defined in src/renderContext/hints/Hint.ts:104
Returns: void
initThreeNode
▸ initThreeNode(): void
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
Defined in src/renderContext/hints/Hint.ts:174
Returns: boolean
isValid
▸ isValid(): boolean
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
Defined in src/renderContext/hints/Hint.ts:282
Returns: boolean
makeInteractable
▸ makeInteractable(): void
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
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
Defined in src/renderContext/hints/Hint.ts:72
Returns: void
setAssembly
▸ setAssembly(assembly: Assembly): void
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
Defined in src/renderContext/hints/Hint.ts:298
Parameters:
▪ getCanvasSize: function
▸ (): IDimensions2
Returns: void
setConversionMethod
▸ setConversionMethod(worldToCanvas: function): void
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
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
setManager
▸ setManager(manager: HintManager): void
Defined in src/renderContext/hints/Hint.ts:140
Parameters:
| Name | Type |
|---|---|
manager |
HintManager |
Returns: void
setMaterial
▸ setMaterial(material: Material): void
Defined in src/renderContext/hints/Hint.ts:147
Parameters:
| Name | Type |
|---|---|
material |
Material |
Returns: void
setOpacity
▸ setOpacity(opacity: number): void
Defined in src/renderContext/hints/Hint.ts:363
Parameters:
| Name | Type |
|---|---|
opacity |
number |
Returns: void
setScale
▸ setScale(scale: number): void
Defined in src/renderContext/hints/Hint.ts:236
Parameters:
| Name | Type |
|---|---|
scale |
number |
Returns: void
setToolHint
▸ setToolHint(isToolHint: boolean): void
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
Defined in src/renderContext/hints/Hint.ts:277
Parameters:
| Name | Type |
|---|---|
visible |
boolean |
Returns: void
show
▸ show(): void
Defined in src/renderContext/hints/Hint.ts:265
Returns: void
Abstract update
▸ update(): any
Defined in src/renderContext/hints/Hint.ts:62
Returns: any