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}