1 /* 2 * Copyright 2006 Sony Computer Entertainment Inc. 3 * 4 * Licensed under the MIT Open Source License, for details please see license.txt or the website 5 * http://www.opensource.org/licenses/mit-license.php 6 * 7 */ 8 9 #ifndef __domFx_annotate_common_h__ 10 #define __domFx_annotate_common_h__ 11 12 #include <dae/daeDocument.h> 13 #include <dom/domTypes.h> 14 #include <dom/domElements.h> 15 16 #include <dom/domFx_annotate_type_common.h> 17 class DAE; 18 19 class domFx_annotate_common_complexType 20 { 21 protected: // Attribute 22 xsNCName attrName; 23 24 protected: // Element 25 domFx_annotate_type_commonRef elemFx_annotate_type_common; 26 27 public: //Accessors and Mutators 28 /** 29 * Gets the name attribute. 30 * @return Returns a xsNCName of the name attribute. 31 */ 32 xsNCName getName() const { return attrName; } 33 /** 34 * Sets the name attribute. 35 * @param atName The new value for the name attribute. 36 */ 37 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName;} 38 39 /** 40 * Gets the fx_annotate_type_common element. 41 * @return a daeSmartRef to the fx_annotate_type_common element. 42 */ 43 const domFx_annotate_type_commonRef getFx_annotate_type_common() const { return elemFx_annotate_type_common; } 44 protected: 45 /** 46 * Constructor 47 */ 48 domFx_annotate_common_complexType(DAE& dae, daeElement* elt) : attrName(), elemFx_annotate_type_common() {} 49 /** 50 * Destructor 51 */ 52 virtual ~domFx_annotate_common_complexType() {} 53 /** 54 * Overloaded assignment operator 55 */ 56 virtual domFx_annotate_common_complexType &operator=( const domFx_annotate_common_complexType &cpy ) { (void)cpy; return *this; } 57 }; 58 59 /** 60 * An element of type domFx_annotate_common_complexType. 61 */ 62 class domFx_annotate_common : public daeElement, public domFx_annotate_common_complexType 63 { 64 public: 65 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_ANNOTATE_COMMON; } 66 static daeInt ID() { return 91; } 67 virtual daeInt typeID() const { return ID(); } 68 69 public: //Accessors and Mutators 70 /** 71 * Gets the name attribute. 72 * @return Returns a xsNCName of the name attribute. 73 */ 74 xsNCName getName() const { return attrName; } 75 /** 76 * Sets the name attribute. 77 * @param atName The new value for the name attribute. 78 */ 79 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; } 80 81 protected: 82 /** 83 * Constructor 84 */ 85 domFx_annotate_common(DAE& dae) : daeElement(dae), domFx_annotate_common_complexType(dae, this) {} 86 /** 87 * Destructor 88 */ 89 virtual ~domFx_annotate_common() {} 90 /** 91 * Overloaded assignment operator 92 */ 93 virtual domFx_annotate_common &operator=( const domFx_annotate_common &cpy ) { (void)cpy; return *this; } 94 95 public: // STATIC METHODS 96 /** 97 * Creates an instance of this class and returns a daeElementRef referencing it. 98 * @return a daeElementRef referencing an instance of this object. 99 */ 100 static DLLSPEC daeElementRef create(DAE& dae); 101 /** 102 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 103 * If a daeMetaElement already exists it will return that instead of creating a new one. 104 * @return A daeMetaElement describing this COLLADA element. 105 */ 106 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 107 }; 108 109 110 #endif 111