RenderMeshProvider
A RenderMeshProvider delivers custom render primitives (in the form of RenderMeshes). Derive a public class from this with a public constructor, and this primitive provider will be added to the RDK forming a collection of providers. Each RenderMeshProvider::HasCustomRenderMeshes will be called and if it returns true, a call to RenderMeshes will be made. It is up to the provider to cache its own primitives - the IRenderMeshes::ProviderTracking class is provided for that. A provider may optionally return a collection of non-object Ids that it will provide custom render primitives for. An example of this is Grasshopper, which which will typically return a collection of the Ids of each CustomPreview component. Override this class if you are a plug-in developer intending to supply a custom set of primitives for a given object, or objectId. Examples of IRenderMeshProviders are CurvePiping, EdgeSoftening, Displacement, Shutlining, Grasshopper’s CustomPreview component.
Inheritance Hierarchy
System.Object
Rhino.Render.CustomRenderMeshes.RenderMeshProvider
Namespace: Rhino.Render.CustomRenderMeshes
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
public abstract class RenderMeshProvider : IDisposable
The RenderMeshProvider type exposes the following members.
Constructors
Name
Description
Protected Method
RenderMeshProvider
Initializes a new instance of the RenderMeshProvider class
Properties
Name
Description
Public Property
Name
The localized name of the provider for UI display.
Public Property
NonObjectIds
A provider may optionally return a collection of non-object Ids that it will provide custom render primitives for. An example of this is Grasshopper, which which will typically return a collection of the Ids of each CustomPreview component.
Public Property
ProviderId
The localized name of the provider for UI display.
Methods
Name
Description
Public Method
Dispose.
Dispose method
Protected Method
Dispose(Boolean)
Dispose method. Note that you should only ever call Dispose if you explicitly registered this RenderMeshProvider using RegisterProvider If this provider was created using automatic registration, the Dispose function will thrown an exception.
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected Method
Finalize
Finalizer to ensure correctly implemented dispose pattern.
(Overrides Object.Finalize..)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetParameter
Runtime access to specific parameters on for a given objectId relating to this primitive provider.
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
HasCustomRenderMeshes
Determine if custom render primitives will be supplied for a particular object.
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public Method
Progress
Provides details on the progress of custom render meshes for a document or collection of objects
Public Method
Static Member
ProgressForAll
Returns a complete list of progress reports for all providers for either the document or a collection of objects
Public Method
Static Member
RegisterProvider
Register RenderMeshProvider without relying on the auto-plug-in registration.
Public Method
Static Member
RegisterProviders(PlugIn)
Register RenderMeshProviders without relying on the auto-plug-in registration
Public Method
Static Member
RegisterProviders(Assembly, PlugIn)
Register RenderMeshProviders without relying on the auto-plug-in registration
Public Method
RenderMeshes
Returns a complete set of custom render primitives for a given ObjectId.
Public Method
SetParameter
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Fields
Name
Description
Protected field
m_disposedm_disposed available for sub-classes to check.