Revision 0a48b96c
Added by Leszek Koltunski about 3 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.