00001 #ifndef SIMOBJECTFACTORY_H_ 00002 #define SIMOBJECTFACTORY_H_ 00003 00004 #include "globaldefinitions.h" 00005 00006 class SimObject; 00007 class RandomEngine; 00008 00010 class SimObjectFactory 00011 { 00012 00013 public: 00014 00015 virtual ~SimObjectFactory() 00016 { /* NOOP */ }; 00017 00018 virtual SimObject* create( void ) const { return 0; }; 00019 virtual SimObject* create( RandomEngine *rng ) const { return 0; }; 00020 virtual object_type_t getObjectTypeID() const { return 0; }; 00021 00022 }; 00023 00024 #endif /*SIMOBJECTFACTORY_H_*/