|
Code_TYMPAN
4.4.0
Industrial site acoustic simulation
|
Abstract class representing a pruning strategy to prune the tree of reflecting segments during computations of reflection path candidates using the exhaustive image source algorithm. More...
#include <TYReflectionPruningStrategy.h>

Public Member Functions | |
| virtual | ~TYAbstractReflectionPruningStrategy ()=default |
| virtual std::unique_ptr< TYAbstractReflectionPruningStrategy > | instanciate () const =0 |
| Instanciate a new pruning strategy of the same type. More... | |
| virtual void | initialize (const std::vector< const TYSIntersection * > ¤tReflectingSegments, const std::deque< OPoint3D > ¤tImageSources)=0 |
| Inform the pruning strategy of the current reflecting segments tree state. More... | |
| virtual bool | pruningCriterionMet (const TYSIntersection &nextReflectingSegment) const =0 |
| Check if the tree can be pruned before inserting the next reflecting segment. More... | |
Protected Member Functions | |
| TYAbstractReflectionPruningStrategy ()=default | |
Abstract class representing a pruning strategy to prune the tree of reflecting segments during computations of reflection path candidates using the exhaustive image source algorithm.
It follows the Strategy design pattern to abstract the actual implemented pruning criterion
It provides an instanciate method (similar to Prototype design pattern) to create a new instance of the same strategy
The method initialize aims to set up the strategy with the current tree state
The method pruningCriterionMet aims to evaluate if the tree must be pruned given current tree state (provided during initialize) and the next reflecting segment to be added
Definition at line 36 of file TYReflectionPruningStrategy.h.
|
virtualdefault |
|
protecteddefault |
|
pure virtual |
Inform the pruning strategy of the current reflecting segments tree state.
| currentReflectingSegments | Current list of reflecting segments B1 to Bn |
| currentImageSources | Current list of image sources from S0 to Sn |
Implemented in TYReflectionVisibilityPruningStrategy, and TYReflectionNoPruningStrategy.
|
pure virtual |
Instanciate a new pruning strategy of the same type.
Implemented in TYReflectionVisibilityPruningStrategy, and TYReflectionNoPruningStrategy.
|
pure virtual |
Check if the tree can be pruned before inserting the next reflecting segment.
| nextReflectingSegment | next reflecting segment to add as a leaf of the current tree |
Implemented in TYReflectionVisibilityPruningStrategy, and TYReflectionNoPruningStrategy.