Rhino C++ API  8.13
Public Member Functions | List of all members
IRhRdkCustomRenderMeshManager Class Referenceabstract

#include <IRhRdkCustomRenderMeshManager.h>

Public Member Functions

virtual ~IRhRdkCustomRenderMeshManager ()
 
virtual bool Add (CRhRdkCustomRenderMeshProvider *pProvider)=0
 
virtual ON_BoundingBox BoundingBox (const ON_Viewport &vp, const CRhinoObject *pObject, const CRhinoDoc &doc, const UUID &uuidRequestingPlugIn, const CDisplayPipelineAttributes *pAttributes, const UUID *pUuidRMP=NULL) const =0
 
virtual bool BuildCustomMeshes (const ON_Viewport &vp, const UUID &uuidRequestingPlugIn, const CRhinoDoc &doc, IRhRdkCustomRenderMeshes &crmInOut, const CDisplayPipelineAttributes *pAttributes, const UUID *pUuidRMP=NULL) const =0
 
virtual bool CacheEnabled (void) const =0
 
virtual void * EVF (const wchar_t *, void *)=0
 
virtual bool ForceObjectIntoPreviewCache (const CRhinoObject &obj, const CRhinoDoc &doc)=0
 
virtual bool IsProviderOn (const UUID &uuidProvider) const =0
 
virtual void OnRhinoDocumentChanged (const CRhinoDoc &doc)=0
 
virtual void OnRhinoObjectChanged (const CRhinoDoc &doc, const CRhinoObject *obj)=0
 
virtual IRhRdkCustomRenderMeshesPreviousMeshes (const IRhRdkCustomRenderMeshes &crm) const =0
 
virtual CRhRdkCustomRenderMeshProviderProvider (const UUID &uuidProvider) const =0
 
virtual void SetEnableCache (bool)=0
 
virtual void SetUserCanceled (bool)=0
 
virtual bool UserCanceled (void) const =0
 
virtual bool WillBuildCustomMesh (const ON_Viewport &vp, const CRhinoObject *pObject, const CRhinoDoc &doc, const UUID &uuidRequestingPlugIn, const CDisplayPipelineAttributes *pAttributes, const UUID *pUuidRMP=NULL) const =0
 

Detailed Description

This is the interface to RDK's custom render mesh manager. Use these functions if you are a renderer developer who wants to access the custom render meshes provided by CRhRdkCustomRenderMeshProvider. Note that this will include the built-in displacement edge softening, thickening, shut-lining and curve piping tools.

Constructor & Destructor Documentation

◆ ~IRhRdkCustomRenderMeshManager()

virtual IRhRdkCustomRenderMeshManager::~IRhRdkCustomRenderMeshManager ( )
inlinevirtual

Member Function Documentation

◆ Add()

virtual bool IRhRdkCustomRenderMeshManager::Add ( CRhRdkCustomRenderMeshProvider pProvider)
pure virtual

Register your custom render mesh provider with RDK.

Note
Ownership of the object is passed to RDK.

◆ BoundingBox()

virtual ON_BoundingBox IRhRdkCustomRenderMeshManager::BoundingBox ( const ON_Viewport vp,
const CRhinoObject pObject,
const CRhinoDoc doc,
const UUID &  uuidRequestingPlugIn,
const CDisplayPipelineAttributes pAttributes,
const UUID *  pUuidRMP = NULL 
) const
pure virtual

Returns a bounding box for the custom render meshes for the given object.

Parameters
vpis the viewport being rendered.
uuidRequestingPlugInis the UUID of the RDK plug-in requesting the meshes.
pObjectis the Rhino object of interest.
docis the Rhino document this mesh will be used in.
pAttributesis the current display attributes for the view we are drawing. nullptr means this is a rendering, not a viewport.
pUuidRMPis a pointer to the UUID of the sole provider to call. Pass NULL for all providers.
Returns
ON_BoundingBox for the meshes.

◆ BuildCustomMeshes()

