00001 #ifndef __domFx_rendertarget_h__ 00002 #define __domFx_rendertarget_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domInstance_image.h> 00009 class DAE; 00010 00011 class domFx_rendertarget : public daeElement 00012 { 00013 public: 00014 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_RENDERTARGET; } 00015 static daeInt ID() { return 129; } 00016 virtual daeInt typeID() const { return ID(); } 00017 public: 00018 class domParam; 00019 00020 typedef daeSmartRef<domParam> domParamRef; 00021 typedef daeTArray<domParamRef> domParam_Array; 00022 00023 class domParam : public daeElement 00024 { 00025 public: 00026 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; } 00027 static daeInt ID() { return 130; } 00028 virtual daeInt typeID() const { return ID(); } 00029 protected: // Attribute 00030 xsToken attrRef; 00031 00032 00033 public: //Accessors and Mutators 00038 xsToken getRef() const { return attrRef; } 00043 void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; } 00044 00045 protected: 00049 domParam(DAE& dae) : daeElement(dae), attrRef() {} 00053 virtual ~domParam() {} 00057 virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; } 00058 00059 public: // STATIC METHODS 00064 static DLLSPEC daeElementRef create(DAE& dae); 00070 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00071 }; 00072 00073 00074 protected: // Attributes 00078 xsNonNegativeInteger attrIndex; 00082 xsNonNegativeInteger attrMip; 00086 domImage_face attrFace; 00090 xsNonNegativeInteger attrSlice; 00091 00092 protected: // Elements 00093 domParamRef elemParam; 00094 domInstance_imageRef elemInstance_image; 00098 daeElementRefArray _contents; 00102 daeUIntArray _contentsOrder; 00103 00107 daeTArray< daeCharArray * > _CMData; 00108 00109 00110 public: //Accessors and Mutators 00115 xsNonNegativeInteger getIndex() const { return attrIndex; } 00120 void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; } 00121 00126 xsNonNegativeInteger getMip() const { return attrMip; } 00131 void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; } 00132 00137 domImage_face getFace() const { return attrFace; } 00142 void setFace( domImage_face atFace ) { attrFace = atFace; } 00143 00148 xsNonNegativeInteger getSlice() const { return attrSlice; } 00153 void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; } 00154 00159 const domParamRef getParam() const { return elemParam; } 00164 const domInstance_imageRef getInstance_image() const { return elemInstance_image; } 00169 daeElementRefArray &getContents() { return _contents; } 00174 const daeElementRefArray &getContents() const { return _contents; } 00175 00176 protected: 00180 domFx_rendertarget(DAE& dae) : daeElement(dae), attrIndex(), attrMip(), attrFace(), attrSlice(), elemParam(), elemInstance_image() {} 00184 virtual ~domFx_rendertarget() { daeElement::deleteCMDataArray(_CMData); } 00188 virtual domFx_rendertarget &operator=( const domFx_rendertarget &cpy ) { (void)cpy; return *this; } 00189 00190 public: // STATIC METHODS 00195 static DLLSPEC daeElementRef create(DAE& dae); 00201 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00202 }; 00203 00204 00205 #endif