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

 

         

laserfeatureextractor.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 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                                                  int    laserNumReturns,
00068                                                  const hydroutil::Context &context ) const=0;
00069 };
00070 
00072 } // namespace
00073 
00074 // Function for dynamically instantiating drivers.
00075 // A driver must have a function like so:
00076 // extern "C" {
00077 //     hydrointerfaces::LaserFeatureExtractorFactory *createLaserFeatureExtractorDriverFactory();
00078 // }
00079 typedef hydrointerfaces::LaserFeatureExtractorFactory *LaserFeatureExtractorDriverFactoryMakerFunc();
00080 
00081 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5