00001 #ifndef __domGlsl_shader_h__ 00002 #define __domGlsl_shader_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domFx_sources.h> 00009 #include <dom/domExtra.h> 00010 class DAE; 00011 00016 class domGlsl_shader : public daeElement 00017 { 00018 public: 00019 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SHADER; } 00020 static daeInt ID() { return 231; } 00021 virtual daeInt typeID() const { return ID(); } 00022 protected: // Attribute 00028 domFx_pipeline_stage attrStage; 00029 00030 protected: // Elements 00035 domFx_sourcesRef elemSources; 00036 domExtra_Array elemExtra_array; 00037 00038 public: //Accessors and Mutators 00043 domFx_pipeline_stage getStage() const { return attrStage; } 00048 void setStage( domFx_pipeline_stage atStage ) { attrStage = atStage; } 00049 00054 const domFx_sourcesRef getSources() const { return elemSources; } 00059 domExtra_Array &getExtra_array() { return elemExtra_array; } 00064 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00065 protected: 00069 domGlsl_shader(DAE& dae) : daeElement(dae), attrStage(), elemSources(), elemExtra_array() {} 00073 virtual ~domGlsl_shader() {} 00077 virtual domGlsl_shader &operator=( const domGlsl_shader &cpy ) { (void)cpy; return *this; } 00078 00079 public: // STATIC METHODS 00084 static DLLSPEC daeElementRef create(DAE& dae); 00090 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00091 }; 00092 00093 00094 #endif