27 #ifndef _REC_RPC_SERIALIZATION_POSE2D_H_ 28 #define _REC_RPC_SERIALIZATION_POSE2D_H_ 40 namespace serialization
49 Pose2D(
const QPointF& pos,
float rotDeg );
58 virtual void serialize( QDataStream& )
const;
59 virtual void deserialize( QDataStream& );
83 #define DECLARE_POSE2D_MEMBER( NAME ) \ 85 rec::rpc::serialization::Pose2DPtr _##NAME; \ 86 void create_##NAME() { _##NAME = rec::rpc::serialization::Pose2DPtr( new rec::rpc::serialization::Pose2D ); } \ 88 const rec::rpc::serialization::Pose2D& NAME() const { return *_##NAME; } \ 89 rec::rpc::serialization::Pose2D& NAME() { return *_##NAME; } \ 90 void set##NAME( const rec::rpc::serialization::Pose2D& pos ) { *_##NAME = pos; } \ 91 const rec::rpc::serialization::Pose2DPtr& NAME##PtrConst() const { return _##NAME; } \ 92 rec::rpc::serialization::Pose2DPtr& NAME##Ptr() { return _##NAME; } 99 #define DEFINE_POSE2D_PARAM( FUNCTIONNAME ) DEFINE_SERIALIZABLE( FUNCTIONNAME##Param, rec::rpc::serialization::Pose2D ); 106 #define DEFINE_POSE2D_RESULT( FUNCTIONNAME ) DEFINE_SERIALIZABLE( FUNCTIONNAME##Result, rec::rpc::serialization::Pose2D ); 113 #define DEFINE_POSE2D_TOPICDATA( TOPICNAME ) DEFINE_SERIALIZABLE( topic##TOPICNAME##Data, rec::rpc::serialization::Pose2D ); 125 #define DECLARE_POSE2DARRAY_MEMBER( NAME ) \ 127 rec::rpc::serialization::Pose2DArrayPtr _##NAME; \ 128 void create_##NAME() { _##NAME = rec::rpc::serialization::Pose2DArrayPtr( new rec::rpc::serialization::Pose2DArray ); } \ 130 const rec::rpc::serialization::Pose2DArray& NAME() const { return *_##NAME; } \ 131 rec::rpc::serialization::Pose2DArray& NAME() { return *_##NAME; } \ 132 void set##NAME( const rec::rpc::serialization::Pose2DArray& pos ) { *_##NAME = pos; } \ 133 const rec::rpc::serialization::Pose2DArrayPtr& NAME##PtrConst() const { return _##NAME; } \ 134 rec::rpc::serialization::Pose2DArrayPtr& NAME##Ptr() { return _##NAME; } 141 #define DEFINE_POSE2DARRAY_PARAM( FUNCTIONNAME ) DEFINE_SERIALIZABLE( FUNCTIONNAME##Param, rec::rpc::serialization::Pose2DArray ); 148 #define DEFINE_POSE2DARRAY_RESULT( FUNCTIONNAME ) DEFINE_SERIALIZABLE( FUNCTIONNAME##Result, rec::rpc::serialization::Pose2DArray ); 155 #define DEFINE_POSE2DARRAY_TOPICDATA( TOPICNAME ) DEFINE_SERIALIZABLE( topic##TOPICNAME##Data, rec::rpc::serialization::Pose2DArray ); 158 Q_DECLARE_METATYPE(
rec::rpc::serialization::
Pose2DPtr )
162 #endif //_REC_RPC_SERIALIZATION_POSE2D_H_
Pre-defined serialization class that stores a 2D pose.
float rotDeg
Rotation (degrees).
Primitive< QVector< Pose2D > > Pose2DArray
Serializable array type definition.
Base class for all serializable data.
Serialization class for primitive objects and values.
QSharedPointer< Pose2D > Pose2DPtr
Shared pointer type definition.
QSharedPointer< Pose2DArray > Pose2DArrayPtr
Serializable array shared pointer type definition.