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 double
ALPHA0
-
Constructor Summary
Constructors Constructor Description CnossosPathBuilder()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static CnossosPath
computeCnossosPathFromCutProfile(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 ray path following Cnossos specification, or null if there is no valid path.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)
static SegmentPath
computeSegment(org.locationtech.jts.geom.Coordinate src, org.locationtech.jts.geom.Coordinate rcv, double[] meanPlane)
Compute the segment pathstatic 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 attributestatic double
toCurve(double mn, double d)
Eq.2.5.24 and Eq. 2.5.25
-
-
-
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
-rcv
-meanPlane
-- 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
-rcv
-meanPlane
-gPath
-gS
-- Returns:
- the computed segment path
-
toCurve
public static double toCurve(double mn, double d)
Eq.2.5.24 and Eq. 2.5.25- Parameters:
mn
-d
-- Returns:
-
computeCnossosPathFromCutProfile
public static CnossosPath computeCnossosPathFromCutProfile(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 ray path following Cnossos specification, or null if there is no valid path.- Parameters:
cutProfile
- Vertical cut of a domainbodyBarrier
-exactFrequencyArray
- Expected frequenciesgS
- Ground factor of the source area- Returns:
- The cnossos path or null
-
-