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

99 lines
No EOL
3.4 KiB
Java

package cube_demo;
import com.sun.j3d.utils.geometry.Cone;
import com.sun.j3d.utils.geometry.Cylinder;
import java.awt.Font;
import javax.media.j3d.Appearance;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Font3D;
import javax.media.j3d.FontExtrusion;
import javax.media.j3d.Geometry;
import javax.media.j3d.Material;
import javax.media.j3d.Node;
import javax.media.j3d.Shape3D;
import javax.media.j3d.Text3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Vector3d;
class Axis {
private BranchGroup mBrGrp = new BranchGroup();
public BranchGroup getBrGrp() {
return this.mBrGrp;
}
public Axis(int paramInt) {
float f = 0.05F;
Cylinder cylinder = new Cylinder(f, 1.0F);
Cone cone = new Cone(f * 2.0F, f * 3.0F);
TransformGroup transformGroup1 = new TransformGroup();
TransformGroup transformGroup2 = new TransformGroup();
TransformGroup transformGroup3 = new TransformGroup();
TransformGroup transformGroup4 = new TransformGroup();
Vector3d vector3d = new Vector3d();
Transform3D transform3D1 = new Transform3D();
Transform3D transform3D2 = new Transform3D();
Transform3D transform3D3 = new Transform3D();
Transform3D transform3D4 = new Transform3D();
Transform3D transform3D5 = new Transform3D();
Material material1 = new Material();
Material material2 = new Material();
Appearance appearance1 = new Appearance();
Appearance appearance2 = new Appearance();
Font3D font3D = new Font3D(new Font("Helvetica", 0, 10), new FontExtrusion());
Text3D text3D = new Text3D(font3D);
Shape3D shape3D = new Shape3D((Geometry)text3D);
transformGroup1.addChild((Node)cylinder);
transformGroup2.addChild((Node)cone);
transformGroup4.addChild((Node)shape3D);
transformGroup3.addChild((Node)transformGroup1);
transformGroup3.addChild((Node)transformGroup2);
transformGroup3.addChild((Node)transformGroup4);
this.mBrGrp.addChild((Node)transformGroup3);
vector3d.set(0.0D, 0.5D, 0.0D);
transform3D1.setTranslation(vector3d);
transformGroup1.setTransform(transform3D1);
vector3d.set(0.0D, 1.0D, 0.0D);
transform3D2.setTranslation(vector3d);
transformGroup2.setTransform(transform3D2);
transform3D5.setIdentity();
switch (paramInt) {
case 0:
transform3D4.rotZ(-1.5707963267948966D);
transform3D5.rotZ(1.5707963267948966D);
text3D.setString("x");
break;
case 1:
text3D.setString("y");
break;
case 2:
transform3D4.rotX(1.5707963267948966D);
transform3D5.rotX(-1.5707963267948966D);
text3D.setString("z");
break;
}
transform3D3.mul(transform3D5);
transform3D3.setScale(0.05D);
vector3d.set(-0.3D, 1.3D, 0.0D);
transform3D3.setTranslation(vector3d);
transformGroup4.setTransform(transform3D3);
transformGroup3.setTransform(transform3D4);
material1.setDiffuseColor(1.0F, 1.0F, 0.0F);
material1.setShininess(128.0F);
appearance1.setMaterial(material1);
cylinder.setAppearance(appearance1);
material2.setDiffuseColor(1.0F, 1.0F, 0.0F);
material2.setShininess(128.0F);
appearance2.setMaterial(material1);
cone.setAppearance(appearance2);
shape3D.setAppearance(appearance1);
this.mBrGrp.compile();
}
}
/* Location: /opt/SpaceControl/Cube_Demo.jar!/cube_demo/Axis.class
* Java compiler version: 8 (52.0)
* JD-Core Version: 1.2.1
*/