00001 #ifndef __domKinematics_frame_h__ 00002 #define __domKinematics_frame_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domTranslate.h> 00009 #include <dom/domRotate.h> 00010 class DAE; 00011 00012 class domKinematics_frame : public daeElement 00013 { 00014 public: 00015 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_FRAME; } 00016 static daeInt ID() { return 421; } 00017 virtual daeInt typeID() const { return ID(); } 00018 protected: // Attribute 00019 xsToken attrLink; 00020 00021 protected: // Elements 00022 domTranslate_Array elemTranslate_array; 00023 domRotate_Array elemRotate_array; 00027 daeElementRefArray _contents; 00031 daeUIntArray _contentsOrder; 00032 00036 daeTArray< daeCharArray * > _CMData; 00037 00038 00039 public: //Accessors and Mutators 00044 xsToken getLink() const { return attrLink; } 00049 void setLink( xsToken atLink ) { *(daeStringRef*)&attrLink = atLink;} 00050 00055 domTranslate_Array &getTranslate_array() { return elemTranslate_array; } 00060 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; } 00065 domRotate_Array &getRotate_array() { return elemRotate_array; } 00070 const domRotate_Array &getRotate_array() const { return elemRotate_array; } 00075 daeElementRefArray &getContents() { return _contents; } 00080 const daeElementRefArray &getContents() const { return _contents; } 00081 00082 protected: 00086 domKinematics_frame(DAE& dae) : daeElement(dae), attrLink(), elemTranslate_array(), elemRotate_array() {} 00090 virtual ~domKinematics_frame() { daeElement::deleteCMDataArray(_CMData); } 00094 virtual domKinematics_frame &operator=( const domKinematics_frame &cpy ) { (void)cpy; return *this; } 00095 00096 public: // STATIC METHODS 00101 static DLLSPEC daeElementRef create(DAE& dae); 00107 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00108 }; 00109 00110 00111 #endif