# Grasshopper2.Geometry.Surface namespace

Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

## Classes

- [Bert](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.surface.bert.md): Fits a bicubic NURBS surface to an open mesh with a single boundary loop. The mesh is first flattened onto the unit square with a Tutte or mean value Laplacian, then the surface is found as the Riesz representative of the L2 pairing with the flattened mesh in the tensor-product B-spline basis, with the four corner control points pinned to the snapped corner vertices. Thin wrapper over RhBertFitSurface in cmdMathias.cpp (namespace Bert), reached through rhcommon_c; all linear algebra runs natively.
- [Joining](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.surface.joining.md)
- [Offsetting](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.surface.offsetting.md)
- [Untrimming](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.surface.untrimming.md)

## Enums

- [SurfaceOffsetStyle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.surface.surfaceoffsetstyle.md)
