TopologyManager.h
Go to the documentation of this file.
1 
18 #pragma once
19 
20 #include <topology_creator/Topology.h>
21 #include <topology_creator/TopologyCreator.h>
22 
23 #include <ISM/combinatorial_optimization/NeighbourhoodFunction.hpp>
24 #include <ISM/utility/SVGHelper.hpp>
25 #include <ISM/common_type/ObjectSet.hpp>
26 
29 
30 #include "helper/PrintHelper.h"
31 
33 
40 class TopologyManager: public ISM::NeighbourhoodFunction<boost::shared_ptr<SceneModel::Topology>> {
41 public:
48  TopologyManager(std::vector<boost::shared_ptr<ISM::ObjectSet>> pExamplesList,
49  const std::vector<std::string>& pObjectTypes,
52 
57 
67  virtual bool hasNextNeighbour();
73 
83  std::vector<boost::shared_ptr<SceneModel::Topology>> getStarTopologies();
89 
99  void resetTopologies();
100 
105  void printHistory(unsigned int pRunNumber);
106 
107 private:
108 
112  std::vector<boost::shared_ptr<SceneModel::Topology>> mNeighbours;
116  std::map<std::string, boost::shared_ptr<SceneModel::Topology>> mSeenTopologies;
117 
129  std::vector<boost::shared_ptr<ISM::ObjectSet>> mExamplesList;
130 
134  std::vector<std::string> mObjectTypes;
135 
140  std::vector<std::vector<std::pair<boost::shared_ptr<SceneModel::Topology>, bool>>> mHistory;
145  unsigned int mHistoryIndex;
146 
151  std::string mHistoryOutput;
152 
156  std::string mHistoryFilePath;
157 
161  ISM::SVGHelperPtr mSVGHelper;
162 
167 
172 };
173 
174 }
std::vector< boost::shared_ptr< ISM::ObjectSet > > mExamplesList
boost::shared_ptr< AbstractTopologyEvaluator > mEvaluator
boost::shared_ptr< SceneModel::Topology > getRandomTopology()
virtual void setReferenceInstance(boost::shared_ptr< SceneModel::Topology > instance)
void makeTree(boost::shared_ptr< SceneModel::Topology > pTopology)
std::vector< boost::shared_ptr< SceneModel::Topology > > mNeighbours
std::map< std::string, boost::shared_ptr< SceneModel::Topology > > mSeenTopologies
std::vector< boost::shared_ptr< SceneModel::Topology > > getStarTopologies()
boost::shared_ptr< SceneModel::AbstractTopologyCreator > mTopologyCreator
Generator creating the topologies.
boost::shared_ptr< SceneModel::Topology > getFullyMeshedTopology()
TopologyManager(std::vector< boost::shared_ptr< ISM::ObjectSet >> pExamplesList, const std::vector< std::string > &pObjectTypes, boost::shared_ptr< SceneModel::AbstractTopologyCreator > pTopologyCreator, boost::shared_ptr< AbstractTopologyEvaluator > pEvaluator)
std::vector< std::vector< std::pair< boost::shared_ptr< SceneModel::Topology >, bool > > > mHistory
virtual boost::shared_ptr< SceneModel::Topology > getNextNeighbour()


asr_psm
Author(s): Braun Kai, Gehrung Joachim, Heizmann Heinrich, Meißner Pascal
autogenerated on Fri Nov 15 2019 04:00:08