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

 

         

disparity.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_DISPARITY_H
00011 #define HYDRO_INTERFACES_DISPARITY_H
00012 
00013 #include <string>
00014 #include <vector>
00015 #include <hydroutil/context.h>
00016 #include <hydroimage/structures.h>
00017 
00018 namespace hydrointerfaces 
00019 {
00020 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 class SOEXPORT Disparity 
00042 {
00043 
00044 public:
00045 
00047     class Config
00048     {   
00049     public:
00050         Config();
00051         bool validate() const;
00052         std::string toString() const;
00053         bool operator==( const Config & other );
00054         bool operator!=( const Config & other );
00055 
00057         size_t width;
00059         size_t height;
00061         size_t size;
00063         size_t shifts;
00065         size_t offset;
00067         std::string format;
00068     };
00069 
00071     typedef hydroimage::Data Data;
00072 
00073     virtual ~Disparity() {};
00074 
00078     virtual void process( const Data& leftImage, const Data& rightImage, Data& outputImage )=0;
00079 
00082     virtual bool hasEventLoop() = 0;
00083 
00085     virtual int executeEventLoop() = 0;
00086 
00087 private:
00088 
00089 };
00090 
00092 class SOEXPORT DisparityFactory {
00093 public:
00094     virtual ~DisparityFactory() {};
00096     virtual Disparity *createDriver( const Disparity::Config &config
00097                                    , const hydroutil::Context &context ) const=0;
00098 };
00099 
00101 } // namespace
00102 
00103 // Function for dynamically instantiating drivers.
00104 // A driver must have a function like so:
00105 // extern "C" {
00106 //     hydrointerfaces::DisparityFactory *createDisparityDriverFactory();
00107 // }
00108 typedef hydrointerfaces::DisparityFactory *DisparityDriverFactoryMakerFunc();
00109 
00110 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5