/**
 *
 * Version : $Id$
 * This file was generated by Aldebaran Robotics ModuleGenerator
 */

#include "optimizedimage.h"

#include <alvalue/alvalue.h>
#include <alcommon/alproxy.h>
#include <alcommon/albroker.h>

#include <alvision/alvisiondefinitions.h>


OptimizedImage::OptimizedImage(
  boost::shared_ptr<AL::ALBroker> broker,
  const std::string& name):
    AL::ALModule(broker, name),
    fVideoProxy(AL::ALVideoDeviceProxy(broker)),
    fGVMId("GVM")
{
  setModuleDescription("This is an autogenerated module, this descriptio needs to be updated.");

}

OptimizedImage::~OptimizedImage() {
  fVideoProxy.unsubscribe(fGVMId);
  delete fImagePointer;
}

void OptimizedImage::init() {
  fGVMId = fVideoProxy.subscribe(fGVMId, AL::kVGA, AL::kRGBColorSpace, 5);
}

void OptimizedImage::optimizedImageProcessing() {
  /** Retrieve a pointer to the image. */
  fImagePointer = (AL::ALImage*) fVideoProxy.getImageLocal(fGVMId);

  /** Do whatever processing you want... */

  /** Do not forget to release the image. */
  fVideoProxy.releaseImage(fGVMId);
}


