public static AppearanceDefinition Texture(String path) { return new YoAppearanceTexture(path); }
public static AppearanceDefinition Texture(BufferedImage bufferedImage) { return new YoAppearanceTexture(bufferedImage); }
public static AppearanceDefinition Texture(BufferedImage bufferedImage) { return new YoAppearanceTexture(bufferedImage); }
public static AppearanceDefinition Texture(String path) { return new YoAppearanceTexture(path); }
public TestingEnvironment() { terrain = new CombinedTerrainObject3D(getClass().getSimpleName()); YoAppearanceTexture groundTexture = new YoAppearanceTexture("Textures/ground2.png"); terrain.addBox(-25.0, -25.0, 25.0, 25.0, -0.01, 0.0, groundTexture); terrain.addBox(0.3, -0.5, 1.0, 0.5, 0.0, 0.5, YoAppearance.BurlyWood()); }
graphics3dObject.addCube(blockWidth, blockHeight, blockThickness, new YoAppearanceTexture(appearance));
public static CombinedTerrainObject3D addValveTextureBox(Vector3D position, double yaw) { YoAppearanceTexture valveTexture = new YoAppearanceTexture("/images/red-valve.jpg"); double boxSideLength = 1.0; CombinedTerrainObject3D valveTerrainObject = new CombinedTerrainObject3D("ValveBox"); RigidBodyTransform location = new RigidBodyTransform(); location.setRotationEulerAndZeroTranslation(Math.toRadians(90.0), 0.0, yaw - Math.toRadians(90.0)); location.setTranslation(position); RotatableBoxTerrainObject newBox = new RotatableBoxTerrainObject(new Box3D(location, boxSideLength, boxSideLength, boxSideLength), valveTexture); valveTerrainObject.addTerrainObject(newBox); return valveTerrainObject; }
public static CombinedTerrainObject3D addFiducial(Vector3D position, double yaw, Fiducial fiducial) { YoAppearanceTexture fiducialTexture = new YoAppearanceTexture(fiducial.getPathString()); double boxSideLength = 1.0; CombinedTerrainObject3D fiducualTerrainObject = new CombinedTerrainObject3D(fiducial.name()); RigidBodyTransform location = new RigidBodyTransform(); location.setRotationEulerAndZeroTranslation(Math.toRadians(90.0), 0.0, yaw - Math.toRadians(90.0)); location.setTranslation(position); RotatableBoxTerrainObject newBox = new RotatableBoxTerrainObject(new Box3D(location, boxSideLength, boxSideLength, boxSideLength), fiducialTexture); fiducualTerrainObject.addTerrainObject(newBox); return fiducualTerrainObject; }
private TerrainObject3D setUpFlatGrid(int row, int column) { AppearanceDefinition gridAppearance = new YoAppearanceTexture("Textures/asphalt.png"); RigidBodyTransform location = new RigidBodyTransform(); location.appendTranslation(getWorldCoordinate(row, column)); location.appendTranslation(0.0, 0.0, -flatGridHeight / 2); return new RotatableBoxTerrainObject(new Box3D(location, gridLength, gridWidth, flatGridHeight), gridAppearance); }
private static CombinedTerrainObject3D setUpGround(String name) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D(name); YoAppearanceTexture texture = new YoAppearanceTexture("Textures/brick.png"); RigidBodyTransform location = new RigidBodyTransform(); location.setTranslation(new Vector3d(0, 0, -0.5)); RotatableBoxTerrainObject newBox = new RotatableBoxTerrainObject(new Box3d(location, 10, 10, 1), texture); combinedTerrainObject.addTerrainObject(newBox); return combinedTerrainObject; } }
private static CombinedTerrainObject3D setUpGround(String name) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D(name); YoAppearanceTexture texture = new YoAppearanceTexture("Textures/brick.png"); RigidBodyTransform location = new RigidBodyTransform(); location.setTranslation(new Vector3D(0, 0, -0.5)); RotatableBoxTerrainObject newBox = new RotatableBoxTerrainObject(new Box3D(location, 10, 10, 1), texture); combinedTerrainObject.addTerrainObject(newBox); return combinedTerrainObject; } }
public static CombinedTerrainObject3D setUpGround(String name) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D(name); int groundDimension = 20; double unitLength = 1.0; double groundThickness = 1.0; YoAppearanceTexture texture = new YoAppearanceTexture("Textures/brick.png"); for (int i = 0; i < groundDimension; i++) { for (int j = 0; j < groundDimension; j++) { RigidBodyTransform location = new RigidBodyTransform(); location.appendTranslation(new Vector3D(groundDimension / 2 * unitLength, groundDimension / 2 * unitLength, -groundThickness / 2)); location.appendTranslation(new Vector3D(-unitLength * (i + 0.5), -unitLength * (j + 0.5), 0.0)); RotatableBoxTerrainObject unitBox = new RotatableBoxTerrainObject(new Box3D(location, unitLength, unitLength, groundThickness), texture); combinedTerrainObject.addTerrainObject(unitBox); } } return combinedTerrainObject; }
private CombinedTerrainObject3D setUpGround(String name, Vector3D tableCenter, double tableLength) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D(name); YoAppearanceTexture texture = new YoAppearanceTexture("Textures/gridGroundProfile.png"); combinedTerrainObject.addBox(-10.0, -10.0, 10.0, 10.0, -0.05, 0.0, texture); combinedTerrainObject.addBox(tableCenter.getX()-tableLength , tableCenter.getY()-tableLength, tableCenter.getX()+tableLength, tableCenter.getY()+tableLength , tableCenter.getZ()); combinedTerrainObject.addBox(wallPosition.getX() - 1.0, wallPosition.getY() - 0.05, wallPosition.getX() + 1.0, wallPosition.getY() + 0.05, 2.0); return combinedTerrainObject; }
private CombinedTerrainObject3D setUpGround(String name) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D(name); int lateralDimension = 15; int sideDimension = 10; double leteralOffset = 2.0; double unitLength = 1.0; double groundThickness = 0.3; YoAppearanceTexture texture = new YoAppearanceTexture("Textures/brick.png"); for (int i = 0; i < lateralDimension; i++) { for (int j = 0; j < sideDimension; j++) { RigidBodyTransform location = new RigidBodyTransform(); location.appendTranslation(new Vector3D(lateralDimension / 2 * unitLength + leteralOffset, sideDimension / 2 * unitLength, -groundThickness / 2)); location.appendTranslation(new Vector3D(-unitLength * (i + 0.5) + leteralOffset, -unitLength * (j + 0.5), 0.0)); RotatableBoxTerrainObject unitBox = new RotatableBoxTerrainObject(new Box3D(location, unitLength, unitLength, groundThickness), texture); combinedTerrainObject.addTerrainObject(unitBox); } } return combinedTerrainObject; }
public static CombinedTerrainObject3D setUpGround(String name) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D(name); // URL fileURL = DRCDemo01NavigationEnvironment.class.getClassLoader().getResource("Textures/ground2.png"); YoAppearanceTexture texture = new YoAppearanceTexture("Textures/ground2.png"); RigidBodyTransform location = new RigidBodyTransform(); location.setTranslation(new Vector3D(0, 0, -0.5)); RotatableBoxTerrainObject newBox = new RotatableBoxTerrainObject(new Box3D(location, 45, 45, 1), texture); combinedTerrainObject.addTerrainObject(newBox); RotatableBoxTerrainObject newBox2 = new RotatableBoxTerrainObject(new Box3D(location, 200, 200, 0.75), YoAppearance.DarkGray()); combinedTerrainObject.addTerrainObject(newBox2); return combinedTerrainObject; }
private static CombinedTerrainObject3D setUpGround(String name) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D(name); // URL fileURL = DRCDemo01NavigationEnvironment.class.getClassLoader().getResource("Textures/ground2.png"); YoAppearanceTexture texture = new YoAppearanceTexture("Textures/ground2.png"); RigidBodyTransform location = new RigidBodyTransform(); location.setTranslation(new Vector3d(0, 0, -0.5)); RotatableBoxTerrainObject newBox = new RotatableBoxTerrainObject(new Box3d(location, 45, 45, 1), texture); combinedTerrainObject.addTerrainObject(newBox); RotatableBoxTerrainObject newBox2 = new RotatableBoxTerrainObject(new Box3d(location, 200, 200, 0.75), YoAppearance.DarkGray()); combinedTerrainObject.addTerrainObject(newBox2); return combinedTerrainObject; }
private CombinedTerrainObject3D setUpInclinedSurface(int startRow, int endRow, int startColumn, int endColumn) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D("InclinedSurface"); AppearanceDefinition inclinedSurfaceAppearance = YoAppearance.Grey(); AppearanceDefinition wallAppearance = new YoAppearanceTexture("Textures/cinderBlock2.jpeg"); YoAppearance.makeTransparent(wallAppearance, 0.7f); int rampLengthDimension = (endColumn - startColumn + 1); int rampWidthDimension = (endRow - startRow + 1); double wallThickness = 0.05; double wallHeight = gridWidth; double rampWidth = rampWidthDimension * gridLength - wallThickness; double rampLength = rampLengthDimension * gridWidth; double centerX = (getWorldCoordinate(startRow, startColumn).getX() + getWorldCoordinate(endRow, endColumn).getX()) / 2 + wallThickness / 2; double centerY = (getWorldCoordinate(startRow, startColumn).getY() + getWorldCoordinate(endRow, endColumn).getY()) / 2; RotatableRampTerrainObject inclinedSurface = new RotatableRampTerrainObject(centerX, centerY, rampLength, rampWidth, flatGridHeight, -90, inclinedSurfaceAppearance); combinedTerrainObject.addTerrainObject(inclinedSurface); for (int i = 0; i < rampLengthDimension; i++) { RigidBodyTransform wallLocation = new RigidBodyTransform(); wallLocation.appendTranslation(centerX, centerY, 0.0); wallLocation.appendTranslation(-wallThickness / 2 - rampWidth / 2, 0.0, wallHeight / 2); wallLocation.appendTranslation(0.0, rampLength / 2, 0.0); wallLocation.appendTranslation(0.0, -wallHeight * (i + 0.5), 0.0); combinedTerrainObject.addTerrainObject(new RotatableBoxTerrainObject(wallLocation, wallThickness, wallHeight, wallHeight, wallAppearance)); } return combinedTerrainObject; }
YoAppearanceTexture texture = new YoAppearanceTexture("Textures/ground2.png"); double width2 = 10; double width1 = width2 / 2;
YoAppearanceTexture texture = new YoAppearanceTexture("Textures/ground2.png"); double width2 = 10; double width1 = width2 / 2;
private CombinedTerrainObject3D setUpCurb(int row, int column) { CombinedTerrainObject3D combinedTerrainObject = new CombinedTerrainObject3D("CurbGrid"); combinedTerrainObject.addTerrainObject(setUpFlatGrid(row, column)); AppearanceDefinition curbAppearance = new YoAppearanceTexture("Textures/cinderBlockRotated.png"); AppearanceDefinition edgeAppearance = YoAppearance.DarkGrey(); RigidBodyTransform location = new RigidBodyTransform(); location.appendTranslation(getWorldCoordinate(row, column)); location.appendTranslation(0.0, 0.0, curbHeight / 2); combinedTerrainObject.addRotatableBox(location, gridLength, gridWidth - curbHeight * 2, curbHeight, curbAppearance); for (RobotSide robotSide : RobotSide.values) { double filletRadius = curbHeight * fillet; Cylinder3D sideEdgeFillet = new Cylinder3D(location, gridLength, filletRadius); sideEdgeFillet.appendTranslation(0.0, robotSide.negateIfRightSide(gridWidth / 2 - filletRadius), curbHeight / 2 - filletRadius); sideEdgeFillet.appendPitchRotation(Math.PI / 2); RigidBodyTransform sideEdgeFilletTransform = new RigidBodyTransform(); sideEdgeFillet.getPose(sideEdgeFilletTransform); combinedTerrainObject.addTerrainObject(new CylinderTerrainObject(sideEdgeFilletTransform, gridLength, filletRadius, edgeAppearance)); Box3D sideEdge = new Box3D(location, gridLength, curbHeight, curbHeight - filletRadius); sideEdge.appendTranslation(0.0, robotSide.negateIfRightSide(gridWidth / 2 - sideEdge.getWidth() / 2), -filletRadius / 2); combinedTerrainObject.addRotatableBox(sideEdge, edgeAppearance); Box3D sideEdgeTop = new Box3D(location, gridLength, curbHeight - filletRadius, filletRadius); sideEdgeTop.appendTranslation(0.0, robotSide.negateIfRightSide(gridWidth / 2 - sideEdgeTop.getWidth() / 2 - filletRadius), curbHeight / 2 - sideEdgeTop.getHeight() / 2); combinedTerrainObject.addRotatableBox(sideEdgeTop, edgeAppearance); } return combinedTerrainObject; }