28 #include "libGIFTAcHierarchy/include/uses-declarations.h"
31 #include "libMRML/include/CAccessorImplementation.h"
34 #include "libMRML/include/CIDRelevanceLevelPairList.h"
35 #include "libMRML/include/CMutex.h"
96 void init(
string inFileName);
135 void push(TID inNode);
146 operator bool()
const;
CMutex mMutexHierarchy
mutual exclude for multithreading
Definition: CAcHierarchy.h:55
CPath mNodeStack
A stack of the nodes visited when building the hierarchy.
Definition: CAcHierarchy.h:78
CGraph mEdges
Edges: The edges from father to son.
Definition: CAcHierarchy.h:89
Definition: CIDRelevanceLevelPairList.h:52
void addElement(TID inID, string inLocation, string inThumbnail)
Adds an element to the collection.
void popNodeAndRegisterEdge()
pops the node and registers the edge from new top to old top and back
This class captures the structure of an XML element.
Definition: CXMLElement.h:51
bool isOK
is this well constructed ?
Definition: CAcHierarchy.h:57
map< CPath, CChildren > CGraph
The graph is represented as a map from path to children.
Definition: CAcHierarchy.h:83
list< TID > CChildren
This class is there for mnemonic reasons only.
Definition: CAcHierarchy.h:74
A very simple accessor for hierarchies of images Stored in an XML file.
Definition: CAcHierarchy.h:52
void init(string inFileName)
called immediately by the constructor, this function does the main construction work.
list< TID > CPath
In fact, because images can arise multiple times in the hierarchy, it is necessary to store the full ...
Definition: CAcHierarchy.h:69
CIDRelevanceLevelPairList * getChildren(const CPath &inID) const
Gets a list of all children of an element.
This class offers an abstraction from the locking method used.
Definition: CMutex.h:40
CAccessorImplementation - a base class for everything accessing a GIFT database.
Definition: CAccessorImplementation.h:92
CAcHierarchy(const CXMLElement &inConfiguration)
constructor opens a hierarchy file and reads it.
void push(TID inNode)
pushes the node onto the stack
void addEdge(const CPath &inFather, TID inSon)
adds an edge from father to son and an edge from son to father