Class AttenuationVisitor

java.lang.Object
org.noise_planet.noisemodelling.propagation.AttenuationVisitor
All Implemented Interfaces:
CutPlaneVisitor

public class AttenuationVisitor extends Object implements CutPlaneVisitor
Receive vertical cut plane, compute the attenuation corresponding to this plane
  • Field Details

  • Constructor Details

    • AttenuationVisitor

      public AttenuationVisitor(AttenuationComputeOutput multiThreadParent)
      Constructor for AttenuationVisitor object
      Parameters:
      multiThreadParent - Multithread data class
  • Method Details

    • onNewCutPlane

      public CutPlaneVisitor.PathSearchStrategy onNewCutPlane(CutProfile cutProfile)
      Manage attenuation computation each time a cutProfile is found. Note: in the case of CNOSSOS propagation model, a new instance of PropagationModel needs to be created for each cutProfile to ensure a new computation of the cnossosPaths.
      Specified by:
      onNewCutPlane in interface CutPlaneVisitor
      Parameters:
      cutProfile - vertical profile
      Returns:
      Search strategy
    • startReceiver

      public void startReceiver(PathFinder.ReceiverPointInfo receiver, Collection<PathFinder.SourcePointInfo> sourceList)
      Description copied from interface: CutPlaneVisitor
      Called before looking for vertical cut planes between the receiver and the sources.
      Specified by:
      startReceiver in interface CutPlaneVisitor
      Parameters:
      receiver - Receiver information
      sourceList - All sources in the range of this receiver sorted by the distance from the receiver
    • finalizeReceiver

      public void finalizeReceiver(PathFinder.ReceiverPointInfo receiver)
      No more propagation paths will be pushed for this receiver identifier
      Specified by:
      finalizeReceiver in interface CutPlaneVisitor
      Parameters:
      receiver - receiver point information