Ejemplo n.º 1
0
 public static AFTransform ByCSPoint(CSPoint pt)
 {
     return(new AFTransform(new double[3, 3] {
         { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 }
     },
                            new double[3] {
         pt.X, pt.Y, pt.Z
     }));
 }
Ejemplo n.º 2
0
        public override bool Equals(object obj)
        {
            CSPoint casted = obj as CSPoint;

            if (null == casted)
            {
                return(false);
            }
            return(this.Equals(casted));
        }
Ejemplo n.º 3
0
 public bool Equals(CSPoint cspt)
 {
     if (null == cspt)
     {
         return(false);
     }
     if (cspt.x == this.x && cspt.y == this.y && cspt.z == this.z)
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 4
0
        private List <List <CSPoint> > __DIA_genLayer(
            int xnum, int ynum,
            double xdis, double ydis, CSPoint offset)
        {
            List <List <CSPoint> > ret = new List <List <CSPoint> >();

            foreach (int i in Enumerable.Range(0, xnum))
            {
                List <CSPoint> xlayer = new List <CSPoint>();
                foreach (int j in Enumerable.Range(0, ynum))
                {
                    xlayer.Add(new CSPoint(i * xdis, j * ydis) + offset);
                }
                ret.Add(xlayer);
            }
            return(ret);
        }
Ejemplo n.º 5
0
 public void TransformPoints(double RX, double RY, double RateX = 0.3, double RateY = 0.3)
 {
     if (RateY < 0 || RateX < 0 || RateY > 1 || RateX > 1)
     {
         throw new System.ArgumentException("RateX and RateY must in interval [0, 1]");
     }
     utils.multiLevelMap(
         x =>
     {
         CSPoint cxpt = x as CSPoint;
         cxpt.TransformX(RX, RY,
                         this.xnum * this.xdis * RateX,
                         this.ynum * this.ydis * RateY);
         return(0);
     }, this.twoLayerPoints);
     return;
 }