Code_TYMPAN  4.4.0
Industrial site acoustic simulation
Public Member Functions | Protected Member Functions | List of all members
TYAbstractReflectionPruningStrategy Class Referenceabstract

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>

Inheritance diagram for TYAbstractReflectionPruningStrategy:
Inheritance graph
[legend]

Public Member Functions

virtual ~TYAbstractReflectionPruningStrategy ()=default
 
virtual std::unique_ptr< TYAbstractReflectionPruningStrategyinstanciate () const =0
 Instanciate a new pruning strategy of the same type. More...
 
virtual void initialize (const std::vector< const TYSIntersection * > &currentReflectingSegments, const std::deque< OPoint3D > &currentImageSources)=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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~TYAbstractReflectionPruningStrategy()

virtual TYAbstractReflectionPruningStrategy::~TYAbstractReflectionPruningStrategy ( )
virtualdefault

◆ TYAbstractReflectionPruningStrategy()

TYAbstractReflectionPruningStrategy::TYAbstractReflectionPruningStrategy ( )
protecteddefault

Member Function Documentation

◆ initialize()

virtual void TYAbstractReflectionPruningStrategy::initialize ( const std::vector< const TYSIntersection * > &  currentReflectingSegments,
const std::deque< OPoint3D > &  currentImageSources 
)
pure virtual

Inform the pruning strategy of the current reflecting segments tree state.

Parameters
currentReflectingSegmentsCurrent list of reflecting segments B1 to Bn
currentImageSourcesCurrent list of image sources from S0 to Sn

Implemented in TYReflectionVisibilityPruningStrategy, and TYReflectionNoPruningStrategy.

◆ instanciate()

virtual std::unique_ptr<TYAbstractReflectionPruningStrategy> TYAbstractReflectionPruningStrategy::instanciate ( ) const
pure virtual

Instanciate a new pruning strategy of the same type.

Implemented in TYReflectionVisibilityPruningStrategy, and TYReflectionNoPruningStrategy.

◆ pruningCriterionMet()

virtual bool TYAbstractReflectionPruningStrategy::pruningCriterionMet ( const TYSIntersection nextReflectingSegment) const
pure virtual

Check if the tree can be pruned before inserting the next reflecting segment.

Parameters
nextReflectingSegmentnext reflecting segment to add as a leaf of the current tree

Implemented in TYReflectionVisibilityPruningStrategy, and TYReflectionNoPruningStrategy.


The documentation for this class was generated from the following file: