/// <summary>
 /// Sets the points array
 /// </summary>
 /// <param name="points"></param>
 public void SetFromArray(Point3[] points)
 {
     if (points.Length != ColumnCount)
     {
         throw new Exception("Invalid array length");
     }
     this.points = new TypedArrayList <Point3>(points);
 }
 public PointMatrix(TypedArrayList <Point3> points)
     : base(3, points.Count())
 {
     this.points = points;
     for (int i = 0; i < points.Count(); i++)
     {
         SetColumn(i, points.Get(i).AsArray());
     }
 }
 public PointMatrix(int noPoints, double[] data)
     : base(3, noPoints, data)
 {
     points = new TypedArrayList <Point3>();
     PopulatePoints();
 }
 public PointMatrix(double[,] data)
     : base(data.GetLength(0), data.GetLength(1), MathUtil.ToColumnWiseArray(data))
 {
     points = new TypedArrayList <Point3>(data.GetLength(1));
     PopulatePoints();
 }
 public PointMatrix(int noPoints)
     : base(3, noPoints)
 {
     points = new TypedArrayList <Point3>(noPoints);
     PopulatePoints();
 }