@Override protected void copy(Point3D32 src, Point3D32 dest) { dest.set(src); }
public void getPoint(int index, Point3D32 pointToPack) { pointToPack.set(scan.get(index)); }
private void set(CircleVertices other) { int numberOfVertices = getNumberOfVertices(); for (int i = 0; i < numberOfVertices; i++) { vertices[i].set(other.vertices[i]); normals[i].set(other.normals[i]); } }
public CircleVertices(int numberOfVertices) { vertices = new Point3D32[numberOfVertices]; normals = new Vector3D32[numberOfVertices]; for (int i = 0; i < numberOfVertices; i++) { vertices[i] = new Point3D32(); normals[i] = new Vector3D32(); } for (int i = 0; i < numberOfVertices; i++) { double angle = i / (double) numberOfVertices * 2.0 * Math.PI; double ux = Math.cos(angle); double uy = Math.sin(angle); vertices[i].set(radius * ux, radius * uy, 0.0); normals[i].set(ux, uy, 0.0); } }
@Override public void set(LidarScanCommand other) { timestamp = other.timestamp; lidarPose.setIncludingFrame(other.lidarPose); scan.clear(); for (int i = 0; i < other.scan.size(); i++) scan.add().set(other.scan.get(i)); }
candidateLidarPoint.set(fullPointCloud[i]); worldToCameraTransform.transform(candidateLidarPoint);
vertex.set(vertexBuffer.get(vertexIndex + indexInVertexBuffer)); transform.transform(vertex); vertices[vertexIndex] = vertex;
vertices.add().set(vertex); for (TexCoord2f texturePoint : meshDataHolder.getTexturePoints()) texturePoints.add().set(texturePoint);
/** * Append a mesh to this. * @param other the mesh to append. Not modified. * @param updateTriangleIndices whether the indices of the given mesh should be updated when appended. Highly recommended, set it to false only if you what you are doing. */ public void add(ModifiableMeshDataHolder other, boolean updateTriangleIndices) { if (updateTriangleIndices) { int shift = vertices.size(); for (int i = 0; i < other.triangleIndices.size(); i++) triangleIndices.add(other.triangleIndices.get(i) + shift); } else { triangleIndices.addAll(other.triangleIndices); } for (int i = 0; i < other.vertices.size(); i++) vertices.add().set(other.vertices.get(i)); for (int i = 0; i < other.texturePoints.size(); i++) texturePoints.add().set(other.texturePoints.get(i)); for (int i = 0; i < other.vertexNormals.size(); i++) vertexNormals.add().set(other.vertexNormals.get(i)); } }
public void rotate(Matrix3DReadOnly rotationMatrix) { for (Point3D32 vertex : vertices) { double x = rotationMatrix.getM00() * vertex.getX() + rotationMatrix.getM01() * vertex.getY(); double y = rotationMatrix.getM10() * vertex.getX() + rotationMatrix.getM11() * vertex.getY(); double z = rotationMatrix.getM20() * vertex.getX() + rotationMatrix.getM21() * vertex.getY(); vertex.set(x, y, z); } for (Vector3D32 normal : normals) { double x = rotationMatrix.getM00() * normal.getX() + rotationMatrix.getM01() * normal.getY(); double y = rotationMatrix.getM10() * normal.getX() + rotationMatrix.getM11() * normal.getY(); double z = rotationMatrix.getM20() * normal.getX() + rotationMatrix.getM21() * normal.getY(); normal.set(x, y, z); } }