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 __domGles_newparam_h__ 00010 #define __domGles_newparam_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domGles_basic_type_common.h> 00017 #include <dom/domFx_annotate_common.h> 00018 class DAE; 00019 00024 class domGles_newparam_complexType 00025 { 00026 public: 00027 class domSemantic; 00028 00029 typedef daeSmartRef<domSemantic> domSemanticRef; 00030 typedef daeTArray<domSemanticRef> domSemantic_Array; 00031 00035 class domSemantic : public daeElement 00036 { 00037 public: 00038 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; } 00039 static daeInt ID() { return 165; } 00040 virtual daeInt typeID() const { return ID(); } 00041 00042 protected: // Value 00046 xsNCName _value; 00047 00048 public: //Accessors and Mutators 00053 xsNCName getValue() const { return _value; } 00058 void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } 00059 00060 protected: 00064 domSemantic(DAE& dae) : daeElement(dae), _value() {} 00068 virtual ~domSemantic() {} 00072 virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; } 00073 00074 public: // STATIC METHODS 00079 static DLLSPEC daeElementRef create(DAE& dae); 00085 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00086 }; 00087 00088 class domModifier; 00089 00090 typedef daeSmartRef<domModifier> domModifierRef; 00091 typedef daeTArray<domModifierRef> domModifier_Array; 00092 00096 class domModifier : public daeElement 00097 { 00098 public: 00099 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; } 00100 static daeInt ID() { return 166; } 00101 virtual daeInt typeID() const { return ID(); } 00102 00103 protected: // Value 00107 domFx_modifier_enum_common _value; 00108 00109 public: //Accessors and Mutators 00114 domFx_modifier_enum_common getValue() const { return _value; } 00119 void setValue( domFx_modifier_enum_common val ) { _value = val; } 00120 00121 protected: 00125 domModifier(DAE& dae) : daeElement(dae), _value() {} 00129 virtual ~domModifier() {} 00133 virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; } 00134 00135 public: // STATIC METHODS 00140 static DLLSPEC daeElementRef create(DAE& dae); 00146 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00147 }; 00148 00149 00150 protected: // Attribute 00156 xsNCName attrSid; 00157 00158 protected: // Elements 00163 domFx_annotate_common_Array elemAnnotate_array; 00168 domSemanticRef elemSemantic; 00173 domModifierRef elemModifier; 00174 domGles_basic_type_commonRef elemGles_basic_type_common; 00175 00176 public: //Accessors and Mutators 00181 xsNCName getSid() const { return attrSid; } 00186 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;} 00187 00192 domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; } 00197 const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; } 00202 const domSemanticRef getSemantic() const { return elemSemantic; } 00207 const domModifierRef getModifier() const { return elemModifier; } 00212 const domGles_basic_type_commonRef getGles_basic_type_common() const { return elemGles_basic_type_common; } 00213 protected: 00217 domGles_newparam_complexType(DAE& dae, daeElement* elt) : attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGles_basic_type_common() {} 00221 virtual ~domGles_newparam_complexType() {} 00225 virtual domGles_newparam_complexType &operator=( const domGles_newparam_complexType &cpy ) { (void)cpy; return *this; } 00226 }; 00227 00231 class domGles_newparam : public daeElement, public domGles_newparam_complexType 00232 { 00233 public: 00234 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_NEWPARAM; } 00235 static daeInt ID() { return 167; } 00236 virtual daeInt typeID() const { return ID(); } 00237 00238 public: //Accessors and Mutators 00243 xsNCName getSid() const { return attrSid; } 00248 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; } 00249 00250 protected: 00254 domGles_newparam(DAE& dae) : daeElement(dae), domGles_newparam_complexType(dae, this) {} 00258 virtual ~domGles_newparam() {} 00262 virtual domGles_newparam &operator=( const domGles_newparam &cpy ) { (void)cpy; return *this; } 00263 00264 public: // STATIC METHODS 00269 static DLLSPEC daeElementRef create(DAE& dae); 00275 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00276 }; 00277 00278 00279 #endif