Home | History | Annotate | Download | only in dom
      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