Exemplo n.º 1
0
        public void Setup(int deg, int divCnt, bool edge = true, bool close = false)
        {
            Nurbs            = new NurbsLine(deg, mPointList.Count, divCnt, edge, close);
            Nurbs.CtrlPoints = mPointList;
            Nurbs.SetupDefaultCtrlOrder();

            NurbsPointList = new VertexList(Nurbs.OutCnt);
        }
Exemplo n.º 2
0
        public NurbsLine Restore()
        {
            NurbsLine nurbs = new NurbsLine();

            nurbs.CtrlCnt     = CtrlCnt;
            nurbs.CtrlDataCnt = CtrlDataCnt;
            nurbs.Weights     = MpUtil_v1001.ArrayClone <double>(Weights);
            nurbs.CtrlPoints  = MpUtil_v1001.VertexListFromMp(CtrlPoints);
            nurbs.CtrlOrder   = MpUtil_v1001.ArrayClone <int>(CtrlOrder);

            nurbs.BSplineP = BSplineP.Restore();

            return(nurbs);
        }
Exemplo n.º 3
0
        public static MpNurbsLine_v1001 Create(NurbsLine src)
        {
            MpNurbsLine_v1001 ret = new MpNurbsLine_v1001();

            ret.CtrlCnt     = src.CtrlCnt;
            ret.CtrlDataCnt = src.CtrlDataCnt;
            ret.Weights     = MpUtil_v1001.ArrayClone <double>(src.Weights);
            ret.CtrlPoints  = MpUtil_v1001.VertexListToMp(src.CtrlPoints);
            ret.CtrlOrder   = MpUtil_v1001.ArrayClone <int>(src.CtrlOrder);

            ret.BSplineP = MpBSplineParam_v1001.Create(src.BSplineP);

            return(ret);
        }
Exemplo n.º 4
0
        public override void GeometricDataFromMp_v1002(MpGeometricData_v1002 geo)
        {
            if (!(geo is MpNurbsLineGeometricData_v1002))
            {
                return;
            }

            MpNurbsLineGeometricData_v1002 g = (MpNurbsLineGeometricData_v1002)geo;

            Nurbs = g.Nurbs.Restore();

            mPointList = Nurbs.CtrlPoints;

            NurbsPointList = new VertexList(Nurbs.OutCnt);
        }