Exemplo n.º 1
0
 /// <summary>
 /// Update distance
 /// </summary>
 /// <param name="list">list of distance cadre model</param>
 /// <param name="src">list of cadre model</param>
 /// <param name="cmChanged">cadre model that has changed</param>
 public static void UpdateDistance(List <DistanceCadreModel> list, List <CadreModel> src, CadreModel cmChanged)
 {
     list.FindAll(a =>
     {
         if (a.Get(refCadreModelPositiveIndexName, 0) == cmChanged.Index || a.Get(refCadreModelNegativeIndexName, 0) == cmChanged.Index)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }).ForEach(a =>
     {
         if (a.Get(refCadreModelPositiveIndexName, 0) == cmChanged.Index)
         {
             CadreModel cm = DistanceCadreModel.Find(src, a.Get(refCadreModelNegativeIndexName, 0));
             a.Uniform(cmChanged, cm);
             a.AimentedContact(cmChanged, cm);
             cmChanged.AimentedMove();
         }
         else
         {
             CadreModel cm = DistanceCadreModel.Find(src, a.Get(refCadreModelPositiveIndexName, 0));
             a.Uniform(cm, cmChanged);
             a.AimentedContact(cm, cmChanged);
             cm.AimentedMove();
         }
     });
 }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor with two cadre model
 /// </summary>
 /// <param name="cm1">cadre model one</param>
 /// <param name="cm2">cadre model two</param>
 public DistanceCadreModel(CadreModel cm1, CadreModel cm2)
 {
     if (cm1.Index > cm2.Index)
     {
         this.Uniform(cm2, cm1);
         this.AimentedContact(cm2, cm1);
         cm2.AimentedMove();
     }
     else
     {
         this.Uniform(cm1, cm2);
         this.AimentedContact(cm1, cm2);
         cm1.AimentedMove();
     }
 }