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