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 Project Download Mailing lists
|
hydrolibs/hydropublish/particle2dpublisher.h00001 #ifndef HYDROPUBLISH_PARTICLEPUBLISHER_H 00002 #define HYDROPUBLISH_PARTICLEPUBLISHER_H 00003 00004 #include <boost/shared_ptr.hpp> 00005 #include <vector> 00006 00007 namespace hydropublish { 00008 00009 // 00010 // @author Alex Brooks 00011 // 00012 class Particle2d { 00013 public: 00014 double x; 00015 double y; 00016 double theta; 00017 double weight; 00018 }; 00019 00020 // 00021 // @author Alex Brooks 00022 // 00023 class Particle2dPublisher 00024 { 00025 public: 00026 virtual ~Particle2dPublisher() {} 00027 00028 virtual void init()=0; 00029 virtual void localSetAndSend( const std::vector<Particle2d> &particles )=0; 00030 00031 private: 00032 00033 00034 }; 00035 typedef boost::shared_ptr<Particle2dPublisher> Particle2dPublisherPtr; 00036 00037 // 00038 // @author Alex Brooks 00039 // 00040 class Particle2dPublisherFactory 00041 { 00042 public: 00043 virtual ~Particle2dPublisherFactory() {} 00044 00045 virtual Particle2dPublisherPtr createPublisher( const std::string &name )=0; 00046 00047 private: 00048 }; 00049 typedef boost::shared_ptr<Particle2dPublisherFactory> Particle2dPublisherFactoryPtr; 00050 00051 } 00052 00053 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)