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 __domCg_setuser_type_h__ 00010 #define __domCg_setuser_type_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domCg_param_type.h> 00017 #include <dom/domCg_setarray_type.h> 00018 #include <dom/domCg_setuser_type.h> 00019 #include <dom/domCg_connect_param.h> 00020 #include <dom/domCg_setparam.h> 00021 class DAE; 00022 00026 class domCg_setuser_type_complexType 00027 { 00028 protected: // Attributes 00029 domCg_identifier attrName; 00033 xsNCName attrSource; 00034 00035 protected: // Elements 00036 domCg_param_type_Array elemCg_param_type_array; 00037 domCg_setarray_type_Array elemArray_array; 00038 domCg_setuser_type_Array elemUsertype_array; 00039 domCg_connect_param_Array elemConnect_param_array; 00044 domCg_setparam_Array elemSetparam_array; 00048 daeElementRefArray _contents; 00052 daeUIntArray _contentsOrder; 00053 00057 daeTArray< daeCharArray * > _CMData; 00058 00059 00060 public: //Accessors and Mutators 00065 domCg_identifier getName() const { return attrName; } 00070 void setName( domCg_identifier atName ) { attrName = atName; } 00071 00076 xsNCName getSource() const { return attrSource; } 00081 void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource;} 00082 00087 domCg_param_type_Array &getCg_param_type_array() { return elemCg_param_type_array; } 00092 const domCg_param_type_Array &getCg_param_type_array() const { return elemCg_param_type_array; } 00097 domCg_setarray_type_Array &getArray_array() { return elemArray_array; } 00102 const domCg_setarray_type_Array &getArray_array() const { return elemArray_array; } 00107 domCg_setuser_type_Array &getUsertype_array() { return elemUsertype_array; } 00112 const domCg_setuser_type_Array &getUsertype_array() const { return elemUsertype_array; } 00117 domCg_connect_param_Array &getConnect_param_array() { return elemConnect_param_array; } 00122 const domCg_connect_param_Array &getConnect_param_array() const { return elemConnect_param_array; } 00127 domCg_setparam_Array &getSetparam_array() { return elemSetparam_array; } 00132 const domCg_setparam_Array &getSetparam_array() const { return elemSetparam_array; } 00137 daeElementRefArray &getContents() { return _contents; } 00142 const daeElementRefArray &getContents() const { return _contents; } 00143 00144 protected: 00148 domCg_setuser_type_complexType(DAE& dae, daeElement* elt) : attrName(), attrSource(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array(), elemConnect_param_array(), elemSetparam_array() {} 00152 virtual ~domCg_setuser_type_complexType() { daeElement::deleteCMDataArray(_CMData); } 00156 virtual domCg_setuser_type_complexType &operator=( const domCg_setuser_type_complexType &cpy ) { (void)cpy; return *this; } 00157 }; 00158 00162 class domCg_setuser_type : public daeElement, public domCg_setuser_type_complexType 00163 { 00164 public: 00165 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SETUSER_TYPE; } 00166 static daeInt ID() { return 136; } 00167 virtual daeInt typeID() const { return ID(); } 00168 00169 public: //Accessors and Mutators 00174 domCg_identifier getName() const { return attrName; } 00179 void setName( domCg_identifier atName ) { attrName = atName; _validAttributeArray[0] = true; } 00180 00185 xsNCName getSource() const { return attrSource; } 00190 void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; _validAttributeArray[1] = true; } 00191 00192 protected: 00196 domCg_setuser_type(DAE& dae) : daeElement(dae), domCg_setuser_type_complexType(dae, this) {} 00200 virtual ~domCg_setuser_type() {} 00204 virtual domCg_setuser_type &operator=( const domCg_setuser_type &cpy ) { (void)cpy; return *this; } 00205 00206 public: // STATIC METHODS 00211 static DLLSPEC daeElementRef create(DAE& dae); 00217 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00218 }; 00219 00220 00221 #endif