SpaceControl-DLL/Cube_Demo/cube_demo/CubeSide.java
2025-06-28 12:44:20 +02:00

129 lines
No EOL
4 KiB
Java

package cube_demo;
import javax.media.j3d.Appearance;
import javax.media.j3d.Geometry;
import javax.media.j3d.Material;
import javax.media.j3d.QuadArray;
import javax.media.j3d.Shape3D;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3f;
class CubeSide extends Shape3D {
private Geometry mGeom;
private Appearance mApr;
public CubeSide(int paramInt) {
this.mGeom = createGeometry(paramInt);
this.mApr = createAppearance(paramInt);
setGeometry(this.mGeom);
setAppearance(this.mApr);
}
private Geometry createGeometry(int paramInt) {
int i = 7;
int j = i * i * 4;
QuadArray quadArray = new QuadArray(j, 7);
int k = 0;
int m = 0;
Point3d point3d = new Point3d();
Color3f color3f1 = new Color3f(1.0F, 1.0F, 0.0F);
Color3f color3f2 = new Color3f(0.0F, 0.0F, 0.0F);
Vector3f vector3f = new Vector3f(0.0F, 0.0F, 1.0F);
int n = 0;
double d = 2.0D / i;
while (m < i) {
double d1 = -1.0D + m * d;
while (k < i) {
double d2 = -1.0D + k * d;
Color3f color3f = isEye(paramInt, k, m) ? color3f2 : color3f1;
point3d.set(d2, d1, 0.0D);
quadArray.setColor(n, color3f);
quadArray.setNormal(n, vector3f);
quadArray.setCoordinate(n++, point3d);
point3d.set(d2 + d, d1, 0.0D);
quadArray.setColor(n, color3f);
quadArray.setNormal(n, vector3f);
quadArray.setCoordinate(n++, point3d);
point3d.set(d2 + d, d1 + d, 0.0D);
quadArray.setColor(n, color3f);
quadArray.setNormal(n, vector3f);
quadArray.setCoordinate(n++, point3d);
point3d.set(d2, d1 + d, 0.0D);
quadArray.setColor(n, color3f);
quadArray.setNormal(n, vector3f);
quadArray.setCoordinate(n++, point3d);
k++;
}
k = 0;
m++;
}
return (Geometry)quadArray;
}
private boolean isEye(int paramInt1, int paramInt2, int paramInt3) {
switch (paramInt1) {
case 1:
if (paramInt2 == 3 && paramInt3 == 3)
return true;
break;
case 2:
if ((paramInt2 == 1 && paramInt3 == 1) || (paramInt2 == 5 && paramInt3 == 5))
return true;
break;
case 3:
if ((paramInt2 == 1 && paramInt3 == 1) || (paramInt2 == 3 && paramInt3 == 3) || (paramInt2 == 5 && paramInt3 == 5))
return true;
break;
case 4:
if ((paramInt2 == 1 && paramInt3 == 1) || (paramInt2 == 1 && paramInt3 == 5) || (paramInt2 == 5 && paramInt3 == 1) || (paramInt2 == 5 && paramInt3 == 5))
return true;
break;
case 5:
if ((paramInt2 == 1 && paramInt3 == 1) || (paramInt2 == 1 && paramInt3 == 5) || (paramInt2 == 3 && paramInt3 == 3) || (paramInt2 == 5 && paramInt3 == 1) || (paramInt2 == 5 && paramInt3 == 5))
return true;
break;
case 6:
if ((paramInt2 == 1 && paramInt3 == 1) || (paramInt2 == 1 && paramInt3 == 5) || (paramInt2 == 1 && paramInt3 == 3) || (paramInt2 == 5 && paramInt3 == 3) || (paramInt2 == 5 && paramInt3 == 1) || (paramInt2 == 5 && paramInt3 == 5))
return true;
break;
}
return false;
}
private Appearance createAppearance(int paramInt) {
Appearance appearance = new Appearance();
Material material = new Material();
Color3f color3f = new Color3f();
switch (paramInt) {
case 1:
color3f.set(0.3F, 0.0F, 0.0F);
break;
case 2:
color3f.set(0.0F, 0.3F, 0.0F);
break;
case 3:
color3f.set(0.0F, 0.0F, 0.3F);
break;
case 4:
color3f.set(0.3F, 0.3F, 0.0F);
break;
case 5:
color3f.set(0.0F, 0.3F, 0.3F);
break;
case 6:
color3f.set(0.3F, 0.0F, 0.3F);
break;
}
material.setAmbientColor(color3f);
appearance.setMaterial(material);
return appearance;
}
}
/* Location: /opt/SpaceControl/Cube_Demo.jar!/cube_demo/CubeSide.class
* Java compiler version: 8 (52.0)
* JD-Core Version: 1.2.1
*/