# BezierSurface class

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public class BezierSurface : IDisposable
```

Represents a Bezier surface.

## Finalizer

- [~BezierSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/finalize.md): Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().

## Properties

- [Dimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/dimension.md): Dimension of Bezier
- [IsRational](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/isrational.md): Gets a value indicating whether or not the surface is rational. Rational surfaces have control-points with custom weights.
- [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/isvalid.md): Tests an object to see if it is valid.

## Methods

- [ControlVertexCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/controlvertexcount.md): Number of control vertices in this surface
- [CreateLoftedBezier](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/createloftedbezier.md): (static) Loft a bezier surface through a list of bezier curves.
- [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/dispose.md): (2 overloads) Actively reclaims unmanaged resources that this instance uses.
- [Domain](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/domain.md): Gets the domain in a direction.
- [GetBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/getboundingbox.md): Bounding box solver. Gets the world axis aligned bounding box for the surface.
- [GetControlVertex2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/getcontrolvertex2d.md): Get location of a control vertex.
- [GetControlVertex3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/getcontrolvertex3d.md): Get location of a control vertex.
- [GetControlVertex4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/getcontrolvertex4d.md): Get location of a control vertex.
- [MakeNonRational](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/makenonrational.md): Make bezier non-rational
- [MakeRational](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/makerational.md): Make bezier rational
- [PointAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/pointat.md): Evaluates point at a surface parameter.
- [Reverse](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/reverse.md): Reverses parameterization Domain changes from [a,b] to [-b,-a]
- [Split](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/split.md): Divides the Bezier surface at the specified parameter.
- [ToNurbsSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/tonurbssurface.md): Constructs a NURBS surface representation of this surface.
- [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/transform.md): Transforms the surface
- [Transpose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziersurface/transpose.md): Transposes surface parameterization (swap U and V)
