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 __domFx_clearstencil_common_h__ 10 #define __domFx_clearstencil_common_h__ 11 12 #include <dae/daeDocument.h> 13 #include <dom/domTypes.h> 14 #include <dom/domElements.h> 15 16 class DAE; 17 18 class domFx_clearstencil_common_complexType 19 { 20 protected: // Attribute 21 xsNonNegativeInteger attrIndex; 22 23 protected: // Value 24 /** 25 * The xsByte value of the text data of this element. 26 */ 27 xsByte _value; 28 29 public: //Accessors and Mutators 30 /** 31 * Gets the index attribute. 32 * @return Returns a xsNonNegativeInteger of the index attribute. 33 */ 34 xsNonNegativeInteger getIndex() const { return attrIndex; } 35 /** 36 * Sets the index attribute. 37 * @param atIndex The new value for the index attribute. 38 */ 39 void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; } 40 41 /** 42 * Gets the value of this element. 43 * @return a xsByte of the value. 44 */ 45 xsByte getValue() const { return _value; } 46 /** 47 * Sets the _value of this element. 48 * @param val The new value for this element. 49 */ 50 void setValue( xsByte val ) { _value = val; } 51 52 protected: 53 /** 54 * Constructor 55 */ 56 domFx_clearstencil_common_complexType(DAE& dae, daeElement* elt) : attrIndex(), _value() {} 57 /** 58 * Destructor 59 */ 60 virtual ~domFx_clearstencil_common_complexType() {} 61 /** 62 * Overloaded assignment operator 63 */ 64 virtual domFx_clearstencil_common_complexType &operator=( const domFx_clearstencil_common_complexType &cpy ) { (void)cpy; return *this; } 65 }; 66 67 /** 68 * An element of type domFx_clearstencil_common_complexType. 69 */ 70 class domFx_clearstencil_common : public daeElement, public domFx_clearstencil_common_complexType 71 { 72 public: 73 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CLEARSTENCIL_COMMON; } 74 static daeInt ID() { return 90; } 75 virtual daeInt typeID() const { return ID(); } 76 77 public: //Accessors and Mutators 78 /** 79 * Gets the index attribute. 80 * @return Returns a xsNonNegativeInteger of the index attribute. 81 */ 82 xsNonNegativeInteger getIndex() const { return attrIndex; } 83 /** 84 * Sets the index attribute. 85 * @param atIndex The new value for the index attribute. 86 */ 87 void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; } 88 89 protected: 90 /** 91 * Constructor 92 */ 93 domFx_clearstencil_common(DAE& dae) : daeElement(dae), domFx_clearstencil_common_complexType(dae, this) {} 94 /** 95 * Destructor 96 */ 97 virtual ~domFx_clearstencil_common() {} 98 /** 99 * Overloaded assignment operator 100 */ 101 virtual domFx_clearstencil_common &operator=( const domFx_clearstencil_common &cpy ) { (void)cpy; return *this; } 102 103 public: // STATIC METHODS 104 /** 105 * Creates an instance of this class and returns a daeElementRef referencing it. 106 * @return a daeElementRef referencing an instance of this object. 107 */ 108 static DLLSPEC daeElementRef create(DAE& dae); 109 /** 110 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 111 * If a daeMetaElement already exists it will return that instead of creating a new one. 112 * @return A daeMetaElement describing this COLLADA element. 113 */ 114 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 115 }; 116 117 118 #endif 119