コード例 #1
0
 /// <summary>
 /// Clones "list" and the elements of "list".
 /// </summary>
 /// <param name="list"></param>
 /// <returns></returns>
 ArrayList /*FrameElement*/ DeeperListCopy_FE(ArrayList/*!*/ /*FrameElement*/ list) {
   Contract.Requires(list != null);
   ArrayList /*FrameElement*/ z = new ArrayList /*FrameElement*/ (list.Count);
   foreach (FrameElement/*!*/ fe in list) {
     Contract.Assert(fe != null);
     z.Add(fe.Clone());
   }
   System.Diagnostics.Debug.Assert(z.Count == list.Count);
   return z;
 }
コード例 #2
0
    LinearConstraintSystem(FrameElement/*!*/ v) {
      Contract.Requires(v != null);
      IMutableSet/*!*/ frameDims = v.GetDefinedDimensions();
      Contract.Assert(frameDims != null);
      ArrayList /*LinearConstraint!*/ constraints = new ArrayList /*LinearConstraint!*/ ();
      foreach (IVariable/*!*/ dim in frameDims) {
        Contract.Assert(dim != null);
        LinearConstraint lc = new LinearConstraint(LinearConstraint.ConstraintRelation.EQ);
        lc.SetCoefficient(dim, Rational.ONE);
        lc.rhs = v[dim];
        constraints.Add(lc);
      }
      FrameDimensions = frameDims;
      Constraints = constraints;

      ArrayList /*FrameElement*/ frameVertices = new ArrayList /*FrameElement*/ ();
      frameVertices.Add(v);
      FrameVertices = frameVertices;

      FrameRays = new ArrayList /*FrameElement*/ ();
      FrameLines = new ArrayList /*FrameElement*/ ();

      //:base();
      CheckInvariant();
    }