mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-21 01:01:41 +00:00
[photon-lib java] Implement ProtobufSerializable (#1156)
* [photon-lib java] Fix classes with protobuf support not "announcing it" Since they didn't implement `ProtobufSerializable` this meant that most other software didn't even know protobufs were even implemented. In AdvantageKit for example this would cause it to not work it all and crash. * Run `spotlessJavaApply`
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
* <p>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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user