00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef __domGlsl_setparam_simple_h__ 00010 #define __domGlsl_setparam_simple_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domGlsl_param_type.h> 00017 #include <dom/domFx_annotate_common.h> 00018 class DAE; 00019 00020 class domGlsl_setparam_simple_complexType 00021 { 00022 protected: // Attribute 00023 domGlsl_identifier attrRef; 00024 00025 protected: // Elements 00026 domFx_annotate_common_Array elemAnnotate_array; 00027 domGlsl_param_typeRef elemGlsl_param_type; 00028 00029 public: //Accessors and Mutators 00034 domGlsl_identifier getRef() const { return attrRef; } 00039 void setRef( domGlsl_identifier atRef ) { attrRef = atRef; } 00040 00045 domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; } 00050 const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; } 00055 const domGlsl_param_typeRef getGlsl_param_type() const { return elemGlsl_param_type; } 00056 protected: 00060 domGlsl_setparam_simple_complexType(DAE& dae, daeElement* elt) : attrRef(), elemAnnotate_array(), elemGlsl_param_type() {} 00064 virtual ~domGlsl_setparam_simple_complexType() {} 00068 virtual domGlsl_setparam_simple_complexType &operator=( const domGlsl_setparam_simple_complexType &cpy ) { (void)cpy; return *this; } 00069 }; 00070 00074 class domGlsl_setparam_simple : public daeElement, public domGlsl_setparam_simple_complexType 00075 { 00076 public: 00077 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SETPARAM_SIMPLE; } 00078 static daeInt ID() { return 111; } 00079 virtual daeInt typeID() const { return ID(); } 00080 00081 public: //Accessors and Mutators 00086 domGlsl_identifier getRef() const { return attrRef; } 00091 void setRef( domGlsl_identifier atRef ) { attrRef = atRef; _validAttributeArray[0] = true; } 00092 00093 protected: 00097 domGlsl_setparam_simple(DAE& dae) : daeElement(dae), domGlsl_setparam_simple_complexType(dae, this) {} 00101 virtual ~domGlsl_setparam_simple() {} 00105 virtual domGlsl_setparam_simple &operator=( const domGlsl_setparam_simple &cpy ) { (void)cpy; return *this; } 00106 00107 public: // STATIC METHODS 00112 static DLLSPEC daeElementRef create(DAE& dae); 00118 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00119 }; 00120 00121 00122 #endif