Project

General

Profile

« Previous | Next » 

Revision 3e605536

Added by Leszek Koltunski over 2 years ago

Finally remove cubit creation from the implementation classes and move it to the TwistyObject.

View differences:

src/main/java/org/distorted/objects/TwistyObject.java
29 29

  
30 30
import org.distorted.helpers.FactoryCubit;
31 31
import org.distorted.helpers.FactorySticker;
32
import org.distorted.helpers.ObjectShape;
32 33
import org.distorted.helpers.ObjectSticker;
33 34
import org.distorted.helpers.QuatHelper;
34 35
import org.distorted.library.effect.Effect;
......
287 288
      }
288 289
    }
289 290

  
291
///////////////////////////////////////////////////////////////////////////////////////////////////
292

  
293
  private MeshBase createCubitMesh(int cubit, int numLayers)
294
    {
295
    int variant = getCubitVariant(cubit,numLayers);
296

  
297
    if( mMeshes==null )
298
      {
299
      FactoryCubit factory = FactoryCubit.getInstance();
300
      factory.clear();
301
      mMeshes = new MeshBase[getNumCubitVariants(numLayers)];
302
      }
303

  
304
    if( mMeshes[variant]==null )
305
      {
306
      ObjectShape shape = getObjectShape(cubit,numLayers);
307
      FactoryCubit factory = FactoryCubit.getInstance();
308
      factory.createNewFaceTransform(shape);
309
      mMeshes[variant] = factory.createRoundedSolid(shape);
310
      }
311

  
312
    MeshBase mesh = mMeshes[variant].copy(true);
313
    MatrixEffectQuaternion quat = new MatrixEffectQuaternion( getQuat(cubit,numLayers), new Static3D(0,0,0) );
314
    mesh.apply(quat,0xffffffff,0);
315

  
316
    return mesh;
317
    }
318

  
290 319
///////////////////////////////////////////////////////////////////////////////////////////////////
291 320

  
292 321
  public void setObjectRatio(float sizeChange)
......
974 1003
  abstract int getNumFaces();
975 1004
  abstract int getNumStickerTypes(int numLayers);
976 1005
  abstract int getNumCubitFaces();
977
  abstract MeshBase createCubitMesh(int cubit, int numLayers);
978 1006
  abstract ObjectSticker retSticker(int face);
979 1007
  abstract int getColor(int face);
980 1008
  abstract int getFaceColor(int cubit, int cubitface, int numLayers);
981 1009
  abstract float returnMultiplier();
982 1010
  abstract float[][] getCuts(int numLayers);
983 1011
  abstract boolean shouldResetTextureMaps();
1012
  abstract int getCubitVariant(int cubit, int numLayers);
1013
  abstract int getNumCubitVariants(int numLayers);
1014
  abstract Static4D getQuat(int cubit, int numLayers);
1015
  abstract ObjectShape getObjectShape(int cubit, int numLayers);
984 1016

  
985 1017
  public abstract Static3D[] getRotationAxis();
986 1018
  public abstract boolean isSolved();

Also available in: Unified diff