INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

imageconverter.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 Tom Burdick, Alex Brooks, Alexei Makarenko, Tobias Kaupp
00005  *
00006  * This distribution is licensed to you under the terms described in
00007  * the LICENSE file included in this distribution.
00008  *
00009  */
00010 #ifndef HYDRO_INTERFACES_IMAGECONVERTER_H
00011 #define HYDRO_INTERFACES_IMAGECONVERTER_H
00012 
00013 #include <string>
00014 #include <vector>
00015 #include <hydroutil/context.h>
00016 
00017 namespace hydrointerfaces 
00018 {
00019 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 class SOEXPORT ImageConverter 
00044 {
00045 
00046 public:
00047 
00049     typedef hydroimage::Config Config;
00050 
00052     typedef hydroimage::Data Data;
00053     
00054     virtual ~ImageConverter() {};
00055 
00059     virtual void convert( Data &inputData, Data &outputData )=0;
00060    
00062     virtual uint32_t getOutputBufferSize(const Config& config, const std::string& outputFormat) = 0;
00063 
00065     virtual const std::vector<std::string>& getInputFormats() const = 0;
00066     virtual const std::vector<std::string>& getOutputFormats(const std::string &inputFormat) const = 0;
00067 
00068 private:
00069 
00070 };
00071 
00073 class SOEXPORT ImageConverterFactory {
00074 public:
00075     virtual ~ImageConverterFactory() {};
00077     virtual ImageConverter *createDriver( const hydroutil::Context &context ) const=0;
00078 };
00079 
00081 } // namespace
00082 
00083 // Function for dynamically instantiating drivers.
00084 // A driver must have a function like so:
00085 // extern "C" {
00086 //     hydrointerfaces::ImageConverterFactory *createImageConverterDriverFactory();
00087 // }
00088 typedef hydrointerfaces::ImageConverterFactory *ImageConverterDriverFactoryMakerFunc();
00089 
00090 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5