GraphEditable.java 809 B

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