Exemplo n.º 1
0
bool LogConverter::isConversionRequired(InMessage& message, const int representationId)
{
  switch(representationId)
  {
  case idSensorData:
  case idFilteredSensorData:
    return (std::size_t)message.getMessageSize() == sizeofSensorDataRev5703 ||
           (std::size_t)message.getMessageSize() == sizeofSensorData_2d284;
  case idFrameInfo:
    return (std::size_t)message.getMessageSize() == sizeofFrameInfo_83e22;
  case idJointData:
  case idFilteredJointData:
    return (std::size_t)message.getMessageSize() == sizeofJointData_d198df791237;
  case idCameraInfo:
    return (std::size_t)message.getMessageSize() == 56; // very old logfiles
  default:
    return false;
  }
}
bool CognitionLogDataProvider::handleMessage2(InMessage& message)
{
  switch(message.getMessageID())
  {
    case idFrameInfo:
      if(handle(message) && Blackboard::getInstance().exists("Image"))
        ((Image&) Blackboard::getInstance()["Image"]).timeStamp = ((const FrameInfo&) Blackboard::getInstance()["FrameInfo"]).time;
      return true;

    case idImage:
      if(handle(message) && Blackboard::getInstance().exists("FrameInfo"))
      {
        FrameInfo& frameInfo = (FrameInfo&) Blackboard::getInstance()["FrameInfo"];
        const Image& image = (const Image&) Blackboard::getInstance()["Image"];
        frameInfo.cycleTime = (float) (image.timeStamp - frameInfo.time) * 0.001f;
        frameInfo.time = image.timeStamp;
      }
      return true;

    case idThumbnail:
      if(Blackboard::getInstance().exists("Image"))
      {
        Thumbnail thumbnail;
        message.bin >> thumbnail;
        thumbnail.toImage((Image&) Blackboard::getInstance()["Image"]);
      }
      return true;

    case idProcessFinished:
      frameDataComplete = true;
      return true;

    case idStopwatch:
    {
      const int size = message.getMessageSize();
      std::vector<unsigned char> data;
      data.resize(size);
      message.bin.read(&data[0], size);
      Global::getDebugOut().bin.write(&data[0], size);
      Global::getDebugOut().finishMessage(idStopwatch);
      return true;
    }

    case idAnnotation:
    {
      const int size = message.getMessageSize();
      std::vector<unsigned char> data;
      data.resize(size);
      message.bin.read(&data[0], size);
      Global::getDebugOut().bin.write(&data[0], size);
      Global::getDebugOut().finishMessage(idAnnotation);
      return true;
    }

    case idJPEGImage:
      if(Blackboard::getInstance().exists("Image"))
      {
        JPEGImage jpegImage;
        message.bin >> jpegImage;
        jpegImage.toImage((Image&) Blackboard::getInstance()["Image"]);
      }