40 #ifndef _physicsconstraint_cpp
41 #define _physicsconstraint_cpp
43 #include "Physics/constraint.h"
44 #include "Physics/physicsenumerations.h"
45 #include "Physics/rigidproxy.h"
47 #include "actormanager.h"
50 #include "stringtool.h"
53 #include <btBulletDynamicsCommon.h>
69 case Con_Stop_ERP:
return String(
"Con_Stop_ERP");
71 case Con_Stop_CFM:
return String(
"Con_Stop_CFM");
98 {
return Con_Stop_ERP; }
100 { MEZZ_EXCEPTION(
Exception::PARAMETERS_EXCEPTION,
"Attempted to convert invalid String to Constraint Paramater: Appears to be Con_Stop_ERP but isn't."); }
103 {
return Con_Stop_CFM; }
105 { MEZZ_EXCEPTION(
Exception::PARAMETERS_EXCEPTION,
"Attempted to convert invalid String to Constraint Paramater: Appears to be Con_Stop_CFM but isn't."); }
109 { MEZZ_EXCEPTION(
Exception::PARAMETERS_EXCEPTION,
"Attempted to convert invalid String to Constraint Paramater: Appeared to be Con_Stop_Something, but wasn't."); }
120 case '-':
return -1;
break;
121 case '0':
return 0;
break;
122 case '1':
return 1;
break;
123 case '2':
return 2;
break;
124 case '3':
return 3;
break;
125 case '4':
return 4;
break;
126 case '5':
return 5;
break;
185 XML::Attribute Version = ConstraintNode.AppendAttribute(
"Version");
186 XML::Attribute ActorNameA = ConstraintNode.AppendAttribute(
"ActorNameA");
187 XML::Attribute ActorNameB = ConstraintNode.AppendAttribute(
"ActorNameB");
189 if (Version && ActorNameA && ActorNameB)
200 for(AxisList::iterator AxisIter=AllAxis.begin(); AllAxis.end()!=AxisIter; ++AxisIter)
202 XML::Node OneAxisNode;
205 for(ParamList::iterator ParamIter=AxisParams.begin(); AxisParams.end()!=ParamIter; ++ParamIter)
211 OneAxisNode = ConstraintNode.AppendChild(CurrentAxisName);
217 if (!CurrenParamAttribute)
219 CurrenParamAttribute.SetValue( this->
GetParam(*ParamIter,*AxisIter));
229 if(OneNode.GetAttribute(
"Version").AsInt() == 1)
252 XML::Node TheAxis = OneNode.GetFirstChild();
255 String EnemyName(TheAxis.Name());
256 if(4>EnemyName.size())
262 XML::Attribute AxisAttribute = TheAxis.GetFirstAttribute();
266 AxisAttribute = AxisAttribute.GetNextAttribute();
269 TheAxis = TheAxis.GetNextSibling();
281 {
return String(
"Constraint"); }