/* LICENSE:
  =========================================================================
    CMPack'04 Source Code Release for OPEN-R SDK 1.1.5-r2 for ERS7
    Copyright (C) 2004 Multirobot Lab [Project Head: Manuela Veloso]
    School of Computer Science, Carnegie Mellon University
    All rights reserved.
  ========================================================================= */

#ifndef _SPOutTrackerEncoder_h
#define _SPOutTrackerEncoder_h

#include "../headers/DogTypes.h"
#include "../headers/SPOutEncoder.h"

static const int TRACKER_NUM_VALS=10;
static const int TRACKER_ENCODER_SIZE=TRACKER_NUM_VALS*((5*sizeof(float))+sizeof(uchar));

class WorldModel;
class Gaussian2;

/*------------------------------------------------------------------
CLASS
  SPOutTrackerEncoder

DESCRIPTION
  Encodes SPOut output related to world model's tracker system.
------------------------------------------------------------------*/

class SPOutTrackerEncoder : public SPOutEncoder {
public:
  int encodeTracker(uchar *buf, WorldModel *modeller);
  void encodeGaussian2(uchar **buf, const Gaussian2 * g);
  void encodeValid(uchar **buf,uchar valid);
};

#include "WorldModel.h"
#endif
