Class BuildingIntersectionPathVisitor

  • All Implemented Interfaces:
    org.locationtech.jts.index.ItemVisitor

    public final class BuildingIntersectionPathVisitor
    extends Object
    implements org.locationtech.jts.index.ItemVisitor
    • 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:
        visitItem in interface org.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