diff --git a/wpilibc/src/main/native/cpp/smartdashboard/Field2d.cpp b/wpilibc/src/main/native/cpp/smartdashboard/Field2d.cpp index 231654d1b1..a4316d9bdd 100644 --- a/wpilibc/src/main/native/cpp/smartdashboard/Field2d.cpp +++ b/wpilibc/src/main/native/cpp/smartdashboard/Field2d.cpp @@ -8,6 +8,7 @@ #include "frc/smartdashboard/Field2d.h" #include "frc/smartdashboard/SendableBuilder.h" +#include "frc/smartdashboard/SendableRegistry.h" using namespace frc; @@ -15,14 +16,17 @@ Field2d::Field2d() { m_objects.emplace_back( std::make_unique("Robot", FieldObject2d::private_init{})); m_objects[0]->SetPose(Pose2d{}); + SendableRegistry::GetInstance().Add(this, "Field"); } -Field2d::Field2d(Field2d&& rhs) { +Field2d::Field2d(Field2d&& rhs) : SendableHelper(std::move(rhs)) { std::swap(m_table, rhs.m_table); std::swap(m_objects, rhs.m_objects); } Field2d& Field2d::operator=(Field2d&& rhs) { + SendableHelper::operator=(std::move(rhs)); + std::swap(m_table, rhs.m_table); std::swap(m_objects, rhs.m_objects); diff --git a/wpilibc/src/main/native/include/frc/smartdashboard/Field2d.h b/wpilibc/src/main/native/include/frc/smartdashboard/Field2d.h index f3eb620b3f..1835205627 100644 --- a/wpilibc/src/main/native/include/frc/smartdashboard/Field2d.h +++ b/wpilibc/src/main/native/include/frc/smartdashboard/Field2d.h @@ -20,6 +20,7 @@ #include "frc/geometry/Rotation2d.h" #include "frc/smartdashboard/FieldObject2d.h" #include "frc/smartdashboard/Sendable.h" +#include "frc/smartdashboard/SendableHelper.h" namespace frc { @@ -41,7 +42,7 @@ namespace frc { * also be shown by using the GetObject() function. Other objects can * also have multiple poses (which will show the object at multiple locations). */ -class Field2d : public Sendable { +class Field2d : public Sendable, public SendableHelper { public: using Entry = size_t; diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/smartdashboard/Field2d.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/smartdashboard/Field2d.java index 8e15b772e9..69bc730eb3 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/smartdashboard/Field2d.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/smartdashboard/Field2d.java @@ -41,6 +41,7 @@ public class Field2d implements Sendable { FieldObject2d obj = new FieldObject2d("Robot"); obj.setPose(new Pose2d()); m_objects.add(obj); + SendableRegistry.add(this, "Field"); } /**