# Surfaces

Regular-grid terrain and bathymetry models. A configured `SurfaceModel` is
realized against a boundary by `Sampler(..., surface=...)`, and the returned
`Farm.surface` is a queryable `Terrain` or `Bathymetry` object. See
{doc}`../surfaces/terrain-and-bathymetry` for examples.

```{eval-rst}
.. currentmodule:: oowl.surfaces

.. autosummary::

   Surface
   Terrain
   Bathymetry
   SurfaceModel
   PerlinTerrain
   PerlinBathymetry
   GaussianTerrain
   GaussianBathymetry
```

```{eval-rst}
.. automodule:: oowl.surfaces
   :members:
```
