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

 

         

hydrointerfaces/rangerarray.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  *
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_RANGERARRAY_H
00011 #define HYDRO_INTERFACES_RANGERARRAY_H
00012 
00013 #include <string>
00014 #include <vector>
00015 #include <hydroutil/context.h>
00016 #include <hydrobros1/types.h>
00017 
00018 namespace hydrointerfaces 
00019 {
00020 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 class SOEXPORT RangerArray 
00045 {
00046 
00047 public:
00048 
00050   class Description
00051   {
00052   public:
00054     double minRange;
00056     double maxRange;
00058     double detectionConeAngle;
00060     std::vector<hydrobros1::Frame3d> poses;
00061   };
00062 
00064   class Data
00065   {
00066   public:
00067   Data()
00068     : haveWarnings(false)
00069       {}
00070 
00072     float              *ranges;
00073     int                *timeStampsSec;
00074     int                *timeStampsUsec;
00075     bool               haveWarnings;
00077     std::string        warnings;
00078   };
00079 
00080   virtual ~RangerArray() {};
00081   
00083   virtual void getDescription( Description &description )=0;
00084 
00088   virtual void read( Data &data )=0;
00089 
00090 private:
00091 
00092 };
00093 
00095 class SOEXPORT RangerArrayFactory {
00096 public:
00097   virtual ~RangerArrayFactory() {};
00099   virtual RangerArray *createDriver( const hydroutil::Context     &context ) const=0;
00100 };
00101 
00103 } // namespace
00104 
00105 // Function for dynamically instantiating drivers.
00106 // A driver must have a function like so:
00107 // extern "C" {
00108 //     hydrointerfaces::RangerArrayFactory *createRangerArrayDriverFactory();
00109 // }
00110 typedef hydrointerfaces::RangerArrayFactory *RangerArrayDriverFactoryMakerFunc();
00111 
00112 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5