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 __domParam_h__ 00010 #define __domParam_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 class DAE; 00017 00022 class domParam : public daeElement 00023 { 00024 public: 00025 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; } 00026 static daeInt ID() { return 610; } 00027 virtual daeInt typeID() const { return ID(); } 00028 protected: // Attributes 00032 xsNCName attrName; 00038 xsNCName attrSid; 00043 xsNMTOKEN attrSemantic; 00048 xsNMTOKEN attrType; 00049 00050 protected: // Value 00054 xsString _value; 00055 00056 public: //Accessors and Mutators 00061 xsNCName getName() const { return attrName; } 00066 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; } 00067 00072 xsNCName getSid() const { return attrSid; } 00077 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; } 00078 00083 xsNMTOKEN getSemantic() const { return attrSemantic; } 00088 void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[2] = true; } 00089 00094 xsNMTOKEN getType() const { return attrType; } 00099 void setType( xsNMTOKEN atType ) { *(daeStringRef*)&attrType = atType; _validAttributeArray[3] = true; } 00100 00105 xsString getValue() const { return _value; } 00110 void setValue( xsString val ) { *(daeStringRef*)&_value = val; } 00111 00112 protected: 00116 domParam(DAE& dae) : daeElement(dae), attrName(), attrSid(), attrSemantic(), attrType(), _value() {} 00120 virtual ~domParam() {} 00124 virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; } 00125 00126 public: // STATIC METHODS 00131 static DLLSPEC daeElementRef create(DAE& dae); 00137 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00138 }; 00139 00140 00141 #endif