orca-robotics INTRODUCTION Overview Download and Install Documentation REPOSITORY Interfaces Drivers Libraries Utilities Software Map DEVELOPER Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
laserfeatureextractor.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2008 Alex Brooks 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_LASERFEATUREEXTRACTOR_H 00011 #define HYDRO_INTERFACES_LASERFEATUREEXTRACTOR_H 00012 00013 #include <string> 00014 #include <vector> 00015 #include <hydroutil/context.h> 00016 00017 namespace hydrofeatureobs { 00018 class FeatureObs; 00019 } 00020 00021 namespace hydrointerfaces 00022 { 00023 00037 00038 00039 00040 00041 00042 class SOEXPORT LaserFeatureExtractor 00043 { 00044 00045 public: 00046 00047 virtual ~LaserFeatureExtractor() {}; 00048 00051 virtual std::vector<hydrofeatureobs::FeatureObs*> 00052 extractFeatures( const std::vector<float> &ranges, 00053 const std::vector<unsigned char> &intensities ) = 0; 00054 00055 private: 00056 00057 }; 00058 00060 class SOEXPORT LaserFeatureExtractorFactory { 00061 public: 00062 virtual ~LaserFeatureExtractorFactory() {}; 00064 virtual LaserFeatureExtractor *createDriver( double laserMaxRange, 00065 double laserStartAngle, 00066 double laserAngleIncrement, 00067 const hydroutil::Context &context ) const=0; 00068 }; 00069 00071 } // namespace 00072 00073 // Function for dynamically instantiating drivers. 00074 // A driver must have a function like so: 00075 // extern "C" { 00076 // hydrointerfaces::LaserFeatureExtractorFactory *createDriverFactory(); 00077 // } 00078 typedef hydrointerfaces::LaserFeatureExtractorFactory *DriverFactoryMakerFunc(); 00079 00080 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)