00001 #ifndef __domAccessor_h__ 00002 #define __domAccessor_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domParam.h> 00009 class DAE; 00010 00018 class domAccessor : public daeElement 00019 { 00020 public: 00021 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ACCESSOR; } 00022 static daeInt ID() { return 12; } 00023 virtual daeInt typeID() const { return ID(); } 00024 protected: // Attributes 00029 domUint attrCount; 00034 domUint attrOffset; 00039 xsAnyURI attrSource; 00045 domUint attrStride; 00046 00047 protected: // Element 00051 domParam_Array elemParam_array; 00052 00053 public: //Accessors and Mutators 00058 domUint getCount() const { return attrCount; } 00063 void setCount( domUint atCount ) { attrCount = atCount; } 00064 00069 domUint getOffset() const { return attrOffset; } 00074 void setOffset( domUint atOffset ) { attrOffset = atOffset; } 00075 00080 xsAnyURI &getSource() { return attrSource; } 00085 const xsAnyURI &getSource() const { return attrSource; } 00090 void setSource( const xsAnyURI &atSource ) { attrSource = atSource; } 00095 void setSource( xsString atSource ) { attrSource = atSource; } 00096 00101 domUint getStride() const { return attrStride; } 00106 void setStride( domUint atStride ) { attrStride = atStride; } 00107 00112 domParam_Array &getParam_array() { return elemParam_array; } 00117 const domParam_Array &getParam_array() const { return elemParam_array; } 00118 protected: 00122 domAccessor(DAE& dae) : daeElement(dae), attrCount(), attrOffset(), attrSource(dae, *this), attrStride(), elemParam_array() {} 00126 virtual ~domAccessor() {} 00130 virtual domAccessor &operator=( const domAccessor &cpy ) { (void)cpy; return *this; } 00131 00132 public: // STATIC METHODS 00137 static DLLSPEC daeElementRef create(DAE& dae); 00143 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00144 }; 00145 00146 00147 #endif