private void createDoorGraphics() { // graphics - door List<Point2D> doorPoints = new ArrayList<Point2D>(); doorPoints.add(new Point2D()); doorPoints.add(new Point2D(widthX, 0.0)); doorPoints.add(new Point2D(widthX, depthY)); doorPoints.add(new Point2D(0.0, depthY)); doorLinkGraphics.addExtrudedPolygon(doorPoints, heightZ, defaultColor); doorLink.setLinkGraphics(doorLinkGraphics); }
private static Link randomBody(Random random) { Link ret = new Link("floatingBody"); ret.setMass(random.nextDouble()); ret.setComOffset(random.nextDouble(), random.nextDouble(), random.nextDouble()); ret.setMomentOfInertia(getRotationalInertiaMatrixOfSolidEllipsoid(ret.getMass(), random.nextDouble(), random.nextDouble(), random.nextDouble())); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(COORDINATE_SYSTEM_LENGTH); createInertiaEllipsoid(ret, linkGraphics, YoAppearance.Orange()); ret.setLinkGraphics(linkGraphics); return ret; }
private Link base(String name) { Link ret = new Link(name); ret.setMass(0.1); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(0.5); ret.setLinkGraphics(linkGraphics); return ret; }
public void addJointAxis(FloatingRootJointRobot valkyrieRobot) { ArrayList<OneDegreeOfFreedomJoint> joints = new ArrayList<>(Arrays.asList(valkyrieRobot.getOneDegreeOfFreedomJoints())); for (OneDegreeOfFreedomJoint joint : joints) { Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(0.5); linkGraphics.combine(joint.getLink().getLinkGraphics()); joint.getLink().setLinkGraphics(linkGraphics); } }
private Link boxLink(Graphics3DObject linkGraphics, double length, double width, double height, double mass) { Link ret = new Link("box"); ret.setMass(mass); ret.setMomentOfInertia(RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidBox(length, width, height, mass)); ret.setComOffset(0.0, 0.0, 0.0); // linkGraphics.translate(0.0, 0.0, -height / 2.0); // linkGraphics.addCube(length, width, height, YoAppearance.EarthTexture(null)); ret.setLinkGraphics(linkGraphics); return ret; }
private Link exampleArcTorusShape() { Link ret = new Link("exampleArcTorusShape"); Graphics3DObject linkGraphics = new Graphics3DObject(); // ArcTorus linkGraphics.translate(OFFSET, 0.0, 0.0); linkGraphics.addCoordinateSystem(COORD_LENGTH); linkGraphics.addArcTorus(ARC_TORUS_START_ANG, ARC_TORUS_END_ANG, ARC_TORUS_MAJ_RAD, ARC_TORUS_MIN_RAD, YoAppearance.DarkRed()); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link hip_differential() { Link ret = new Link("hip_differential"); ret.setMass(0.1); ret.setMomentOfInertia(0.005, 0.005, 0.005); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCube(HIP_DIFFERENTIAL_WIDTH, HIP_DIFFERENTIAL_WIDTH, HIP_DIFFERENTIAL_HEIGHT); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link ankle_differential() { Link ret = new Link("ankle_differential"); ret.setMass(0.1); ret.setMomentOfInertia(0.005, 0.005, 0.005); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCube(ANKLE_DIFFERENTIAL_WIDTH, ANKLE_DIFFERENTIAL_WIDTH, ANKLE_DIFFERENTIAL_HEIGHT); ret.setLinkGraphics(linkGraphics); return ret; }
private Link exampleConeShape() { Link ret = new Link("exampleArcTorusShape"); Graphics3DObject linkGraphics = new Graphics3DObject(); // Cone linkGraphics.translate(OFFSET, 0.0, 0.0); linkGraphics.addCoordinateSystem(COORD_LENGTH); linkGraphics.addCone(CONE_H, CONE_R, YoAppearance.DarkGreen()); ret.setLinkGraphics(linkGraphics); return ret; }
private Link ball(double radius, double mass, AppearanceDefinition color) { Link ret = new Link("ball"); ret.setMass(mass); ret.setMomentOfInertia(RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, radius, radius, radius)); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addSphere(radius, color); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link shin() { AppearanceDefinition shinApp = YoAppearance.Red(); Link ret = new Link("shin"); ret.setMass(SHIN_MASS); // 0.864); ret.setMomentOfInertia(0.00429, 0.00429, 0.00106); ret.setComOffset(0.0, 0.0, -SHIN_LENGTH / 2.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCylinder(SHIN_LENGTH, SHIN_RAD, shinApp); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link link11(Random random, double l1, double r1) { Link ret = new Link("link11"); ret.setMass(random.nextDouble()); ret.setComOffset(0.0, 0.0, -l1 / 2.0); ret.setMomentOfInertia(getRotationalInertiaMatrixOfSolidEllipsoid(ret.getMass(), r1, r1, l1 / 2.0)); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(COORDINATE_SYSTEM_LENGTH); createInertiaEllipsoid(ret, linkGraphics, YoAppearance.Red()); ret.setLinkGraphics(linkGraphics); return ret; }
private static Link thigh() { AppearanceDefinition thighApp = YoAppearance.Green(); Link ret = new Link("thigh"); ret.setMass(THIGH_MASS); // 2.35); ret.setMomentOfInertia(0.0437, 0.0437, 0.0054); ret.setComOffset(0.0, 0.0, -THIGH_LENGTH / 2.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCylinder(THIGH_LENGTH, THIGH_RAD, thighApp); ret.setLinkGraphics(linkGraphics); return ret; }
private Link exampleMeshDataShape() { Link ret = new Link("exampleArcTorusShape"); Graphics3DObject linkGraphics = new Graphics3DObject(); // Mesh Data linkGraphics.translate(OFFSET, 0.0, 0.0); linkGraphics.addCoordinateSystem(COORD_LENGTH); MeshDataHolder meshData = MeshDataGenerator.Wedge(WEDGE_X, WEDGE_Y, WEDGE_Z); AppearanceDefinition meshAppearance = YoAppearance.Gold(); linkGraphics.addMeshData(meshData, meshAppearance); ret.setLinkGraphics(linkGraphics); return ret; }
private Link lowerArm() { Link link = new Link("upperArm"); Graphics3DObject linkGraphics = new Graphics3DObject(); link.setLinkGraphics(linkGraphics); link.setMass(lowerArmMass); link.setComOffset(0.0, 0.0, -0.5*linkLength); link.setMomentOfInertia(lowerArmMass * hopperBodyRadius * hopperBodyRadius, lowerArmMass * hopperBodyRadius * hopperBodyRadius, lowerArmMass * hopperBodyRadius * hopperBodyRadius); if (SHOW_COORDINATE_SYSTEM) linkGraphics.addCoordinateSystem(linkLength * 0.3); linkGraphics.addCube(0.1*linkLength, 0.1*linkLength, -linkLength, YoAppearance.White()); return link; }
private Link upperArm() { Link link = new Link("upperArm"); Graphics3DObject linkGraphics = new Graphics3DObject(); link.setLinkGraphics(linkGraphics); link.setMass(upperArmMass); link.setComOffset(0.0, 0.0, -0.5*linkLength); link.setMomentOfInertia(upperArmMass * hopperBodyRadius * hopperBodyRadius, upperArmMass * hopperBodyRadius * hopperBodyRadius, upperArmMass * hopperBodyRadius * hopperBodyRadius); if (SHOW_COORDINATE_SYSTEM) linkGraphics.addCoordinateSystem(linkLength * 0.3); linkGraphics.addCube(0.1*linkLength, 0.1*linkLength, -linkLength, YoAppearance.Red()); return link; }
private static Link pelvis() { AppearanceDefinition pelvisAppearance = YoAppearance.Blue(); Link ret = new Link("pelvis"); ret.setMass(100.0); ret.setMomentOfInertia(1.0, 1.0, 1.0); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(1.0); linkGraphics.addCylinder(PELVIS_HEIGHT, PELVIS_RAD, pelvisAppearance); ret.setLinkGraphics(linkGraphics); return ret; }
private Link MS3DMLink() { Link p = new Link("ms3DMLink"); p.setMass(MS3DM_MASS); p.setComOffset(0.0, 0.0, 0.0); p.setMomentOfInertia(0.1, 0.1, 0.1); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(0.1); linkGraphics.addCube(MS3DM_LENGTH, MS3DM_WIDTH, MS3DM_HEIGHT, YoAppearance.Purple()); p.setLinkGraphics(linkGraphics); return p; }
private static Link link22(Link link21) { Link ret = new Link("link22"); ret.setComOffset(link21.getComOffset()); ret.setMass(link21.getMass()); Matrix3D link2moi = new Matrix3D(); link21.getMomentOfInertia(link2moi); ret.setMomentOfInertia(link2moi); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addCoordinateSystem(COORDINATE_SYSTEM_LENGTH); createInertiaEllipsoid(ret, linkGraphics, YoAppearance.Aqua()); ret.setLinkGraphics(linkGraphics); return ret; }
public void attachFaceCube() { Link faceLink = new Link("FaceLink"); Graphics3DObject faceGraphics = new Graphics3DObject(); faceGraphics.scale(new Vector3D(3.0, 3.0, 0.1)); faceGraphics.addModelFile("models/GFE/ihmc/face_cube.dae"); faceLink.setLinkGraphics(faceGraphics); FloatingJoint faceJoint = new FloatingJoint("FaceJoint", "faceJoint" , new Vector3D(), this); faceJoint.setRotationAndTranslation(new RigidBodyTransform(new AxisAngle(new Vector3D(0.0, 1.0, 0.0), - Math.PI / 2.0), new Vector3D(1.1, 0.0, 1.3))); faceJoint.setLink(faceLink); faceJoint.setDynamic(false); floatingJoint.addJoint(faceJoint); }