Project

General

Profile

« Previous | Next » 

Revision a0b48da6

Added by Leszek Koltunski over 3 years ago

Minor.

View differences:

src/main/java/org/distorted/objects/TwistyIvy.java
94 94
           { 11, 12,12,12,12,12 },
95 95
         };
96 96

  
97
  private static MeshBase mCornerMesh, mFaceMesh;
97
  private static MeshBase[] mMeshes;
98 98

  
99 99
  private static final ObjectSticker[] mStickers;
100 100

  
......
111 111

  
112 112
    float D = (float)(Math.PI/4);
113 113
    final float[][] angles = { { 0,0,D },{ D,D } };
114
    final float[][] radii  = { { 0,0.02f,0 },{ 0.06f,0.06f } };
114
    final float[][] radii  = { { 0,0.04f,0 },{ 0.06f,0.06f } };
115 115
    final float[] strokes = { 0.03f, 0.08f };
116 116

  
117 117
    for(int s=0; s<NUM_STICKERS; s++)
......
227 227

  
228 228
  MeshBase createCubitMesh(int cubit, int numLayers)
229 229
    {
230
    if( mMeshes==null )
231
      {
232
      FactoryCubit factory = FactoryCubit.getInstance();
233
      factory.clear();
234
      mMeshes = new MeshBase[2];
235
      }
236

  
230 237
    MeshBase mesh;
231 238

  
232 239
    if( cubit<4 )
233 240
      {
234
      if( mCornerMesh==null )
241
      if( mMeshes[0]==null )
235 242
        {
236 243
        final float angle = (float)Math.PI/(2*IVY_N);
237 244
        final float CORR  = 1.0f - 2*IVY_D;
......
335 342

  
336 343
        FactoryCubit factory = FactoryCubit.getInstance();
337 344
        factory.createNewFaceTransform(vertices,vertIndexes);
338
        mCornerMesh = factory.createRoundedSolid(vertices, vertIndexes,
339
                                                 bands, bandIndexes,
340
                                                 corners, cornerIndexes,
341
                                                 centers, centerIndexes,
342
                                                 getNumCubitFaces(), convexCenter );
345
        mMeshes[0] = factory.createRoundedSolid(vertices, vertIndexes,
346
                                                bands, bandIndexes,
347
                                                corners, cornerIndexes,
348
                                                centers, centerIndexes,
349
                                                getNumCubitFaces(), convexCenter );
343 350
        }
344
      mesh = mCornerMesh.copy(true);
351
      mesh = mMeshes[0].copy(true);
345 352
      }
346 353
    else
347 354
      {
348
      if( mFaceMesh==null )
355
      if( mMeshes[1]==null )
349 356
        {
350 357
        final float angle = (float)Math.PI/(2*IVY_N);
351 358
        final float CORR  = 1.0f - 2*IVY_D;
......
390 397

  
391 398
        FactoryCubit factory = FactoryCubit.getInstance();
392 399
        factory.createNewFaceTransform(vertices,vert_indices);
393
        mFaceMesh = factory.createRoundedSolid(vertices, vert_indices,
400
        mMeshes[1] = factory.createRoundedSolid(vertices, vert_indices,
394 401
                                                bands, bandIndexes,
395 402
                                                corners, indexes,
396 403
                                                centers, indexes,
397 404
                                                getNumCubitFaces(), null );
398 405
        }
399
      mesh = mFaceMesh.copy(true);
406
      mesh = mMeshes[1].copy(true);
400 407
      }
401 408

  
402 409
    MatrixEffectQuaternion quat = new MatrixEffectQuaternion( QUATS[getQuat(cubit)], new Static3D(0,0,0) );
src/main/java/org/distorted/objects/TwistyRex.java
126 126
           { 13,17, 18,18,18,18 },
127 127
         };
128 128

  
129
  private static MeshBase mCornerMesh, mFaceMesh, mEdgeMesh;
129
  private static MeshBase[] mMeshes;
130 130

  
131 131
  private static final ObjectSticker[] mStickers;
132 132

  
......
332 332

  
333 333
  MeshBase createCubitMesh(int cubit, int numLayers)
334 334
    {
335
    if( mMeshes==null )
336
      {
337
      FactoryCubit factory = FactoryCubit.getInstance();
338
      factory.clear();
339
      mMeshes = new MeshBase[3];
340
      }
341

  
335 342
    MeshBase mesh;
336 343

  
337 344
    if( cubit<24 )
338 345
      {
339
      if( mCornerMesh==null )
346
      if( mMeshes[0]==null )
340 347
        {
341 348
        float G = (1-REX_D)*SQ2/2;
342 349

  
......
368 375

  
369 376
        FactoryCubit factory = FactoryCubit.getInstance();
370 377
        factory.createNewFaceTransform(vertices,vertIndexes);
371
        mCornerMesh = factory.createRoundedSolid(vertices, vertIndexes,
372
                                                 bands, bandIndexes,
373
                                                 corners, indexes,
374
                                                 centers, indexes,
375
                                                 getNumCubitFaces(), null );
378
        mMeshes[0] = factory.createRoundedSolid(vertices, vertIndexes,
379
                                                bands, bandIndexes,
380
                                                corners, indexes,
381
                                                centers, indexes,
382
                                                getNumCubitFaces(), null );
376 383
        }
377
      mesh = mCornerMesh.copy(true);
384
      mesh = mMeshes[0].copy(true);
378 385
      }
379 386
    else if( cubit<30 )
380 387
      {
381
      if( mFaceMesh==null )
388
      if( mMeshes[1]==null )
382 389
        {
383 390
        double[][] vertices =
384 391
          {
......
405 412

  
406 413
        FactoryCubit factory = FactoryCubit.getInstance();
407 414
        factory.createNewFaceTransform(vertices,vertIndexes);
408
        mFaceMesh = factory.createRoundedSolid(vertices, vertIndexes,
415
        mMeshes[1] = factory.createRoundedSolid(vertices, vertIndexes,
409 416
                                               bands, bandIndexes,
410 417
                                               null, indexes,
411 418
                                               null, indexes,
412 419
                                               getNumCubitFaces(), null );
413 420
        }
414
      mesh = mFaceMesh.copy(true);
421
      mesh = mMeshes[1].copy(true);
415 422
      }
416 423
    else
417 424
      {
418
      if( mEdgeMesh==null )
425
      if( mMeshes[2]==null )
419 426
        {
420 427
        float E = 0.5f - REX_D;
421 428
        float F = 0.5f;
......
451 458

  
452 459
        FactoryCubit factory = FactoryCubit.getInstance();
453 460
        factory.createNewFaceTransform(vertices,vertIndexes);
454
        mEdgeMesh = factory.createRoundedSolid(vertices, vertIndexes,
455
                                               bands, bandIndexes,
456
                                               corners, indexes,
457
                                               centers, indexes,
458
                                               getNumCubitFaces(), null );
461
        mMeshes[2] = factory.createRoundedSolid(vertices, vertIndexes,
462
                                                bands, bandIndexes,
463
                                                corners, indexes,
464
                                                centers, indexes,
465
                                                getNumCubitFaces(), null );
459 466
        }
460
      mesh = mEdgeMesh.copy(true);
467
      mesh = mMeshes[2].copy(true);
461 468
      }
462 469

  
463 470
    MatrixEffectQuaternion quat = new MatrixEffectQuaternion( getQuat(cubit), new Static3D(0,0,0) );

Also available in: Unified diff