Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ISM::TopologyGenerator Class Referenceabstract

#include <TopologyGenerator.hpp>

Inheritance diagram for ISM::TopologyGenerator:
Inheritance graph
[legend]

Public Member Functions

TopologyPtr generateFullyMeshedTopology (const std::string &pattern)
 
std::vector< TopologyPtrgenerateNeighbours (const std::string &pattern, TopologyPtr from)
 
TopologyPtr generateRandomTopology (const std::string &pattern)
 
std::vector< TopologyPtrgenerateStarTopologies (const std::string &pattern)
 
virtual std::string getDescription ()=0
 
 TopologyGenerator (const std::map< std::string, ISM::ObjectRelations > allObjectRelationsPerPattern, int maxNeighbourCount)
 

Protected Member Functions

virtual std::vector< std::vector< bool > > calculateNeighbours (const std::string &pattern, std::vector< bool > from)=0
 

Protected Attributes

int mMaxNeighbourCount
 
std::map< std::string, unsigned int > mNumRelationsPerPattern
 
unsigned int mUpperRelationLimit
 

Private Member Functions

std::vector< TopologyPtrconvertBitvectors (std::vector< std::vector< bool >> bitvectors, const std::string &pattern)
 
TopologyPtr convertBitvectorToTopology (const std::vector< bool > &bitvector, const std::string &pattern)
 
std::vector< bool > convertTopologyToBitvector (TopologyPtr topology, const std::string &pattern)
 
std::vector< std::vector< bool > > filterBitvectors (std::vector< std::vector< bool >> bitvectors, const std::string &pattern)
 
void logNeighbourGeneration (const std::vector< TopologyPtr > &neighbours, TopologyPtr from, const unsigned int totalNumber)
 
std::vector< std::vector< bool > > selectNeighbours (std::vector< std::vector< bool >> &neighbours)
 

Private Attributes

std::map< std::string, ISM::ObjectRelationsmAllObjectRelationsPerPattern
 
ConnectivityCheckerPtr mConnectivityChecker
 

Detailed Description

Definition at line 33 of file TopologyGenerator.hpp.

Constructor & Destructor Documentation

ISM::TopologyGenerator::TopologyGenerator ( const std::map< std::string, ISM::ObjectRelations allObjectRelationsPerPattern,
int  maxNeighbourCount 
)

Definition at line 24 of file TopologyGenerator.cpp.

Member Function Documentation

virtual std::vector<std::vector<bool> > ISM::TopologyGenerator::calculateNeighbours ( const std::string &  pattern,
std::vector< bool >  from 
)
protectedpure virtual
std::vector< TopologyPtr > ISM::TopologyGenerator::convertBitvectors ( std::vector< std::vector< bool >>  bitvectors,
const std::string &  pattern 
)
private

Definition at line 203 of file TopologyGenerator.cpp.

TopologyPtr ISM::TopologyGenerator::convertBitvectorToTopology ( const std::vector< bool > &  bitvector,
const std::string &  pattern 
)
private

Definition at line 143 of file TopologyGenerator.cpp.

std::vector< bool > ISM::TopologyGenerator::convertTopologyToBitvector ( TopologyPtr  topology,
const std::string &  pattern 
)
private

Definition at line 173 of file TopologyGenerator.cpp.

std::vector< std::vector< bool > > ISM::TopologyGenerator::filterBitvectors ( std::vector< std::vector< bool >>  bitvectors,
const std::string &  pattern 
)
private

Definition at line 188 of file TopologyGenerator.cpp.

TopologyPtr ISM::TopologyGenerator::generateFullyMeshedTopology ( const std::string &  pattern)

Definition at line 78 of file TopologyGenerator.cpp.

std::vector< TopologyPtr > ISM::TopologyGenerator::generateNeighbours ( const std::string &  pattern,
TopologyPtr  from 
)

Definition at line 45 of file TopologyGenerator.cpp.

TopologyPtr ISM::TopologyGenerator::generateRandomTopology ( const std::string &  pattern)

Definition at line 86 of file TopologyGenerator.cpp.

std::vector< TopologyPtr > ISM::TopologyGenerator::generateStarTopologies ( const std::string &  pattern)

Definition at line 55 of file TopologyGenerator.cpp.

virtual std::string ISM::TopologyGenerator::getDescription ( )
pure virtual
void ISM::TopologyGenerator::logNeighbourGeneration ( const std::vector< TopologyPtr > &  neighbours,
TopologyPtr  from,
const unsigned int  totalNumber 
)
private

Definition at line 215 of file TopologyGenerator.cpp.

std::vector< std::vector< bool > > ISM::TopologyGenerator::selectNeighbours ( std::vector< std::vector< bool >> &  neighbours)
private

Definition at line 108 of file TopologyGenerator.cpp.

Member Data Documentation

std::map<std::string, ISM::ObjectRelations> ISM::TopologyGenerator::mAllObjectRelationsPerPattern
private

Definition at line 49 of file TopologyGenerator.hpp.

ConnectivityCheckerPtr ISM::TopologyGenerator::mConnectivityChecker
private

Definition at line 47 of file TopologyGenerator.hpp.

int ISM::TopologyGenerator::mMaxNeighbourCount
protected

Definition at line 67 of file TopologyGenerator.hpp.

std::map<std::string, unsigned int> ISM::TopologyGenerator::mNumRelationsPerPattern
protected

Definition at line 64 of file TopologyGenerator.hpp.

unsigned int ISM::TopologyGenerator::mUpperRelationLimit
protected

Definition at line 66 of file TopologyGenerator.hpp.


The documentation for this class was generated from the following files:


asr_lib_ism
Author(s): Hanselmann Fabian, Heller Florian, Heizmann Heinrich, Kübler Marcel, Mehlhaus Jonas, Meißner Pascal, Qattan Mohamad, Reckling Reno, Stroh Daniel
autogenerated on Wed Jan 8 2020 04:02:41