00001 #ifndef __domPhysics_model_h__ 00002 #define __domPhysics_model_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domAsset.h> 00009 #include <dom/domRigid_body.h> 00010 #include <dom/domRigid_constraint.h> 00011 #include <dom/domInstance_physics_model.h> 00012 #include <dom/domExtra.h> 00013 class DAE; 00014 00019 class domPhysics_model : public daeElement 00020 { 00021 public: 00022 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHYSICS_MODEL; } 00023 static daeInt ID() { return 411; } 00024 virtual daeInt typeID() const { return ID(); } 00025 protected: // Attributes 00031 xsID attrId; 00035 xsToken attrName; 00036 00037 protected: // Elements 00041 domAssetRef elemAsset; 00045 domRigid_body_Array elemRigid_body_array; 00050 domRigid_constraint_Array elemRigid_constraint_array; 00055 domInstance_physics_model_Array elemInstance_physics_model_array; 00059 domExtra_Array elemExtra_array; 00060 00061 public: //Accessors and Mutators 00066 xsID getId() const { return attrId; } 00071 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; 00072 if( _document != NULL ) _document->changeElementID( this, attrId ); 00073 } 00074 00079 xsToken getName() const { return attrName; } 00084 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00085 00090 const domAssetRef getAsset() const { return elemAsset; } 00095 domRigid_body_Array &getRigid_body_array() { return elemRigid_body_array; } 00100 const domRigid_body_Array &getRigid_body_array() const { return elemRigid_body_array; } 00105 domRigid_constraint_Array &getRigid_constraint_array() { return elemRigid_constraint_array; } 00110 const domRigid_constraint_Array &getRigid_constraint_array() const { return elemRigid_constraint_array; } 00115 domInstance_physics_model_Array &getInstance_physics_model_array() { return elemInstance_physics_model_array; } 00120 const domInstance_physics_model_Array &getInstance_physics_model_array() const { return elemInstance_physics_model_array; } 00125 domExtra_Array &getExtra_array() { return elemExtra_array; } 00130 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00131 protected: 00135 domPhysics_model(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemRigid_body_array(), elemRigid_constraint_array(), elemInstance_physics_model_array(), elemExtra_array() {} 00139 virtual ~domPhysics_model() {} 00143 virtual domPhysics_model &operator=( const domPhysics_model &cpy ) { (void)cpy; return *this; } 00144 00145 public: // STATIC METHODS 00150 static DLLSPEC daeElementRef create(DAE& dae); 00156 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00157 }; 00158 00159 00160 #endif