36 lines
1.3 KiB
C++
36 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "Perception.h"
|
|
#include "Roboid.h"
|
|
|
|
namespace Passer {
|
|
namespace RoboidControl {
|
|
|
|
/// @brief Interface for synchronizaing state between clients across a network
|
|
class NetworkSync {
|
|
public:
|
|
/// @brief Retreive and send the roboid state
|
|
/// @param roboid The roboid for which the state is updated
|
|
virtual void NetworkUpdate(Roboid *roboid) = 0;
|
|
/// @brief Inform that the given object is no longer being tracked
|
|
/// @param obj
|
|
virtual void DestroyObject(TrackedObject *obj) = 0;
|
|
|
|
/// @brief The id of a Pose message
|
|
static const char PoseMsg = 0x10;
|
|
/// @brief A bit pattern for the pose, stating that this message contains a
|
|
/// position in world coordinates
|
|
static const char Pose_Position = 0x01;
|
|
/// @brief A bit pattern for the pose, stating that this message contains an
|
|
/// orientation in world coordinates
|
|
static const char Pose_Orientation = 0x02;
|
|
/// @brief A bit pattern for the pose, stating that this messsage contains a
|
|
/// linear velocity in world coordinates
|
|
static const char Pose_LinearVelocity = 0x04;
|
|
/// @brief A bit pattern for the pose, stating that this message contains an
|
|
/// angular velocity in world coordinates
|
|
static const char Pose_AngularVelocity = 0x08;
|
|
};
|
|
|
|
} // namespace RoboidControl
|
|
} // namespace Passer
|