Revision 0a48b96c
Added by Leszek Koltunski almost 4 years ago
| src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java | ||
|---|---|---|
| 289 | 289 |  | 
| 290 | 290 | private void createMesh() | 
| 291 | 291 |       {
 | 
| 292 |       int mode            =20;
 | |
| 292 |       int mode            =18;
 | |
| 293 | 293 | int numComponents = 0; | 
| 294 | 294 | float[][] vertices = null; | 
| 295 | 295 | int[][] vertIndexes = null; | 
| ... | ... | |
| 1298 | 1298 | else if( mode==18 ) | 
| 1299 | 1299 |         {
 | 
| 1300 | 1300 | final float CUT = 1.0f/6; | 
| 1301 |         final float LEN = 3*SQ2/2;
 | |
| 1301 |         final float LEN = 1.5f;
 | |
| 1302 | 1302 |  | 
| 1303 | final float A = CUT*LEN; | |
| 1304 |         final float B = A-LEN;
 | |
| 1303 |         final float A = SQ2*CUT*LEN;
 | |
| 1304 |         final float B =   2*CUT*LEN;
 | |
| 1305 | 1305 |  | 
| 1306 | 1306 | vertices = new float[][] | 
| 1307 | 1307 |           {
 | 
| 1308 |              {    0,    0,    0},
 | |
| 1309 |              {    0,    A,   -A},
 | |
| 1310 |              {    0,   -A,   -A},
 | |
| 1311 |              {    A,    0,   -A},
 | |
| 1312 |              {   -A,    0,   -A},
 | |
| 1313 |              {    A,    A, -2*A},
 | |
| 1314 |              {    A,   -A, -2*A},
 | |
| 1315 |              {   -A,    A, -2*A},
 | |
| 1316 |              {   -A,   -A, -2*A},
 | |
| 1317 |              {    A,    A,    B},
 | |
| 1318 |              {    A,   -A,    B},
 | |
| 1319 |              {   -A,    A,    B},
 | |
| 1320 |              {   -A,   -A,    B}
 | |
| 1308 |              {    0.01f,    0.01f,    0},
 | |
| 1309 |              {    A,    A,   -A},
 | |
| 1310 |              {    A,   -A,   -A},
 | |
| 1311 |              {    B,    0,    0},
 | |
| 1312 |              {    0,    0,   -B},
 | |
| 1313 |              {  A+B,    A,   -A},
 | |
| 1314 |              {  A+B,   -A,   -A},
 | |
| 1315 |              {    A,    A, -A-B},
 | |
| 1316 |              {    A,   -A, -A-B},
 | |
| 1317 |  | |
| 1318 |              {  LEN      ,    A, SQ2*A-LEN},
 | |
| 1319 |              {  LEN      ,   -A, SQ2*A-LEN},
 | |
| 1320 |              {  LEN-SQ2*A,    A,      -LEN},
 | |
| 1321 |              {  LEN-SQ2*A,   -A,      -LEN}
 | |
| 1321 | 1322 | }; | 
| 1322 | 1323 |  | 
| 1323 | 1324 | vertIndexes = new int[][] | 
| ... | ... | |
| 1337 | 1338 |          bandIndexes   = new int[] { 0,0,0,0,1,1,1,1,1 };
 | 
| 1338 | 1339 |          corners       = new float[][] { {0.03f,0.10f} };
 | 
| 1339 | 1340 |          cornerIndexes = new int[] { 0,-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1 };
 | 
| 1340 |          centers       = new float[][] { {0.0f, 0.0f, -LEN/2} };
 | |
| 1341 |          centers       = new float[][] { { LEN/2, 0.0f, -LEN/2} };
 | |
| 1341 | 1342 |          centerIndexes = new int[] { 0,-1,-1,-1,-1,0,0,0,0,-1,-1,-1,-1 };
 | 
| 1342 | 1343 |  | 
| 1343 | 1344 | numComponents = 9; | 
| ... | ... | |
| 1348 | 1349 | else if( mode==19 ) | 
| 1349 | 1350 |         {
 | 
| 1350 | 1351 | final float CUT = 1.0f/6; | 
| 1351 |         final float LEN = 3*SQ2/2;
 | |
| 1352 |         final float LEN = 1.5f;
 | |
| 1352 | 1353 |  | 
| 1353 | final float A = CUT*LEN; | |
| 1354 |         final float B = A-LEN;
 | |
| 1354 |         final float A = SQ2*CUT*LEN;
 | |
| 1355 |         final float C = LEN-2*LEN*CUT;
 | |
| 1355 | 1356 |  | 
| 1356 | 1357 | vertices = new float[][] | 
| 1357 | 1358 |           {
 | 
| 1358 |              {    A-LEN/2,    0,   -A+LEN/2},
 | |
| 1359 |              {    A-LEN/2,    A, -2*A+LEN/2},
 | |
| 1360 |              {    A-LEN/2,   -A, -2*A+LEN/2},
 | |
| 1361 |              {   -B-LEN/2,    0,    B+LEN/2},
 | |
| 1362 |              { -B-A-LEN/2,    A,    B+LEN/2},
 | |
| 1363 |              { -B-A-LEN/2,   -A,    B+LEN/2},
 | |
| 1364 |              {    A-LEN/2,    A,    B+LEN/2},
 | |
| 1365 |              {    A-LEN/2,   -A,    B+LEN/2},
 | |
| 1359 |              {    -C,    0,   0},
 | |
| 1360 |              {  -C+A,    A,  -A},
 | |
| 1361 |              {  -C+A,   -A,  -A},
 | |
| 1362 |              {     C,    0,   0},
 | |
| 1363 |              {   C-A,    A,  -A},
 | |
| 1364 |              {   C-A,   -A,  -A},
 | |
| 1365 |              {     0,    A,  -C},
 | |
| 1366 |              {     0,   -A,  -C},
 | |
| 1366 | 1367 | }; | 
| 1367 | 1368 |  | 
| 1368 | 1369 | vertIndexes = new int[][] | 
| ... | ... | |
| 1379 | 1380 |         bandIndexes  = new int[] { 0,0,1,1,1,1 };
 | 
| 1380 | 1381 |         corners      = new float[][] { {0.02f,0.10f} };
 | 
| 1381 | 1382 |         cornerIndexes= new int[] { 0,0,0,0,0,0,-1,-1 };
 | 
| 1382 |         centers      = new float[][] { {-LEN/4, 0, -LEN/4} };
 | |
| 1383 |         centers      = new float[][] { { 0, 0, -LEN/2} };
 | |
| 1383 | 1384 |         centerIndexes= new int[] { 0,0,0,0,0,0,-1,-1 };
 | 
| 1384 | 1385 |  | 
| 1385 | 1386 | numComponents = 9; | 
| ... | ... | |
| 1390 | 1391 | else if( mode==20 ) | 
| 1391 | 1392 |         {
 | 
| 1392 | 1393 | final float CUT = 1.0f/6; | 
| 1393 |         final float LEN = 3*SQ2/2;
 | |
| 1394 |         final float LEN = 1.5f;
 | |
| 1394 | 1395 |  | 
| 1395 | final float A = CUT*LEN; | |
| 1396 | final float B = A-LEN; | |
| 1396 | final float A = SQ2*CUT*LEN; | |
| 1397 | final float C = LEN-2*LEN*CUT; | |
| 1398 | final float L = C-A; | |
| 1397 | 1399 |  | 
| 1398 | 1400 | vertices = new float[][] | 
| 1399 | 1401 |           {
 | 
| 1400 |              {   A-LEN/3,   A-LEN/3, -2*A+2*LEN/3},
 | |
| 1401 |              {-B-A-LEN/3,   A-LEN/3,    B+2*LEN/3},
 | |
| 1402 |              {   A-LEN/3,-B-A-LEN/3,    B+2*LEN/3},
 | |
| 1403 |              {   A-LEN/3,   A-LEN/3,    B+2*LEN/3},
 | |
| 1402 |              { -L, -(SQ2/3)*L,   L/3 },
 | |
| 1403 |              {  L, -(SQ2/3)*L,   L/3 },
 | |
| 1404 |              {  0,(2*SQ2/3)*L,-2*L/3 },
 | |
| 1405 |              {  0, -(SQ2/3)*L,-2*L/3 },
 | |
| 1404 | 1406 | }; | 
| 1405 | 1407 |  | 
| 1406 | 1408 | vertIndexes = new int[][] | 
| ... | ... | |
| 1415 | 1417 |         bandIndexes  = new int[] { 0,1,1,1 };
 | 
| 1416 | 1418 |         corners      = new float[][] { {0.02f,0.10f} };
 | 
| 1417 | 1419 |         cornerIndexes= new int[] { 0,0,0,-1 };
 | 
| 1418 |         centers      = new float[][] { {(A-LEN/3)/2 , (A-LEN/3)/2 , (B-LEN/3)/2} };
 | |
| 1420 |         centers      = new float[][] { {0, -(SQ2/3)*L,-2*L/3} };
 | |
| 1419 | 1421 |         centerIndexes= new int[] { 0,0,0,-1 };
 | 
| 1420 | 1422 |  | 
| 1421 | 1423 | numComponents = 9; | 
Also available in: Unified diff
Trajber's Octahedron: progress.