package gov.nasa.arc.mct.fastplot.bridge; import gov.nasa.arc.mct.fastplot.bridge.PlotConstants.LimitAlarmState; /** * Controls one bounding edge of a plot along one axis. For instance, will auto-expand or * jump, interact with purple arrows... * * A plot may use four of these (one for each edge of the plot) * * @author vwoeltje * */ public interface AbstractAxisBoundManager { /** * Notify the bounds manager that a point has been plotted at a certain time. This * may cause bounds to adjust or purple arrows to appear, as is appropriate to a * given mode. * @param timestamp the time at which the point was plotted * @param value the value that has been plotted */ public void informPointPlottedAtTime(long timestamp, double value); /** * Get the state of the boundary * @return the maximum state */ public LimitAlarmState getState(); /** * Expand to fit the current extremum */ public void expand(); /** * Collapse back to the default bound at this edge. */ public void collapse(); /** * Get the axis that is being managed by this bound. * @return the axis whose edge is being controlled */ public AbstractAxis getAxis(); /** * Whether or not this bound manages the start of the axis (if false, * it must manage the end). Note that this is distinct from "maximum" * or "minimum" * * (Regardless of maximum bound location, the "start" is always the * bottom or left edge of the plot, and the "end" is always the * top or right edge.) * * @return true if the "start" edge is managed; otherwise "false" */ public boolean isStart(); }