public override void partition(List <Hare.Geometry.Point> P, int SP_PARAM)
            {
                Partitioned = true;
                for (int i = 0; i < Topo.Length; i++)
                {
                    Topo[i].Finish_Topology(P);
                }

                int spspec = Pach_Properties.Instance.SP_Spec();

                if (spspec == 0)
                {
                    SP = new Hare.Geometry.Voxel_Grid(Topo, SP_PARAM, 3);
                }
                else if (spspec == 1)
                {
                    //TODO: implement an Octree...
                    throw new NotImplementedException();
                }
            }
            public override void partition(List<Hare.Geometry.Point> P, int SP_PARAM)
            {
                Partitioned = true;
                for (int i = 0; i < Topo.Length; i++)
                {
                    Topo[i].Finish_Topology(P);
                }

                UI.PachydermAc_PlugIn plugin = UI.PachydermAc_PlugIn.Instance;
                if (plugin.SP_Spec() == 0)
                {
                    SP = new Hare.Geometry.Voxel_Grid(Topo, SP_PARAM, 3);
                }
                else if (plugin.SP_Spec() == 1)
                {
                    //TODO: implement an Octree...
                    throw new NotImplementedException();
                }
            }