Project

General

Profile

Download (5.99 KB) Statistics
| Branch: | Revision:

distorted-objectlib / src / main / java / org / distorted / objectlib / objects / TwistyBandaged2Bar.java @ 5f54927b

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2021 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Magic Cube.                                                              //
5
//                                                                                               //
6
// Magic Cube is free software: you can redistribute it and/or modify                            //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Magic Cube is distributed in the hope that it will be useful,                                 //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19

    
20
package org.distorted.objectlib.objects;
21

    
22
import java.io.InputStream;
23

    
24
import org.distorted.library.type.Static3D;
25
import org.distorted.library.type.Static4D;
26

    
27
import org.distorted.objectlib.main.ObjectType;
28
import org.distorted.objectlib.scrambling.ScrambleState;
29

    
30
///////////////////////////////////////////////////////////////////////////////////////////////////
31

    
32
public class TwistyBandaged2Bar extends TwistyBandagedAbstract
33
{
34
  public TwistyBandaged2Bar(int[] numL, int meshState, Static4D quat, Static3D move, float scale, InputStream stream)
35
    {
36
    super(numL, meshState, quat, move, scale, stream);
37
    }
38

    
39
///////////////////////////////////////////////////////////////////////////////////////////////////
40

    
41
  public ScrambleState[] getScrambleStates()
42
    {
43
    if( mStates==null )
44
      {
45
      mStates = new ScrambleState[]
46
        {
47
        new ScrambleState( new int[][] { {}, {0,1,1,0,-1,1,2,1,4,2,-1,4}, {} } ),
48
        new ScrambleState( new int[][] { {0,1,1,0,2,1,0,-1,1,1,1,2,1,2,1,1,-1,2,2,1,1,2,2,1,2,-1,1}, {0,2,1,1,1,1,1, 2,1,1,-1,1,2,2,1}, {}} ),
49
        new ScrambleState( new int[][] { {0,1,2,0,2,2,0,-1,2,1,1,1,1,2,2,1,-1,1,2,1,2,2,2,2,2,-1,2}, {}, {0,2,2,1,1,2,1,2,2,1,-1,2,2,2,2} } ),
50
        new ScrambleState( new int[][] { {0,2,3,1,1,3,1, 2,3,1,-1,3,2,2,3}, {}, {0,1,3,0,2,3,0,-1,3,1,1,4,1,2,3,1,-1,4,2,1,3,2,2,3,2,-1,3}} ),
51
        new ScrambleState( new int[][] { {}, {0,2,4,1,1,4,1,2,4,1,-1,4,2,2,4}, {0,1,4,0,2,4,0,-1,4,1,1,3,1,2,4,1,-1,3,2,1,4,2,2,4,2,-1,4} } ),
52
        };
53
      }
54

    
55
    return mStates;
56
    }
57

    
58
///////////////////////////////////////////////////////////////////////////////////////////////////
59

    
60
  float[][] getPositions()
61
    {
62
    if( POSITIONS==null )
63
      {
64
      POSITIONS = new float[][]
65
        {
66
         { 0.0f, +1.0f,  1.0f, 0.0f, +1.0f,  0.0f, 0.0f, +1.0f, -1.0f},
67
         {-1.0f, -1.0f,  0.0f, 0.0f, -1.0f,  0.0f, 1.0f, -1.0f,  0.0f},
68
         {-1.0f, +1.0f, +1.0f},
69
         {-1.0f, +1.0f,  0.0f},
70
         {-1.0f, +1.0f, -1.0f},
71
         {-1.0f,  0.0f, +1.0f},
72
         {-1.0f,  0.0f,  0.0f},
73
         {-1.0f,  0.0f, -1.0f},
74
         {-1.0f, -1.0f, +1.0f},
75
         {-1.0f, -1.0f, -1.0f},
76
         {+1.0f, +1.0f, +1.0f},
77
         {+1.0f, +1.0f,  0.0f},
78
         {+1.0f, +1.0f, -1.0f},
79
         {+1.0f,  0.0f, +1.0f},
80
         {+1.0f,  0.0f,  0.0f},
81
         {+1.0f,  0.0f, -1.0f},
82
         {+1.0f, -1.0f, +1.0f},
83
         {+1.0f, -1.0f, -1.0f},
84
         { 0.0f,  0.0f, +1.0f},
85
         { 0.0f, -1.0f, +1.0f},
86
         { 0.0f,  0.0f, -1.0f},
87
         { 0.0f, -1.0f, -1.0f}
88
        };
89
      }
90

    
91
    return POSITIONS;
92
    }
93

    
94
///////////////////////////////////////////////////////////////////////////////////////////////////
95

    
96
  int[] getQuatIndices()
97
    {
98
    if( QUAT_INDICES==null ) QUAT_INDICES = new int[] { 2 };
99
    return QUAT_INDICES;
100
    }
101

    
102
///////////////////////////////////////////////////////////////////////////////////////////////////
103
// PUBLIC API
104

    
105
  public String getShortName()
106
    {
107
    return ObjectType.BAN2_3.name();
108
    }
109

    
110
///////////////////////////////////////////////////////////////////////////////////////////////////
111

    
112
  public long getSignature()
113
    {
114
    return ObjectType.BAN2_3.ordinal();
115
    }
116

    
117
///////////////////////////////////////////////////////////////////////////////////////////////////
118

    
119
  public String getObjectName()
120
    {
121
    return "2Bar Cube";
122
    }
123

    
124
///////////////////////////////////////////////////////////////////////////////////////////////////
125

    
126
  public String getInventor()
127
    {
128
    return "Unknown";
129
    }
130

    
131
///////////////////////////////////////////////////////////////////////////////////////////////////
132

    
133
  public int getYearOfInvention()
134
    {
135
    return 0;
136
    }
137

    
138
///////////////////////////////////////////////////////////////////////////////////////////////////
139

    
140
  public int getComplexity()
141
    {
142
    return 2;
143
    }
144

    
145
///////////////////////////////////////////////////////////////////////////////////////////////////
146

    
147
  public String[][] getTutorials()
148
    {
149
    return new String[][]{
150
                          {"ru","lS_EK0PMWI8","Как собрать 2-bar Cube","Алексей Ярыгин"},
151
                          {"pl","tX8ubTLh6p8","Bandaged 3x3 (Two bar)","MrUK"},
152
                          {"kr","NE6XuC1r8xw","밴디지 큐브","Denzel Washington"},
153
                         };
154
    }
155
}
(2-2/33)