import javax.media.j3d.GeometryArray; import javax.media.j3d.LineArray; public class cube_creation { public static LineArray ccr(float cube_pts[][]) { float[][] cube_edges = new float[24][3]; int offset = 0; for(int i=0; i<7; i++) { for(int j=i+1; j<8; j++) { int counter = 0; if(cube_pts[i][0]==cube_pts[j][0]) counter++; if(cube_pts[i][1]==cube_pts[j][1]) counter++; if(cube_pts[i][2]==cube_pts[j][2]) counter++; if(counter==2) { for(int l=0; l<3; l++) { cube_edges[offset+0][l]=cube_pts[i][l]; cube_edges[offset+1][l]=cube_pts[j][l]; } offset+=2; } } } LineArray cube = new LineArray(cube_edges.length,GeometryArray.COORDINATES|GeometryArray.BY_REFERENCE|GeometryArray.ALLOW_REF_DATA_WRITE); for(int i=0; i<cube_edges.length; i++) { cube.setCoordinate(i, cube_edges[i]); } /*System.out.println("cube pts length = " + cube_pts.length); for(int i=0; i<cube_pts.length; i++) { System.out.print(i + ") "); for(int j=0; j<3; j++) { System.out.print(cube_pts[i][j] + " "); } System.out.println(); } System.out.println("cube edges length = " + cube_edges.length); for(int i=0; i<cube_edges.length; i++) { System.out.print(i + ") "); for(int j=0; j<3; j++) { System.out.print(cube_edges[i][j] + " "); } System.out.println(); } */ return cube; } }