00001 #ifndef OROCOS_COMP_NAXESPOSITIONVIEWER_HPP
00002 #define OROCOS_COMP_NAXESPOSITIONVIEWER_HPP
00003 #include <vector>
00004 #include <rtt/RTT.hpp>
00005
00006 #include <rtt/TaskContext.hpp>
00007 #include <rtt/Ports.hpp>
00008 #include <rtt/Properties.hpp>
00009
00010
00011
00012
00013 #include <ocl/OCL.hpp>
00014
00015 namespace OCL {
00023 class NAxesPositionViewer : public RTT::TaskContext
00024 {
00025 public:
00033 NAxesPositionViewer(const std::string& name,const std::string& propertyfilename="cpf/viewer.cpf");
00034 virtual ~NAxesPositionViewer();
00035
00036 private:
00041 const std::string _propertyfile;
00042
00043 public:
00048 virtual bool startup();
00049
00053 virtual void update();
00054
00058 virtual void shutdown();
00059
00060 protected:
00062 RTT::Property<int> portnumber;
00064 RTT::Property<int> num_axes;
00067 RTT::Property<bool> seperate_ports;
00070 RTT::Property<std::string> port_name;
00071 private:
00072 int _num_axes;
00073 protected:
00076 std::vector<RTT::ReadDataPort<double>*> seperateValues;
00079 RTT::ReadDataPort<std::vector<double> >* vectorValue;
00080 private:
00081 std::vector<double> jointvec;
00082 void* clientacceptor;
00083 int state;
00084
00085 };
00086
00087 }
00088
00089 #endif // NAXESVELOCITYVIEWER