text: //--------------------------------------------------------------------------
  // Code generated by the SmartSoft MDSD Toolchain
  // The SmartSoft Toolchain has been developed by:
  //  
  // Service Robotics Research Center
  // University of Applied Sciences Ulm
  // Prittwitzstr. 10
  // 89075 Ulm (Germany)
  //
  // Information about the SmartSoft MDSD Toolchain is available at:
  // www.servicerobotik-ulm.de
  //
  // Please do not modify this file. It will be re-generated
  // running the code generator.
  //--------------------------------------------------------------------------
  #ifndef COMMBASICOBJECTS_COMMIMUDATA_CORE_H_
  #define COMMBASICOBJECTS_COMMIMUDATA_CORE_H_
  
  #include "CommBasicObjects/CommIMUDataData.hh"
  
  #include <iostream>
  #include <string>
  #include <list>
  
  namespace CommBasicObjects {
  	
  class CommIMUDataCore {
  protected:
  	// data structure
  	CommBasicObjectsIDL::CommIMUData idl_CommIMUData;
  	
  public:
  	// give a publicly accessible type-name for the template parameter IDL
  	typedef CommBasicObjectsIDL::CommIMUData DATATYPE;
  	
  	#ifdef ENABLE_HASH
  		static size_t generateDataHash(const DATATYPE &);
  	#endif
  	
  	static const char* getCompiledHash();
  	static void getAllHashValues(std::list<std::string> &hashes);
  	static void checkAllHashValues(std::list<std::string> &hashes);
  	
  	// default constructors
  	CommIMUDataCore();
  	CommIMUDataCore(const DATATYPE &data);
  	// default destructor
  	virtual ~CommIMUDataCore();
  	
  	const DATATYPE& get() const { return idl_CommIMUData; }
  	operator const DATATYPE&() const { return idl_CommIMUData; }
  	DATATYPE& set() { return idl_CommIMUData; }
  
  	static inline std::string identifier(void) { return "CommBasicObjects::CommIMUData"; }
  	
  	// helper method to easily implement output stream in derived classes
  	void to_ostream(std::ostream &os = std::cout) const;
  	
  	// convert to xml stream
  	void to_xml(std::ostream &os, const std::string &indent = "") const;
  	
  	// restore from xml stream
  	void from_xml(std::istream &is);
  	
  	// User Interface
  	
  	// getter and setter for element Timestamp
  	inline unsigned short getTimestamp() const { return idl_CommIMUData.timestamp; }
  	inline CommIMUDataCore& setTimestamp(const unsigned short &timestamp) { idl_CommIMUData.timestamp = timestamp; return *this; }
  	
  	// getter and setter for element Temperature
  	inline double getTemperature() const { return idl_CommIMUData.temperature; }
  	inline CommIMUDataCore& setTemperature(const double &temperature) { idl_CommIMUData.temperature = temperature; return *this; }
  	
  	// getter and setter for element Accelerometer_x
  	inline double getAccelerometer_x() const { return idl_CommIMUData.accelerometer_x; }
  	inline CommIMUDataCore& setAccelerometer_x(const double &accelerometer_x) { idl_CommIMUData.accelerometer_x = accelerometer_x; return *this; }
  	
  	// getter and setter for element Accelerometer_y
  	inline double getAccelerometer_y() const { return idl_CommIMUData.accelerometer_y; }
  	inline CommIMUDataCore& setAccelerometer_y(const double &accelerometer_y) { idl_CommIMUData.accelerometer_y = accelerometer_y; return *this; }
  	
  	// getter and setter for element Accelerometer_z
  	inline double getAccelerometer_z() const { return idl_CommIMUData.accelerometer_z; }
  	inline CommIMUDataCore& setAccelerometer_z(const double &accelerometer_z) { idl_CommIMUData.accelerometer_z = accelerometer_z; return *this; }
  	
  	// getter and setter for element Gyroscope_x
  	inline double getGyroscope_x() const { return idl_CommIMUData.gyroscope_x; }
  	inline CommIMUDataCore& setGyroscope_x(const double &gyroscope_x) { idl_CommIMUData.gyroscope_x = gyroscope_x; return *this; }
  	
  	// getter and setter for element Gyroscope_y
  	inline double getGyroscope_y() const { return idl_CommIMUData.gyroscope_y; }
  	inline CommIMUDataCore& setGyroscope_y(const double &gyroscope_y) { idl_CommIMUData.gyroscope_y = gyroscope_y; return *this; }
  	
  	// getter and setter for element Gyroscope_z
  	inline double getGyroscope_z() const { return idl_CommIMUData.gyroscope_z; }
  	inline CommIMUDataCore& setGyroscope_z(const double &gyroscope_z) { idl_CommIMUData.gyroscope_z = gyroscope_z; return *this; }
  	
  	// getter and setter for element Magnetometer_x
  	inline double getMagnetometer_x() const { return idl_CommIMUData.magnetometer_x; }
  	inline CommIMUDataCore& setMagnetometer_x(const double &magnetometer_x) { idl_CommIMUData.magnetometer_x = magnetometer_x; return *this; }
  	
  	// getter and setter for element Magnetometer_y
  	inline double getMagnetometer_y() const { return idl_CommIMUData.magnetometer_y; }
  	inline CommIMUDataCore& setMagnetometer_y(const double &magnetometer_y) { idl_CommIMUData.magnetometer_y = magnetometer_y; return *this; }
  	
  	// getter and setter for element Magnetometer_z
  	inline double getMagnetometer_z() const { return idl_CommIMUData.magnetometer_z; }
  	inline CommIMUDataCore& setMagnetometer_z(const double &magnetometer_z) { idl_CommIMUData.magnetometer_z = magnetometer_z; return *this; }
  	
  	// getter and setter for element Roll
  	inline double getRoll() const { return idl_CommIMUData.roll; }
  	inline CommIMUDataCore& setRoll(const double &roll) { idl_CommIMUData.roll = roll; return *this; }
  	
  	// getter and setter for element Pitch
  	inline double getPitch() const { return idl_CommIMUData.pitch; }
  	inline CommIMUDataCore& setPitch(const double &pitch) { idl_CommIMUData.pitch = pitch; return *this; }
  	
  	// getter and setter for element Yaw
  	inline double getYaw() const { return idl_CommIMUData.yaw; }
  	inline CommIMUDataCore& setYaw(const double &yaw) { idl_CommIMUData.yaw = yaw; return *this; }
  };
  
  } /* namespace CommBasicObjects */
  #endif /* COMMBASICOBJECTS_COMMIMUDATA_CORE_H_ */
  