Class DefaultCutPlaneVisitor
java.lang.Object
org.noise_planet.noisemodelling.pathfinder.DefaultCutPlaneVisitor
- All Implemented Interfaces:
CutPlaneVisitor,CutPlaneVisitorFactory
public class DefaultCutPlaneVisitor
extends Object
implements CutPlaneVisitor, CutPlaneVisitorFactory
Way to store data computed by threads.
Multiple threads use one instance.
This class must be thread safe
Store only vertical cut planes
- Author:
- Nicolas Fortin, Pierre Aumond
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.noise_planet.noisemodelling.pathfinder.CutPlaneVisitor
CutPlaneVisitor.PathSearchStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionThis list is thread safe so can be used in a multi-thread environmentboolean -
Constructor Summary
ConstructorsConstructorDescriptionDefaultCutPlaneVisitor(boolean keepCutPlanes) DefaultCutPlaneVisitor(boolean keepCutPlanes, Scene inputData) -
Method Summary
Modifier and TypeMethodDescriptionvoidfinalizeReceiver(PathFinder.ReceiverPointInfo receiver) No more propagation paths will be pushed for this receiver identifieronNewCutPlane(CutProfile cutProfile) A new vertical profile between a receiver and a source has been foundvoidstartReceiver(PathFinder.ReceiverPointInfo receiver, Collection<PathFinder.SourcePointInfo> sourceList, AtomicInteger cutProfileCount) Called before looking for vertical cut planes between the receiver and the sources.subProcess(org.h2gis.api.ProgressVisitor visitor)
-
Field Details
-
cutProfiles
This list is thread safe so can be used in a multi-thread environment -
inputData
-
keepCutPlanes
public boolean keepCutPlanes -
pathCount
-
-
Constructor Details
-
DefaultCutPlaneVisitor
-
DefaultCutPlaneVisitor
public DefaultCutPlaneVisitor(boolean keepCutPlanes)
-
-
Method Details
-
finalizeReceiver
No more propagation paths will be pushed for this receiver identifier- Specified by:
finalizeReceiverin interfaceCutPlaneVisitor- Parameters:
receiver-
-
getInputData
-
onNewCutPlane
Description copied from interface:CutPlaneVisitorA new vertical profile between a receiver and a source has been found- Specified by:
onNewCutPlanein interfaceCutPlaneVisitor- Parameters:
cutProfile- vertical profile- Returns:
- Will skip or not the next processing depending on this value.
-
startReceiver
public void startReceiver(PathFinder.ReceiverPointInfo receiver, Collection<PathFinder.SourcePointInfo> sourceList, AtomicInteger cutProfileCount) Description copied from interface:CutPlaneVisitorCalled before looking for vertical cut planes between the receiver and the sources.- Specified by:
startReceiverin interfaceCutPlaneVisitor- Parameters:
receiver- Receiver informationsourceList- All sources in the range of this receiver sorted by the distance from the receivercutProfileCount-
-
subProcess
- Specified by:
subProcessin interfaceCutPlaneVisitorFactory- Parameters:
visitor- Progression information, used to cancel processing too- Returns:
- an instance of the interface IComputePathsOut
-
getCutProfiles
-