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