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_newarray_type_h__ 00010 #define __domCg_newarray_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_newarray_type.h> 00018 #include <dom/domCg_setuser_type.h> 00019 #include <dom/domCg_connect_param.h> 00020 class DAE; 00021 00025 class domCg_newarray_type_complexType 00026 { 00027 protected: // Attribute 00031 xsPositiveInteger attrLength; 00032 00033 protected: // Elements 00034 domCg_param_type_Array elemCg_param_type_array; 00039 domCg_newarray_type_Array elemArray_array; 00043 domCg_setuser_type_Array elemUsertype_array; 00044 domCg_connect_param_Array elemConnect_param_array; 00048 daeElementRefArray _contents; 00052 daeUIntArray _contentsOrder; 00053 00057 daeTArray< daeCharArray * > _CMData; 00058 00059 00060 public: //Accessors and Mutators 00065 xsPositiveInteger getLength() const { return attrLength; } 00070 void setLength( xsPositiveInteger atLength ) { attrLength = atLength; } 00071 00076 domCg_param_type_Array &getCg_param_type_array() { return elemCg_param_type_array; } 00081 const domCg_param_type_Array &getCg_param_type_array() const { return elemCg_param_type_array; } 00086 domCg_newarray_type_Array &getArray_array() { return elemArray_array; } 00091 const domCg_newarray_type_Array &getArray_array() const { return elemArray_array; } 00096 domCg_setuser_type_Array &getUsertype_array() { return elemUsertype_array; } 00101 const domCg_setuser_type_Array &getUsertype_array() const { return elemUsertype_array; } 00106 domCg_connect_param_Array &getConnect_param_array() { return elemConnect_param_array; } 00111 const domCg_connect_param_Array &getConnect_param_array() const { return elemConnect_param_array; } 00116 daeElementRefArray &getContents() { return _contents; } 00121 const daeElementRefArray &getContents() const { return _contents; } 00122 00123 protected: 00127 domCg_newarray_type_complexType(DAE& dae, daeElement* elt) : attrLength(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array(), elemConnect_param_array() {} 00131 virtual ~domCg_newarray_type_complexType() { daeElement::deleteCMDataArray(_CMData); } 00135 virtual domCg_newarray_type_complexType &operator=( const domCg_newarray_type_complexType &cpy ) { (void)cpy; return *this; } 00136 }; 00137 00141 class domCg_newarray_type : public daeElement, public domCg_newarray_type_complexType 00142 { 00143 public: 00144 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_NEWARRAY_TYPE; } 00145 static daeInt ID() { return 134; } 00146 virtual daeInt typeID() const { return ID(); } 00147 00148 public: //Accessors and Mutators 00153 xsPositiveInteger getLength() const { return attrLength; } 00158 void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; } 00159 00160 protected: 00164 domCg_newarray_type(DAE& dae) : daeElement(dae), domCg_newarray_type_complexType(dae, this) {} 00168 virtual ~domCg_newarray_type() {} 00172 virtual domCg_newarray_type &operator=( const domCg_newarray_type &cpy ) { (void)cpy; return *this; } 00173 00174 public: // STATIC METHODS 00179 static DLLSPEC daeElementRef create(DAE& dae); 00185 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00186 }; 00187 00188 00189 #endif