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 __domGles_texcombiner_argumentAlpha_type_h__ 10 #define __domGles_texcombiner_argumentAlpha_type_h__ 11 12 #include <dae/daeDocument.h> 13 #include <dom/domTypes.h> 14 #include <dom/domElements.h> 15 16 class DAE; 17 18 class domGles_texcombiner_argumentAlpha_type_complexType 19 { 20 protected: // Attributes 21 domGles_texcombiner_source_enums attrSource; 22 domGles_texcombiner_operandAlpha_enums attrOperand; 23 xsNCName attrUnit; 24 25 26 public: //Accessors and Mutators 27 /** 28 * Gets the source attribute. 29 * @return Returns a domGles_texcombiner_source_enums of the source attribute. 30 */ 31 domGles_texcombiner_source_enums getSource() const { return attrSource; } 32 /** 33 * Sets the source attribute. 34 * @param atSource The new value for the source attribute. 35 */ 36 void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; } 37 38 /** 39 * Gets the operand attribute. 40 * @return Returns a domGles_texcombiner_operandAlpha_enums of the operand attribute. 41 */ 42 domGles_texcombiner_operandAlpha_enums getOperand() const { return attrOperand; } 43 /** 44 * Sets the operand attribute. 45 * @param atOperand The new value for the operand attribute. 46 */ 47 void setOperand( domGles_texcombiner_operandAlpha_enums atOperand ) { attrOperand = atOperand; } 48 49 /** 50 * Gets the unit attribute. 51 * @return Returns a xsNCName of the unit attribute. 52 */ 53 xsNCName getUnit() const { return attrUnit; } 54 /** 55 * Sets the unit attribute. 56 * @param atUnit The new value for the unit attribute. 57 */ 58 void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit;} 59 60 protected: 61 /** 62 * Constructor 63 */ 64 domGles_texcombiner_argumentAlpha_type_complexType(DAE& dae, daeElement* elt) : attrSource(), attrOperand(), attrUnit() {} 65 /** 66 * Destructor 67 */ 68 virtual ~domGles_texcombiner_argumentAlpha_type_complexType() {} 69 /** 70 * Overloaded assignment operator 71 */ 72 virtual domGles_texcombiner_argumentAlpha_type_complexType &operator=( const domGles_texcombiner_argumentAlpha_type_complexType &cpy ) { (void)cpy; return *this; } 73 }; 74 75 /** 76 * An element of type domGles_texcombiner_argumentAlpha_type_complexType. 77 */ 78 class domGles_texcombiner_argumentAlpha_type : public daeElement, public domGles_texcombiner_argumentAlpha_type_complexType 79 { 80 public: 81 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_ARGUMENTALPHA_TYPE; } 82 static daeInt ID() { return 148; } 83 virtual daeInt typeID() const { return ID(); } 84 85 public: //Accessors and Mutators 86 /** 87 * Gets the source attribute. 88 * @return Returns a domGles_texcombiner_source_enums of the source attribute. 89 */ 90 domGles_texcombiner_source_enums getSource() const { return attrSource; } 91 /** 92 * Sets the source attribute. 93 * @param atSource The new value for the source attribute. 94 */ 95 void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; _validAttributeArray[0] = true; } 96 97 /** 98 * Gets the operand attribute. 99 * @return Returns a domGles_texcombiner_operandAlpha_enums of the operand attribute. 100 */ 101 domGles_texcombiner_operandAlpha_enums getOperand() const { return attrOperand; } 102 /** 103 * Sets the operand attribute. 104 * @param atOperand The new value for the operand attribute. 105 */ 106 void setOperand( domGles_texcombiner_operandAlpha_enums atOperand ) { attrOperand = atOperand; _validAttributeArray[1] = true; } 107 108 /** 109 * Gets the unit attribute. 110 * @return Returns a xsNCName of the unit attribute. 111 */ 112 xsNCName getUnit() const { return attrUnit; } 113 /** 114 * Sets the unit attribute. 115 * @param atUnit The new value for the unit attribute. 116 */ 117 void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; _validAttributeArray[2] = true; } 118 119 protected: 120 /** 121 * Constructor 122 */ 123 domGles_texcombiner_argumentAlpha_type(DAE& dae) : daeElement(dae), domGles_texcombiner_argumentAlpha_type_complexType(dae, this) {} 124 /** 125 * Destructor 126 */ 127 virtual ~domGles_texcombiner_argumentAlpha_type() {} 128 /** 129 * Overloaded assignment operator 130 */ 131 virtual domGles_texcombiner_argumentAlpha_type &operator=( const domGles_texcombiner_argumentAlpha_type &cpy ) { (void)cpy; return *this; } 132 133 public: // STATIC METHODS 134 /** 135 * Creates an instance of this class and returns a daeElementRef referencing it. 136 * @return a daeElementRef referencing an instance of this object. 137 */ 138 static DLLSPEC daeElementRef create(DAE& dae); 139 /** 140 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 141 * If a daeMetaElement already exists it will return that instead of creating a new one. 142 * @return A daeMetaElement describing this COLLADA element. 143 */ 144 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 145 }; 146 147 148 #endif 149