20 #include <boost/shared_ptr.hpp> 31 using boost::filesystem::path;
36 TopologyGenerator(
const std::map<std::string, ISM::ObjectRelations> allObjectRelationsPerPattern,
int maxNeighbourCount);
51 std::vector<std::vector<bool>>
selectNeighbours(std::vector<std::vector<bool>>& neighbours);
55 std::vector<std::vector<bool>>
filterBitvectors(std::vector<std::vector<bool>> bitvectors,
56 const std::string& pattern);
57 std::vector<TopologyPtr>
convertBitvectors(std::vector<std::vector<bool>> bitvectors,
58 const std::string& pattern);
69 virtual std::vector<std::vector<bool>>
calculateNeighbours(
const std::string &pattern, std::vector<bool> from) = 0;
std::vector< TopologyPtr > generateStarTopologies(const std::string &pattern)
virtual std::string getDescription()=0
std::vector< TopologyPtr > generateNeighbours(const std::string &pattern, TopologyPtr from)
virtual std::vector< std::vector< bool > > calculateNeighbours(const std::string &pattern, std::vector< bool > from)=0
unsigned int mUpperRelationLimit
TopologyPtr convertBitvectorToTopology(const std::vector< bool > &bitvector, const std::string &pattern)
std::vector< std::vector< bool > > selectNeighbours(std::vector< std::vector< bool >> &neighbours)
boost::shared_ptr< ConnectivityChecker > ConnectivityCheckerPtr
std::vector< std::vector< bool > > filterBitvectors(std::vector< std::vector< bool >> bitvectors, const std::string &pattern)
boost::shared_ptr< TopologyGenerator > TopologyGeneratorPtr
std::map< std::string, unsigned int > mNumRelationsPerPattern
boost::shared_ptr< Topology > TopologyPtr
std::vector< bool > convertTopologyToBitvector(TopologyPtr topology, const std::string &pattern)
std::vector< TopologyPtr > convertBitvectors(std::vector< std::vector< bool >> bitvectors, const std::string &pattern)
std::map< std::string, ISM::ObjectRelations > mAllObjectRelationsPerPattern
ConnectivityCheckerPtr mConnectivityChecker
TopologyPtr generateRandomTopology(const std::string &pattern)
TopologyGenerator(const std::map< std::string, ISM::ObjectRelations > allObjectRelationsPerPattern, int maxNeighbourCount)
void logNeighbourGeneration(const std::vector< TopologyPtr > &neighbours, TopologyPtr from, const unsigned int totalNumber)
TopologyPtr generateFullyMeshedTopology(const std::string &pattern)
this namespace contains all generally usable classes.