text: /** THIS IS AN AUTOMATICALLY GENERATED FILE.  DO NOT MODIFY
   * BY HAND!!
   *
   * Generated by lcm-gen
   **/
  
  #ifndef __state_estimator_lcmt_hpp__
  #define __state_estimator_lcmt_hpp__
  
  #include <lcm/lcm_coretypes.h>
  
  
  
  class state_estimator_lcmt
  {
      public:
          float      p[3];
  
          float      vWorld[3];
  
          float      vBody[3];
  
          float      rpy[3];
  
          float      omegaBody[3];
  
          float      omegaWorld[3];
  
          float      quat[4];
  
      public:
          /**
           * Encode a message into binary form.
           *
           * @param buf The output buffer.
           * @param offset Encoding starts at thie byte offset into @p buf.
           * @param maxlen Maximum number of bytes to write.  This should generally be
           *  equal to getEncodedSize().
           * @return The number of bytes encoded, or <0 on error.
           */
          inline int encode(void *buf, int offset, int maxlen) const;
  
          /**
           * Check how many bytes are required to encode this message.
           */
          inline int getEncodedSize() const;
  
          /**
           * Decode a message from binary form into this instance.
           *
           * @param buf The buffer containing the encoded message.
           * @param offset The byte offset into @p buf where the encoded message starts.
           * @param maxlen The maximum number of bytes to read while decoding.
           * @return The number of bytes decoded, or <0 if an error occured.
           */
          inline int decode(const void *buf, int offset, int maxlen);
  
          /**
           * Retrieve the 64-bit fingerprint identifying the structure of the message.
           * Note that the fingerprint is the same for all instances of the same
           * message type, and is a fingerprint on the message type definition, not on
           * the message contents.
           */
          inline static int64_t getHash();
  
          /**
           * Returns "state_estimator_lcmt"
           */
          inline static const char* getTypeName();
  
          // LCM support functions. Users should not call these
          inline int _encodeNoHash(void *buf, int offset, int maxlen) const;
          inline int _getEncodedSizeNoHash() const;
          inline int _decodeNoHash(const void *buf, int offset, int maxlen);
          inline static uint64_t _computeHash(const __lcm_hash_ptr *p);
  };
  
  int state_estimator_lcmt::encode(void *buf, int offset, int maxlen) const
  {
      int pos = 0, tlen;
      int64_t hash = getHash();
  
      tlen = __int64_t_encode_array(buf, offset + pos, maxlen - pos, &hash, 1);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = this->_encodeNoHash(buf, offset + pos, maxlen - pos);
      if (tlen < 0) return tlen; else pos += tlen;
  
      return pos;
  }
  
  int state_estimator_lcmt::decode(const void *buf, int offset, int maxlen)
  {
      int pos = 0, thislen;
  
      int64_t msg_hash;
      thislen = __int64_t_decode_array(buf, offset + pos, maxlen - pos, &msg_hash, 1);
      if (thislen < 0) return thislen; else pos += thislen;
      if (msg_hash != getHash()) return -1;
  
      thislen = this->_decodeNoHash(buf, offset + pos, maxlen - pos);
      if (thislen < 0) return thislen; else pos += thislen;
  
      return pos;
  }
  
  int state_estimator_lcmt::getEncodedSize() const
  {
      return 8 + _getEncodedSizeNoHash();
  }
  
  int64_t state_estimator_lcmt::getHash()
  {
      static int64_t hash = static_cast<int64_t>(_computeHash(NULL));
      return hash;
  }
  
  const char* state_estimator_lcmt::getTypeName()
  {
      return "state_estimator_lcmt";
  }
  
  int state_estimator_lcmt::_encodeNoHash(void *buf, int offset, int maxlen) const
  {
      int pos = 0, tlen;
  
      tlen = __float_encode_array(buf, offset + pos, maxlen - pos, &this->p[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_encode_array(buf, offset + pos, maxlen - pos, &this->vWorld[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_encode_array(buf, offset + pos, maxlen - pos, &this->vBody[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_encode_array(buf, offset + pos, maxlen - pos, &this->rpy[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_encode_array(buf, offset + pos, maxlen - pos, &this->omegaBody[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_encode_array(buf, offset + pos, maxlen - pos, &this->omegaWorld[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_encode_array(buf, offset + pos, maxlen - pos, &this->quat[0], 4);
      if(tlen < 0) return tlen; else pos += tlen;
  
      return pos;
  }
  
  int state_estimator_lcmt::_decodeNoHash(const void *buf, int offset, int maxlen)
  {
      int pos = 0, tlen;
  
      tlen = __float_decode_array(buf, offset + pos, maxlen - pos, &this->p[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_decode_array(buf, offset + pos, maxlen - pos, &this->vWorld[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_decode_array(buf, offset + pos, maxlen - pos, &this->vBody[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_decode_array(buf, offset + pos, maxlen - pos, &this->rpy[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_decode_array(buf, offset + pos, maxlen - pos, &this->omegaBody[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_decode_array(buf, offset + pos, maxlen - pos, &this->omegaWorld[0], 3);
      if(tlen < 0) return tlen; else pos += tlen;
  
      tlen = __float_decode_array(buf, offset + pos, maxlen - pos, &this->quat[0], 4);
      if(tlen < 0) return tlen; else pos += tlen;
  
      return pos;
  }
  
  int state_estimator_lcmt::_getEncodedSizeNoHash() const
  {
      int enc_size = 0;
      enc_size += __float_encoded_array_size(NULL, 3);
      enc_size += __float_encoded_array_size(NULL, 3);
      enc_size += __float_encoded_array_size(NULL, 3);
      enc_size += __float_encoded_array_size(NULL, 3);
      enc_size += __float_encoded_array_size(NULL, 3);
      enc_size += __float_encoded_array_size(NULL, 3);
      enc_size += __float_encoded_array_size(NULL, 4);
      return enc_size;
  }
  
  uint64_t state_estimator_lcmt::_computeHash(const __lcm_hash_ptr *)
  {
      uint64_t hash = 0xc329843a643aae5bLL;
      return (hash<<1) + ((hash>>63)&1);
  }
  
  #endif
  