00001 #ifndef __domTechnique_h__ 00002 #define __domTechnique_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 class DAE; 00009 00019 class domTechnique : public daeElement 00020 { 00021 public: 00022 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; } 00023 static daeInt ID() { return 25; } 00024 virtual daeInt typeID() const { return ID(); } 00025 protected: // Attribute 00031 xsNMTOKEN attrProfile; 00032 00033 protected: // Element 00037 daeElementRefArray _contents; 00041 daeUIntArray _contentsOrder; 00042 00043 00044 public: //Accessors and Mutators 00049 xsNMTOKEN getProfile() const { return attrProfile; } 00054 void setProfile( xsNMTOKEN atProfile ) { *(daeStringRef*)&attrProfile = atProfile;} 00055 00060 daeElementRefArray &getContents() { return _contents; } 00065 const daeElementRefArray &getContents() const { return _contents; } 00066 00067 protected: 00071 domTechnique(DAE& dae) : daeElement(dae), attrProfile() {} 00075 virtual ~domTechnique() {} 00079 virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; } 00080 00081 public: // STATIC METHODS 00086 static DLLSPEC daeElementRef create(DAE& dae); 00092 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00093 }; 00094 00095 00096 #endif