dgregorius: Changed hinge constraint to use JacobianEntry class. Also removed change from last submission to JacobianEntry constructor for angular constraints.

This commit is contained in:
dondickied
2006-06-12 19:53:41 +00:00
parent 03ed5eafff
commit 7535b02e58
6 changed files with 184 additions and 229 deletions

View File

@@ -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;

View File

@@ -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)

View File

@@ -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; }

View File

@@ -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
);

View File

@@ -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_

View File

@@ -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