int numTexCoords = tMesh.getTexCoords().size() / tMesh.getTexCoordElementSize(); int numFaces = tMesh.getFaces().size() / tMesh.getFaceElementSize(); if (numPoints == 0 || numPoints * tMesh.getPointElementSize() != tMesh.getPoints().size()) { throw new AssertionError("Points array size is not correct: " + tMesh.getPoints().size()); if (numTexCoords == 0 || numTexCoords * tMesh.getTexCoordElementSize() != tMesh.getTexCoords().size()) { throw new AssertionError("TexCoords array size is not correct: " + tMesh.getPoints().size());
ObservableFloatArray texcoords = mesh.getTexCoords(); int texcoordElementSize = mesh.getTexCoordElementSize(); int os = texcoords.size() / texcoordElementSize; check += mesh.getTexCoords().size() / texcoordElementSize;
triangleMesh.getTexCoords().addAll(convertToFloatArray(texturePoints)); triangleMesh.getFaces().addAll(indices); triangleMesh.getFaceSmoothingGroups().addAll(new int[indices.length / triangleMesh.getFaceElementSize()]);
triangleMesh.getTexCoords().addAll(convertToFloatArray(texturePoints)); triangleMesh.getFaces().addAll(indices); triangleMesh.getFaceSmoothingGroups().addAll(new int[indices.length / triangleMesh.getFaceElementSize()]);
(float) firstVertex.pos.z()); mesh.getTexCoords().addAll(0); // texture (not covered) mesh.getTexCoords().addAll(0); (float) secondVertex.pos.z()); mesh.getTexCoords().addAll(0); // texture (not covered) mesh.getTexCoords().addAll(0); mesh.getTexCoords().addAll(0); // texture (not covered) mesh.getTexCoords().addAll(0);
@Override public void run() { Platform.runLater(()->{ synchronized (lockSingles) { boolean firstPoint = meshSingles.getPoints().size() == 0; meshSingles.getPoints().setAll(pointSingles.data, 0, pointSingles.size); meshSingles.getFaces().setAll(facesSingles.data, 0, facesSingles.size); if (firstPoint) { meshSingles.getTexCoords().setAll(texCoords); final MeshView meshView = new MeshView(meshSingles); meshView.setMaterial(new PhongMaterial(Color.RED)); meshView.setDepthTest(DepthTest.ENABLE); meshView.setDrawMode(DrawMode.FILL); meshView.setCullFace(CullFace.BACK); world.getChildren().addAll(meshView); } timerSingles = null; taskSingles = null; } }); } };
mesh.getTexCoords().setAll(texCoords); mesh.getFaces().setAll(faces);
mesh.getTexCoords().setAll(newUVs.toFloatArray()); mesh.getFaces().setAll(((IntegerArrayList) faces.subList(facesStart, faces.size())).toIntArray()); + mesh.getTexCoords().size() / mesh.getTexCoordElementSize() + " uvs, " + mesh.getFaces().size() / mesh.getFaceElementSize() + " faces, " + mesh.getFaceSmoothingGroups().size() + " smoothing groups.");
(float) firstVertex.getLocation().z); mesh.getTexCoords().addAll(0); // texture (not covered) mesh.getTexCoords().addAll(0); (float) secondVertex.getLocation().z); mesh.getTexCoords().addAll(0); // texture (not covered) mesh.getTexCoords().addAll(0); (float) thirdVertex.getLocation().z); mesh.getTexCoords().addAll(0); // texture (not covered) mesh.getTexCoords().addAll(0);
texCoordsDirty = false; triangleMesh.getTexCoords().setAll(0,0); triangleMesh.getTexCoords().setAll(pmesh.getTexCoords());