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_command_type_h__
     10 #define __domGles_texcombiner_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 #include <dom/domGles_texcombiner_commandRGB_type.h>
     18 #include <dom/domGles_texcombiner_commandAlpha_type.h>
     19 class DAE;
     20 
     21 class domGles_texcombiner_command_type_complexType
     22 {
     23 
     24 protected:  // Elements
     25 	domGles_texture_constant_typeRef elemConstant;
     26 	domGles_texcombiner_commandRGB_typeRef elemRGB;
     27 	domGles_texcombiner_commandAlpha_typeRef elemAlpha;
     28 
     29 public:	//Accessors and Mutators
     30 	/**
     31 	 * Gets the constant element.
     32 	 * @return a daeSmartRef to the constant element.
     33 	 */
     34 	const domGles_texture_constant_typeRef getConstant() const { return elemConstant; }
     35 	/**
     36 	 * Gets the RGB element.
     37 	 * @return a daeSmartRef to the RGB element.
     38 	 */
     39 	const domGles_texcombiner_commandRGB_typeRef getRGB() const { return elemRGB; }
     40 	/**
     41 	 * Gets the alpha element.
     42 	 * @return a daeSmartRef to the alpha element.
     43 	 */
     44 	const domGles_texcombiner_commandAlpha_typeRef getAlpha() const { return elemAlpha; }
     45 protected:
     46 	/**
     47 	 * Constructor
     48 	 */
     49 	domGles_texcombiner_command_type_complexType(DAE& dae, daeElement* elt) : elemConstant(), elemRGB(), elemAlpha() {}
     50 	/**
     51 	 * Destructor
     52 	 */
     53 	virtual ~domGles_texcombiner_command_type_complexType() {}
     54 	/**
     55 	 * Overloaded assignment operator
     56 	 */
     57 	virtual domGles_texcombiner_command_type_complexType &operator=( const domGles_texcombiner_command_type_complexType &cpy ) { (void)cpy; return *this; }
     58 };
     59 
     60 /**
     61  * An element of type domGles_texcombiner_command_type_complexType.
     62  */
     63 class domGles_texcombiner_command_type : public daeElement, public domGles_texcombiner_command_type_complexType
     64 {
     65 public:
     66 	virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMAND_TYPE; }
     67 	static daeInt ID() { return 151; }
     68 	virtual daeInt typeID() const { return ID(); }
     69 protected:
     70 	/**
     71 	 * Constructor
     72 	 */
     73 	domGles_texcombiner_command_type(DAE& dae) : daeElement(dae), domGles_texcombiner_command_type_complexType(dae, this) {}
     74 	/**
     75 	 * Destructor
     76 	 */
     77 	virtual ~domGles_texcombiner_command_type() {}
     78 	/**
     79 	 * Overloaded assignment operator
     80 	 */
     81 	virtual domGles_texcombiner_command_type &operator=( const domGles_texcombiner_command_type &cpy ) { (void)cpy; return *this; }
     82 
     83 public: // STATIC METHODS
     84 	/**
     85 	 * Creates an instance of this class and returns a daeElementRef referencing it.
     86 	 * @return a daeElementRef referencing an instance of this object.
     87 	 */
     88 	static DLLSPEC daeElementRef create(DAE& dae);
     89 	/**
     90 	 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
     91 	 * If a daeMetaElement already exists it will return that instead of creating a new one.
     92 	 * @return A daeMetaElement describing this COLLADA element.
     93 	 */
     94 	static DLLSPEC daeMetaElement* registerElement(DAE& dae);
     95 };
     96 
     97 
     98 #endif
     99