Example #1
0
        public Line2 Translate(IVector2 translation)
        {
            Line2 lineOut = new Line2(Point1.Plus(translation), Point2.Plus(translation));

            lineOut.Col = Col;
            return(lineOut);
        }
Example #2
0
        public ILine3 Translate(IVector3 translation)
        {
            ILine3 lineOut = new Line3(Point1.Plus(translation), Point2.Plus(translation));

            lineOut.Col = Col;
            return(lineOut);
        }
Example #3
0
        public List <IVector3> BreakMany(double breakLen)
        {
            try
            {
                var points = new List <IVector3>();

                if (Length <= breakLen)
                {
                    points.Add(Point1);
                    points.Add(Point2);
                    return(points);
                }

                int parseCount = (int)Math.Round(Length / breakLen);
                if (parseCount == 0)
                {
                    parseCount = 1;
                }

                IVector3 delta = Point2.Minus(Point1);

                double dpc = parseCount;
                for (int i = 0; i <= parseCount; i++)
                {
                    double di = i;

                    IVector3 v = Point1.Plus(delta.MultiplyBy(di / dpc));
                    points.Add(v);
                }
                return(points);
            }
            catch (Exception)
            {
                throw;
            }
        }