From 7b01f013e7278ff37ba1800c1d8fb244531b1b62 Mon Sep 17 00:00:00 2001 From: Ray Healy Date: Thu, 26 Feb 2026 20:00:32 -0500 Subject: [PATCH] trajectory/ballistics/models/SimpleBM: Define simple, non-reversable BM --- .../ballistics/models/SimpleBM.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 lib/src/test/java/org/fairportrobotics/frc/robolib/trajectory/ballistics/models/SimpleBM.java diff --git a/lib/src/test/java/org/fairportrobotics/frc/robolib/trajectory/ballistics/models/SimpleBM.java b/lib/src/test/java/org/fairportrobotics/frc/robolib/trajectory/ballistics/models/SimpleBM.java new file mode 100644 index 0000000..602386f --- /dev/null +++ b/lib/src/test/java/org/fairportrobotics/frc/robolib/trajectory/ballistics/models/SimpleBM.java @@ -0,0 +1,67 @@ +package org.fairportrobotics.frc.robolib.trajectory.ballistics.models; + +import org.fairportrobotics.frc.robolib.trajectory.Velocity3d; + +import edu.wpi.first.math.geometry.Translation3d; +import edu.wpi.first.units.measure.Time; + +public class SimpleBM extends BallisticModel { + + + // + // Setup code + // + + public SimpleBM() { + this(Translation3d.kZero, Translation3d.kZero); + } + + public SimpleBM( + Translation3d posLaunch, + Translation3d posTarget + ) { + super(posLaunch, posTarget); + } + + + // + // Parameter manipulation + // + + public Integer getInitParam() { + return 0; + } + + + public Integer[] getNeighborParams(Integer param) { + return new Integer[0]; + } + + + // + // Velocity modelling + // + + public Velocity3d getCandidateVelocity(Integer param) { + return Velocity3d.zero; + } + + + public Translation3d positionAtTime(Velocity3d velocity, Time time) { + return Translation3d.kZero; + } + + + // + // Candidate tracking + // + + public boolean paramComputed(Integer param) { + return false; + } + + + public void paramComputedReset() {} + + +}