package org.goko.tools.autoleveler.bean; import java.util.List; import org.goko.core.common.exception.GkException; import org.goko.core.common.measure.quantity.Length; import org.goko.core.common.utils.IIdBean; import org.goko.core.math.Tuple6b; public interface IHeightMap extends IIdBean{ /** * Indicates if this map has already been probed against real surface * @return <code>true</code> if it was probed, <code>false</code> otherwise */ boolean isProbed(); /** * Returns the offset at the given position * @param x the X position of the location point * @param y the Y position of the location point * @return the height * @throws GkException GkException */ Length getHeight(Length x, Length y) throws GkException; /** * Splits a segment matching this offset map. * The returned point are ordered from start to end. * A point is created every time the given segment requires offset compensation. * @param start the start point of the segment * @param end the end point of the segment * @return a list of Tuple6b * @throws GkException GkException */ List<Tuple6b> splitSegment(Tuple6b start, Tuple6b end) throws GkException; }