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_setarray_type_h__ 00010 #define __domCg_setarray_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 class DAE; 00020 00024 class domCg_setarray_type_complexType 00025 { 00026 protected: // Attribute 00030 xsPositiveInteger attrLength; 00031 00032 protected: // Elements 00033 domCg_param_type_Array elemCg_param_type_array; 00038 domCg_setarray_type_Array elemArray_array; 00042 domCg_setuser_type_Array elemUsertype_array; 00046 daeElementRefArray _contents; 00050 daeUIntArray _contentsOrder; 00051 00055 daeTArray< daeCharArray * > _CMData; 00056 00057 00058 public: //Accessors and Mutators 00063 xsPositiveInteger getLength() const { return attrLength; } 00068 void setLength( xsPositiveInteger atLength ) { attrLength = atLength; } 00069 00074 domCg_param_type_Array &getCg_param_type_array() { return elemCg_param_type_array; } 00079 const domCg_param_type_Array &getCg_param_type_array() const { return elemCg_param_type_array; } 00084 domCg_setarray_type_Array &getArray_array() { return elemArray_array; } 00089 const domCg_setarray_type_Array &getArray_array() const { return elemArray_array; } 00094 domCg_setuser_type_Array &getUsertype_array() { return elemUsertype_array; } 00099 const domCg_setuser_type_Array &getUsertype_array() const { return elemUsertype_array; } 00104 daeElementRefArray &getContents() { return _contents; } 00109 const daeElementRefArray &getContents() const { return _contents; } 00110 00111 protected: 00115 domCg_setarray_type_complexType(DAE& dae, daeElement* elt) : attrLength(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array() {} 00119 virtual ~domCg_setarray_type_complexType() { daeElement::deleteCMDataArray(_CMData); } 00123 virtual domCg_setarray_type_complexType &operator=( const domCg_setarray_type_complexType &cpy ) { (void)cpy; return *this; } 00124 }; 00125 00129 class domCg_setarray_type : public daeElement, public domCg_setarray_type_complexType 00130 { 00131 public: 00132 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SETARRAY_TYPE; } 00133 static daeInt ID() { return 135; } 00134 virtual daeInt typeID() const { return ID(); } 00135 00136 public: //Accessors and Mutators 00141 xsPositiveInteger getLength() const { return attrLength; } 00146 void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; } 00147 00148 protected: 00152 domCg_setarray_type(DAE& dae) : daeElement(dae), domCg_setarray_type_complexType(dae, this) {} 00156 virtual ~domCg_setarray_type() {} 00160 virtual domCg_setarray_type &operator=( const domCg_setarray_type &cpy ) { (void)cpy; return *this; } 00161 00162 public: // STATIC METHODS 00167 static DLLSPEC daeElementRef create(DAE& dae); 00173 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00174 }; 00175 00176 00177 #endif