public SPCRConstraintSave(SPCRJointDynamicsJob.Constraint constraint)
 {
     IsCollision = constraint.IsCollision;
     Type        = (int)constraint.Type;
     IndexA      = constraint.IndexA;
     IndexB      = constraint.IndexB;
     Length      = constraint.Length;
 }
 public SPCRJointDynamicsJob.Constraint ConvertToJobConstraint()
 {
     SPCRJointDynamicsJob.Constraint spcrConstraint = new SPCRJointDynamicsJob.Constraint();
     spcrConstraint.IsCollision = IsCollision;
     spcrConstraint.Type        = (SPCRJointDynamicsController.ConstraintType)Type;
     spcrConstraint.IndexA      = IndexA;
     spcrConstraint.IndexB      = IndexB;
     spcrConstraint.Length      = Length;
     return(spcrConstraint);
 }
Beispiel #3
0
 bool FindSameIndexInList(List <SPCRJointDynamicsJob.Constraint> list, SPCRJointDynamicsJob.Constraint constraint)
 {
     for (int i = 0; i < list.Count; ++i)
     {
         if (list[i].IndexA == constraint.IndexA)
         {
             return(true);
         }
         if (list[i].IndexA == constraint.IndexB)
         {
             return(true);
         }
         if (list[i].IndexB == constraint.IndexA)
         {
             return(true);
         }
         if (list[i].IndexB == constraint.IndexB)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #4
0
    void PushConstraintTable(List <List <SPCRJointDynamicsJob.Constraint> > ListTable, SPCRJointDynamicsJob.Constraint constraint)
    {
        for (int i = 0; i < ListTable.Count; ++i)
        {
            var table = ListTable[i];
            if (!FindSameIndexInList(table, constraint))
            {
                table.Add(constraint);
                return;
            }
        }

        {
            var list = new List <SPCRJointDynamicsJob.Constraint>();
            list.Add(constraint);
            ListTable.Add(list);
        }
    }