00001 00002 // MESH_DisassemblerStateVariables.h // 00004 00005 #ifndef MESHDISASSEMBLERSTATEVARIABLES_H 00006 #define MESHDISASSEMBLERSTATEVARIABLES_H 00007 00008 #include "MESH_SceneGraphTypes.h" 00009 #include "MESH_Mesh.h" 00010 00011 #include <list> 00012 00013 namespace X3DTK { 00014 namespace MESH { 00015 00017 00018 class DisassemblerStateVariables : public StateVariables 00019 { 00020 public: 00022 DisassemblerStateVariables(); 00024 virtual ~DisassemblerStateVariables(); 00025 00027 void init(); 00029 void finish(); 00031 void setValue(float value); 00032 00034 void pushMatrix(const SFMatrix34f &transformation); 00036 void popMatrix(); 00037 00039 SFMatrix34f getMatrix() const {return _matrixStack.front();}; 00041 inline float getValue() const {return _value;}; 00042 00043 private: 00044 std::list<SFMatrix34f> _matrixStack; 00045 float _value; 00046 }; 00047 00048 } 00049 } 00050 00051 #endif