00001
00002
00003
00005
00006
00011
00016
00021
00023
00024 #ifndef NAMEDICT_H
00025 #define NAMEDICT_H
00026
00027 #include "X3DTypes.h"
00028
00029 #include <map>
00030 #include <list>
00031
00032 namespace X3DTK {
00033
00035
00036 class NameDict
00037 {
00038 public:
00040 NameDict();
00042 ~NameDict();
00043
00045 void insert(const SFString &name, const SFAbstractNode &N);
00047 void remove(SFAbstractNode N);
00051 void makeDEFNonAmbiguous();
00052
00055 SFAbstractNode getNodeOfName(const SFString &name) const;
00057 SFString getNameOfNode(const SFAbstractNode &N) const;
00058
00060 void printDict() const;
00061
00062 private:
00063 std::map<SFString, std::list<SFAbstractNode>, ltSFString> _nameDict;
00064 };
00065
00066 }
00067
00068 #endif