1   package fi.jyu.mit.graphics;
2   
3   /**
4    * Rajapinta olioille joita voidaan muuntaa matriisilla
5    * @author Vesa Lappalainen
6    * @author Markus Kivioja
7    */
8   public interface Transformable {
9       
10      /**
11       * Muuntaa oliota muunosmatriisilla m
12       * @param m matriisi jolla olion nykyinen muunnosmatrisi kerrotaan
13       * @return muutettu matriisi
14       */
15      Transformable transform(Matrix m);
16      
17      /**
18       * Vaihtaa olion muunnosmatriisiksi m:n
19       * @param m matriisi joka asetetaan olion muunnomatriisiksi
20       */
21      void changeTransform(Matrix m);
22      
23      /**
24       * Asettaa oliolle kiertomatriisin
25       * @param m matriisi joka asetetaan olion kiertomatriisiksi
26       */
27      void setRotator(Matrix m);
28      
29      /**
30       * Antaa olion muunnosmatriisin
31       * @return olion muunnomatriisi
32       */
33      Matrix getTransform();
34      
35      /**
36       * Antaa olion kiertomatriisin
37       * @return olion kiertomatriisi
38       */
39      Matrix getRotator();
40  }
41