SpherePackingScenarioGenerator
|
00001 /* 00002 * RandomPacking.h 00003 * 00004 * Created on: 2011-3-30 00005 * Author: asu 00006 */ 00007 00008 #ifndef LS2_RandomPacking_H_ 00009 #define LS2_RandomPacking_H_ 00010 #include "Simulation.h" 00011 #include "Event.h" 00012 #include "Heap.h" 00013 #include "Box.h" 00014 #include "Configuration.h" 00015 #include <vector> 00016 #include <string> 00017 #include "algorithms/AbstractSpherePacking.h" 00018 #include "algorithms/distributions/AbstractDistribution.h" 00019 00020 namespace algorithms{ 00021 namespace ls2{ 00022 class RandomPacking; 00023 } 00024 } 00028 class algorithms::ls2::RandomPacking: public algorithms::AbstractSpherePacking { 00029 public: 00034 RandomPacking( 00035 std::string filename, 00036 double maxScalingFactor, 00037 int numberOfSpheres, 00038 enum distributions::AbstractDistribution::DISTRIBUTIONS distribution = distributions::AbstractDistribution::LINEAR 00039 ); 00043 virtual ~RandomPacking(); 00047 void generate(); 00048 // void setDistribution(enum DISTRIBUTIONS distribution); 00049 00050 private: 00051 std::string _filename; 00052 double _maxSphereScaling; 00053 std::vector<double> _sphereScalingDistribution; 00054 }; 00055 00056 #endif /* LS2_RandomPacking_H_ */