private AppearanceDefinition getYoAppearance(RobotQuadrant robotQuadrant) { switch (robotQuadrant) { case FRONT_LEFT: return YoAppearance.White(); case FRONT_RIGHT: return YoAppearance.Yellow(); case HIND_LEFT: return YoAppearance.Blue(); case HIND_RIGHT: return YoAppearance.Black(); default: throw new RuntimeException("bad quad"); } }
/** * Create a Bag of Balls with alternating ball color going through Red, White, and Blue. * * @param numberOfBalls int Number of balls to create. * @param sizeInMeters double Size of each ball in meters. * @param name String Name of the BagOfBalls to create. * @param parentYoVariableRegistry YoVariableRegistry to register the BagOfBalls with. * @param yoGraphicsListRegistry DynamicGraphicObjectsListRegistry to register the BagOfBalls with. * @return BagOfBalls */ public static BagOfBalls createPatrioticBag(int numberOfBalls, double sizeInMeters, String name, YoVariableRegistry parentYoVariableRegistry, YoGraphicsListRegistry yoGraphicsListRegistry) { AppearanceDefinition[] redWhiteBlue = new AppearanceDefinition[] { YoAppearance.Red(), YoAppearance.White(), YoAppearance.Blue() }; ArrayList<AppearanceDefinition> appearances = new ArrayList<AppearanceDefinition>(); for (int i = 0; i < numberOfBalls; i++) { appearances.add(redWhiteBlue[i % redWhiteBlue.length]); } return new BagOfBalls(sizeInMeters, name, appearances, parentYoVariableRegistry, yoGraphicsListRegistry); }
private AppearanceDefinition getYoAppearance(RobotQuadrant robotQuadrant) { switch (robotQuadrant) { case FRONT_LEFT: return YoAppearance.White(); case FRONT_RIGHT: return YoAppearance.Yellow(); case HIND_LEFT: return YoAppearance.Blue(); case HIND_RIGHT: return YoAppearance.Black(); default: throw new RuntimeException("bad quad"); } }
private static void setUpTruss(CombinedTerrainObject3D combinedTerrainObject, double[] newPoint, double trussLength, double trussSide, double courseAngleDeg, AppearanceDefinition color) { AppearanceDefinition overrideColor = YoAppearance.White(); // color; overrideColor.setTransparency(0.95); TrussWithSimpleCollisions truss = new TrussWithSimpleCollisions(newPoint, trussLength, trussSide, courseAngleDeg, overrideColor); combinedTerrainObject.addTerrainObject(truss); }
private static void setUpTruss(CombinedTerrainObject3D combinedTerrainObject, double[] newPoint, double trussLength, double trussSide, double courseAngleDeg, AppearanceDefinition color) { AppearanceDefinition overrideColor = YoAppearance.White(); // color; overrideColor.setTransparency(0.95); TrussWithSimpleCollisions truss = new TrussWithSimpleCollisions(newPoint, trussLength, trussSide, courseAngleDeg, overrideColor); combinedTerrainObject.addTerrainObject(truss); }
/** * Create a Bag of Balls with alternating ball color going through Red, White, and Blue. * * @param numberOfBalls int Number of balls to create. * @param sizeInMeters double Size of each ball in meters. * @param name String Name of the BagOfBalls to create. * @param parentYoVariableRegistry YoVariableRegistry to register the BagOfBalls with. * @param yoGraphicsListRegistry YoGraphicsListRegistry to register the BagOfBalls * with. * @return BagOfBalls */ public static BagOfBalls createPatrioticBag(int numberOfBalls, double sizeInMeters, String name, YoVariableRegistry parentYoVariableRegistry, YoGraphicsListRegistry yoGraphicsListRegistry) { AppearanceDefinition[] redWhiteBlue = new AppearanceDefinition[] {YoAppearance.Red(), YoAppearance.White(), YoAppearance.Blue()}; ArrayList<AppearanceDefinition> appearances = new ArrayList<>(); for (int i = 0; i < numberOfBalls; i++) { appearances.add(redWhiteBlue[i % redWhiteBlue.length]); } return new BagOfBalls(sizeInMeters, name, appearances, parentYoVariableRegistry, yoGraphicsListRegistry); }
public void addCoordinateSystem(double length, AppearanceDefinition arrowAppearance) { addCoordinateSystem(length, YoAppearance.Red(), YoAppearance.White(), YoAppearance.Blue(), arrowAppearance); }
public void addCoordinateSystem(double length, AppearanceDefinition arrowAppearance) { addCoordinateSystem(length, YoAppearance.Red(), YoAppearance.White(), YoAppearance.Blue(), arrowAppearance); }
mat = createMaterial(contentMan, YoAppearance.White());
mat = createMaterial(contentMan, YoAppearance.White());
public TwoWaypointSwingGenerator(String namePrefix, double minSwingHeight, double maxSwingHeight, YoVariableRegistry parentRegistry, YoGraphicsListRegistry yoGraphicsListRegistry) { registry = new YoVariableRegistry(namePrefix + getClass().getSimpleName()); parentRegistry.addChild(registry); stepTime = new DoubleYoVariable(namePrefix + "StepTime", registry); timeIntoStep = new DoubleYoVariable(namePrefix + "TimeIntoStep", registry); isDone = new BooleanYoVariable(namePrefix + "IsDone", registry); trajectoryType = new EnumYoVariable<>(namePrefix + "TrajectoryType", registry, TrajectoryType.class); swingHeight = new DoubleYoVariable(namePrefix + "SwingHeight", registry); swingHeight.set(minSwingHeight); this.maxSwingHeight = new DoubleYoVariable(namePrefix + "MaxSwingHeight", registry); this.maxSwingHeight.set(maxSwingHeight); this.minSwingHeight = new DoubleYoVariable(namePrefix + "MinSwingHeight", registry); this.minSwingHeight.set(minSwingHeight); WaypointTrajectoryGenerator trajectory = new Position2dOptimizedSwingTrajectoryGenerator(namePrefix + "2d", registry, yoGraphicsListRegistry, maxTimeIterations); WaypointTrajectoryGenerator trajectoryForCustomWaypoints = new PositionOptimizedTrajectoryGenerator(namePrefix + "3d", registry, yoGraphicsListRegistry, maxTimeIterations); trajectoryMap.put(TrajectoryType.DEFAULT, trajectory); trajectoryMap.put(TrajectoryType.OBSTACLE_CLEARANCE, trajectory); trajectoryMap.put(TrajectoryType.CUSTOM, trajectoryForCustomWaypoints); for (int i = 0; i < numberWaypoints; i++) waypointPositions.add(new FramePoint()); if (yoGraphicsListRegistry != null) waypointViz = new BagOfBalls(numberWaypoints, 0.02, namePrefix + "Waypoints", YoAppearance.White(), registry, yoGraphicsListRegistry); else waypointViz = null; }
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; }
upperShoulderGraphics.addSphere(0.05, YoAppearance.White()); return upperShoulderGraphics; case LOWER_SHOULDER: Graphics3DObject lowerShoulderGraphics = new Graphics3DObject(); lowerShoulderGraphics.addSphere(0.05, YoAppearance.White()); return lowerShoulderGraphics; case UPPER_ARM: case ELBOW: Graphics3DObject elbowGraphics = new Graphics3DObject(); elbowGraphics.addSphere(0.04, YoAppearance.White()); return elbowGraphics; case LOWER_ARM: case WRIST: Graphics3DObject wristGraphics = new Graphics3DObject(); wristGraphics.addSphere(0.03, YoAppearance.White()); return wristGraphics; case HAND:
/** * Creates a graphical representation of the x, y, and z axis of the current coordinate * system centered at its origin. In the image below red, white and blue represent the * x, y and z axies respectively.<br /><br /> * <img src="doc-files/LinkGraphics.addCoordinateSystem.jpg"> * * @param length the length in meters of each axis arrow. */ public void addCoordinateSystem(double length, AppearanceDefinition xAxisAppearance, AppearanceDefinition yAxisAppearance, AppearanceDefinition zAxisAppearance, AppearanceDefinition arrowAppearance) { rotate(Math.PI / 2.0, Axis.Y); addArrow(length, YoAppearance.Red(), arrowAppearance); rotate(-Math.PI / 2.0, Axis.Y); rotate(-Math.PI / 2.0, Axis.X); addArrow(length, YoAppearance.White(), arrowAppearance); rotate(Math.PI / 2.0, Axis.X); addArrow(length, YoAppearance.Blue(), arrowAppearance); }
/** * Creates a graphical representation of the x, y, and z axis of the current coordinate * system centered at its origin. In the image below red, white and blue represent the * x, y and z axies respectively.<br /><br /> * <img src="doc-files/LinkGraphics.addCoordinateSystem.jpg"> * * @param length the length in meters of each axis arrow. */ public void addCoordinateSystem(double length, AppearanceDefinition xAxisAppearance, AppearanceDefinition yAxisAppearance, AppearanceDefinition zAxisAppearance, AppearanceDefinition arrowAppearance) { rotate(Math.PI / 2.0, Axis.Y); addArrow(length, YoAppearance.Red(), arrowAppearance); rotate(-Math.PI / 2.0, Axis.Y); rotate(-Math.PI / 2.0, Axis.X); addArrow(length, YoAppearance.White(), arrowAppearance); rotate(Math.PI / 2.0, Axis.X); addArrow(length, YoAppearance.Blue(), arrowAppearance); }
Graphics3DObjectTools.addPlanarRegionsList(graphics3DObject, planarRegionsList, YoAppearance.White(), YoAppearance.Grey(), YoAppearance.DarkGray()); scs.setGroundVisible(false);
private static SimulationConstructionSet setupSCS(String testName, YoVariableRegistry testRegistry, PlanarRegionsList regions, Point3D start, Point3D goal) { Robot robot = new Robot(VisibilityGraphsOcclusionTest.class.getSimpleName()); robot.addYoVariableRegistry(testRegistry); SimulationConstructionSet scs = new SimulationConstructionSet(robot, simulationTestingParameters); Graphics3DObject graphics3DObject = new Graphics3DObject(); graphics3DObject.addCoordinateSystem(0.8); if (regions != null) { Graphics3DObjectTools.addPlanarRegionsList(graphics3DObject, regions, YoAppearance.White(), YoAppearance.Grey(), YoAppearance.DarkGray()); scs.setGroundVisible(false); } graphics3DObject.identity(); graphics3DObject.translate(start); graphics3DObject.translate(0.0, 0.0, 0.05); graphics3DObject.addCone(0.3, 0.05, YoAppearance.Green()); graphics3DObject.identity(); graphics3DObject.translate(goal); graphics3DObject.translate(0.0, 0.0, 0.05); graphics3DObject.addCone(0.3, 0.05, YoAppearance.Red()); scs.addStaticLinkGraphics(graphics3DObject); scs.setCameraPosition(-7.0, -1.0, 25.0); scs.setCameraFix(0.0, 0.0, 0.0); return scs; }
if (regions != null) Graphics3DObjectTools.addPlanarRegionsList(graphics3DObject, regions, YoAppearance.White(), YoAppearance.Grey(), YoAppearance.DarkGray()); scs.setGroundVisible(false);
Graphics3DObjectTools.addPlanarRegionsList(graphics, new PlanarRegionsList(bodyRegion), YoAppearance.White());
Point3D nodeB = new Point3D(node1.getOrComputeMidFootPoint(parameters.getIdealFootstepWidth())); PlanarRegion bodyRegion = SnapBasedNodeChecker.createBodyRegionFromNodes(nodeA, nodeB, parameters.getBodyGroundClearance(), 2.0); Graphics3DObjectTools.addPlanarRegionsList(graphics, new PlanarRegionsList(bodyRegion), YoAppearance.White());