virtual bool IRhRdkCustomRenderMeshManager::BuildCustomMeshes ( const ON_Viewport vp,
const UUID &  uuidRequestingPlugIn,
const CRhinoDoc doc,
IRhRdkCustomRenderMeshes crmInOut,
const CDisplayPipelineAttributes pAttributes,
const UUID *  pUuidRMP = NULL 
) const
pure virtual

Build custom render mesh(es) for the given object.

Parameters
vpis the viewport being rendered.
uuidRequestingPlugInis the UUID of the RDK plug-in requesting the meshes.
crmInOutis the collection to fill with the custom meshes.
docis the Rhino document this mesh will be used in.
pAttributesis the current display attributes for the view we are drawing. nullptr means this is a rendering, not a viewport.
pUuidRMPis a pointer to the UUID of the sole provider to call. Pass NULL for all providers.
Returns
true if successful, else false.

◆ CacheEnabled()

virtual bool IRhRdkCustomRenderMeshManager::CacheEnabled ( void  ) const
pure virtual

◆ EVF()

virtual void* IRhRdkCustomRenderMeshManager::EVF ( const wchar_t *  ,
void *   
)
pure virtual

Emergency virtual function for future expansion.

◆ ForceObjectIntoPreviewCache()

virtual bool IRhRdkCustomRenderMeshManager::ForceObjectIntoPreviewCache ( const CRhinoObject obj,
const CRhinoDoc doc 
)
pure virtual

◆ IsProviderOn()

virtual bool IRhRdkCustomRenderMeshManager::IsProviderOn ( const UUID &  uuidProvider) const
pure virtual

Ask if a custom render mesh provider is on.

Parameters
uuidProvideridentifies the provider to check.
Returns
true if the specified provider is on, false if not on or not found.

◆ OnRhinoDocumentChanged()

virtual void IRhRdkCustomRenderMeshManager::OnRhinoDocumentChanged ( const CRhinoDoc doc)
pure virtual

◆ OnRhinoObjectChanged()

virtual void IRhRdkCustomRenderMeshManager::OnRhinoObjectChanged ( const CRhinoDoc doc,
const CRhinoObject obj 
)
pure virtual

◆ PreviousMeshes()

virtual IRhRdkCustomRenderMeshes* IRhRdkCustomRenderMeshManager::PreviousMeshes ( const IRhRdkCustomRenderMeshes crm) const
pure virtual

◆ Provider()

virtual CRhRdkCustomRenderMeshProvider* IRhRdkCustomRenderMeshManager::Provider ( const UUID &  uuidProvider) const
pure virtual

Get an interface to a custom render mesh provider.

Parameters
uuidProvideridentifies the provider required.
Returns
A pointer to the interface of the specified provider, or NULL if not found.

◆ SetEnableCache()

virtual void IRhRdkCustomRenderMeshManager::SetEnableCache ( bool  )
pure virtual

◆ SetUserCanceled()

virtual void IRhRdkCustomRenderMeshManager::SetUserCanceled ( bool  )
pure virtual

◆ UserCanceled()

virtual bool IRhRdkCustomRenderMeshManager::UserCanceled ( void  ) const
pure virtual

◆ WillBuildCustomMesh()

virtual bool IRhRdkCustomRenderMeshManager::WillBuildCustomMesh ( const ON_Viewport vp,
const CRhinoObject pObject,
const CRhinoDoc doc,
const UUID &  uuidRequestingPlugIn,
const CDisplayPipelineAttributes pAttributes,
const UUID *  pUuidRMP = NULL 
) const
pure virtual

Determine if custom render meshes will be built for a particular object.

Parameters
vpis the viewport being rendered.
pObjectis the Rhino object of interest.
docis the Rhino document this mesh will be used in.
uuidRequestingPlugInis the UUID of the RDK plug-in requesting the meshes.
pAttributesis the current display attributes for the view we are drawing. nullptr means this is a rendering, not a viewport.
pUuidRMPis a pointer to the UUID of the sole provider to call. Pass NULL for all providers.
Returns
true if BuildCustomMeshes() will build custom render mesh(es) for the given object.