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 __domTechnique_h__ 00010 #define __domTechnique_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 class DAE; 00017 00027 class domTechnique : public daeElement 00028 { 00029 public: 00030 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; } 00031 static daeInt ID() { return 680; } 00032 virtual daeInt typeID() const { return ID(); } 00033 protected: // Attribute 00037 xsAnyURI attrXmlns; 00043 xsNMTOKEN attrProfile; 00044 00045 protected: // Element 00049 daeElementRefArray _contents; 00053 daeUIntArray _contentsOrder; 00054 00055 00056 public: //Accessors and Mutators 00061 xsAnyURI &getXmlns() { return attrXmlns; } 00066 const xsAnyURI &getXmlns() const { return attrXmlns; } 00071 void setXmlns( const xsAnyURI &xmlns ) { attrXmlns = xmlns; 00072 _validAttributeArray[0] = true; } 00073 00078 xsNMTOKEN getProfile() const { return attrProfile; } 00083 void setProfile( xsNMTOKEN atProfile ) { *(daeStringRef*)&attrProfile = atProfile; _validAttributeArray[1] = true; } 00084 00089 daeElementRefArray &getContents() { return _contents; } 00094 const daeElementRefArray &getContents() const { return _contents; } 00095 00096 protected: 00100 domTechnique(DAE& dae) : daeElement(dae), attrXmlns(dae, *this), attrProfile() {} 00104 virtual ~domTechnique() {} 00108 virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; } 00109 00110 public: // STATIC METHODS 00115 static DLLSPEC daeElementRef create(DAE& dae); 00121 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00122 }; 00123 00124 00125 #endif