Skip to content

editorGlobalsPriorityHintFilterStrategy

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: SetFilterableHint = new Set()

Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:24


Private lastHints

lastHints: SetFilterableHint = new Set()

Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:34


Private prioritizedHints

prioritizedHints: PrioritizedGroupedListFilterableHint = 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(): SetFilterableHint

Defined in src/renderContext/hints/HintFilterStrategies/PriorityHintFilterStrategy.ts:225

Returns: SetFilterableHint


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