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