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 __domLibrary_physics_models_h__ 00010 #define __domLibrary_physics_models_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domAsset.h> 00017 #include <dom/domPhysics_model.h> 00018 #include <dom/domExtra.h> 00019 class DAE; 00020 00024 class domLibrary_physics_models : public daeElement 00025 { 00026 public: 00027 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_PHYSICS_MODELS; } 00028 static daeInt ID() { return 724; } 00029 virtual daeInt typeID() const { return ID(); } 00030 protected: // Attributes 00036 xsID attrId; 00040 xsNCName attrName; 00041 00042 protected: // Elements 00047 domAssetRef elemAsset; 00051 domPhysics_model_Array elemPhysics_model_array; 00055 domExtra_Array elemExtra_array; 00056 00057 public: //Accessors and Mutators 00062 xsID getId() const { return attrId; } 00067 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true; 00068 if( _document != NULL ) _document->changeElementID( this, attrId ); 00069 } 00070 00075 xsNCName getName() const { return attrName; } 00080 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; } 00081 00086 const domAssetRef getAsset() const { return elemAsset; } 00091 domPhysics_model_Array &getPhysics_model_array() { return elemPhysics_model_array; } 00096 const domPhysics_model_Array &getPhysics_model_array() const { return elemPhysics_model_array; } 00101 domExtra_Array &getExtra_array() { return elemExtra_array; } 00106 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00107 protected: 00111 domLibrary_physics_models(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemPhysics_model_array(), elemExtra_array() {} 00115 virtual ~domLibrary_physics_models() {} 00119 virtual domLibrary_physics_models &operator=( const domLibrary_physics_models &cpy ) { (void)cpy; return *this; } 00120 00121 public: // STATIC METHODS 00126 static DLLSPEC daeElementRef create(DAE& dae); 00132 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00133 }; 00134 00135 00136 #endif