001/************************ PROJECT ZIXI ************************/ 002/* Copyright (c) 2026 StuyPulse Robotics. All rights reserved.*/ 003/* This work is licensed under the terms of the MIT license. */ 004/**************************************************************/ 005package com.stuypulse.robot.constants; 006 007import org.wpilib.fields.Field; 008import org.wpilib.fields.Fields; 009import org.wpilib.math.geometry.Pose2d; 010import org.wpilib.smartdashboard.Field2d; 011 012import com.pathplanner.lib.util.FlippingUtil; 013import java.util.List; 014 015public interface FieldConstants { 016 Field FIELD_LAYOUT = Fields.DEFAULT_FIELD.loadField(); 017 Field2d FIELD_2D = new Field2d(); 018 019 public static Pose2d transformToOppositeAlliance(Pose2d pose) { 020 return FlippingUtil.flipFieldPose(pose); 021 } 022 023 public static List<Pose2d> transformToOppositeAlliance(List<Pose2d> poses) { 024 return poses.stream().map(FieldConstants::transformToOppositeAlliance).toList(); 025 } 026}