Package org.team1126.lib.math.geometry
Class ExtRotation
java.lang.Object
org.team1126.lib.math.geometry.ExtRotation
- All Implemented Interfaces:
Supplier<edu.wpi.first.math.geometry.Rotation2d>,Tunables.Tunable
A container for
Rotation2d objects that enables live tuning via
NetworkTables, and dynamically returns flipped variants of the original
rotation based on the robot's current alliance via Supplier.get().-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected edu.wpi.first.math.geometry.Rotation2dprotected edu.wpi.first.math.geometry.Rotation2dprotected edu.wpi.first.math.geometry.Rotation2dprotected edu.wpi.first.math.geometry.Rotation2d -
Constructor Summary
ConstructorsConstructorDescriptionExtRotation(double value) Creates an extendedRotation2d.ExtRotation(double x, double y) Creates an extendedRotation2d.ExtRotation(edu.wpi.first.math.geometry.Rotation2d rotation) Creates an extendedRotation2d. -
Method Summary
Modifier and TypeMethodDescriptionstatic ExtRotationfromDegrees(double degrees) Constructs and returns an extendedRotation2dwith the given degree value.static ExtRotationfromRadians(double radians) Constructs and returns an extendedRotation2dwith the given radian value.static ExtRotationfromRotations(double rotations) Constructs and returns an extendedRotation2dwith the given rotations value.edu.wpi.first.math.geometry.Rotation2dget()Gets the value for the robot's current alliance.edu.wpi.first.math.geometry.Rotation2dget(boolean flipWidth) Gets the value for the robot's current alliance.edu.wpi.first.math.geometry.Rotation2dget(boolean blue, boolean flipWidth) Gets the value for the specified alliance.edu.wpi.first.math.geometry.Rotation2dgetBlue()Gets the value for the blue alliance.edu.wpi.first.math.geometry.Rotation2dgetBlue(boolean flipWidth) Gets the value for the blue alliance.edu.wpi.first.math.geometry.Rotation2dgetRed()Gets the value for the red alliance.edu.wpi.first.math.geometry.Rotation2dgetRed(boolean flipWidth) Gets the value for the red alliance.voidinitTunable(TunableTable table) Initializes the object to be tuned.protected voidset(edu.wpi.first.math.geometry.Rotation2d newValue) Saves a new value to the container, with all flipped variations.
-
Field Details
-
original
protected edu.wpi.first.math.geometry.Rotation2d original -
overWidth
protected edu.wpi.first.math.geometry.Rotation2d overWidth -
overLength
protected edu.wpi.first.math.geometry.Rotation2d overLength -
overDiagonal
protected edu.wpi.first.math.geometry.Rotation2d overDiagonal
-
-
Constructor Details
-
ExtRotation
public ExtRotation(double value) Creates an extendedRotation2d.- Parameters:
value- The blue origin relative value of the angle in radians.
-
ExtRotation
public ExtRotation(double x, double y) Creates an extendedRotation2d.- Parameters:
x- The blue origin relative x component or cosine of the rotation.y- The blue origin relative y component or sine of the rotation.
-
ExtRotation
public ExtRotation(edu.wpi.first.math.geometry.Rotation2d rotation) Creates an extendedRotation2d.- Parameters:
rotation- The blue origin relative rotation.
-
-
Method Details
-
fromRadians
Constructs and returns an extendedRotation2dwith the given radian value.- Parameters:
radians- The blue origin relative value of the angle in radians.
-
fromDegrees
Constructs and returns an extendedRotation2dwith the given degree value.- Parameters:
degrees- The blue origin relative value of the angle in degrees.
-
fromRotations
Constructs and returns an extendedRotation2dwith the given rotations value.- Parameters:
rotations- The blue origin relative value of the angle in rotations.
-
set
protected void set(edu.wpi.first.math.geometry.Rotation2d newValue) Saves a new value to the container, with all flipped variations. This method is invoked in the constructor, and can also be utilized byTunables.Tunable.initTunable(TunableTable).This method should implement setting the values of
original,overWidth,overLength, andoverDiagonal.- Parameters:
newValue- The new blue origin relative value.
-
initTunable
Description copied from interface:Tunables.TunableInitializes the object to be tuned. This method is called when adding the object to aTunableTable.- Parameters:
table- The table the object is being added to.
-
get
public edu.wpi.first.math.geometry.Rotation2d get()Gets the value for the robot's current alliance. Flipping behavior is inherited fromFieldInfo.symmetryType(). -
get
public edu.wpi.first.math.geometry.Rotation2d get(boolean flipWidth) Gets the value for the robot's current alliance. Flipping behavior is inherited fromFieldInfo.symmetryType().- Parameters:
flipWidth- If the value should also be flipped over the field's width, regardless of the robot's alliance.
-
get
public edu.wpi.first.math.geometry.Rotation2d get(boolean blue, boolean flipWidth) Gets the value for the specified alliance. Flipping behavior is inherited fromFieldInfo.symmetryType().- Parameters:
blue- If the blue alliance value should be returned.flipWidth- If the value should also be flipped over the field's width, regardless of the alliance.
-
getBlue
public edu.wpi.first.math.geometry.Rotation2d getBlue()Gets the value for the blue alliance. -
getBlue
public edu.wpi.first.math.geometry.Rotation2d getBlue(boolean flipWidth) Gets the value for the blue alliance.- Parameters:
flipWidth- If the value should also be flipped over the field's width.
-
getRed
public edu.wpi.first.math.geometry.Rotation2d getRed()Gets the value for the red alliance. -
getRed
public edu.wpi.first.math.geometry.Rotation2d getRed(boolean flipWidth) Gets the value for the red alliance.- Parameters:
flipWidth- If the value should also be flipped over the field's width.
-