Skip to content

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

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( hint => hint.getPriority(), hint => this._groupCriterion(hint), )

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