예제 #1
0
            public static Value FromPoint2d(GridBasis basis, int ordinal, Point2d point, bool snap)
            {
                if (ordinal == 0)
                {
                    int abscissa = basis.ToGrid(ordinal, point.X);
                    if (!snap && !point.X.Compare(basis.FromGrid(ordinal, abscissa)))
                    {
                        return(null);
                    }

                    return(new Value(abscissa, point.Y));
                }

                if (ordinal == 1)
                {
                    int abscissa = basis.ToGrid(ordinal, point.Y);
                    if (!snap && !point.Y.Compare(basis.FromGrid(ordinal, abscissa)))
                    {
                        return(null);
                    }

                    return(new Value(abscissa, point.X));
                }

                return(null);
            }
예제 #2
0
            public Point2d ToPoint(GridBasis basis, int ordinal)
            {
                double v0 = basis.FromGrid(ordinal, m_abscissa);
                double v1 = m_ordinate;

                if (ordinal == 0)
                {
                    return(new Point2d(v0, v1));
                }

                if (ordinal == 1)
                {
                    return(new Point2d(v1, v0));
                }

                return(null);
            }