00001
00002
00004
00005 #ifndef NAMEDICT_H
00006 #define NAMEDICT_H
00007
00008 #include "X3DTypes.h"
00009
00010 #include <map>
00011 #include <list>
00012
00013 namespace X3DTK {
00014
00016
00017 class NameDict
00018 {
00019 public:
00021 NameDict();
00023 ~NameDict();
00024
00026 void insert(const SFString &name, const SFAbstractNode &N);
00028 void remove(SFAbstractNode N);
00032 void makeDEFNonAmbiguous();
00033
00036 SFAbstractNode getNodeOfName(const SFString &name) const;
00038 SFString getNameOfNode(const SFAbstractNode &N) const;
00039
00041 void printDict() const;
00042
00043 private:
00044 std::map<SFString, std::list<SFAbstractNode>, ltSFString> _nameDict;
00045 };
00046
00047 }
00048
00049 #endif