9namespace RoboidControl {
26 static const unsigned char PoseMsg = 0x10;
67 virtual void SendPose(Vector3 worldPosition, Quaternion worldOrientation) {};
75 void SendSingle100(
unsigned char *data,
unsigned int startIndex,
float value);
76 void SendInt32(
unsigned char *data,
unsigned int startIndex,
Int32 value);
77 void SendAngle8(
unsigned char *data,
unsigned int startIndex,
83 void SendVector3(
unsigned char *data,
unsigned char *startIndex,
88 void SendPolar(
unsigned char *data,
unsigned char *startIndex, Polar p);
89 void SendSpherical(
unsigned char *data,
int startIndex, Spherical s);
92 void SendQuat32(
unsigned char *data,
unsigned char *startIndex,
96 virtual void SendBuffer(
unsigned char bufferSize);
SInt32 Int32
Definition Types.h:18
unsigned short UInt16
Definition Types.h:7
unsigned char UInt8
Definition Types.h:3
An object tracked by the roboid.
Definition TrackedObject.h:12
Definition NetworkPerception.h:10
Interface for synchronizaing state between clients across a network.
Definition NetworkSync.h:12
static const unsigned char PoseTypeMsg
Definition NetworkSync.h:27
void SendPoseMsg(Buffer sendBuffer, Roboid *roboid)
Definition NetworkSync.cpp:211
unsigned char networkId
Definition NetworkSync.h:16
NetworkPerception * networkPerception
Definition NetworkSync.h:70
unsigned char * buffer
Definition NetworkSync.h:95
void SendInvestigateThing(InterestingThing *thing)
Definition NetworkSync.cpp:258
void SendAngle8(unsigned char *data, unsigned int startIndex, const float value)
Definition NetworkSync.cpp:95
virtual void SendPose(Vector3 worldPosition, Quaternion worldOrientation)
Definition NetworkSync.h:67
static const unsigned char Pose_Position
A bit pattern for the pose, stating that this message contains a position in world coordinates.
Definition NetworkSync.h:31
void SendQuat32(unsigned char *data, unsigned char *startIndex, const Quaternion q)
Definition NetworkSync.cpp:76
void PublishClient()
Definition NetworkSync.cpp:143
void PublishTrackedObjects(Buffer sendBuffer, InterestingThing **objects)
Definition NetworkSync.cpp:150
void SendDestroyObject(Buffer sendBuffer, InterestingThing *obj)
Definition NetworkSync.cpp:248
static const unsigned char Velocity2DMsg
Definition NetworkSync.h:46
void ReceiveNetworkId()
Definition NetworkSync.cpp:25
static const unsigned char InvestigateMsg
Definition NetworkSync.h:48
static const unsigned char Pose_Orientation
A bit pattern for the pose, stating that this message contains an orientation in world coordinates.
Definition NetworkSync.h:34
void SendInt32(unsigned char *data, unsigned int startIndex, Int32 value)
Definition NetworkSync.cpp:132
static const unsigned char NetworkIdMsg
Definition NetworkSync.h:50
static const unsigned char DestroyMsg
Definition NetworkSync.h:42
static const unsigned char Pose_LinearVelocity
A bit pattern for the pose, stating that this messsage contains a linear velocity in world coordinate...
Definition NetworkSync.h:37
static const unsigned char ClientMsg
Definition NetworkSync.h:49
void SendSingle100(unsigned char *data, unsigned int startIndex, float value)
Definition NetworkSync.cpp:122
static const unsigned char RelativePoseMsg
Definition NetworkSync.h:28
NetworkSync()
Definition NetworkSync.cpp:12
void SendPolar(unsigned char *data, unsigned char *startIndex, Polar p)
Definition NetworkSync.cpp:49
virtual void SendBuffer(unsigned char bufferSize)
Definition NetworkSync.cpp:141
void SendSpherical(unsigned char *data, int startIndex, Spherical s)
Definition NetworkSync.cpp:55
void SendQuaternion(unsigned char *data, const int startIndex, const Quaternion q)
Definition NetworkSync.cpp:40
static const unsigned char Position2DMsg
Definition NetworkSync.h:45
void(* Buffer)(UInt8 *buffer, UInt16 bufferSize)
Definition NetworkSync.h:52
static const unsigned char CreateMsg
Definition NetworkSync.h:47
void ReceiveMessage(Roboid *roboid, unsigned char bytecount)
Definition NetworkSync.cpp:14
virtual void NewObject(InterestingThing *obj)
Definition NetworkSync.h:24
void SendVector3(unsigned char *data, unsigned char *startIndex, const Vector3 v)
Definition NetworkSync.cpp:30
void PublishRelativeObject(Buffer sendBuffer, UInt8 parentId, InterestingThing *object)
Definition NetworkSync.cpp:196
static const unsigned char PoseMsg
The id of a Pose message.
Definition NetworkSync.h:26
static const unsigned char AngVelocity2DMsg
Definition NetworkSync.h:44
virtual void NetworkUpdate(Roboid *roboid)=0
Retreive and send the roboid state.
static const char Pose_AngularVelocity
A bit pattern for the pose, stating that this message contains an angular velocity in world coordinat...
Definition NetworkSync.h:40
virtual void DestroyObject(InterestingThing *obj)=0
Inform that the given object is no longer being tracked.
void PublishTrackedObject(Buffer sendBuffer, InterestingThing *object)
Definition NetworkSync.cpp:167
virtual void SendPosition(Vector3 worldPosition)
Definition NetworkSync.h:66
A Roboid is used to control autonomous robots.
Definition Roboid.h:14
Definition AbsoluteEncoder.h:5