X3D_SharedCoordComputerStateVariables.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3D_SHAREDCOORDCOMPUTERSTATEVARIABLES_H
00002 #define X3DTK_X3D_SHAREDCOORDCOMPUTERSTATEVARIABLES_H
00003 
00004 #include "StateVariables.h"
00005 
00006 #include <list>
00007 #include <map>
00008 #include <utility>
00009 
00010 namespace X3DTK {
00011 namespace X3D {
00012 
00013 class IndexedFaceSet;
00014 class Transform;
00015 class Coordinate;
00016 
00023 class SharedCoordComputerStateVariables : public StateVariables
00024 {
00025 public:
00027   SharedCoordComputerStateVariables();
00029   virtual ~SharedCoordComputerStateVariables();
00030   
00032   virtual void finish();
00034   std::map<IndexedFaceSet *, std::pair<bool, std::list<SFNode> > > &find(const std::list<IndexedFaceSet *> &ifslist);
00035   
00037   void addNode(Coordinate *C);
00039   bool getNode(Coordinate *C) const;
00040   
00041 private:  
00042   std::list<SFNode> _coordinateList;
00043   std::map<IndexedFaceSet *, std::pair<bool, std::list<SFNode> > > _ifsmap;
00044   
00045   void pfind(IndexedFaceSet *I, SFNode N);
00046 };
00047 
00048 }
00049 }
00050 
00051 #endif

Generated on Fri Jul 30 12:02:29 2004 for X3DToolKit by doxygen 1.3.6