editor › Globals › PriorityHintFilterStrategy
Class: PriorityHintFilterStrategy
A Strategy that groups and then scores every hint it receives by the HintFilterStrategies via setHints. Only the best Hint of each group will be shown.
Hierarchy
- PriorityHintFilterStrategy
Index
Properties
Methods
- _evaluateHint
- _groupCriterion
- _initHintFilterCriteria
- _removeAssembliesWithoutHints
- _showHint
- getHints
- isEmpty
- remove
- removeInvalidHints
- setCriteria
- setGroupCriterion
- setHints
- setThreshold
- updateFilter
Properties
Private assemblies
• assemblies: Assembly[]
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:41
Private criteria
• criteria: ReadonlyArray‹object› = []
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:14
Private goodThreshold
• goodThreshold: number = this.threshold / 3
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:30
Private hints
• hints: Set‹FilterableHint› = new Set()
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:24
Private lastHints
• lastHints: Set‹FilterableHint› = new Set
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:34
Private prioritizedHints
• prioritizedHints: PrioritizedGroupedList‹FilterableHint› = new PrioritizedGroupedList
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:37
Private threshold
• threshold: number = 1000
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:27
Methods
Private _evaluateHint
▸ _evaluateHint(hint: FilterableHint, alreadySelectedHints: FilterableHint[]): number
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:267
Parameters:
| Name | Type |
|---|---|
hint |
FilterableHint |
alreadySelectedHints |
FilterableHint[] |
Returns: number
Private _groupCriterion
▸ _groupCriterion(): string
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:233
Returns: string
Private _initHintFilterCriteria
▸ _initHintFilterCriteria(camera: PerspectiveCamera, canvasDimensions: object, modelSubnode: Object3D): object
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:279
Parameters:
▪ camera: PerspectiveCamera
▪ canvasDimensions: object
| Name | Type |
|---|---|
height |
number |
width |
number |
▪ modelSubnode: Object3D
Returns: object
- assemblies: Assembly‹›[] = this.assemblies
Private _removeAssembliesWithoutHints
▸ _removeAssembliesWithoutHints(): void
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:235
Returns: void
Private _showHint
▸ _showHint(hint: FilterableHint, toRemove: FilterableHint[], toDisplay: FilterableHint[], maybeDisplay: Array‹object›, okThreshold: number, goodThreshold: number): boolean
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:241
Parameters:
| Name | Type |
|---|---|
hint |
FilterableHint |
toRemove |
FilterableHint[] |
toDisplay |
FilterableHint[] |
maybeDisplay |
Array‹object› |
okThreshold |
number |
goodThreshold |
number |
Returns: boolean
getHints
▸ getHints(): Set‹FilterableHint›
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:225
Returns: Set‹FilterableHint›
isEmpty
▸ isEmpty(): boolean
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:229
Returns: boolean
remove
▸ remove(hint: any): boolean
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:187
Removes a hint from this HintFilterStrategy
Parameters:
| Name | Type |
|---|---|
hint |
any |
Returns: boolean
whether this HintFilterStrategy contained the hint
removeInvalidHints
▸ removeInvalidHints(): void
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:199
Returns: void
setCriteria
▸ setCriteria(criteriaClassesAndWeights: ReadonlyArray‹object›): void
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:48
Parameters:
| Name | Type | Description |
|---|---|---|
criteriaClassesAndWeights |
ReadonlyArray‹object› | an array of objects which contains {CriterionClass: HintFilterCriterion, weight: float} a HintFilterCriterion and a float as multiplier for the importance of that Criterion each |
Returns: void
setGroupCriterion
▸ setGroupCriterion(groupCriterion: function): void
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:221
Sets the groupCriterion to group the Hints
Parameters:
▪ groupCriterion: function
▸ (hint: FilterableHint): string
Parameters:
| Name | Type |
|---|---|
hint |
FilterableHint |
Returns: void
setHints
▸ setHints(hints: FilterableHint[]): void
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:72
Parameters:
| Name | Type |
|---|---|
hints |
FilterableHint[] |
Returns: void
setThreshold
▸ setThreshold(threshold: number, goodThreshold: number): void
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:67
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
threshold |
number | - | the maximum badness a hint may have before it is not shown anymore |
goodThreshold |
number | threshold / 3 | hints with badness below this threshold may be shown immediately without considering other options |
Returns: void
updateFilter
▸ updateFilter(camera: PerspectiveCamera, canvasDimensions: object, modelSubnode: Object3D): object
Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:82
Sorts the hints by the hint criteria and stores them in @sortedHints.
Parameters:
▪ camera: PerspectiveCamera
▪ canvasDimensions: object
| Name | Type |
|---|---|
height |
number |
width |
number |
▪ modelSubnode: Object3D
Returns: object
-
toDisplay: FilterableHint‹›[]
-
toRemove: FilterableHint‹›[]