package interfaces; public interface IGraphedElement { public static final boolean STRETCH_BY_DEFAULT=false; public static final int STANDARD_GRAPH_ACCURACY=100; /** * Sets the local period of the element. * If the simulation has 100 steps and the local period is 50, * then there will be two full cycles during the simulation. * @param period The local period for this element. */ void setLocalPeriod(int period); /** * Used to query the local period of an element. * @return The local period of this element. * This should return the set local period, * which may be anything, even if the component is set to be "stretching", * that is, * acting as if the local period was the same * as the number of total iterations for this simulation. */ int getLocalPeriod(); /** * @return Whether the given graph points * should be stretched(or compressed) over the entire simulation. * as opposed to repeated once the period is over. */ boolean isStretching(); /** * Adjusts whether the element should act * as if local period was the same as the simulation's number of iterations. * @param stretch */ void setStretching(boolean stretch); }