Program Listing for File friTransformationClient.h

Return to documentation for file (include/fri_client_sdk/friTransformationClient.h)

#ifndef _KUKA_FRI_TRANSFORMATION_CLIENT_H
#define _KUKA_FRI_TRANSFORMATION_CLIENT_H

#include <vector>
#include <fri_client_sdk/friClientIf.h>

namespace KUKA
{
namespace FRI
{

// forward declaration
struct ClientData;

class TransformationClient
{

  friend class ClientApplication;

public:
  TransformationClient();

  virtual ~TransformationClient();

  virtual void provide() = 0;

  double getSampleTime() const;     // sec

  EConnectionQuality getConnectionQuality() const;

  const std::vector<const char *> & getRequestedTransformationIDs() const;

  const unsigned int getTimestampSec() const;

  const unsigned int getTimestampNanoSec() const;

  void setTransformation(
    const char * transformationID, const double transformationMatrix[3][4],
    unsigned int timeSec, unsigned int timeNanoSec);

  void setBooleanIOValue(const char * name, const bool value);

  void setDigitalIOValue(const char * name, const unsigned long long value);

  void setAnalogIOValue(const char * name, const double value);

  bool getBooleanIOValue(const char * name) const;

  unsigned long long getDigitalIOValue(const char * name) const;

  double getAnalogIOValue(const char * name) const;

private:
  ClientData * _data;

  void linkData(ClientData * clientData);

};

}
}

#endif // _KUKA_FRI_TRANSFORMATION_CLIENT_H