public ISurface <T> Clone() { var surface = Surface2DBuilder <T> .Build(_boundingBox, _meshSize); foreach (T pt in _values) { surface.SetValue(pt, pt.Position); } return(surface); }
//static public ISurface<T> Build(Type surfaceType,List<T>points, BoundingBox boundingBox,double meshSize) //{ // if(surfaceType == typeof(Octree<T>)) // { // return OctreeBuilder<T>.Build(points, boundingBox, meshSize); // } // //else // //{ // // return Surface2DBuilder<T>.Build( boundingBox, meshSize); // //} //} static public Surface2D <T> Build2D(BoundingBox boundingBox, double meshSize) { return(Surface2DBuilder <T> .Build(boundingBox, meshSize)); }