public void AddConstraint(Vector2Int indices, Quaternion restDarboux) { RegisterConstraint(); particleIndices.Add(indices[0]); particleIndices.Add(indices[1]); restDarbouxVectors.Add(restDarboux); stiffnesses.Add(Vector3.zero); }
public void AddConstraint(Vector2Int indices, int orientationIndex, float restLength, Quaternion restOrientation) { RegisterConstraint(); particleIndices.Add(indices[0]); particleIndices.Add(indices[1]); orientationIndices.Add(orientationIndex); restLengths.Add(restLength); restOrientations.Add(restOrientation); stiffnesses.Add(Vector3.zero); }
public void AddConstraint(int index, ObiColliderBase body, Vector3 offset, Quaternion restDarboux) { RegisterConstraint(); particleIndices.Add(index); pinBodies.Add(body != null ? body.OniCollider : IntPtr.Zero); offsets.Add(offset); restDarbouxVectors.Add(restDarboux); stiffnesses.Add(0); stiffnesses.Add(0); breakThresholds.Add(float.PositiveInfinity); }
public void AddConstraint(int solverIndex, ObiColliderBase body, Vector3 offset, Quaternion restDarboux, float linearCompliance, float rotationalCompliance, float breakThreshold) { RegisterConstraint(); particleIndices.Add(solverIndex); pinBodies.Add(body != null ? body.Handle : new ObiColliderHandle()); colliderIndices.Add(body != null ? body.Handle.index : -1); offsets.Add(offset); restDarbouxVectors.Add(restDarboux); stiffnesses.Add(linearCompliance); stiffnesses.Add(rotationalCompliance); breakThresholds.Add(breakThreshold); }