00001 00002 // X3D_WorldCoordTranslatorStateVariables.h // 00004 00005 #ifndef WORLDCOORDTRANSLATORGLOBALVARIABLES_H 00006 #define WORLDCOORDTRANSLATORGLOBALVARIABLES_H 00007 00008 #include "X3D_SceneGraphTypes.h" 00009 #include "StateVariables.h" 00010 00011 #include <list> 00012 00013 namespace X3DTK { 00014 namespace X3D { 00015 00017 00018 class WorldCoordTranslatorStateVariables : public StateVariables 00019 { 00020 public: 00022 WorldCoordTranslatorStateVariables(); 00024 virtual ~WorldCoordTranslatorStateVariables(); 00025 00027 void init(); 00029 void finish(); 00030 00032 void pushMatrix(const SFMatrix34f &transformation); 00033 00035 void popMatrix(); 00036 00038 SFMatrix34f getMatrix() const {return _matrixStack.front();}; 00039 00040 private: 00041 std::list<SFMatrix34f> _matrixStack; 00042 }; 00043 00044 } 00045 } 00046 00047 #endif