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

77 lines
No EOL
2.5 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.media.j3d.TransparencyAttributes;
import javax.vecmath.Color4f;
import javax.vecmath.Point3d;
import javax.vecmath.TexCoord2f;
class Floor extends Shape3D {
private final int mGridNum = 8;
private Geometry mGeom = createGeometry();
private Appearance mApr = createAppearance();
public Floor() {
setAppearance(this.mApr);
setGeometry(this.mGeom);
}
private Geometry createGeometry() {
QuadArray quadArray = new QuadArray(1040, 15);
Point3d point3d = new Point3d();
TexCoord2f texCoord2f = new TexCoord2f();
Color4f color4f1 = new Color4f(1.0F, 0.0F, 0.0F, 1.0F);
Color4f color4f2 = new Color4f(0.157F, 0.5F, 1.0F, 0.8F);
Color4f color4f3 = new Color4f(1.0F, 1.0F, 1.0F, 0.8F);
Color4f color4f4 = color4f2;
int i = 0;
float[] arrayOfFloat = new float[3];
arrayOfFloat[0] = 0.0F;
arrayOfFloat[1] = 1.0F;
arrayOfFloat[2] = 0.0F;
for (int j = -8; j < 8; j++) {
for (int k = -8; k < 8; k++) {
point3d.set(k, 0.0D, j);
quadArray.setCoordinate(i, point3d);
quadArray.setColor(i, color4f4);
quadArray.setNormal(i++, arrayOfFloat);
point3d.set(k, 0.0D, (j + 1));
quadArray.setCoordinate(i, point3d);
quadArray.setColor(i, color4f4);
quadArray.setNormal(i++, arrayOfFloat);
point3d.set((k + 1), 0.0D, (j + 1));
quadArray.setCoordinate(i, point3d);
quadArray.setColor(i, color4f4);
quadArray.setNormal(i++, arrayOfFloat);
point3d.set((k + 1), 0.0D, j);
quadArray.setCoordinate(i, point3d);
quadArray.setColor(i, color4f4);
quadArray.setNormal(i++, arrayOfFloat);
color4f4 = (color4f4 == color4f2) ? color4f3 : color4f2;
}
color4f4 = (color4f4 == color4f2) ? color4f3 : color4f2;
}
return (Geometry)quadArray;
}
private Appearance createAppearance() {
Appearance appearance = new Appearance();
Material material = new Material();
TransparencyAttributes transparencyAttributes = new TransparencyAttributes(1, 0.0F);
appearance.setMaterial(material);
appearance.setTransparencyAttributes(transparencyAttributes);
return appearance;
}
}
/* Location: /opt/SpaceControl/Cube_Demo.jar!/cube_demo/Floor.class
* Java compiler version: 8 (52.0)
* JD-Core Version: 1.2.1
*/