Libbarrett
1.2.4
|
00001 00032 #ifndef MULTI_PUCK_PRODUCT_H_ 00033 #define MULTI_PUCK_PRODUCT_H_ 00034 00035 00036 #include <vector> 00037 00038 #include <barrett/detail/ca_macro.h> 00039 #include <barrett/bus/abstract/communications_bus.h> 00040 #include <barrett/products/puck.h> 00041 #include <barrett/products/puck_group.h> 00042 #include <barrett/products/motor_puck.h> 00043 00044 00045 namespace barrett { 00046 00047 00048 class MultiPuckProduct { 00049 public: 00051 MultiPuckProduct(size_t DOF, const std::vector<Puck*>& pucks, int groupId, const enum Puck::Property props[], const size_t numProps, const char* syslogStr = NULL); 00052 ~MultiPuckProduct(); 00054 const std::vector<Puck*>& getPucks() const { return pucks; } 00056 const std::vector<MotorPuck>& getMotorPucks() const { return motorPucks; } 00058 const PuckGroup& getPuckGroup() const { return group; } 00059 00060 protected: 00061 const bus::CommunicationsBus& bus; 00062 std::vector<Puck*> pucks; 00063 std::vector<MotorPuck> motorPucks; 00064 PuckGroup group; 00065 00066 private: 00067 DISALLOW_COPY_AND_ASSIGN(MultiPuckProduct); 00068 }; 00069 00070 00071 } 00072 00073 00074 #endif /* MULTI_PUCK_PRODUCT_H_ */