Spaces:
Build error
Build error
package com.mojang.math; | |
import java.util.Arrays; | |
import net.minecraft.Util; | |
import org.joml.Matrix3f; | |
public enum SymmetricGroup3 { | |
P123(0, 1, 2), | |
P213(1, 0, 2), | |
P132(0, 2, 1), | |
P231(1, 2, 0), | |
P312(2, 0, 1), | |
P321(2, 1, 0); | |
private final int[] permutation; | |
private final Matrix3f transformation; | |
private static final int ORDER = 3; | |
private static final SymmetricGroup3[][] cayleyTable = Util.make(new SymmetricGroup3[values().length][values().length], p_109188_ -> { | |
for (SymmetricGroup3 symmetricgroup3 : values()) { | |
for (SymmetricGroup3 symmetricgroup31 : values()) { | |
int[] aint = new int[3]; | |
for (int i = 0; i < 3; i++) { | |
aint[i] = symmetricgroup3.permutation[symmetricgroup31.permutation[i]]; | |
} | |
SymmetricGroup3 symmetricgroup32 = Arrays.stream(values()).filter(p_175577_ -> Arrays.equals(p_175577_.permutation, aint)).findFirst().get(); | |
p_109188_[symmetricgroup3.ordinal()][symmetricgroup31.ordinal()] = symmetricgroup32; | |
} | |
} | |
}); | |
private SymmetricGroup3(final int p_109176_, final int p_109177_, final int p_109178_) { | |
this.permutation = new int[]{p_109176_, p_109177_, p_109178_}; | |
this.transformation = new Matrix3f(); | |
this.transformation.set(this.permutation(0), 0, 1.0F); | |
this.transformation.set(this.permutation(1), 1, 1.0F); | |
this.transformation.set(this.permutation(2), 2, 1.0F); | |
} | |
public SymmetricGroup3 compose(SymmetricGroup3 p_109183_) { | |
return cayleyTable[this.ordinal()][p_109183_.ordinal()]; | |
} | |
public int permutation(int p_109181_) { | |
return this.permutation[p_109181_]; | |
} | |
public Matrix3f transformation() { | |
return this.transformation; | |
} | |
} |