00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef PEEKABOT_CLIENT_HINGE_PROXY_HH_INCLUDED
00012 #define PEEKABOT_CLIENT_HINGE_PROXY_HH_INCLUDED
00013
00014
00015 #include "JointProxy.hh"
00016
00017
00018 namespace peekabot
00019 {
00020 namespace client
00021 {
00025 class PEEKABOT_API HingeProxyBase : public JointProxyBase
00026 {
00027 public:
00028 HingeProxyBase();
00029
00030 HingeProxyBase(const HingeProxyBase &p);
00031
00038 DelayedDispatch set_axis(
00039 float x, float y, float z,
00040 CoordinateSystem coord_sys = PARENT_COORDINATES);
00041
00048 DelayedDispatch set_pivot(
00049 float x, float y, float z,
00050 CoordinateSystem coord_sys = PARENT_COORDINATES);
00051 };
00052
00053
00057 class PEEKABOT_API HingeProxy : public HingeProxyBase
00058 {
00059 public:
00060 HingeProxy();
00061
00062 HingeProxy(const HingeProxyBase &p);
00063
00064 HingeProxy &operator=(const HingeProxy &p);
00065
00066 HingeProxy &operator=(const HingeProxyBase &p);
00067
00071 DelayedDispatch assign(const ObjectProxyBase &p);
00072
00076 DelayedDispatch assign(
00077 PeekabotClient &client,
00078 const std::string &path);
00079
00084 DelayedDispatch assign(
00085 const ObjectProxyBase &parent,
00086 const std::string &rel_path);
00087
00098 DelayedDispatch add(
00099 PeekabotClient &client,
00100 const std::string &path,
00101 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT);
00102
00113 DelayedDispatch add(
00114 const ObjectProxyBase &parent,
00115 const std::string &name,
00116 NameConflictPolicy conflict_policy = AUTO_ENUMERATE_ON_CONFLICT);
00117 };
00118 }
00119 }
00120
00121
00122 #endif // PEEKABOT_CLIENT_HINGE_PROXY_HH_INCLUDED