00001 #ifndef __domEffect_h__ 00002 #define __domEffect_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domFx_profile.h> 00009 #include <dom/domAsset.h> 00010 #include <dom/domFx_annotate.h> 00011 #include <dom/domFx_newparam.h> 00012 #include <dom/domExtra.h> 00013 class DAE; 00014 00018 class domEffect : public daeElement 00019 { 00020 public: 00021 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EFFECT; } 00022 static daeInt ID() { return 279; } 00023 virtual daeInt typeID() const { return ID(); } 00024 protected: // Attributes 00030 xsID attrId; 00034 xsToken attrName; 00035 00036 protected: // Elements 00040 domAssetRef elemAsset; 00045 domFx_annotate_Array elemAnnotate_array; 00050 domFx_newparam_Array elemNewparam_array; 00051 domFx_profile_Array elemFx_profile_array; 00055 domExtra_Array elemExtra_array; 00056 00057 public: //Accessors and Mutators 00062 xsID getId() const { return attrId; } 00067 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; 00068 if( _document != NULL ) _document->changeElementID( this, attrId ); 00069 } 00070 00075 xsToken getName() const { return attrName; } 00080 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00081 00086 const domAssetRef getAsset() const { return elemAsset; } 00091 domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; } 00096 const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; } 00101 domFx_newparam_Array &getNewparam_array() { return elemNewparam_array; } 00106 const domFx_newparam_Array &getNewparam_array() const { return elemNewparam_array; } 00111 domFx_profile_Array &getFx_profile_array() { return elemFx_profile_array; } 00116 const domFx_profile_Array &getFx_profile_array() const { return elemFx_profile_array; } 00121 domExtra_Array &getExtra_array() { return elemExtra_array; } 00126 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00127 protected: 00131 domEffect(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemAnnotate_array(), elemNewparam_array(), elemFx_profile_array(), elemExtra_array() {} 00135 virtual ~domEffect() {} 00139 virtual domEffect &operator=( const domEffect &cpy ) { (void)cpy; return *this; } 00140 00141 public: // STATIC METHODS 00146 static DLLSPEC daeElementRef create(DAE& dae); 00152 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00153 }; 00154 00155 00156 #endif