Class CnossosPathBuilder
- java.lang.Object
-
- org.noise_planet.noisemodelling.propagation.cnossos.CnossosPathBuilder
-
public class CnossosPathBuilder extends Object
Generate a CnossosPath from a vertical cut plane data
-
-
Field Summary
Fields Modifier and Type Field Description static doubleALPHA0
-
Constructor Summary
Constructors Constructor Description CnossosPathBuilder()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static CnossosPathcomputeCnossosPathFromCutProfile(CutProfile cutProfile, boolean bodyBarrier, List<Double> exactFrequencyArray, double gS, boolean favourable)Given the vertical cut profile (can be a single plane or multiple like a folding panel) return the ray path following Cnossos specification, or null if there is no valid path.static List<CnossosPath>computeCnossosPathsFromCutProfile(CutProfile cutProfile, boolean bodyBarrier, List<Double> exactFrequencyArray, double gS)Given the vertical cut profile (can be a single plane or multiple like a folding panel) return the multiple contribution ray paths following Cnossos specification, or empty if there is no valid path.static voidcomputeRayleighDiff(SegmentPath srSeg, CutProfile cutProfile, CnossosPath pathParameters, org.locationtech.jts.geom.LineSegment dSR, List<SegmentPath> segments, List<PointPath> points, List<org.locationtech.jts.geom.Coordinate> pts2D, org.locationtech.jts.geom.Coordinate[] pts2DGround, List<Integer> cut2DGroundIndex, List<Double> exactFrequencyArray)static SegmentPathcomputeSegment(org.locationtech.jts.geom.Coordinate src, org.locationtech.jts.geom.Coordinate rcv, double[] meanPlane)Compute the segment pathstatic SegmentPathcomputeSegment(org.locationtech.jts.geom.Coordinate src, org.locationtech.jts.geom.Coordinate rcv, double[] meanPlane, double gPath, double gS)Compute the segment path with more attribute
-
-
-
Field Detail
-
ALPHA0
public static final double ALPHA0
- See Also:
- Constant Field Values
-
-
Method Detail
-
computeRayleighDiff
public static void computeRayleighDiff(SegmentPath srSeg, CutProfile cutProfile, CnossosPath pathParameters, org.locationtech.jts.geom.LineSegment dSR, List<SegmentPath> segments, List<PointPath> points, List<org.locationtech.jts.geom.Coordinate> pts2D, org.locationtech.jts.geom.Coordinate[] pts2DGround, List<Integer> cut2DGroundIndex, List<Double> exactFrequencyArray)
-
computeSegment
public static SegmentPath computeSegment(org.locationtech.jts.geom.Coordinate src, org.locationtech.jts.geom.Coordinate rcv, double[] meanPlane)
Compute the segment path- Parameters:
src- source coordinatercv- receiver coordinatemeanPlane- mean plane coefficients- Returns:
- the calculated segment
-
computeSegment
public static SegmentPath computeSegment(org.locationtech.jts.geom.Coordinate src, org.locationtech.jts.geom.Coordinate rcv, double[] meanPlane, double gPath, double gS)
Compute the segment path with more attribute- Parameters:
src- source coordinatercv- receiver coordinatemeanPlane- mean plane coefficientsgPath- ground factor of the pathgS- ground factor of the source- Returns:
- the computed segment path
-
computeCnossosPathsFromCutProfile
public static List<CnossosPath> computeCnossosPathsFromCutProfile(CutProfile cutProfile, boolean bodyBarrier, List<Double> exactFrequencyArray, double gS)
Given the vertical cut profile (can be a single plane or multiple like a folding panel) return the multiple contribution ray paths following Cnossos specification, or empty if there is no valid path.- Parameters:
cutProfile- Vertical cut of a domainbodyBarrier- True if there is a body barrier on the pathexactFrequencyArray- Expected frequenciesgS- Ground factor of the source area- Returns:
- The cnossos path or null
-
computeCnossosPathFromCutProfile
public static CnossosPath computeCnossosPathFromCutProfile(CutProfile cutProfile, boolean bodyBarrier, List<Double> exactFrequencyArray, double gS, boolean favourable)
Given the vertical cut profile (can be a single plane or multiple like a folding panel) return the ray path following Cnossos specification, or null if there is no valid path.- Parameters:
cutProfile- Vertical cut of a domainbodyBarrier- True if there is a body barrier on the pathexactFrequencyArray- Expected frequenciesgS- Ground factor of the source areafavourable- Compute the favourable contribution for the provided profile- Returns:
- The cnossos path or null
-
-