private static Shape triangles (double[][] points, boolean filled) { int size = points.length; Point3f[] coords = new Point3f[size*3]; for (int i = 0; i < size; i++) { coords[3*i] = new Point3f(createVector3f(points[i][0], points[i][1], points[i][2])); coords[3*i+1] = new Point3f(createVector3f(points[i][3], points[i][4], points[i][5])); coords[3*i+2] = new Point3f(createVector3f(points[i][6], points[i][7], points[i][8])); } GeometryArray geom = new TriangleArray(size*3, TriangleArray.COORDINATES); geom.setCoordinates(0, coords); GeometryInfo geoinfo = new GeometryInfo(geom); NormalGenerator normalGenerator = new NormalGenerator(); normalGenerator.generateNormals(geoinfo); Shape3D shape = createShape3D(geoinfo.getIndexedGeometryArray()); if (filled) return shape(shape); else return wireShape(shape); }
private static Shape triangles (double[][] points, boolean filled) { int size = points.length; Point3f[] coords = new Point3f[size*3]; for (int i = 0; i < size; i++) { coords[3*i] = new Point3f(createVector3f(points[i][0], points[i][1], points[i][2])); coords[3*i+1] = new Point3f(createVector3f(points[i][3], points[i][4], points[i][5])); coords[3*i+2] = new Point3f(createVector3f(points[i][6], points[i][7], points[i][8])); } GeometryArray geom = new TriangleArray(size*3, TriangleArray.COORDINATES); geom.setCoordinates(0, coords); GeometryInfo geoinfo = new GeometryInfo(geom); NormalGenerator normalGenerator = new NormalGenerator(); normalGenerator.generateNormals(geoinfo); Shape3D shape = createShape3D(geoinfo.getIndexedGeometryArray()); if (filled) return shape(shape); else return wireShape(shape); }
triangleArray = new TriangleArray(numberOfTriangles * 3, TriangleArray.COORDINATES | TriangleArray.NORMALS | TriangleArray.COLOR_3); } else { triangleArray = new TriangleArray(numberOfTriangles * 3, TriangleArray.COORDINATES | TriangleArray.NORMALS);
private static Shape triangles (double[][] points, Color[] colors, boolean filled) { int size = points.length; Point3f[] coords = new Point3f[size*3]; for (int i = 0; i < size; i++) { coords[3*i] = new Point3f(createVector3f(points[i][0], points[i][1], points[i][2])); coords[3*i+1] = new Point3f(createVector3f(points[i][3], points[i][4], points[i][5])); coords[3*i+2] = new Point3f(createVector3f(points[i][6], points[i][7], points[i][8])); } GeometryArray geom = new TriangleArray(size*3, TriangleArray.COORDINATES | TriangleArray.COLOR_4); geom.setCoordinates(0, coords); for (int i = 0; i < colors.length; i++) { geom.setColor(3 * i + 0, colors[i].getComponents(null)); geom.setColor(3 * i + 1, colors[i].getComponents(null)); geom.setColor(3 * i + 2, colors[i].getComponents(null)); } GeometryInfo geoinfo = new GeometryInfo(geom); NormalGenerator normalGenerator = new NormalGenerator(); normalGenerator.generateNormals(geoinfo); Shape3D shape = createShape3D(geoinfo.getIndexedGeometryArray()); if (filled) return shape(shape); else return wireShape(shape); }
private static Shape triangles (double[][] points, Color[] colors, boolean filled) { int size = points.length; Point3f[] coords = new Point3f[size*3]; for (int i = 0; i < size; i++) { coords[3*i] = new Point3f(createVector3f(points[i][0], points[i][1], points[i][2])); coords[3*i+1] = new Point3f(createVector3f(points[i][3], points[i][4], points[i][5])); coords[3*i+2] = new Point3f(createVector3f(points[i][6], points[i][7], points[i][8])); } GeometryArray geom = new TriangleArray(size*3, TriangleArray.COORDINATES | TriangleArray.COLOR_4); geom.setCoordinates(0, coords); for (int i = 0; i < colors.length; i++) { geom.setColor(3 * i + 0, colors[i].getComponents(null)); geom.setColor(3 * i + 1, colors[i].getComponents(null)); geom.setColor(3 * i + 2, colors[i].getComponents(null)); } GeometryInfo geoinfo = new GeometryInfo(geom); NormalGenerator normalGenerator = new NormalGenerator(); normalGenerator.generateNormals(geoinfo); Shape3D shape = createShape3D(geoinfo.getIndexedGeometryArray()); if (filled) return shape(shape); else return wireShape(shape); }