3ds Max C++ API Reference
INotificationManager Class Referenceabstract

INotificationManager class is the entry point of the Notification API, you can create or remove a Notification Client. More...

#include <NotificationAPI_Subscription.h>

Public Member Functions

virtual ~INotificationManager ()
 Destructor. More...
 
virtual IImmediateNotificationClientRegisterNewImmediateClient (int version=-1)=0
 Use this function to create a client which is the way to monitor notifications on nodes, materials, texmaps etc. More...
 
virtual IOnDemandNotificationClientRegisterNewOnDemandClient (int version=-1)=0
 Use this function to create a client which is the way to monitor notifications on nodes, materials, texmaps etc with on demand mode changes. More...
 
virtual bool RemoveClient (INotificationClient *client)=0
 RemoveClient function, to stop monitoring. More...
 
virtual size_t NumClients () const =0
 NumNotificationClients function. More...
 
virtual const INotificationClientGetClient (size_t index) const =0
 GetNotificationClient function. More...
 
virtual void DebugPrintToFile (FILE *file) const =0
 DebugPrintToFile function. More...
 
virtual void NotifyRenderSettingsEvent (const RenderSettingsEventType eventType) const =0
 Notifies the system of a render settings event. More...
 
virtual void NotifyEnvironmentEvent (const RenderEnvironmentEventType eventType) const =0
 Notifies the system of a render environment event. More...
 

Static Public Member Functions

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

Detailed Description

INotificationManager class is the entry point of the Notification API, you can create or remove a Notification Client.

Constructor & Destructor Documentation

◆ ~INotificationManager()

virtual ~INotificationManager ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ GetManager()

static NotificationAPIExport INotificationManager* GetManager ( )
static

GetManager static function.

Returns
a pointer on INotificationManager

◆ RegisterNewImmediateClient()

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

Use this function to create a client which is the way to monitor notifications on nodes, materials, texmaps etc.

and get notified immediately as soon as a change happens

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

◆ RegisterNewOnDemandClient()

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

Use this function to create a client which is the way to monitor notifications on nodes, materials, texmaps etc with on demand mode changes.

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

◆ RemoveClient()

virtual bool RemoveClient ( INotificationClient client)
pure virtual

RemoveClient function, to stop monitoring.

Cleaning is done by the manager.

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

◆ NumClients()

virtual size_t NumClients ( ) const
pure virtual

NumNotificationClients function.

Returns
the number of notification clients connected <

◆ GetClient()

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

GetNotificationClient function.

Parameters
index: the index of the Notification clients to retrieve
Returns
a pointer on a INotificationClient 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 : all the notifiers, listeners and what they monitor <

◆ NotifyRenderSettingsEvent()

virtual void NotifyRenderSettingsEvent ( const RenderSettingsEventType  eventType) const
pure virtual

Notifies the system of a render settings event.

This method is used internally by the the application to broadcast a change in the scene's render settings. The notification system relies on this method to catch such events because there are no other, pre-existing methods (such as through BroadcastNotification()) for broadcasting such events.

Parameters
eventTypeThe type of event to be broadcast.

◆ NotifyEnvironmentEvent()

virtual void NotifyEnvironmentEvent ( const RenderEnvironmentEventType  eventType) const
pure virtual

Notifies the system of a render environment event.

This method is used internally by the the application to broadcast a change in the scene's render environment. The notification system relies on this method to catch such events because there are no other, pre-existing methods (such as through BroadcastNotification()) for broadcasting such events.

Parameters
eventTypeThe type of event to be broadcast.