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

 

         

components/laserfeatureextractor/mainthread.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 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 <orcaice/subsystemthread.h>
00016 #include <orcaice/context.h>
00017 #include <hydrointerfaces/laserfeatureextractor.h>
00018 #include <orca/laserscanner2d.h>
00019 #include <orcaifaceimpl/polarfeature2d.h>
00020 #include <orcaifaceimpl/rangescanner2d.h>
00021 #include <hydrodll/dynamicload.h>
00022 
00023 namespace laserfeatures
00024 {
00025 
00026 class MainThread : public orcaice::SubsystemThread
00027 {
00028 public:
00029 
00030     MainThread( const orcaice::Context &context );
00031 
00032 private:
00033     // from SubsystemThread
00034     virtual void initialise();
00035     virtual void work();
00036 
00037     void initDriver();
00038     void initPolarFeatureInterface();
00039 
00040     // The library that contains the driver factory (must be declared first so it's destructed last!!!)
00041     std::auto_ptr<hydrodll::DynamicallyLoadedLibrary> driverLib_;
00042     // Generic algorithm implementation
00043     std::auto_ptr<hydrointerfaces::LaserFeatureExtractor> driver_;
00044     
00045     // Our external interface
00046     orcaifaceimpl::PolarFeature2dImplPtr featureInterface_;
00047     
00048     // Description of laser details
00049     orca::RangeScanner2dDescription laserDescr_;
00050 
00051     // Consumers
00052     orcaifaceimpl::StoringRangeScanner2dConsumerImplPtr laserConsumer_;
00053 
00054     orcaice::Context context_;
00055 };
00056 
00057 } // namespace
00058 
00059 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5