00001 #ifndef __domFx_sources_h__ 00002 #define __domFx_sources_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 class DAE; 00009 00010 class domFx_sources : public daeElement 00011 { 00012 public: 00013 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SOURCES; } 00014 static daeInt ID() { return 182; } 00015 virtual daeInt typeID() const { return ID(); } 00016 public: 00017 class domInline; 00018 00019 typedef daeSmartRef<domInline> domInlineRef; 00020 typedef daeTArray<domInlineRef> domInline_Array; 00021 00026 class domInline : public daeElement 00027 { 00028 public: 00029 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INLINE; } 00030 static daeInt ID() { return 183; } 00031 virtual daeInt typeID() const { return ID(); } 00032 00033 00034 public: //Accessors and Mutators 00039 xsString getValue() const { return _value; } 00044 void setValue( xsString val ) { *(daeStringRef*)&_value = val; } 00045 00046 protected: // Value 00050 xsString _value; 00051 protected: 00055 domInline(DAE& dae) : daeElement(dae), _value() {} 00059 virtual ~domInline() {} 00063 virtual domInline &operator=( const domInline &cpy ) { (void)cpy; return *this; } 00064 00065 public: // STATIC METHODS 00070 static DLLSPEC daeElementRef create(DAE& dae); 00076 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00077 }; 00078 00079 class domImport; 00080 00081 typedef daeSmartRef<domImport> domImportRef; 00082 typedef daeTArray<domImportRef> domImport_Array; 00083 00087 class domImport : public daeElement 00088 { 00089 public: 00090 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMPORT; } 00091 static daeInt ID() { return 184; } 00092 virtual daeInt typeID() const { return ID(); } 00093 protected: // Attribute 00094 xsToken attrRef; 00095 00096 00097 public: //Accessors and Mutators 00102 xsToken getRef() const { return attrRef; } 00107 void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; } 00108 00109 protected: 00113 domImport(DAE& dae) : daeElement(dae), attrRef() {} 00117 virtual ~domImport() {} 00121 virtual domImport &operator=( const domImport &cpy ) { (void)cpy; return *this; } 00122 00123 public: // STATIC METHODS 00128 static DLLSPEC daeElementRef create(DAE& dae); 00134 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00135 }; 00136 00137 00138 00139 protected: // Elements 00144 domInline_Array elemInline_array; 00148 domImport_Array elemImport_array; 00152 daeElementRefArray _contents; 00156 daeUIntArray _contentsOrder; 00157 00161 daeTArray< daeCharArray * > _CMData; 00162 00163 00164 public: //Accessors and Mutators 00169 domInline_Array &getInline_array() { return elemInline_array; } 00174 const domInline_Array &getInline_array() const { return elemInline_array; } 00179 domImport_Array &getImport_array() { return elemImport_array; } 00184 const domImport_Array &getImport_array() const { return elemImport_array; } 00189 daeElementRefArray &getContents() { return _contents; } 00194 const daeElementRefArray &getContents() const { return _contents; } 00195 00196 protected: 00200 domFx_sources(DAE& dae) : daeElement(dae), elemInline_array(), elemImport_array() {} 00204 virtual ~domFx_sources() { daeElement::deleteCMDataArray(_CMData); } 00208 virtual domFx_sources &operator=( const domFx_sources &cpy ) { (void)cpy; return *this; } 00209 00210 public: // STATIC METHODS 00215 static DLLSPEC daeElementRef create(DAE& dae); 00221 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00222 }; 00223 00224 00225 #endif