00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef __domGles_texcombiner_command_type_h__ 00010 #define __domGles_texcombiner_command_type_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domGles_texture_constant_type.h> 00017 #include <dom/domGles_texcombiner_commandRGB_type.h> 00018 #include <dom/domGles_texcombiner_commandAlpha_type.h> 00019 class DAE; 00020 00021 class domGles_texcombiner_command_type_complexType 00022 { 00023 00024 protected: // Elements 00025 domGles_texture_constant_typeRef elemConstant; 00026 domGles_texcombiner_commandRGB_typeRef elemRGB; 00027 domGles_texcombiner_commandAlpha_typeRef elemAlpha; 00028 00029 public: //Accessors and Mutators 00034 const domGles_texture_constant_typeRef getConstant() const { return elemConstant; } 00039 const domGles_texcombiner_commandRGB_typeRef getRGB() const { return elemRGB; } 00044 const domGles_texcombiner_commandAlpha_typeRef getAlpha() const { return elemAlpha; } 00045 protected: 00049 domGles_texcombiner_command_type_complexType(DAE& dae, daeElement* elt) : elemConstant(), elemRGB(), elemAlpha() {} 00053 virtual ~domGles_texcombiner_command_type_complexType() {} 00057 virtual domGles_texcombiner_command_type_complexType &operator=( const domGles_texcombiner_command_type_complexType &cpy ) { (void)cpy; return *this; } 00058 }; 00059 00063 class domGles_texcombiner_command_type : public daeElement, public domGles_texcombiner_command_type_complexType 00064 { 00065 public: 00066 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMAND_TYPE; } 00067 static daeInt ID() { return 151; } 00068 virtual daeInt typeID() const { return ID(); } 00069 protected: 00073 domGles_texcombiner_command_type(DAE& dae) : daeElement(dae), domGles_texcombiner_command_type_complexType(dae, this) {} 00077 virtual ~domGles_texcombiner_command_type() {} 00081 virtual domGles_texcombiner_command_type &operator=( const domGles_texcombiner_command_type &cpy ) { (void)cpy; return *this; } 00082 00083 public: // STATIC METHODS 00088 static DLLSPEC daeElementRef create(DAE& dae); 00094 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00095 }; 00096 00097 00098 #endif