129 lines
No EOL
4 KiB
Java
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
|
|
*/ |