orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
components/laserfeatureextractor/mainthread.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2008 Alex Brooks, Alexei Makarenko, Tobias Kaupp, 00005 * George Mathews, Stef Williams. 00006 * 00007 * This copy of Orca is licensed to you under the terms described in 00008 * the LICENSE file included in this distribution. 00009 * 00010 */ 00011 00012 #ifndef LASER_FEATURE_EXTRACTOR_MAIN_LOOP_H 00013 #define LASER_FEATURE_EXTRACTOR_MAIN_LOOP_H 00014 00015 #include <gbxsickacfr/gbxiceutilacfr/subsystemthread.h> 00016 #include <orcaice/context.h> 00017 #include <hydrointerfaces/laserfeatureextractor.h> 00018 #include <orca/laserscanner2d.h> 00019 #include <orcaifaceimpl/polarfeature2dImpl.h> 00020 #include <orcaifaceimpl/storingconsumers.h> 00021 #include <hydrodll/dynamicload.h> 00022 00023 namespace laserfeatures 00024 { 00025 00026 class MainThread : public gbxsickacfr::gbxiceutilacfr::SubsystemThread 00027 { 00028 public: 00029 00030 MainThread( const orcaice::Context &context ); 00031 00032 // from SubsystemThread 00033 virtual void walk(); 00034 00035 private: 00036 00037 void connectToLaser(); 00038 void getLaserDescription(); 00039 void initDriver(); 00040 void initPolarFeatureInterface(); 00041 00042 // The library that contains the driver factory (must be declared first so it's destructed last!!!) 00043 std::auto_ptr<hydrodll::DynamicallyLoadedLibrary> driverLib_; 00044 // Generic algorithm implementation 00045 std::auto_ptr<hydrointerfaces::LaserFeatureExtractor> driver_; 00046 00047 // Our external interface 00048 orcaifaceimpl::PolarFeature2dImplPtr featureInterface_; 00049 00050 // Description of laser details 00051 orca::RangeScanner2dDescription laserDescr_; 00052 00053 // Consumers 00054 orcaifaceimpl::StoringRangeScanner2dConsumerImplPtr laserConsumer_; 00055 00056 orcaice::Context context_; 00057 }; 00058 00059 } // namespace 00060 00061 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)