| 78 | 
  78 | 
  
        private MeshBase mMesh;
 
   | 
  | 79 | 
  79 | 
  
        private long mTime;
 
   | 
  | 80 | 
  80 | 
  
        private float mCurrentScale;
 
   | 
   | 
  81 | 
  
        private boolean mNormals;
 
   | 
  | 81 | 
  82 | 
  
    
 
   | 
  | 82 | 
  83 | 
  
        Static4D mQuat1, mQuat2;
 
   | 
  | 83 | 
  84 | 
  
        int mScreenMin;
 
   | 
  | ... | ... |  | 
  | 94 | 
  95 | 
  
          Static3D center=new Static3D(0,0,0);
 
   | 
  | 95 | 
  96 | 
  
    
 
   | 
  | 96 | 
  97 | 
  
          mCurrentScale = DEFAULT_SCALE;
 
   | 
   | 
  98 | 
  
          mNormals = false;
 
   | 
  | 97 | 
  99 | 
  
    
 
   | 
  | 98 | 
  100 | 
  
          mQuat1 = new Static4D(0,0,0,1);
 
   | 
  | 99 | 
  101 | 
  
          mQuat2 = new Static4D(0,0,0,1);
 
   | 
  | ... | ... |  | 
  | 167 | 
  169 | 
  
          mScale.set(factor,factor,factor);
 
   | 
  | 168 | 
  170 | 
  
          }
 
   | 
  | 169 | 
  171 | 
  
    
 
   | 
   | 
  172 | 
  
    ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   | 
   | 
  173 | 
  
    
 
   | 
   | 
  174 | 
  
        void flipNormals()
 
   | 
   | 
  175 | 
  
          {
   | 
   | 
  176 | 
  
          mNormals = !mNormals;
 
   | 
   | 
  177 | 
  
          if( mMesh!=null ) mMesh.setShowNormals(mNormals);
 
   | 
   | 
  178 | 
  
          }
 
   | 
   | 
  179 | 
  
    
 
   | 
  | 170 | 
  180 | 
  
    ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   | 
  | 171 | 
  181 | 
  
    
 
   | 
  | 172 | 
  182 | 
  
        void open(int resourceID)
 
   | 
  | ... | ... |  | 
  | 297 | 
  307 | 
  
    
 
   | 
  | 298 | 
  308 | 
  
          mMesh = new MeshPolygon(vertices,bands,edgesUp,vertsUp,extraIndex,extraVertices,0.0f,0.0f);
 
   | 
  | 299 | 
  309 | 
  
          mMesh.setEffectAssociation(0,0,0);
 
   | 
  | 300 | 
   | 
  
          mMesh.setShowNormals(true);
 
   | 
  | 301 | 
  310 | 
  
          }
 
   | 
  | 302 | 
  311 | 
  
    
 
   | 
  | 303 | 
  312 | 
  
    ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   | 
  | ... | ... |  | 
  | 346 | 
  355 | 
  
            {
   | 
  | 347 | 
  356 | 
  
            mMesh.setEffectAssociation(i, 0, i);
 
   | 
  | 348 | 
  357 | 
  
            }
 
   | 
  | 349 | 
   | 
  
    
 
   | 
  | 350 | 
   | 
  
         // mMesh.setShowNormals(true);
 
   | 
  | 351 | 
  358 | 
  
          }
 
   | 
  | 352 | 
  359 | 
  
    
 
   | 
  | 353 | 
  360 | 
  
    ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   | 
  | 354 | 
  361 | 
  
    
 
   | 
  | 355 | 
  362 | 
  
        private void createMesh()
 
   | 
  | 356 | 
  363 | 
  
          {
   | 
   | 
  364 | 
  
          /*
 
   | 
  | 357 | 
  365 | 
  
          float A = 2.0f;
 
   | 
  | 358 | 
  366 | 
  
    
 
   | 
  | 359 | 
  367 | 
  
          float[][] vertices =
 
   | 
  | ... | ... |  | 
  | 403 | 
  411 | 
  
          float[][] corners= { {0.036f,0.12f} };
   | 
  | 404 | 
  412 | 
  
          float[][] centers= { {0.0f, 0.0f, 0.0f} };
   | 
  | 405 | 
  413 | 
  
          int[] ind    = { 0,0,-1,-1,-1,-1,-1,-1, 0,0,0,0,0,0,0,0 };
   | 
   | 
  414 | 
  
          */
 
   | 
   | 
  415 | 
  
          float[][] vertices = { {-1.5f, 0.0f, 0.0f},{ 1.5f, 0.0f, 0.0f},{ 0.0f,-1.5f, 0.0f},{ 0.0f, 0.0f,-1.5f},{0,0,0} };
   | 
   | 
  416 | 
  
          int[][][] vertIndices = { {{2,1,4},{4,0,2}},{{3,0,4},{4,1,3}},{{2,3,1}},{{3,2,0}} };
   | 
   | 
  417 | 
  
          float h1 = 0.035f;
 
   | 
   | 
  418 | 
  
          float h2 = 0.010f;
 
   | 
   | 
  419 | 
  
          int angle = 30;
 
   | 
   | 
  420 | 
  
          float R = 0.7f;
 
   | 
   | 
  421 | 
  
          float S = 0.5f;
 
   | 
   | 
  422 | 
  
          int N   = 6;
 
   | 
   | 
  423 | 
  
          int exI = 2;
 
   | 
   | 
  424 | 
  
          int exV = 2;
 
   | 
   | 
  425 | 
  
          float[][] bands  = { {h1,angle,R,S,N,exI,exV}, {h2,angle,R,S,N,exI,exV} };
   | 
   | 
  426 | 
  
          int[] bandIndices= { 0,0,1,1 };
   | 
   | 
  427 | 
  
          float[] convex = null;
 
   | 
   | 
  428 | 
  
          float[][] corners   = { {0.07f,0.40f}, {0.05f,0.30f} };
   | 
   | 
  429 | 
  
          int[] cornerIndices = { 0,0,1,1,-1 };
   | 
   | 
  430 | 
  
          float[][] centers   = { {0.0f, -0.75f, -0.75f} };
   | 
   | 
  431 | 
  
          int[] centerIndices = { 0,0,0,0,-1 };
   | 
  | 406 | 
  432 | 
  
    
 
   | 
  | 407 | 
  433 | 
  
          ObjectShape shape = new ObjectShape(vertices, vertIndices);
 
   | 
  | 408 | 
  434 | 
  
          ObjectFaceShape face = new ObjectFaceShape(bands, bandIndices, convex);
 
   | 
  | 409 | 
   | 
  
          ObjectVertexEffects effects = FactoryCubit.generateVertexEffect(vertices,corners,ind,centers,ind);
 
   | 
   | 
  435 | 
  
          ObjectVertexEffects effects = FactoryCubit.generateVertexEffect(vertices,corners,cornerIndices,centers,centerIndices);
 
   | 
  | 410 | 
  436 | 
  
    
 
   | 
  | 411 | 
  437 | 
  
          int numFaces = shape.getNumFaces();
 
   | 
  | 412 | 
  438 | 
  
          int[] outer = new int[numFaces];
 
   | 
 
Make it possible to control if we can see the normal vectors.