Class BuildingIntersectionPathVisitor
- java.lang.Object
-
- org.noise_planet.noisemodelling.pathfinder.profilebuilder.BuildingIntersectionPathVisitor
-
- All Implemented Interfaces:
org.locationtech.jts.index.ItemVisitor
public final class BuildingIntersectionPathVisitor extends Object implements org.locationtech.jts.index.ItemVisitor
-
-
Constructor Summary
Constructors Constructor Description BuildingIntersectionPathVisitor(org.locationtech.jts.geom.Coordinate p1, org.locationtech.jts.geom.Coordinate p2, boolean left, ProfileBuilder profileBuilder, List<org.locationtech.jts.geom.Coordinate> input, org.apache.commons.math3.geometry.euclidean.threed.Plane cutPlane)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddItem(int id)Add a wall (segment alone or from a segment of a building polygon) to the input list if not already done.booleanisCurved()voidsetCurved(boolean curved)If true, the path between p1 and p2 is curved (a segment of circle).voidsetIntersectionLine(org.locationtech.jts.geom.LineSegment segment)voidvisitItem(Object item)
-
-
-
Constructor Detail
-
BuildingIntersectionPathVisitor
public BuildingIntersectionPathVisitor(org.locationtech.jts.geom.Coordinate p1, org.locationtech.jts.geom.Coordinate p2, boolean left, ProfileBuilder profileBuilder, List<org.locationtech.jts.geom.Coordinate> input, org.apache.commons.math3.geometry.euclidean.threed.Plane cutPlane)
-
-
Method Detail
-
setCurved
public void setCurved(boolean curved)
If true, the path between p1 and p2 is curved (a segment of circle). In this case, the curved coordinate system is used and the altitudes of intermediations buildings are modified accordingly. If false, keep the coordinates of the buildings as they are in the input data.- Parameters:
curved- true if the path between p1 and p2 is curved (a segment of circle)
-
isCurved
public boolean isCurved()
- Returns:
- true if the path between p1 and p2 is curved (a segment of circle). In this case, the intersectionLine is a chord of the circle. If false, the path between p1 and p2 is a straight line.
-
setIntersectionLine
public void setIntersectionLine(org.locationtech.jts.geom.LineSegment segment)
- Parameters:
segment- When visit an item, only add the walls in the hull points input if it intersects with the segment in argument
-
visitItem
public void visitItem(Object item)
- Specified by:
visitItemin interfaceorg.locationtech.jts.index.ItemVisitor- Parameters:
item- the index item to be visited
-
addItem
public void addItem(int id)
Add a wall (segment alone or from a segment of a building polygon) to the input list if not already done. It could be ignored if it does not cross with the 3D cutPlane.- Parameters:
id- the wall id to be added
-
-