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