Rhino C++ API  8.7
Public Member Functions | List of all members
CRhRdkExtension Class Referenceabstract

#include <RhRdkExtension.h>

Inheritance diagram for CRhRdkExtension:
CRhRdkObject CRhRdkCompoundContentImplementor CRhRdkContent::CCustomUserDataFactory CRhRdkContentEditorCustomButtonProvider CRhRdkContentFactory CRhRdkContentIOPlugIn CRhRdkCustomRenderFrameMenu CRhRdkCustomRenderFrameToolBar CRhRdkCustomRenderMeshProvider CRhRdkLightManagerSupport CRhRdkPostEffectFactory CRhRdkPostEffectPlugInFactory CRhRdkRenderFrameTabFactory CRhRdkRenderWindowCustomDlg CRhRdkRenderWindowEventSink CRhRdkRenderWindowMainSidePaneTabFactory CRhRdkRenderWindowMouseEventWatcher CRhRdkTask

Public Member Functions

 CRhRdkExtension ()
 
virtual ~CRhRdkExtension ()
 
virtual UUID InterfaceId (void) const =0
 
virtual UUID PlugInId (void) const =0
 
bool Unregister (void)
 
- Public Member Functions inherited from CRhRdkObject
 CRhRdkObject ()
 
virtual ~CRhRdkObject ()
 
virtual void * EVF (const wchar_t *wszFunc, void *pvData)
 
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)
 

Detailed Description

This is the base class for RDK extensions whose interface is defined by a UUID. Some RDK extensions have interface files which are supplied with the RDK SDK (e.g., content factories) and some do not. The latter case is generally reserved for features which are added to the RDK after the initial SDK release and allows us to add extensions without breaking the SDK.

See also
CRhRdkPlugIn::RegisterExtensions()
CRhRdkPlugIn::AddExtension()
RhRdkAddExtension()

Constructor & Destructor Documentation

◆ CRhRdkExtension()

CRhRdkExtension::CRhRdkExtension ( )

◆ ~CRhRdkExtension()

virtual CRhRdkExtension::~CRhRdkExtension ( )
virtual

Member Function Documentation

◆ InterfaceId()

virtual UUID CRhRdkExtension::InterfaceId ( void  ) const
pure virtual

◆ PlugInId()

virtual UUID CRhRdkExtension::PlugInId ( void  ) const
pure virtual

This must return the UUID of the host's CRhinoPlugIn class. This is critical because it is used to determine if an extension should be deleted when its host plug-in is removed.

Implemented in CRhRdkContentFactory.

◆ Unregister()

bool CRhRdkExtension::Unregister ( void  )

Unregister this extension. If successful, this deletes this extension and returns true.

Returns
true if successful, else false.