3ds Max C++ API Reference
IInteractiveRenderingManager Class Referenceabstract

IInteractiveRenderingManager class is the entry point of the Interactive Rendering API, you can create or remove a Interactive Rendering Client Interactive rendering API is a middle API that makes the link between the low level NotificationAPI and the customer. More...

#include <InteractiveRenderingAPI_Subscription.h>

Public Member Functions

virtual ~IInteractiveRenderingManager ()
 Destructor. More...
 
virtual IImmediateInteractiveRenderingClientRegisterNewImmediateClient (IImmediateNotificationClient *notificationClient, int version=-1)=0
 Use this function to create an immediate client and get notified as soon as a change happens We use the Immediate Notification client you pass as a parameter. More...
 
virtual IOnDemandInteractiveRenderingClientRegisterNewOnDemandClient (int version=-1)=0
 Use this function to create an on demand client and ask for the changes when you need to update We are using an ImmediateNotification client to get notifications from NotificationAPI and we sort and store the events until you ask for them. More...
 
virtual bool RemoveClient (IInteractiveRenderingClient *client)=0
 RemoveClient function, to stop monitoring. More...
 
virtual size_t NumClients () const =0
 NumClients function. More...
 
virtual const IInteractiveRenderingClientGetClient (size_t index) const =0
 GetClient function. More...
 
virtual void DebugPrintToFile (FILE *file) const =0
 DebugPrintToFile function. More...
 

Static Public Member Functions

static NotificationAPIExport IInteractiveRenderingManagerGetManager ()
 GetManager static function. More...
 

Detailed Description

IInteractiveRenderingManager class is the entry point of the Interactive Rendering API, you can create or remove a Interactive Rendering Client Interactive rendering API is a middle API that makes the link between the low level NotificationAPI and the customer.

It takes care of the lock/unlock workflow for active shade viewports It is dedicated for interactive rendering.If the user switches to another viewport, the new viewport is automatically monitored, you don't have to deal with all this.

Constructor & Destructor Documentation

◆ ~IInteractiveRenderingManager()

virtual ~IInteractiveRenderingManager ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ GetManager()

static NotificationAPIExport IInteractiveRenderingManager* GetManager ( )
static

GetManager static function.

Returns
a pointer on IInteractiveRenderingManager

◆ RegisterNewImmediateClient()

virtual IImmediateInteractiveRenderingClient* RegisterNewImmediateClient ( IImmediateNotificationClient notificationClient,
int  version = -1 
)
pure virtual

Use this function to create an immediate client and get notified as soon as a change happens We use the Immediate Notification client you pass as a parameter.

Parameters
notificationClient: a Notification client used to get notifications
version: may pass the version of Interactive Rendering client you want to use, -1 = latest.
Returns
a pointer on IImmediateInteractiveRenderingClient <

◆ RegisterNewOnDemandClient()

virtual IOnDemandInteractiveRenderingClient* RegisterNewOnDemandClient ( int  version = -1)
pure virtual

Use this function to create an on demand client and ask for the changes when you need to update We are using an ImmediateNotification client to get notifications from NotificationAPI and we sort and store the events until you ask for them.

Parameters
version: may pass the version of Interactive Rendering client you want to use, -1 = latest.
Returns
a pointer on IOnDemandInteractiveRenderingClient <

◆ RemoveClient()

virtual bool RemoveClient ( IInteractiveRenderingClient client)
pure virtual

RemoveClient function, to stop monitoring.

Cleaning is done by the manager which means your client gets deleted by the manager.

Parameters
client: the Interactive Rendering client you want to unregister.
Returns
true if succeeded, false if the client was not found <

◆ NumClients()

virtual size_t NumClients ( ) const
pure virtual

NumClients function.

Returns
the number of Interactive Rendering clients connected <

◆ GetClient()

virtual const IInteractiveRenderingClient* GetClient ( size_t  index) const
pure virtual

GetClient function.

Parameters
index: the index of the Interactive Rendering clients to retrieve
Returns
a pointer on a IInteractiveRenderingClient or NULL if index is out of range <

◆ DebugPrintToFile()

virtual void DebugPrintToFile ( FILE *  file) const
pure virtual

DebugPrintToFile function.

Parameters
file: a valid FILE pointer to print debug information to <