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 __domInstance_physics_model_h__ 00010 #define __domInstance_physics_model_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domInstance_force_field.h> 00017 #include <dom/domInstance_rigid_body.h> 00018 #include <dom/domInstance_rigid_constraint.h> 00019 #include <dom/domExtra.h> 00020 class DAE; 00021 00026 class domInstance_physics_model : public daeElement 00027 { 00028 public: 00029 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_PHYSICS_MODEL; } 00030 static daeInt ID() { return 702; } 00031 virtual daeInt typeID() const { return ID(); } 00032 protected: // Attributes 00039 xsAnyURI attrUrl; 00045 xsNCName attrSid; 00049 xsNCName attrName; 00056 xsAnyURI attrParent; 00057 00058 protected: // Elements 00063 domInstance_force_field_Array elemInstance_force_field_array; 00068 domInstance_rigid_body_Array elemInstance_rigid_body_array; 00073 domInstance_rigid_constraint_Array elemInstance_rigid_constraint_array; 00077 domExtra_Array elemExtra_array; 00078 00079 public: //Accessors and Mutators 00084 xsAnyURI &getUrl() { return attrUrl; } 00089 const xsAnyURI &getUrl() const { return attrUrl; } 00094 void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; } 00099 void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; } 00100 00105 xsNCName getSid() const { return attrSid; } 00110 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; } 00111 00116 xsNCName getName() const { return attrName; } 00121 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; } 00122 00127 xsAnyURI &getParent() { return attrParent; } 00132 const xsAnyURI &getParent() const { return attrParent; } 00137 void setParent( const xsAnyURI &atParent ) { attrParent = atParent; _validAttributeArray[3] = true; } 00142 void setParent( xsString atParent ) { attrParent = atParent; _validAttributeArray[3] = true; } 00143 00148 domInstance_force_field_Array &getInstance_force_field_array() { return elemInstance_force_field_array; } 00153 const domInstance_force_field_Array &getInstance_force_field_array() const { return elemInstance_force_field_array; } 00158 domInstance_rigid_body_Array &getInstance_rigid_body_array() { return elemInstance_rigid_body_array; } 00163 const domInstance_rigid_body_Array &getInstance_rigid_body_array() const { return elemInstance_rigid_body_array; } 00168 domInstance_rigid_constraint_Array &getInstance_rigid_constraint_array() { return elemInstance_rigid_constraint_array; } 00173 const domInstance_rigid_constraint_Array &getInstance_rigid_constraint_array() const { return elemInstance_rigid_constraint_array; } 00178 domExtra_Array &getExtra_array() { return elemExtra_array; } 00183 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00184 protected: 00188 domInstance_physics_model(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), attrParent(dae, *this), elemInstance_force_field_array(), elemInstance_rigid_body_array(), elemInstance_rigid_constraint_array(), elemExtra_array() {} 00192 virtual ~domInstance_physics_model() {} 00196 virtual domInstance_physics_model &operator=( const domInstance_physics_model &cpy ) { (void)cpy; return *this; } 00197 00198 public: // STATIC METHODS 00203 static DLLSPEC daeElementRef create(DAE& dae); 00209 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00210 }; 00211 00212 00213 #endif