hkpStiffSpringConstraintData* spring= new hkpStiffSpringConstraintData(); for (l1 = 0; l1 < v; l1++) // v for (l2 = 0; l2 < (u - 1); l2++) { int index0 = (l1 * u) + l2; int index1 = (l1 * u) + l2 + 1; hkpRigidBody* r0 = masses[index0]; hkpRigidBody* r1 = masses[index1]; hkVector4f r0Pos = r0->getTransform().getTranslation(); hkVector4f r1Pos = r1->getTransform().getTranslation(); spring->setInWorldSpace(r0->getTransform(), r1->getTransform(), r0Pos, r1Pos); hkpConstraintInstance* constraint = new hkpConstraintInstance(r0, r1, spring); g_pWorld->addConstraint(constraint); constraint->removeReference(); indices.push_back(index0); indices.push_back(index1); } // Vertical for (l1 = 0; l1 < (u); l1++) for (l2 = 0; l2 < (v - 1); l2++) { int index0 = (l2 * u) + l1; int index1 = ((l2 + 1) * u) + l1; hkpRigidBody* r0 = masses[index0]; hkpRigidBody* r1 = masses[index1]; hkVector4f r0Pos = r0->getTransform().getTranslation(); hkVector4f r1Pos = r1->getTransform().getTranslation(); spring->setInWorldSpace(r0->getTransform(), r1->getTransform(), r0Pos, r1Pos); hkpConstraintInstance* constraint = new hkpConstraintInstance(r0, r1, spring); g_pWorld->addConstraint(constraint); constraint->removeReference(); indices.push_back(index0); indices.push_back(index1); } spring->removeReference();