src/main/java/org/a05annex/util/geo2d/KochanekBartelsSpline.java
public void deleteControlPoint(@NotNull ControlPoint controlPoint) {
        // shift the time of any point past the one to be deleted.
        if (null == controlPoint.m_last) {
            throw new IllegalStateException("The initial point of a path cannot be deleted.");
        }

        // now delete the point (remove it from the list)
        controlPoint.m_last.m_next = controlPoint.m_next;
        if (null != controlPoint.m_next) {
            controlPoint.m_next.m_last = controlPoint.m_last;
        } else {
            // This is the last point being deleted
            m_last = controlPoint.m_last;
        }

        // and reset the derivatives for the surrounding points.
        if (controlPoint.m_last != null) {
            controlPoint.m_last.updateLocationDerivatives();
            controlPoint.m_last.updateHeadingDerivative();
        }
        if (controlPoint.m_next != null) {
            controlPoint.m_next.updateLocationDerivatives();
            controlPoint.m_next.updateHeadingDerivative();
        }
    }
/**
     * Delete the specified control point. The first control point cannot be deleted. When a control point is
     * deleted there are no changes to adjacent control points except for the re-computation of derivatives
     * at adjacent control points if they have not been specifically set..
     *
     * @param controlPoint The control point to be deleted.
     */
Delete the specified control point. The first control point cannot be deleted. When a control point is
deleted there are no changes to adjacent control points except for the re-computation of derivatives
at adjacent control points if they have not been specifically set

@param controlPoint The control point to be deleted.
Delete the specified control point . The first control point cannot be deleted . When a control point is deleted there are no changes to adjacent control points except for the re - computation of derivatives at adjacent control points if they have not been specifically set @param controlPoint The control point to be deleted .
public void deleteControlPoint(@NotNull ControlPoint controlPoint) {
        if (null == controlPoint.m_last) {
            throw new IllegalStateException("The initial point of a path cannot be deleted.");
        }
        controlPoint.m_last.m_next = controlPoint.m_next;
        if (null != controlPoint.m_next) {
            controlPoint.m_next.m_last = controlPoint.m_last;
        } else {
            m_last = controlPoint.m_last;
        }
        if (controlPoint.m_last != null) {
            controlPoint.m_last.updateLocationDerivatives();
            controlPoint.m_last.updateHeadingDerivative();
        }
        if (controlPoint.m_next != null) {
            controlPoint.m_next.updateLocationDerivatives();
            controlPoint.m_next.updateHeadingDerivative();
        }
    }
public void deleteControlPoint ( @ NotNull ControlPoint controlPoint ) { if ( null == controlPoint . m_last ) { throw new IllegalStateException ( "The initial point of a path cannot be deleted." ) ; } controlPoint . m_last . m_next = controlPoint . m_next ; if ( null != controlPoint . m_next ) { controlPoint . m_next . m_last = controlPoint . m_last ; } else { m_last = controlPoint . m_last ; } if ( controlPoint . m_last != null ) { controlPoint . m_last . updateLocationDerivatives ( ) ; controlPoint . m_last . updateHeadingDerivative ( ) ; } if ( controlPoint . m_next != null ) { controlPoint . m_next . updateLocationDerivatives ( ) ; controlPoint . m_next . updateHeadingDerivative ( ) ; } }
Delete the specified control point.
Delete the specified control point .
// shift the time of any point past the one to be deleted. // now delete the point (remove it from the list) // This is the last point being deleted // and reset the derivatives for the surrounding points.