143 lines
No EOL
3.6 KiB
Java
143 lines
No EOL
3.6 KiB
Java
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 Base {
|
|
private final float mWidth = 1.0F;
|
|
|
|
private final float mScale = 1.0F;
|
|
|
|
private final Vector3d mNullVec = new Vector3d(0.0D, 0.5D, 0.0D);
|
|
|
|
private BranchGroup mBrGrp = new BranchGroup();
|
|
|
|
private TransformGroup mBaseTfGrp;
|
|
|
|
private TransformGroup mUpperArmTfGrp = new TransformGroup();
|
|
|
|
private UpperArm mUpperArm = new UpperArm();
|
|
|
|
private double mAngle;
|
|
|
|
private Transform3D mRotTf = new Transform3D();
|
|
|
|
public BranchGroup getBrGrp() {
|
|
return this.mBrGrp;
|
|
}
|
|
|
|
public void incUpperArmAngle() {
|
|
this.mUpperArm.incAngle();
|
|
}
|
|
|
|
public void decUpperArmAngle() {
|
|
this.mUpperArm.decAngle();
|
|
}
|
|
|
|
public void incForeArmAngle() {
|
|
this.mUpperArm.incForeArmAngle();
|
|
}
|
|
|
|
public void decForeArmAngle() {
|
|
this.mUpperArm.decForeArmAngle();
|
|
}
|
|
|
|
public void incWristAngle() {
|
|
this.mUpperArm.incWristAngle();
|
|
}
|
|
|
|
public void decWristAngle() {
|
|
this.mUpperArm.decWristAngle();
|
|
}
|
|
|
|
public void incHandAngle() {
|
|
this.mUpperArm.incHandAngle();
|
|
}
|
|
|
|
public void decHandAngle() {
|
|
this.mUpperArm.decHandAngle();
|
|
}
|
|
|
|
public void incHandSpan() {
|
|
this.mUpperArm.incHandSpan();
|
|
}
|
|
|
|
public void decHandSpan() {
|
|
this.mUpperArm.decHandSpan();
|
|
}
|
|
|
|
public void incUpperArmAngle(double paramDouble) {
|
|
this.mUpperArm.incAngle(paramDouble);
|
|
}
|
|
|
|
public void incForeArmAngle(double paramDouble) {
|
|
this.mUpperArm.incForeArmAngle(paramDouble);
|
|
}
|
|
|
|
public void incWristAngle(double paramDouble) {
|
|
this.mUpperArm.incWristAngle(paramDouble);
|
|
}
|
|
|
|
public void incHandAngle(double paramDouble) {
|
|
this.mUpperArm.incHandAngle(paramDouble);
|
|
}
|
|
|
|
public void incHandSpan(double paramDouble) {
|
|
this.mUpperArm.incHandSpan(paramDouble);
|
|
}
|
|
|
|
public Base(TransformGroup paramTransformGroup) {
|
|
Box box = new Box(0.5F, 0.5F, 0.25F, 1, null);
|
|
Material material = new Material();
|
|
Appearance appearance = new Appearance();
|
|
Transform3D transform3D = new Transform3D();
|
|
Vector3d vector3d = new Vector3d();
|
|
this.mBaseTfGrp = paramTransformGroup;
|
|
this.mBaseTfGrp.addChild((Node)box);
|
|
this.mUpperArmTfGrp.addChild((Node)this.mUpperArm.getBrGrp());
|
|
this.mBaseTfGrp.addChild((Node)this.mUpperArmTfGrp);
|
|
this.mBrGrp.addChild((Node)this.mBaseTfGrp);
|
|
vector3d.set(0.0D, 0.5D, 0.0D);
|
|
transform3D.setTranslation(vector3d);
|
|
this.mBaseTfGrp.setTransform(transform3D);
|
|
vector3d.set(0.5D, 0.875D, 0.25D);
|
|
transform3D.setTranslation(vector3d);
|
|
this.mUpperArmTfGrp.setTransform(transform3D);
|
|
material.setDiffuseColor(1.0F, 0.0F, 0.0F);
|
|
material.setAmbientColor(0.4F, 0.0F, 0.0F);
|
|
appearance.setMaterial(material);
|
|
box.setAppearance(appearance);
|
|
this.mBaseTfGrp.setCapability(18);
|
|
}
|
|
|
|
public void incBaseAngle() {
|
|
rotateBase(0.02D);
|
|
}
|
|
|
|
private void rotateBase(double paramDouble) {
|
|
this.mAngle += paramDouble;
|
|
this.mRotTf.rotY(this.mAngle);
|
|
this.mRotTf.setTranslation(this.mNullVec);
|
|
this.mBaseTfGrp.setTransform(this.mRotTf);
|
|
}
|
|
|
|
public void incBaseAngle(double paramDouble) {
|
|
rotateBase(paramDouble);
|
|
}
|
|
|
|
public void decBaseAngle() {
|
|
rotateBase(-0.02D);
|
|
}
|
|
}
|
|
|
|
|
|
/* Location: /opt/SpaceControl/Roboter_Demo.jar!/roboter_demo/Base.class
|
|
* Java compiler version: 8 (52.0)
|
|
* JD-Core Version: 1.2.1
|
|
*/ |