VertexSorting.java
com.mojang.blaze3d.vertex.VertexSorting
信息
- 全限定名:com.mojang.blaze3d.vertex.VertexSorting
- 类型:public interface
- 包:com.mojang.blaze3d.vertex
- 源码路径:src/main/java/com/mojang/blaze3d/vertex/VertexSorting.java
- 起始行号:L11
- 职责:
TODO
字段/常量
-
DISTANCE_TO_ORIGIN- 类型:
VertexSorting - 修饰符:
package-private - 源码定位:
L12 - 说明:
TODO
- 类型:
-
ORTHOGRAPHIC_Z- 类型:
VertexSorting - 修饰符:
package-private - 源码定位:
L13 - 说明:
TODO
- 类型:
内部类/嵌套类型
com.mojang.blaze3d.vertex.VertexSorting.DistanceFunction- 类型:
interface - 修饰符:
public - 源码定位:
L42 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
static VertexSorting byDistance(float x, float y, float z) @ L15
- 方法名:byDistance
- 源码定位:L15
- 返回类型:VertexSorting
- 修饰符:static
参数:
- x: float
- y: float
- z: float
说明:
TODO
static VertexSorting byDistance(Vector3fc origin) @ L19
- 方法名:byDistance
- 源码定位:L19
- 返回类型:VertexSorting
- 修饰符:static
参数:
- origin: Vector3fc
说明:
TODO
static VertexSorting byDistance(VertexSorting.DistanceFunction function) @ L23
- 方法名:byDistance
- 源码定位:L23
- 返回类型:VertexSorting
- 修饰符:static
参数:
- function: VertexSorting.DistanceFunction
说明:
TODO
int[] sort(CompactVectorArray points) @ L38
- 方法名:sort
- 源码定位:L38
- 返回类型:int[]
- 修饰符:package-private
参数:
- points: CompactVectorArray
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public interface VertexSorting {
VertexSorting DISTANCE_TO_ORIGIN = byDistance(0.0F, 0.0F, 0.0F);
VertexSorting ORTHOGRAPHIC_Z = byDistance(point -> -point.z());
static VertexSorting byDistance(float x, float y, float z) {
return byDistance(new Vector3f(x, y, z));
}
static VertexSorting byDistance(Vector3fc origin) {
return byDistance(origin::distanceSquared);
}
static VertexSorting byDistance(VertexSorting.DistanceFunction function) {
return values -> {
Vector3f scratch = new Vector3f();
float[] keys = new float[values.size()];
int[] indices = new int[values.size()];
for (int i = 0; i < values.size(); indices[i] = i++) {
keys[i] = function.apply(values.get(i, scratch));
}
IntArrays.mergeSort(indices, (o1, o2) -> Floats.compare(keys[o2], keys[o1]));
return indices;
};
}
int[] sort(CompactVectorArray points);
@FunctionalInterface
@OnlyIn(Dist.CLIENT)
public interface DistanceFunction {
float apply(Vector3f value);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Floats.compare()
- 引用位置: