# CustomRenderMeshProvider class

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

```cs
public abstract class CustomRenderMeshProvider
```

> **Obsolete:** Do not use in new code.

You must call CustomRenderMeshProvider.RegisterProviders() from your plug-ins OnLoad override for each assembly containing a custom mesh provider. Only publicly exported classes derived from CustomRenderMeshProvider with a public constructor that has no parameters will get registered.

**Derived types:** [CustomRenderMeshProvider2](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider2.md)

## Constructors

- [CustomRenderMeshProvider](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/ctor.md): Default constructor

## Properties

- [CurvePipingId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/curvepipingid.md): (static)
- [DisplacementId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/displacementid.md): (static)
- [EdgeSofteningId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/edgesofteningid.md): (static)
- [Name](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/name.md): The name of the provider for UI display.
- [ShutLiningId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/shutliningid.md): (static)
- [ThickeningId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/thickeningid.md): (static)

## Methods

- [AllObjectsChanged](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/allobjectschanged.md): (2 overloads, static) Call this method if your render meshes change.
- [BoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/boundingbox.md): (2 overloads) Returns a bounding box for the custom render meshes for the given object.
- [BuildCustomMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/buildcustommeshes.md): Build custom render mesh(es).
- [DocumentBasedMeshesChanged](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/documentbasedmesheschanged.md): (static)
- [ObjectChanged](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/objectchanged.md): (static)
- [RegisterProviders](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/registerproviders.md): (static) Call this method once from your plug-ins OnLoad override for each assembly containing a custom mesh provider. Only publicly exported classes derived from CustomRenderMeshProvider with a public constructor that has no parameters will get registered.
- [WillBuildCustomMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshprovider/willbuildcustommeshes.md): Determines if custom render meshes will be built for a particular object.
