Project

General

Profile

« Previous | Next » 

Revision d55d2c6a

Added by Leszek Koltunski over 3 years ago

Clenups.

View differences:

src/main/java/org/distorted/objectlib/main/Cubit.java
76 76
    float xd,yd,zd,wd;
77 77
    float diff, mindiff = Float.MAX_VALUE;
78 78
    int ret=0;
79
    int num_quats = mParent.OBJECT_QUATS.length;
79
    int num_quats = mParent.mObjectQuats.length;
80 80
    Static4D qt;
81 81

  
82 82
    for(int q=0; q<num_quats; q++)
83 83
      {
84
      qt = mParent.OBJECT_QUATS[q];
84
      qt = mParent.mObjectQuats[q];
85 85

  
86 86
      xd = x - qt.get0();
87 87
      yd = y - qt.get1();
......
155 155
    for(int axis=0; axis<mNumAxis; axis++)
156 156
      {
157 157
      result += (mRotationRow[axis]<<accumulativeShift);
158
      accumulativeShift += mParent.SHIFT;
158
      accumulativeShift += mParent.mMaxNumLayers;
159 159
      }
160 160

  
161 161
    return result;
......
182 182

  
183 183
  int removeRotationNow(Static4D quat)
184 184
    {
185
    Static4D q = QuatHelper.quatMultiply(quat,mParent.OBJECT_QUATS[mQuatIndex]);
185
    Static4D q = QuatHelper.quatMultiply(quat,mParent.mObjectQuats[mQuatIndex]);
186 186
    mQuatIndex = normalizeScrambleQuat(q);
187 187

  
188 188
    modifyCurrentPosition(quat);
......
206 206
    mParent = null;
207 207
    }
208 208

  
209
///////////////////////////////////////////////////////////////////////////////////////////////////
210
// this is only needed for MODE_REPLACE objects (i.e. - currently - CUBE_3), so it is enough to only
211
// take into consideration the first position.
212

  
213
  float getDistSquared(float[] point)
214
    {
215
    float dx = mCurrentPosition[0] - point[0];
216
    float dy = mCurrentPosition[1] - point[1];
217
    float dz = mCurrentPosition[2] - point[2];
218

  
219
    return dx*dx + dy*dy + dz*dz;
220
    }
221

  
222 209
///////////////////////////////////////////////////////////////////////////////////////////////////
223 210

  
224 211
  public int getRotRow(int axisIndex)
src/main/java/org/distorted/objectlib/main/ObjectPreRender.java
198 198
    {
199 199
    mAddRotation = false;
200 200

  
201
    if( mNewObject.NUM_AXIS>mAddRotationAxis )
201
    if( mNewObject.mNumAxis > mAddRotationAxis )
202 202
      {
203 203
      mAddRotationID = mNewObject.addNewRotation( mAddRotationAxis, mAddRotationRowBitmap,
204 204
                                                  mAddRotationAngle, mAddRotationDuration, this);
src/main/java/org/distorted/objectlib/main/TwistyObject.java
93 93
  private static final int POST_ROTATION_MILLISEC = 500;
94 94

  
95 95
  protected float[][] mStickerCoords;
96
  int NUM_AXIS, SHIFT;
97
  Static4D[] OBJECT_QUATS;
96
  int mNumAxis, mMaxNumLayers;
97
  Static4D[] mObjectQuats;
98 98

  
99 99
  private int[][] mStickerVariants;
100 100
  private float[] mStickerScales;
......
179 179
    mSolvedFunctionIndex = getSolvedFunctionIndex();
180 180

  
181 181
    int numAxis = mAxis.length;
182
    SHIFT = -1;
182
    mMaxNumLayers = -1;
183 183

  
184 184
    mCuts = getCuts(mNumLayers);
185 185
    mNumCuts = new int[numAxis];
186 186
    for(int i=0; i<numAxis; i++)
187 187
      {
188
      if( SHIFT<mNumLayers[i] ) SHIFT = mNumLayers[i];
188
      if( mMaxNumLayers<mNumLayers[i] ) mMaxNumLayers = mNumLayers[i];
189 189
      mNumCuts[i] = (mCuts==null || mCuts[i]==null ? 0 : mCuts[i].length);
190 190
      }
191 191

  
192 192
    mNumCubits = mOrigPos.length;
193 193
    mNumFaceColors = getNumFaceColors();
194
    NUM_AXIS = mAxis.length;
194
    mNumAxis = mAxis.length;
195 195

  
196
    OBJECT_QUATS = getQuats();
197
    mNumQuats = OBJECT_QUATS.length;
196
    mObjectQuats = getQuats();
197
    mNumQuats = mObjectQuats.length;
198 198

  
199 199
    int scramblingType = getScrambleType();
200 200
    ScrambleState[] states = getScrambleStates();
201
    mScrambler = new TwistyObjectScrambler(scramblingType,NUM_AXIS,mNumLayers,states);
201
    mScrambler = new TwistyObjectScrambler(scramblingType, mNumAxis,mNumLayers,states);
202 202

  
203 203
    boolean bandaged=false;
204 204

  
......
239 239

  
240 240
    for( int q=0; q<mNumQuats; q++)
241 241
      {
242
      VertexEffectQuaternion vq = new VertexEffectQuaternion(OBJECT_QUATS[q],CENTER);
242
      VertexEffectQuaternion vq = new VertexEffectQuaternion(mObjectQuats[q],CENTER);
243 243
      vq.setMeshAssociation(0,q);
244 244
      mEffects.apply(vq);
245 245
      }
......
354 354

  
355 355
      for(int i=0; i<mNumCubits; i++)
356 356
        {
357
        mCubits[i] = new Cubit(this,mOrigPos[i], NUM_AXIS);
357
        mCubits[i] = new Cubit(this,mOrigPos[i], mNumAxis);
358 358
        mMesh.setEffectAssociation(i, mCubits[i].computeAssociation(), 0);
359 359
        }
360 360
      }
......
364 364

  
365 365
      for(int i=0; i<mNumCubits; i++)
366 366
        {
367
        mCubits[i] = new Cubit(this,mOrigPos[i], NUM_AXIS);
367
        mCubits[i] = new Cubit(this,mOrigPos[i], mNumAxis);
368 368
        cubitMesh[i] = createCubitMesh(i,mNumLayers,meshState,mNumCubitFaces);
369 369
        Static3D pos = getPos(mOrigPos[i]);
370 370
        cubitMesh[i].apply(new MatrixEffectMove(pos),1,0);
......
591 591
    float MAXDIFF = 0.01f;
592 592
    float[] center= mOrigPos[centerNum];
593 593
    Static4D sc = new Static4D(center[0], center[1], center[2], 1.0f);
594
    Static4D result = QuatHelper.rotateVectorByQuat(sc,OBJECT_QUATS[quatNum]);
594
    Static4D result = QuatHelper.rotateVectorByQuat(sc,mObjectQuats[quatNum]);
595 595

  
596 596
    float x = result.get0();
597 597
    float y = result.get1();
......
898 898

  
899 899
  int mulQuat(int q1, int q2)
900 900
    {
901
    Static4D result = QuatHelper.quatMultiply(OBJECT_QUATS[q1],OBJECT_QUATS[q2]);
901
    Static4D result = QuatHelper.quatMultiply(mObjectQuats[q1],mObjectQuats[q2]);
902 902

  
903 903
    float rX = result.get0();
904 904
    float rY = result.get1();
......
910 910

  
911 911
    for(int i=0; i<mNumQuats; i++)
912 912
      {
913
      dX = OBJECT_QUATS[i].get0() - rX;
914
      dY = OBJECT_QUATS[i].get1() - rY;
915
      dZ = OBJECT_QUATS[i].get2() - rZ;
916
      dW = OBJECT_QUATS[i].get3() - rW;
913
      dX = mObjectQuats[i].get0() - rX;
914
      dY = mObjectQuats[i].get1() - rY;
915
      dZ = mObjectQuats[i].get2() - rZ;
916
      dW = mObjectQuats[i].get3() - rW;
917 917

  
918 918
      if( dX<MAX_ERROR && dX>-MAX_ERROR &&
919 919
          dY<MAX_ERROR && dY>-MAX_ERROR &&
920 920
          dZ<MAX_ERROR && dZ>-MAX_ERROR &&
921 921
          dW<MAX_ERROR && dW>-MAX_ERROR  ) return i;
922 922

  
923
      dX = OBJECT_QUATS[i].get0() + rX;
924
      dY = OBJECT_QUATS[i].get1() + rY;
925
      dZ = OBJECT_QUATS[i].get2() + rZ;
926
      dW = OBJECT_QUATS[i].get3() + rW;
923
      dX = mObjectQuats[i].get0() + rX;
924
      dY = mObjectQuats[i].get1() + rY;
925
      dZ = mObjectQuats[i].get2() + rZ;
926
      dW = mObjectQuats[i].get3() + rW;
927 927

  
928 928
      if( dX<MAX_ERROR && dX>-MAX_ERROR &&
929 929
          dY<MAX_ERROR && dY>-MAX_ERROR &&
......
1030 1030
      mRotationAngle.resetToBeginning();
1031 1031
      mRotationAngle.add(new Static1D(0));
1032 1032
      mRotationAngle.add(new Static1D(angle));
1033
      mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*SHIFT) , -1);
1033
      mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*mMaxNumLayers) , -1);
1034 1034
      mRotateEffect.notifyWhenFinished(listener);
1035 1035

  
1036 1036
      return mRotateEffect.getID();
......
1050 1050

  
1051 1051
  synchronized void beginNewRotation(int axis, int row )
1052 1052
    {
1053
    if( axis<0 || axis>=NUM_AXIS )
1053
    if( axis<0 || axis>=mNumAxis )
1054 1054
      {
1055 1055
      android.util.Log.e("object", "invalid rotation axis: "+axis);
1056 1056
      return;
......
1066 1066
    mRotationAngleStatic.set0(0.0f);
1067 1067
    mRotationAxis.set( mAxis[axis] );
1068 1068
    mRotationAngle.add(mRotationAngleStatic);
1069
    mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*SHIFT) , -1);
1069
    mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*mMaxNumLayers) , -1);
1070 1070
    }
1071 1071

  
1072 1072
///////////////////////////////////////////////////////////////////////////////////////////////////
......
1147 1147

  
1148 1148
      if( mQuatDebug[i]>=0 && mQuatDebug[i]<mNumQuats )
1149 1149
        {
1150
        mCubits[i].modifyCurrentPosition(OBJECT_QUATS[mQuatDebug[i]]);
1150
        mCubits[i].modifyCurrentPosition(mObjectQuats[mQuatDebug[i]]);
1151 1151
        mMesh.setEffectAssociation(i, mCubits[i].computeAssociation(),mQuatDebug[i]);
1152 1152
        }
1153 1153
      else

Also available in: Unified diff