Point3DSetSpliter.h

Go to the documentation of this file.
00001 
00010 #ifndef POINT3DSETSPLITER_H
00011 #define POINT3DSETSPLITER_H
00012 
00013 #include <boost/shared_ptr.hpp>
00014 using boost::shared_ptr;
00015 
00016 #include <vector>
00017 using std::vector;
00018 
00019 #include "ThreadSpecificRandomEngine.h"
00020 
00021 class Point3DSet;
00022 
00024 
00027 class Point3DSetSpliter {
00028 
00029     public:
00030 
00032         Point3DSetSpliter() {
00033             theThreadSpecificRandomEngine.init();
00034             m_rnd_eng =theThreadSpecificRandomEngine.get();
00035         }
00036 
00038         virtual ~Point3DSetSpliter() { /* NOOP */
00039         };
00040 
00042         virtual shared_ptr< vector< shared_ptr<Point3DSet> > > split( Point3DSet const& points ) = 0;
00043 
00045         void setRNDEngine(RandomEngine *engine) {
00046             m_rnd_eng = engine;
00047         };
00048 
00050         virtual void unsetRNDEngine(void) {
00051             theThreadSpecificRandomEngine.init();
00052             m_rnd_eng =theThreadSpecificRandomEngine.get();
00053         };
00054 
00055     protected:
00056         RandomEngine *m_rnd_eng;
00057 };
00058 
00059 #endif

Generated on Wed Jul 9 16:34:37 2008 for PCSIM by  doxygen 1.5.5