Project

General

Profile

« Previous | Next » 

Revision be7c9190

Added by Leszek Koltunski over 2 years ago

Abstract out some methods from the Movement classes. only two remain now: rowFromOffset and enabledAxis.

View differences:

src/main/java/org/distorted/objects/MovementJing.java
19 19

  
20 20
package org.distorted.objects;
21 21

  
22
import org.distorted.library.type.Static3D;
23

  
24 22
import static org.distorted.objects.TwistyJing.F;
25 23

  
26 24
///////////////////////////////////////////////////////////////////////////////////////////////////
27 25

  
28
class MovementJing extends Movement
26
class MovementJing extends Movement4
29 27
{
30
  static final float DIST3D = SQ6/12;
31
  static final float DIST2D = SQ3/6;
32

  
33
  static final Static3D[] FACE_AXIS = new Static3D[]
34
         {
35
           new Static3D(     0,+SQ3/3,+SQ6/3),
36
           new Static3D(     0,+SQ3/3,-SQ6/3),
37
           new Static3D(-SQ6/3,-SQ3/3,     0),
38
           new Static3D(+SQ6/3,-SQ3/3,     0),
39
         };
40

  
41
///////////////////////////////////////////////////////////////////////////////////////////////////
42

  
43 28
  MovementJing()
44 29
    {
45
    super(TwistyJing.ROT_AXIS, FACE_AXIS, DIST3D, DIST2D);
30
    super(TwistyJing.ROT_AXIS);
46 31
    }
47 32

  
48 33
///////////////////////////////////////////////////////////////////////////////////////////////////
......
52 37
    return offset < (SQ3/4)*F ? 0:1;
53 38
    }
54 39

  
55
///////////////////////////////////////////////////////////////////////////////////////////////////
56

  
57
  public float returnRotationFactor(int numLayers, int row)
58
    {
59
    return 1.0f;
60
    }
61

  
62
///////////////////////////////////////////////////////////////////////////////////////////////////
63

  
64
  boolean isInsideFace(int face, float[] p)
65
    {
66
    float y = (face > 1 ? p[1] : -p[1]);
67
    float x = p[0];
68
    return (y >= -DIST2D) && (y <= 2*DIST2D-SQ3*x) && (y <= 2*DIST2D+SQ3*x);
69
    }
70

  
71 40
///////////////////////////////////////////////////////////////////////////////////////////////////
72 41

  
73 42
  void computeEnabledAxis(int face, float[] touchPoint, int[] enabled)

Also available in: Unified diff