Rhino C++ API
8.14
|
#include <IRhRdkCustomRenderMeshManager.h>
Public Member Functions | |
virtual ON_BoundingBox | BoundingBox (const ON_Viewport &vp, const CRhinoObject *pObject, const CRhinoDoc &doc, const UUID &uuidRequestingPlugIn, const CDisplayPipelineAttributes *pAttributes) const =0 |
virtual bool | BuildCustomMeshes (const ON_Viewport &vp, const UUID &uuidRequestingPlugIn, const CRhinoDoc &doc, IRhRdkCustomRenderMeshes &crmInOut, const CDisplayPipelineAttributes *pAttributes, bool bWillBuildCustomMeshCheck=true) const =0 |
virtual void * | EVF (const wchar_t *, void *) override |
virtual CRhRdkVariant | GetParameter (const CRhinoObject &object, const wchar_t *wszParamName) const =0 |
virtual UUID | InterfaceId (void) const final override |
virtual bool | IsPreviewAndStandardSameMesh (void) const =0 |
virtual bool | IsRequestingPlugInDependent (void) const =0 |
virtual bool | IsViewDependent (void) const =0 |
virtual ON_wString | Name (void) const =0 |
virtual UUID | ProviderId (void) const =0 |
virtual void | SetParameter (const CRhinoObject &object, const wchar_t *wszParamName, const CRhRdkVariant &value)=0 |
virtual bool | WillBuildCustomMesh (const ON_Viewport &vp, const CRhinoObject *pObject, const CRhinoDoc &doc, const UUID &uuidRequestingPlugIn, const CDisplayPipelineAttributes *pAttributes) const =0 |
Public Member Functions inherited from CRhRdkExtension | |
CRhRdkExtension () | |
virtual | ~CRhRdkExtension () |
virtual UUID | PlugInId (void) const =0 |
bool | Unregister (void) |
Public Member Functions inherited from CRhRdkObject | |
CRhRdkObject () | |
virtual | ~CRhRdkObject () |
void | operator delete (void *buf) |
void | operator delete[] (void *buf) |
void * | operator new (size_t size) |
void * | operator new[] (size_t size) |
Additional Inherited Members | |
Static Public Member Functions inherited from CRhRdkObject | |
static void | CheckMemory (void) |
static void | PopulateDebuggingInfo (void) |
This class allows clients to provide custom render meshes for individual objects in the scene, or per document.
This is the way that displacement works (per object) and the custom preview component in Grasshopper (per document) work to supply render meshes that can be accessed by all rendering engines, using IRhRdkCustomRenderMeshManager.
To supply custom render meshes, derive a class from CRhRdkCustomRenderMeshProvider and register it during plug-in startup in CRhRdkPlugIn::RegisterExtensions.
|
pure virtual |
Returns a bounding box for the custom render meshes for the given object.
vp | is the viewport being rendered. |
uuidRequestingPlugIn | is the UUID of the RDK plug-in requesting the meshes. |
pObject | is the Rhino object of interest. |
doc | is the Rhino document of interest. |
pAttributes | is the current display attributes for the view we are drawing. nullptr means this is a rendering, not a viewport. |
|
pure virtual |
Build custom render mesh(es).
vp | is the viewport being rendered. |
doc | is the Rhino document of interest. |
uuidRequestingPlugIn | is the UUID of the RDK plug-in requesting the meshes. |
crmInOut | is the collection to fill with the custom meshes. |
pAttributes | is the current display attributes for the view we are drawing. nullptr means this is a rendering, not a viewport. |
bWillBuildCustomMeshCheck | determines whether this function will call the WillBuildCustomMesh method. |
|
inlineoverridevirtual |
Emergency virtual function for future expansion.
Reimplemented from CRhRdkObject.
|
pure virtual |
Get a parameter by name.
|
finaloverridevirtual |
Returns the unique interface id of this extension.
Implements CRhRdkExtension.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Each provider has a unique identifier.
|
pure virtual |
Set a parameter by name.
|
pure virtual |
Determine if custom render meshes will be built for a particular object.
vp | is the viewport being rendered. |
pObject | is the Rhino object of interest. |
doc | is the Rhino document of interest. |
uuidRequestingPlugIn | is the UUID of the RDK plug-in requesting the meshes. |
pAttributes | is the current display attributes for the view we are drawing. nullptr means this is a rendering, not a viewport. |