package roboter_demo; import com.sun.j3d.utils.geometry.Box; import javax.media.j3d.Appearance; import javax.media.j3d.BranchGroup; import javax.media.j3d.Material; import javax.media.j3d.Node; import javax.media.j3d.Transform3D; import javax.media.j3d.TransformGroup; import javax.vecmath.Vector3d; class UpperArm { private final float mWidth = 0.25F; private final float mLength = 1.0F; private final float mScale = 1.0F; private final Vector3d mTransTo = new Vector3d(0.0D, 0.375D, 0.0D); private final Vector3d mTransFro = new Vector3d(0.0D, -0.375D, 0.0D); private BranchGroup mBrGrp = new BranchGroup(); private TransformGroup mTfGrp = new TransformGroup(); private TransformGroup mForeArmTfGrp = new TransformGroup(); private ForeArm mForeArm = new ForeArm(); private double mAngle; private Transform3D mRotTf = new Transform3D(); private Transform3D mTrnTf = new Transform3D(); private Transform3D mResTf = new Transform3D(); public BranchGroup getBrGrp() { return this.mBrGrp; } public void incForeArmAngle() { this.mForeArm.incAngle(); } public void decForeArmAngle() { this.mForeArm.decAngle(); } public void incWristAngle() { this.mForeArm.incWristAngle(); } public void decWristAngle() { this.mForeArm.decWristAngle(); } public void incHandAngle() { this.mForeArm.incHandAngle(); } public void decHandAngle() { this.mForeArm.decHandAngle(); } public void incHandSpan() { this.mForeArm.incHandSpan(); } public void decHandSpan() { this.mForeArm.decHandSpan(); } public void incForeArmAngle(double paramDouble) { this.mForeArm.incAngle(paramDouble); } public void incWristAngle(double paramDouble) { this.mForeArm.incWristAngle(paramDouble); } public void incHandAngle(double paramDouble) { this.mForeArm.incHandAngle(paramDouble); } public void incHandSpan(double paramDouble) { this.mForeArm.incHandSpan(paramDouble); } public UpperArm() { Box box = new Box(0.125F, 0.5F, 0.125F, 1, null); Material material = new Material(); Appearance appearance = new Appearance(); Transform3D transform3D = new Transform3D(); Vector3d vector3d = new Vector3d(); this.mTfGrp.addChild((Node)box); this.mForeArmTfGrp.addChild((Node)this.mForeArm.getBrGrp()); this.mTfGrp.addChild((Node)this.mForeArmTfGrp); this.mBrGrp.addChild((Node)this.mTfGrp); vector3d.set(0.0D, 0.75D, -0.25D); transform3D.setTranslation(vector3d); this.mForeArmTfGrp.setTransform(transform3D); material.setDiffuseColor(1.0F, 0.0F, 1.0F); material.setAmbientColor(0.4F, 0.0F, 0.4F); appearance.setMaterial(material); box.setAppearance(appearance); this.mTfGrp.setCapability(18); rotate(0.0D); } public void incAngle() { rotate(0.02D); } private void rotate(double paramDouble) { this.mAngle += paramDouble; this.mRotTf.rotZ(this.mAngle); this.mResTf.setIdentity(); this.mTrnTf.setTranslation(this.mTransFro); this.mResTf.mul(this.mTrnTf); this.mResTf.mul(this.mRotTf); this.mTrnTf.setTranslation(this.mTransTo); this.mResTf.mul(this.mTrnTf); this.mTfGrp.setTransform(this.mResTf); } public void incAngle(double paramDouble) { rotate(paramDouble); } public void decAngle() { rotate(-0.02D); } } /* Location: /opt/SpaceControl/Roboter_Demo.jar!/roboter_demo/UpperArm.class * Java compiler version: 8 (52.0) * JD-Core Version: 1.2.1 */