60 void reattachSensors();
61 void adaptDataScale();
62 bool load(
const std::string& filename);
64 void write(std::ostream &os)
const;
66 { st.
read(is);
return is; }
68 { st.
write(os);
return os; }
70 const std::string&
getPath()
const {
return m_Path; }
71 std::map<std::string, MStructure>&
getStructs() {
return m_Structs; }
72 const std::map<std::string, MStructure>&
getStructs()
const 74 bool hasStructure(
const std::string& sname)
const;
75 const MStructure& getStructure(
const std::string& sname)
const;
76 MStructure& getNextStruct(
int dir=1,
bool wrap=
true);
78 void rebuildExpMaps();
80 void startSearch(
bool dostart=
true);
82 if(m_State&ST_DONE)
return 1;
83 if(m_State&ST_TIMEOUT)
return -1;
else return 0;
85 bool stepSearch(
float dt);
86 bool triggerTest(
int mx,
int my,
int what);
88 float findBestConnection();
90 const Winner& winner)
const;
93 const std::map<std::string,StructPath>&
getIPaths()
const 98 {
return m_CurIP.empty() ? m_BestIP : m_CurIP; }
99 bool showNextIP(
int dir=1)
const;
101 void connectSubSuper();
106 enum StateFlags { ST_RUN=1, ST_RESULT=2, ST_DONE=4, ST_TIMEOUT=16 };
std::shared_ptr< Dataset > dataset_ptr
const std::map< std::string, StructPath > & getIPaths() const
void attachBrain(Brain &brain)
void merge(const StructPath &mp)
const std::string & getPath() const
friend std::ostream & operator<<(std::ostream &os, const StructTable &st)
const std::string & getShownIP() const
std::map< std::string, MStructure > & getStructs()
std::map< std::string, std::set< std::string > > Interpretations
const StructPath & getBestPath() const
Winner * getWinner(MStructure &struc)
Interpretations m_Interpretations
std::map< std::string, MStructure > m_Structs
float m_Goodness
goodness of path
void setShownIP(const std::string &curip) const
float getRelGoodness() const
std::vector< float > m_TMarks
friend ParseFile & operator>>(ParseFile &is, StructTable &st)
const std::string & getFilename() const
std::map< dword, StructPath > NodePaths
void blockOtherPaths(const std::set< std::string > &freepath, const StructTable &structs)
std::ostream & print(std::ostream &os, const StructTable &structs) const
const std::string & getBestInterpretation() const
std::map< std::string, NodePaths > m_NodePaths
StructPath & operator=(const StructPath &rhs)
float getGoodness() const
const std::map< std::string, MStructure > & getStructs() const
void unprotectWinners(StructTable &structs)
void write(std::ostream &os) const
std::map< std::string, StructPath > m_IPaths
StructPath branch() const
float m_Maxness
maximum goodness
void protectWinners(StructTable &structs)