public override void PushDataToSolver(ObiBatchedConstraints constraints)
        {
            if (constraints == null || constraints.Actor == null || !constraints.Actor.InSolver)
            {
                return;
            }

            ObiStretchShearConstraints dc = (ObiStretchShearConstraints)constraints;

            int[] orientationIndices = new int[restLengths.Count];

            for (int i = 0; i < restLengths.Count; i++)
            {
                solverStiffnesses[i] = new Vector3(StiffnessToCompliance(dc.shearStiffness1),
                                                   StiffnessToCompliance(dc.shearStiffness2),
                                                   StiffnessToCompliance(dc.stretchStiffness));
                orientationIndices[i] = solverIndices[i * 2];
            }

            Oni.SetStretchShearConstraints(batch, solverIndices, orientationIndices, solverRestLengths, solverRestOrientations, solverStiffnesses, ConstraintCount);
        }
Example #2
0
 public void OnEnable()
 {
     constraints = (ObiStretchShearConstraints)target;
 }