private void visitNodeInterval()

in commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java [374:399]


        private void visitNodeInterval(final BiConsumer<? super OrientedPoint, ? super OrientedPoint> visitor) {
            OrientedPoint min = null;
            OrientedPoint max = null;

            OrientedPoint pt;
            RegionNode1D child = this;
            RegionNode1D parent;

            while ((min == null || max == null) && (parent = child.getParent()) != null) {
                pt = (OrientedPoint) parent.getCutHyperplane();

                if ((pt.isPositiveFacing() && child.isMinus()) ||
                        (!pt.isPositiveFacing() && child.isPlus())) {

                    if (max == null) {
                        max = pt;
                    }
                } else if (min == null) {
                    min = pt;
                }

                child = parent;
            }

            visitor.accept(min, max);
        }