@Override public void apply(@Nonnull Vertex vertex) { for (VertexTransform xform : xforms) { xform.apply(vertex); } } });
private @Nullable List<Vertex> createVerticesForDir(BoundingBox refBB, VertexTransform xform) { List<Vertex> result = new ArrayList<Vertex>(24); for (EnumFacing face : EnumFacing.VALUES) { if (face != null) { result.addAll(refBB.getCornersWithUvForFace(face)); } } for (Vertex v : result) { xform.apply(v.xyz); Vector3f normal = v.normal; if (normal != null) { xform.applyToNormal(normal); } } return result; }
@Override public void applyToNormal(@Nonnull Vector3f vec) { for (VertexTransform xform : xforms) { xform.applyToNormal(vec); } }
@Override public void apply(@Nonnull Vector3d vec) { for (VertexTransform xform : xforms) { xform.apply(vec); } }
@Override public void apply(@Nonnull Vertex vertex) { for (VertexTransform xform : xforms) { xform.apply(vertex); } }
public @Nonnull BoundingBox transform(@Nonnull VertexTransform vertexTransform) { Vector3d min = new Vector3d(minX, minY, minZ); Vector3d max = new Vector3d(maxX, maxY, maxZ); vertexTransform.apply(min); vertexTransform.apply(max); return new BoundingBox(Math.min(min.x, max.x), Math.min(min.y, max.y), Math.min(min.z, max.z), Math.max(min.x, max.x), Math.max(min.y, max.y), Math.max(min.z, max.z)); }
if (v != null) { if (xform != null) { xform.apply(v);
protected void setupVertices(@Nonnull BoundingBox bound, @Nullable VertexTransform xForm) { verts[0].set(bound.minX, bound.minY, bound.minZ); verts[1].set(bound.maxX, bound.minY, bound.minZ); verts[2].set(bound.maxX, bound.maxY, bound.minZ); verts[3].set(bound.minX, bound.maxY, bound.minZ); verts[4].set(bound.minX, bound.minY, bound.maxZ); verts[5].set(bound.maxX, bound.minY, bound.maxZ); verts[6].set(bound.maxX, bound.maxY, bound.maxZ); verts[7].set(bound.minX, bound.maxY, bound.maxZ); if (xForm != null) { for (Vector3d vec : verts) { if (vec != null) { xForm.apply(vec); } } } }
void setupVertices(BoundingBox bound, VertexTransform xForm) { verts[0].set(bound.minX, bound.minY, bound.minZ); verts[1].set(bound.maxX, bound.minY, bound.minZ); verts[2].set(bound.maxX, bound.maxY, bound.minZ); verts[3].set(bound.minX, bound.maxY, bound.minZ); verts[4].set(bound.minX, bound.minY, bound.maxZ); verts[5].set(bound.maxX, bound.minY, bound.maxZ); verts[6].set(bound.maxX, bound.maxY, bound.maxZ); verts[7].set(bound.minX, bound.maxY, bound.maxZ); if (xForm != null) { for (Vector3d vec : verts) { if (vec != null) { xForm.apply(vec); } } } }