From 7535b02e58d1dc9993b1a064ce94678a6da2060e Mon Sep 17 00:00:00 2001 From: dondickied Date: Mon, 12 Jun 2006 19:53:41 +0000 Subject: [PATCH] dgregorius: Changed hinge constraint to use JacobianEntry class. Also removed change from last submission to JacobianEntry constructor for angular constraints. --- .../Generic6DofConstraint.cpp | 2 +- .../ConstraintSolver/HingeConstraint.cpp | 101 ++++++- .../ConstraintSolver/JacobianEntry.h | 14 +- Demos/ConstraintDemo/ConstraintDemo.cpp | 4 +- Extras/FCollada/FMath/StdAfx.h | 8 +- msvc/8/wksbullet.sln | 284 +++++------------- 6 files changed, 184 insertions(+), 229 deletions(-) diff --git a/BulletDynamics/ConstraintSolver/Generic6DofConstraint.cpp b/BulletDynamics/ConstraintSolver/Generic6DofConstraint.cpp index c10a588ee..efe7a8417 100644 --- a/BulletDynamics/ConstraintSolver/Generic6DofConstraint.cpp +++ b/BulletDynamics/ConstraintSolver/Generic6DofConstraint.cpp @@ -70,7 +70,7 @@ void Generic6DofConstraint::BuildJacobian() //calculate two perpendicular jointAxis, orthogonal to hingeAxis //these two jointAxis require equal angular velocities for both bodies - //this is ununsed for now, it's a todo + //this is unused for now, it's a todo SimdVector3 axisWorldA = GetRigidBodyA().getCenterOfMassTransform().getBasis() * m_axisInA; SimdVector3 jointAxis0; SimdVector3 jointAxis1; diff --git a/BulletDynamics/ConstraintSolver/HingeConstraint.cpp b/BulletDynamics/ConstraintSolver/HingeConstraint.cpp index 12e02f283..2534ba73a 100644 --- a/BulletDynamics/ConstraintSolver/HingeConstraint.cpp +++ b/BulletDynamics/ConstraintSolver/HingeConstraint.cpp @@ -71,7 +71,7 @@ void HingeConstraint::BuildJacobian() //calculate two perpendicular jointAxis, orthogonal to hingeAxis //these two jointAxis require equal angular velocities for both bodies - //this is ununsed for now, it's a todo + //this is unused for now, it's a todo SimdVector3 axisWorldA = GetRigidBodyA().getCenterOfMassTransform().getBasis() * m_axisInA; SimdVector3 jointAxis0; SimdVector3 jointAxis1; @@ -94,6 +94,101 @@ void HingeConstraint::BuildJacobian() void HingeConstraint::SolveConstraint(SimdScalar timeStep) { +#define NEW_IMPLEMENTATION + +#ifdef NEW_IMPLEMENTATION + SimdScalar tau = 0.3f; + SimdScalar damping = 1.f; + + SimdVector3 pivotAInW = m_rbA.getCenterOfMassTransform()*m_pivotInA; + SimdVector3 pivotBInW = m_rbB.getCenterOfMassTransform()*m_pivotInB; + + // Dirk: Don't we need to update this after each applied impulse + SimdVector3 angvelA; // = m_rbA.getCenterOfMassTransform().getBasis().transpose() * m_rbA.getAngularVelocity(); + SimdVector3 angvelB; // = m_rbB.getCenterOfMassTransform().getBasis().transpose() * m_rbB.getAngularVelocity(); + + + if (!m_angularOnly) + { + SimdVector3 normal(0,0,0); + + for (int i=0;i<3;i++) + { + normal[i] = 1; + SimdScalar jacDiagABInv = 1.f / m_jac[i].getDiagonal(); + + SimdVector3 rel_pos1 = pivotAInW - m_rbA.getCenterOfMassPosition(); + SimdVector3 rel_pos2 = pivotBInW - m_rbB.getCenterOfMassPosition(); + + SimdVector3 vel1 = m_rbA.getVelocityInLocalPoint(rel_pos1); + SimdVector3 vel2 = m_rbB.getVelocityInLocalPoint(rel_pos2); + SimdVector3 vel = vel1 - vel2; + + // Dirk: Get new angular velocity since it changed after applying an impulse + angvelA = m_rbA.getCenterOfMassTransform().getBasis().transpose() * m_rbA.getAngularVelocity(); + angvelB = m_rbB.getCenterOfMassTransform().getBasis().transpose() * m_rbB.getAngularVelocity(); + + //velocity error (first order error) + SimdScalar rel_vel = m_jac[i].getRelativeVelocity(m_rbA.getLinearVelocity(),angvelA, + m_rbB.getLinearVelocity(),angvelB); + + //positional error (zeroth order error) + SimdScalar depth = -(pivotAInW - pivotBInW).dot(normal); + + SimdScalar impulse = tau*depth/timeStep * jacDiagABInv - damping * rel_vel * jacDiagABInv; + + SimdVector3 impulse_vector = normal * impulse; + m_rbA.applyImpulse( impulse_vector, pivotAInW - m_rbA.getCenterOfMassPosition()); + m_rbB.applyImpulse(-impulse_vector, pivotBInW - m_rbB.getCenterOfMassPosition()); + + normal[i] = 0; + } + } + + ///solve angular part + + // get axes in world space + SimdVector3 axisA = GetRigidBodyA().getCenterOfMassTransform().getBasis() * m_axisInA; + SimdVector3 axisB = GetRigidBodyB().getCenterOfMassTransform().getBasis() * m_axisInB; + + // constraint axes in world space + SimdVector3 jointAxis0; + SimdVector3 jointAxis1; + SimdPlaneSpace1(axisA,jointAxis0,jointAxis1); + + + // Dirk: Get new angular velocity since it changed after applying an impulse + angvelA = m_rbA.getCenterOfMassTransform().getBasis().transpose() * m_rbA.getAngularVelocity(); + angvelB = m_rbB.getCenterOfMassTransform().getBasis().transpose() * m_rbB.getAngularVelocity(); + + SimdScalar jacDiagABInv0 = 1.f / m_jacAng[0].getDiagonal(); + SimdScalar rel_vel0 = m_jacAng[0].getRelativeVelocity(m_rbA.getLinearVelocity(),angvelA, + m_rbB.getLinearVelocity(),angvelB); + + SimdScalar impulse0 = (tau * axisB.dot(jointAxis1) / timeStep - damping * rel_vel0) * jacDiagABInv0; + SimdVector3 angular_impulse0 = jointAxis0 * impulse0; + + m_rbA.applyTorqueImpulse( angular_impulse0); + m_rbB.applyTorqueImpulse(-angular_impulse0); + + + + // Dirk: Get new angular velocity since it changed after applying an impulse + angvelA = m_rbA.getCenterOfMassTransform().getBasis().transpose() * m_rbA.getAngularVelocity(); + angvelB = m_rbB.getCenterOfMassTransform().getBasis().transpose() * m_rbB.getAngularVelocity(); + + SimdScalar jacDiagABInv1 = 1.f / m_jacAng[1].getDiagonal(); + SimdScalar rel_vel1 = m_jacAng[1].getRelativeVelocity(m_rbA.getLinearVelocity(),angvelA, + m_rbB.getLinearVelocity(),angvelB);; + + SimdScalar impulse1 = -(tau * axisB.dot(jointAxis0) / timeStep + damping * rel_vel1) * jacDiagABInv1; + SimdVector3 angular_impulse1 = jointAxis1 * impulse1; + + m_rbA.applyTorqueImpulse( angular_impulse1); + m_rbB.applyTorqueImpulse(-angular_impulse1); + +#else + SimdVector3 pivotAInW = m_rbA.getCenterOfMassTransform()*m_pivotInA; SimdVector3 pivotBInW = m_rbB.getCenterOfMassTransform()*m_pivotInB; @@ -102,7 +197,7 @@ void HingeConstraint::SolveConstraint(SimdScalar timeStep) SimdScalar tau = 0.3f; SimdScalar damping = 1.f; - if (!m_angularOnly) +//linear part { for (int i=0;i<3;i++) { @@ -167,6 +262,8 @@ void HingeConstraint::SolveConstraint(SimdScalar timeStep) m_rbA.applyTorqueImpulse(-velrel+angularError); m_rbB.applyTorqueImpulse(velrel-angularError); +#endif + } void HingeConstraint::UpdateRHS(SimdScalar timeStep) diff --git a/BulletDynamics/ConstraintSolver/JacobianEntry.h b/BulletDynamics/ConstraintSolver/JacobianEntry.h index 8b17e5cd6..a23371747 100644 --- a/BulletDynamics/ConstraintSolver/JacobianEntry.h +++ b/BulletDynamics/ConstraintSolver/JacobianEntry.h @@ -49,21 +49,25 @@ public: m_0MinvJt = inertiaInvA * m_aJ; m_1MinvJt = inertiaInvB * m_bJ; m_Adiag = massInvA + m_0MinvJt.dot(m_aJ) + massInvB + m_1MinvJt.dot(m_bJ); + + assert(m_Adiag > 0.0f); } - //angular constraint between two different rigidbodies + //angular constraint between two different rigidbodies JacobianEntry(const SimdVector3& jointAxis, const SimdMatrix3x3& world2A, const SimdMatrix3x3& world2B, const SimdVector3& inertiaInvA, const SimdVector3& inertiaInvB) - :m_jointAxis(jointAxis) + :m_jointAxis(m_jointAxis) { - m_aJ= world2A*m_jointAxis; - m_bJ = world2B*-m_jointAxis; + m_aJ= world2A*jointAxis; + m_bJ = world2B*-jointAxis; m_0MinvJt = inertiaInvA * m_aJ; m_1MinvJt = inertiaInvB * m_bJ; m_Adiag = m_0MinvJt.dot(m_aJ) + m_1MinvJt.dot(m_bJ); + + assert(m_Adiag > 0.0f); } //constraint on one rigidbody @@ -80,6 +84,8 @@ public: m_0MinvJt = inertiaInvA * m_aJ; m_1MinvJt = SimdVector3(0.f,0.f,0.f); m_Adiag = massInvA + m_0MinvJt.dot(m_aJ); + + assert(m_Adiag > 0.0f); } SimdScalar getDiagonal() const { return m_Adiag; } diff --git a/Demos/ConstraintDemo/ConstraintDemo.cpp b/Demos/ConstraintDemo/ConstraintDemo.cpp index cd2c2ae37..87bb0c24b 100644 --- a/Demos/ConstraintDemo/ConstraintDemo.cpp +++ b/Demos/ConstraintDemo/ConstraintDemo.cpp @@ -198,8 +198,8 @@ int main(int argc,char** argv) //0, physObjects[2], //PHY_POINT2POINT_CONSTRAINT, - PHY_GENERIC_6DOF_CONSTRAINT,//can leave any of the 6 degree of freedom 'free' or 'locked' - //PHY_LINEHINGE_CONSTRAINT, + //PHY_GENERIC_6DOF_CONSTRAINT,//can leave any of the 6 degree of freedom 'free' or 'locked' + PHY_LINEHINGE_CONSTRAINT, pivotX,pivotY,pivotZ, axisX,axisY,axisZ ); diff --git a/Extras/FCollada/FMath/StdAfx.h b/Extras/FCollada/FMath/StdAfx.h index a2c87ea2b..d22835799 100644 --- a/Extras/FCollada/FMath/StdAfx.h +++ b/Extras/FCollada/FMath/StdAfx.h @@ -6,7 +6,7 @@ #ifndef _STD_AFX_H_ #define _STD_AFX_H_ -#define NO_LIBXML -#include "FUtils/FUtils.h" - -#endif // _STD_AFX_H_ +#define NO_LIBXML +#include "FUtils/FUtils.h" + +#endif // _STD_AFX_H_ diff --git a/msvc/8/wksbullet.sln b/msvc/8/wksbullet.sln index 2a2a8646b..258de70b0 100644 --- a/msvc/8/wksbullet.sln +++ b/msvc/8/wksbullet.sln @@ -2,189 +2,137 @@ Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appBasicSample", "appBasicSample.vcproj", "{A584DCA6-74CD-02E3-E473-0D9990CD9A84}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appCcdPhysicsDemo", "appCcdPhysicsDemo.vcproj", "{7284F809-AF30-6315-88C6-86F1C0798760}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appColladaDemo", "appColladaDemo.vcproj", "{D7BF5DDA-C097-9E8B-5EC1-40DE45FB46BF}" ProjectSection(ProjectDependencies) = postProject - {D7F466F4-2AEA-4648-BE09-024C887BC157} = {D7F466F4-2AEA-4648-BE09-024C887BC157} - {FF956BB3-F377-43A8-AB31-633299BDF6C6} = {FF956BB3-F377-43A8-AB31-633299BDF6C6} - {3D872CA6-782B-46C9-A336-1B18C0A4FBD5} = {3D872CA6-782B-46C9-A336-1B18C0A4FBD5} - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {5160A878-73A5-41CA-B8D5-C3D560DD1D58} = {5160A878-73A5-41CA-B8D5-C3D560DD1D58} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} - {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} {38BB0C01-CF6E-44D7-8AE1-5F92D38DB1DC} = {38BB0C01-CF6E-44D7-8AE1-5F92D38DB1DC} + {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {5160A878-73A5-41CA-B8D5-C3D560DD1D58} = {5160A878-73A5-41CA-B8D5-C3D560DD1D58} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} + {3D872CA6-782B-46C9-A336-1B18C0A4FBD5} = {3D872CA6-782B-46C9-A336-1B18C0A4FBD5} + {FF956BB3-F377-43A8-AB31-633299BDF6C6} = {FF956BB3-F377-43A8-AB31-633299BDF6C6} + {D7F466F4-2AEA-4648-BE09-024C887BC157} = {D7F466F4-2AEA-4648-BE09-024C887BC157} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appCollisionDemo", "appCollisionDemo.vcproj", "{E70DB92E-C1F5-AE72-F9E2-DB9B4B3DBEC9}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appCollisionInterfaceDemo", "appCollisionInterfaceDemo.vcproj", "{F38629D2-EEB2-1A09-FB82-52B8A8DE759B}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appConcaveDemo", "appConcaveDemo.vcproj", "{B94C19C6-F6E7-2F60-56E2-E0BA681B74B3}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appConstraintDemo", "appConstraintDemo.vcproj", "{DAA547D0-0166-C085-0F93-B88CAB800F97}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appContinuousConvexCollision", "appContinuousConvexCollision.vcproj", "{801CB6D4-A45C-C9D2-B176-9711A74B9164}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appConvexDecompositionDemo", "appConvexDecompositionDemo.vcproj", "{69C821C7-1E18-D894-068D-C55E063F4859}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} - {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} {8050F819-5B5B-1504-BC6D-7F2B4C6C85F3} = {8050F819-5B5B-1504-BC6D-7F2B4C6C85F3} + {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appEPAPenDepthDemo", "appEPAPenDepthDemo.vcproj", "{1125C7F3-9E0D-27B1-C97B-CDAB5CE161A3}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appGjkConvexCastDemo", "appGjkConvexCastDemo.vcproj", "{780752A8-6322-5D3E-EF42-D0FD8BF9CEA1}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appRaytracer", "appRaytracer.vcproj", "{60F71B6A-F888-C449-EF49-268BB9F7C963}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} + {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} + {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appSimplexDemo", "appSimplexDemo.vcproj", "{60A1DC9D-F837-3923-E9DE-A7925394A578}" ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpall_bullet", "grpall_bullet.vcproj", "{6210A080-01C0-6D67-F1DB-669393175402}" - ProjectSection(ProjectDependencies) = postProject - {1125C7F3-9E0D-27B1-C97B-CDAB5CE161A3} = {1125C7F3-9E0D-27B1-C97B-CDAB5CE161A3} - {D7BF5DDA-C097-9E8B-5EC1-40DE45FB46BF} = {D7BF5DDA-C097-9E8B-5EC1-40DE45FB46BF} - {801CB6D4-A45C-C9D2-B176-9711A74B9164} = {801CB6D4-A45C-C9D2-B176-9711A74B9164} - {F38629D2-EEB2-1A09-FB82-52B8A8DE759B} = {F38629D2-EEB2-1A09-FB82-52B8A8DE759B} - {DAA547D0-0166-C085-0F93-B88CAB800F97} = {DAA547D0-0166-C085-0F93-B88CAB800F97} - {69C821C7-1E18-D894-068D-C55E063F4859} = {69C821C7-1E18-D894-068D-C55E063F4859} - {B94C19C6-F6E7-2F60-56E2-E0BA681B74B3} = {B94C19C6-F6E7-2F60-56E2-E0BA681B74B3} - {780752A8-6322-5D3E-EF42-D0FD8BF9CEA1} = {780752A8-6322-5D3E-EF42-D0FD8BF9CEA1} - {A584DCA6-74CD-02E3-E473-0D9990CD9A84} = {A584DCA6-74CD-02E3-E473-0D9990CD9A84} - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {60A1DC9D-F837-3923-E9DE-A7925394A578} = {60A1DC9D-F837-3923-E9DE-A7925394A578} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} - {60F71B6A-F888-C449-EF49-268BB9F7C963} = {60F71B6A-F888-C449-EF49-268BB9F7C963} - {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} - {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} - {E70DB92E-C1F5-AE72-F9E2-DB9B4B3DBEC9} = {E70DB92E-C1F5-AE72-F9E2-DB9B4B3DBEC9} - {8050F819-5B5B-1504-BC6D-7F2B4C6C85F3} = {8050F819-5B5B-1504-BC6D-7F2B4C6C85F3} - {7284F809-AF30-6315-88C6-86F1C0798760} = {7284F809-AF30-6315-88C6-86F1C0798760} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpapps_bullet", "grpapps_bullet.vcproj", "{9E59B16D-0924-409C-1611-DF2207A0053F}" - ProjectSection(ProjectDependencies) = postProject - {1125C7F3-9E0D-27B1-C97B-CDAB5CE161A3} = {1125C7F3-9E0D-27B1-C97B-CDAB5CE161A3} - {D7BF5DDA-C097-9E8B-5EC1-40DE45FB46BF} = {D7BF5DDA-C097-9E8B-5EC1-40DE45FB46BF} - {801CB6D4-A45C-C9D2-B176-9711A74B9164} = {801CB6D4-A45C-C9D2-B176-9711A74B9164} - {F38629D2-EEB2-1A09-FB82-52B8A8DE759B} = {F38629D2-EEB2-1A09-FB82-52B8A8DE759B} - {DAA547D0-0166-C085-0F93-B88CAB800F97} = {DAA547D0-0166-C085-0F93-B88CAB800F97} - {69C821C7-1E18-D894-068D-C55E063F4859} = {69C821C7-1E18-D894-068D-C55E063F4859} - {B94C19C6-F6E7-2F60-56E2-E0BA681B74B3} = {B94C19C6-F6E7-2F60-56E2-E0BA681B74B3} - {780752A8-6322-5D3E-EF42-D0FD8BF9CEA1} = {780752A8-6322-5D3E-EF42-D0FD8BF9CEA1} - {A584DCA6-74CD-02E3-E473-0D9990CD9A84} = {A584DCA6-74CD-02E3-E473-0D9990CD9A84} - {60A1DC9D-F837-3923-E9DE-A7925394A578} = {60A1DC9D-F837-3923-E9DE-A7925394A578} - {60F71B6A-F888-C449-EF49-268BB9F7C963} = {60F71B6A-F888-C449-EF49-268BB9F7C963} - {E70DB92E-C1F5-AE72-F9E2-DB9B4B3DBEC9} = {E70DB92E-C1F5-AE72-F9E2-DB9B4B3DBEC9} - {7284F809-AF30-6315-88C6-86F1C0798760} = {7284F809-AF30-6315-88C6-86F1C0798760} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grplibs_bullet", "grplibs_bullet.vcproj", "{DFAF0062-4CD7-9AB8-0683-A6026B326F56}" - ProjectSection(ProjectDependencies) = postProject - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} - {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} - {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} = {90F5975E-550B-EEC8-9A8A-B8581D3FCF97} - {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} = {C63CFD5B-23E8-FB4F-79DB-E40F463B0C1E} - {85BCCE3E-992B-B6D7-28F6-CF0A12680822} = {85BCCE3E-992B-B6D7-28F6-CF0A12680822} - {8050F819-5B5B-1504-BC6D-7F2B4C6C85F3} = {8050F819-5B5B-1504-BC6D-7F2B4C6C85F3} + {7C428E76-9271-6284-20F0-9B38ED6931E3} = {7C428E76-9271-6284-20F0-9B38ED6931E3} + {61BD1097-CF2E-B296-DAA9-73A6FE135319} = {61BD1097-CF2E-B296-DAA9-73A6FE135319} + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbullet", "libbullet.vcproj", "{90F5975E-550B-EEC8-9A8A-B8581D3FCF97}" @@ -650,102 +598,6 @@ Global {60A1DC9D-F837-3923-E9DE-A7925394A578}.Release(1.4)|Win32.Build.0 = Release|Win32 {60A1DC9D-F837-3923-E9DE-A7925394A578}.Release|Win32.ActiveCfg = Release|Win32 {60A1DC9D-F837-3923-E9DE-A7925394A578}.Release|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug DLL|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug DLL|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug MTD|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug MTD|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug Unicode DLL|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug Unicode DLL|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug Unicode MTD|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug Unicode MTD|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug Unicode|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug Unicode|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug(1.3)|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug(1.3)|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug(1.4)|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug(1.4)|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug|Win32.ActiveCfg = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Debug|Win32.Build.0 = Debug|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release DLL|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release DLL|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release MTD|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release MTD|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release Unicode DLL|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release Unicode DLL|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release Unicode MTD|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release Unicode MTD|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release Unicode|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release Unicode|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release(1.3)|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release(1.3)|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release(1.4)|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release(1.4)|Win32.Build.0 = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release|Win32.ActiveCfg = Release|Win32 - {6210A080-01C0-6D67-F1DB-669393175402}.Release|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug DLL|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug DLL|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug MTD|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug MTD|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug Unicode DLL|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug Unicode DLL|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug Unicode MTD|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug Unicode MTD|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug Unicode|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug Unicode|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug(1.3)|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug(1.3)|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug(1.4)|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug(1.4)|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug|Win32.ActiveCfg = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Debug|Win32.Build.0 = Debug|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release DLL|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release DLL|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release MTD|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release MTD|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release Unicode DLL|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release Unicode DLL|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release Unicode MTD|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release Unicode MTD|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release Unicode|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release Unicode|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release(1.3)|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release(1.3)|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release(1.4)|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release(1.4)|Win32.Build.0 = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release|Win32.ActiveCfg = Release|Win32 - {9E59B16D-0924-409C-1611-DF2207A0053F}.Release|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug DLL|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug DLL|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug MTD|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug MTD|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug Unicode DLL|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug Unicode DLL|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug Unicode MTD|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug Unicode MTD|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug Unicode|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug Unicode|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug(1.3)|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug(1.3)|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug(1.4)|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug(1.4)|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug|Win32.ActiveCfg = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Debug|Win32.Build.0 = Debug|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release DLL|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release DLL|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release MTD|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release MTD|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release Unicode DLL|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release Unicode DLL|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release Unicode MTD|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release Unicode MTD|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release Unicode|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release Unicode|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release(1.3)|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release(1.3)|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release(1.4)|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release(1.4)|Win32.Build.0 = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release|Win32.ActiveCfg = Release|Win32 - {DFAF0062-4CD7-9AB8-0683-A6026B326F56}.Release|Win32.Build.0 = Release|Win32 {90F5975E-550B-EEC8-9A8A-B8581D3FCF97}.Debug DLL|Win32.ActiveCfg = Debug|Win32 {90F5975E-550B-EEC8-9A8A-B8581D3FCF97}.Debug DLL|Win32.Build.0 = Debug|Win32 {90F5975E-550B-EEC8-9A8A-B8581D3FCF97}.Debug MTD|Win32.ActiveCfg = Debug|Win32