#include <TopologyCreator.h>

| Public Member Functions | |
| std::vector< boost::shared_ptr< Topology > > | generateAllConnectedTopologies () | 
| boost::shared_ptr< Topology > | generateFullyMeshedTopology () | 
| std::vector< boost::shared_ptr< Topology > > | generateNeighbours (boost::shared_ptr< Topology > pFrom) | 
| boost::shared_ptr< Topology > | generateRandomTopology () | 
| std::vector< boost::shared_ptr< Topology > > | generateStarTopologies () | 
| TopologyCreator (const std::vector< std::string > &pAllObjectTypes, unsigned int pMaxNeighbourCount, bool pRemoveRelations, bool pSwapRelations) | |
| ~TopologyCreator () | |
| Private Member Functions | |
| std::vector< std::vector< bool > > | calculateNeighbours (std::vector< bool > pFrom) | 
| boost::shared_ptr< Topology > | convertBitvectorToTopology (const std::vector< bool > &pBitvector) | 
| std::vector< bool > | convertTopologyToBitvector (boost::shared_ptr< Topology > pTopology) | 
| std::vector< std::vector< bool > > | selectRandomNeighbours (std::vector< std::vector< bool >> &pNeighbours) | 
| Private Attributes | |
| std::vector< std::string > | mAllObjectTypes | 
| boost::shared_ptr< ConnectivityChecker > | mConnectivityChecker | 
| unsigned int | mMaxNeighbourCount | 
| bool | mRemoveRelations | 
| bool | mSwapRelations | 
Generates different topologies of object graphs.
Definition at line 34 of file TopologyCreator.h.
| SceneModel::TopologyCreator::TopologyCreator | ( | const std::vector< std::string > & | pAllObjectTypes, | 
| unsigned int | pMaxNeighbourCount, | ||
| bool | pRemoveRelations, | ||
| bool | pSwapRelations | ||
| ) | 
Constructor.
| pAllObjectTypes | all object types to appear in the graphs. | 
| pMaxNeighbourCount | the maximum count of neighbours to be created. | 
| pRemoveRelations | Whether to use the removal of relations as an operation when generating neighbours. | 
| pSwapRelations | Whether to use the swapping of relations as an operation when generating neighbours. | 
Definition at line 24 of file TopologyCreator.cpp.
| SceneModel::TopologyCreator::~TopologyCreator | ( | ) | 
Destructor.
Definition at line 30 of file TopologyCreator.cpp.
| 
 | private | 
Calculate neighbours of topology represented as bitvector.
| pFrom | topology represented as bitvector for which to create neighbours | 
Definition at line 269 of file TopologyCreator.cpp.
| 
 | private | 
Convert bitvector representing the relations into topology and set topology's identifier
| pBitvector | representing the relations | 
Definition at line 213 of file TopologyCreator.cpp.
| 
 | private | 
Convert topology into bitvector reporesenting its realtions.
| pTopology | the topology to convert | 
Definition at line 245 of file TopologyCreator.cpp.
| 
 | virtual | 
Generates all connected topologies containing the object types from constructor.
Implements SceneModel::AbstractTopologyCreator.
Definition at line 138 of file TopologyCreator.cpp.
| 
 | virtual | 
Generates the fully meshed topolgy containing all the object types from constructor.
Implements SceneModel::AbstractTopologyCreator.
Definition at line 111 of file TopologyCreator.cpp.
| 
 | virtual | 
Generates a set of neighbouring topologies from the given one using up to three operations depending on the parameters passed in constructor. Operations are adding, removing and swapping relations.
| pFrom | the topology to generate the neighbours for. | 
Implements SceneModel::AbstractTopologyCreator.
Definition at line 33 of file TopologyCreator.cpp.
| 
 | virtual | 
Generates a random topology containing the object types.
Implements SceneModel::AbstractTopologyCreator.
Definition at line 119 of file TopologyCreator.cpp.
| 
 | virtual | 
Generates all possible star topologies containing all the object types passed in constructor. A star topology is one where all objects are connected only to a sigle reference object.
Implements SceneModel::AbstractTopologyCreator.
Definition at line 83 of file TopologyCreator.cpp.
| 
 | private | 
Randomly selects mMaxNeighbourCount neighbours from the given set.
| pNeighbours | The set of neighbours to randomly pick from. | 
Definition at line 180 of file TopologyCreator.cpp.
| 
 | private | 
The object types the topologies connect through relations.
Definition at line 93 of file TopologyCreator.h.
| 
 | private | 
The ConnectivityChecker used to check whether topologies are connected.
Definition at line 88 of file TopologyCreator.h.
| 
 | private | 
Maximum amount of neighbours to return.
Definition at line 119 of file TopologyCreator.h.
| 
 | private | 
Whether to use the removal of relations as an operation when generating neighbours.
Definition at line 131 of file TopologyCreator.h.
| 
 | private | 
Whether to use the swapping of relations as an operation when generating neighbours.
Definition at line 136 of file TopologyCreator.h.