diff --git a/photon-targeting/src/main/java/org/photonvision/targeting/MultiTargetPNPResult.java b/photon-targeting/src/main/java/org/photonvision/targeting/MultiTargetPNPResult.java index 8cf84eb6a..380fe63ba 100644 --- a/photon-targeting/src/main/java/org/photonvision/targeting/MultiTargetPNPResult.java +++ b/photon-targeting/src/main/java/org/photonvision/targeting/MultiTargetPNPResult.java @@ -17,13 +17,14 @@ package org.photonvision.targeting; +import edu.wpi.first.util.protobuf.ProtobufSerializable; import java.util.ArrayList; import java.util.List; import org.photonvision.common.dataflow.structures.Packet; import org.photonvision.common.dataflow.structures.PacketSerde; import org.photonvision.targeting.proto.MultiTargetPNPResultProto; -public class MultiTargetPNPResult { +public class MultiTargetPNPResult implements ProtobufSerializable { // Seeing 32 apriltags at once seems like a sane limit private static final int MAX_IDS = 32; diff --git a/photon-targeting/src/main/java/org/photonvision/targeting/PNPResult.java b/photon-targeting/src/main/java/org/photonvision/targeting/PNPResult.java index e7038cca4..632e36d2b 100644 --- a/photon-targeting/src/main/java/org/photonvision/targeting/PNPResult.java +++ b/photon-targeting/src/main/java/org/photonvision/targeting/PNPResult.java @@ -18,6 +18,7 @@ package org.photonvision.targeting; import edu.wpi.first.math.geometry.Transform3d; +import edu.wpi.first.util.protobuf.ProtobufSerializable; import org.photonvision.common.dataflow.structures.Packet; import org.photonvision.common.dataflow.structures.PacketSerde; import org.photonvision.targeting.proto.PNPResultProto; @@ -32,7 +33,7 @@ import org.photonvision.utils.PacketUtils; *

Note that the coordinate frame of these transforms depends on the implementing solvePnP * method. */ -public class PNPResult { +public class PNPResult implements ProtobufSerializable { /** * If this result is valid. A false value indicates there was an error in estimation, and this * result should not be used. diff --git a/photon-targeting/src/main/java/org/photonvision/targeting/PhotonPipelineResult.java b/photon-targeting/src/main/java/org/photonvision/targeting/PhotonPipelineResult.java index 7f70f3bbb..34f0602b1 100644 --- a/photon-targeting/src/main/java/org/photonvision/targeting/PhotonPipelineResult.java +++ b/photon-targeting/src/main/java/org/photonvision/targeting/PhotonPipelineResult.java @@ -17,6 +17,7 @@ package org.photonvision.targeting; +import edu.wpi.first.util.protobuf.ProtobufSerializable; import java.util.ArrayList; import java.util.List; import org.photonvision.common.dataflow.structures.Packet; @@ -24,7 +25,7 @@ import org.photonvision.common.dataflow.structures.PacketSerde; import org.photonvision.targeting.proto.PhotonPipelineResultProto; /** Represents a pipeline result from a PhotonCamera. */ -public class PhotonPipelineResult { +public class PhotonPipelineResult implements ProtobufSerializable { private static boolean HAS_WARNED = false; // Targets to store. diff --git a/photon-targeting/src/main/java/org/photonvision/targeting/PhotonTrackedTarget.java b/photon-targeting/src/main/java/org/photonvision/targeting/PhotonTrackedTarget.java index b559fec5f..bd59cb4b3 100644 --- a/photon-targeting/src/main/java/org/photonvision/targeting/PhotonTrackedTarget.java +++ b/photon-targeting/src/main/java/org/photonvision/targeting/PhotonTrackedTarget.java @@ -18,6 +18,7 @@ package org.photonvision.targeting; import edu.wpi.first.math.geometry.Transform3d; +import edu.wpi.first.util.protobuf.ProtobufSerializable; import java.util.ArrayList; import java.util.List; import org.photonvision.common.dataflow.structures.Packet; @@ -25,7 +26,7 @@ import org.photonvision.common.dataflow.structures.PacketSerde; import org.photonvision.targeting.proto.PhotonTrackedTargetProto; import org.photonvision.utils.PacketUtils; -public class PhotonTrackedTarget { +public class PhotonTrackedTarget implements ProtobufSerializable { private static final int MAX_CORNERS = 8; private final double yaw; diff --git a/photon-targeting/src/main/java/org/photonvision/targeting/TargetCorner.java b/photon-targeting/src/main/java/org/photonvision/targeting/TargetCorner.java index 0e27c51b8..cd5ebfec7 100644 --- a/photon-targeting/src/main/java/org/photonvision/targeting/TargetCorner.java +++ b/photon-targeting/src/main/java/org/photonvision/targeting/TargetCorner.java @@ -17,6 +17,7 @@ package org.photonvision.targeting; +import edu.wpi.first.util.protobuf.ProtobufSerializable; import java.util.Objects; import org.photonvision.common.dataflow.structures.Packet; import org.photonvision.common.dataflow.structures.PacketSerde; @@ -26,7 +27,7 @@ import org.photonvision.targeting.proto.TargetCornerProto; * Represents a point in an image at the corner of the minimum-area bounding rectangle, in pixels. * Origin at the top left, plus-x to the right, plus-y down. */ -public class TargetCorner { +public class TargetCorner implements ProtobufSerializable { public final double x; public final double y;