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 __domMatrix_h__ 00010 #define __domMatrix_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 class DAE; 00017 00023 class domMatrix : public daeElement 00024 { 00025 public: 00026 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATRIX; } 00027 static daeInt ID() { return 630; } 00028 virtual daeInt typeID() const { return ID(); } 00029 protected: // Attribute 00035 xsNCName attrSid; 00036 00037 protected: // Value 00041 domFloat4x4 _value; 00042 00043 public: //Accessors and Mutators 00048 xsNCName getSid() const { return attrSid; } 00053 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; } 00054 00059 domFloat4x4 &getValue() { return _value; } 00064 const domFloat4x4 &getValue() const { return _value; } 00069 void setValue( const domFloat4x4 &val ) { _value = val; } 00070 00071 protected: 00075 domMatrix(DAE& dae) : daeElement(dae), attrSid(), _value() {} 00079 virtual ~domMatrix() {} 00083 virtual domMatrix &operator=( const domMatrix &cpy ) { (void)cpy; return *this; } 00084 00085 public: // STATIC METHODS 00090 static DLLSPEC daeElementRef create(DAE& dae); 00096 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00097 }; 00098 00099 00100 #endif