View Javadoc
1   package org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model;
2   
3   import static org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.Mandelbrot2JuliaState.*;
4   
5   /**
6    * Mandelbrot Set drawn by a Turing Machine.
7    *
8    * (C) 2006 - 2015 Thomas Woehlke.
9    * https://thomas-woehlke.blogspot.com/2016/01/mandelbrot-set-drawn-by-turing-machine.html
10   * @author Thomas Woehlke
11   *
12   * Created by tw on 16.12.2019.
13   */
14  public class Mandelbrot2JuliaStateMachine {
15  
16      private volatile Mandelbrot2JuliaState applicationState;
17  
18      public Mandelbrot2JuliaStateMachine() {
19          this.applicationState = Mandelbrot2JuliaState.MANDELBROT;
20      }
21  
22      public void click(){
23          Mandelbrot2JuliaState nextApplicationState = null;
24          switch (applicationState){
25              case MANDELBROT:
26                  nextApplicationState = JULIA_SET;
27                  break;
28              case JULIA_SET:
29                  nextApplicationState = MANDELBROT;
30                  break;
31          }
32          this.setApplicationState(nextApplicationState);
33      }
34  
35      /*
36      public void setModeSwitch() {
37          ApplicationState nextApplicationState = this.applicationState;
38          switch (applicationState){
39              case MANDELBROT:
40              case JULIA_SET:
41                  break;
42          }
43          this.setApplicationState(nextApplicationState);
44      }
45       */
46  
47      public Mandelbrot2JuliaState getApplicationState() {
48          return applicationState;
49      }
50  
51      public void setApplicationState(Mandelbrot2JuliaState applicationState) {
52          this.applicationState = applicationState;
53      }
54  
55  }