GraphEditable.java 793 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package holeg.interfaces;
  2. import java.util.LinkedList;
  3. import holeg.utility.Vector2Float;
  4. /**
  5. * Interface for all Elements that have a Graph to edit it state over time.
  6. * @author Tom Troppmann
  7. *
  8. */
  9. public interface GraphEditable {
  10. /**
  11. * all types of graphs
  12. */
  13. public static enum GraphType {
  14. boolGraph, doubleGraph
  15. }
  16. /**
  17. * Determine what type the Graph have.
  18. * @return the type of the Graph
  19. */
  20. GraphType getGraphType();
  21. /**
  22. * Getter for the graph.
  23. * @return The list of all graph points.
  24. */
  25. LinkedList<Vector2Float> getStateGraph();
  26. /**
  27. * Sample the Graph on the object.
  28. */
  29. void sampleGraph();
  30. /**
  31. * Resets the Graph two the initial start
  32. * e.g. the Point Left and Right at 100%
  33. */
  34. void reset();
  35. }