3ds Max C++ API Reference
IOnDemandNotificationClient Class Referenceabstract

Is a notification client where you get the notifications on demand, they are stored until you ask for them. More...

#include <NotificationAPI_Subscription.h>

+ Inheritance diagram for IOnDemandNotificationClient:

Public Member Functions

virtual ~IOnDemandNotificationClient ()
 
virtual size_t NumberOfQueuedEvents ()=0
 Destructor. More...
 
virtual void ProcessEvents (INotificationCallback &notificationCallback)=0
 This function processes all events currently waiting in the queue. More...
 
virtual bool MonitorNode (INode &node, NotifierType type, size_t monitoredEvents, void *userData)=0
 Monitor this node events. More...
 
virtual bool MonitorMaterial (Mtl &mtl, size_t monitoredEvents, void *userData)=0
 Monitor this material events. More...
 
virtual bool MonitorTexmap (Texmap &texmap, size_t monitoredEvents, void *userData)=0
 Monitor this Texmap events. More...
 
virtual bool MonitorReferenceTarget (ReferenceTarget &refTarg, size_t monitoredEvents, void *userData)=0
 Monitor events on a generic reference target. More...
 
virtual bool MonitorViewport (int viewID, size_t monitoredEvents, void *userData)=0
 Monitor viewport events such as transform matrix changes (when you move the camera viewport while it's a viewport and not a Max camera) More...
 
virtual bool MonitorRenderEnvironment (size_t monitoredEvents, void *userData)=0
 Monitor render environment events (Tone operator for example) More...
 
virtual bool MonitorRenderSettings (size_t monitoredEvents, void *userData)=0
 Monitor render environment events (Tone operator for example) More...
 
virtual bool MonitorScene (size_t monitoredEvents, void *userData)=0
 Monitor scene events such as node added, file reset, file load, File import etc. More...
 
virtual bool StopMonitoringNode (INode &pNode, size_t monitoredEvents, void *userData)=0
 Stop monitoring this node. More...
 
virtual bool StopMonitoringMaterial (Mtl &pMtl, size_t monitoredEvents, void *userData)=0
 Stop monitoring this material. More...
 
virtual bool StopMonitoringTexmap (Texmap &pTexmap, size_t monitoredEvents, void *userData)=0
 Stop monitoring this texmap. More...
 
virtual bool StopMonitoringReferenceTarget (ReferenceTarget &refTarg, size_t monitoredEvents, void *userData)=0
 Stop monitoring a reference target Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringViewport (int viewID, size_t monitoredEvents, void *userData)=0
 Stop monitoring this viewport. More...
 
virtual bool StopMonitoringRenderEnvironment (size_t monitoredEvents, void *userData)=0
 Stop monitoring render environment. More...
 
virtual bool StopMonitoringRenderSettings (size_t monitoredEvents, void *userData)=0
 Stop monitoring render settings. More...
 
virtual bool StopMonitoringScene (size_t monitoredEvents, void *userData)=0
 Stop monitoring scene. More...
 
- Public Member Functions inherited from INotificationClient
virtual ~INotificationClient ()
 
virtual int VersionNumber () const =0
 Destructor. More...
 
virtual void EnableNotifications (bool enable)=0
 Enable notifications. More...
 
virtual bool NotificationsEnabled (void) const =0
 Check if notifications are enabled or disabled. More...
 
virtual void DebugPrintToFile (FILE *theFile) const =0
 Print what's monitored inside the client (debugging purpose) More...
 

Detailed Description

Is a notification client where you get the notifications on demand, they are stored until you ask for them.

Constructor & Destructor Documentation

◆ ~IOnDemandNotificationClient()

virtual ~IOnDemandNotificationClient ( )
inlinevirtual
314 {};

Member Function Documentation

◆ NumberOfQueuedEvents()

virtual size_t NumberOfQueuedEvents ( )
pure virtual

Destructor.

Returns the number of events currently waiting to be processed.

◆ ProcessEvents()

virtual void ProcessEvents ( INotificationCallback notificationCallback)
pure virtual

This function processes all events currently waiting in the queue.

The queue is emptied in the process.

Parameters
notificationCallbackThe callback through which the events are processed, one by one.

◆ MonitorNode()

virtual bool MonitorNode ( INode node,
NotifierType  type,
size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor this node events.

Parameters
nodethe INode* to monitor.
typethe NotifierType for this node.
monitoredEvents: bit array flags, the events you want to monitor for that node, you'll get called only called for the selected events. Example for 2 events is : UpdateType_Node_WireColor | UpdateType_Node_Transform;
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if the node is now monitored, false there was a problem

◆ MonitorMaterial()

virtual bool MonitorMaterial ( Mtl mtl,
size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor this material events.

Parameters
mtlthe Mtl* to monitor.
monitoredEvents: bit array that is the events flags you want to monitor for that material, you'll get called only for the selected events
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if the material is now monitored, false if a problem occurred

◆ MonitorTexmap()

virtual bool MonitorTexmap ( Texmap texmap,
size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor this Texmap events.

Parameters
texmapthe Texmap to monitor.
monitoredEventsbit array : the events flags you want to monitor for that texmap, you'll get called only for the selected events
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if the texmap is now monitored, false if a problem occurred

◆ MonitorReferenceTarget()

virtual bool MonitorReferenceTarget ( ReferenceTarget refTarg,
size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor events on a generic reference target.

This is used to monitor notifications an an arbitrary ReferenceTarget class for which there doesn't exist a more specialized monitoring function (as there are for INode, Mtl, Texmap, etc.).

Parameters
refTargThe reference target to be monitored.
monitoredEvents: bit array (see enum ReferenceTargetEventType) that is the events flags you want to monitor for that material, you'll get called only for the selected events
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if the reference target is now monitored, false if a problem occurred

◆ MonitorViewport()

virtual bool MonitorViewport ( int  viewID,
size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor viewport events such as transform matrix changes (when you move the camera viewport while it's a viewport and not a Max camera)

Parameters
viewIDthe viewport ID to monitor.
monitoredEventsbit array : the events flags you want to monitor for this viewport, you'll get called only for the selected events
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if the view is now monitored, false if a problem occurred

◆ MonitorRenderEnvironment()

virtual bool MonitorRenderEnvironment ( size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor render environment events (Tone operator for example)

Parameters
monitoredEventsbit array : the events flags you want to monitor for render environment, you'll get called only for the selected events
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if we monitor these events now, false if there was a problem

◆ MonitorRenderSettings()

virtual bool MonitorRenderSettings ( size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor render environment events (Tone operator for example)

Parameters
monitoredEventsbit array : the events flags you want to monitor for render settings, you'll get called only for the selected events
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if we monitor these events now, false if there was a problem

◆ MonitorScene()

virtual bool MonitorScene ( size_t  monitoredEvents,
void userData 
)
pure virtual

Monitor scene events such as node added, file reset, file load, File import etc.

Parameters
monitoredEventsbit array : the events flags you want to monitor for the scene, you'll get called only for the selected events
userDataan arbitrary pointer which is passed back, with the event, through INotificationCallback.
Returns
true if we monitor these scene events now, false if there was a problem

◆ StopMonitoringNode()

virtual bool StopMonitoringNode ( INode pNode,
size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring this node.

Parameters
pNodethe INode* to stop monitoring for events.
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if the node is not monitored now, false if the node was not in our arrays

◆ StopMonitoringMaterial()

virtual bool StopMonitoringMaterial ( Mtl pMtl,
size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring this material.

Parameters
pMtlthe Mtl* to stop monitoring.
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if the material is not monitored now, false if the material was not in our arrays

◆ StopMonitoringTexmap()

virtual bool StopMonitoringTexmap ( Texmap pTexmap,
size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring this texmap.

Parameters
pTexmapthe Texmap* to stop monitoring.
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if the Texmap is not monitored now, false if the Texmap was not in our arrays

◆ StopMonitoringReferenceTarget()

virtual bool StopMonitoringReferenceTarget ( ReferenceTarget refTarg,
size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring a reference target Unregisters a previously registered notification callback.

Parameters
refTargThe reference target to stop monitoring.
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if the reference target is not monitored now, false if the Texmap was not in our arrays

◆ StopMonitoringViewport()

virtual bool StopMonitoringViewport ( int  viewID,
size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring this viewport.

Parameters
viewIDthe viewID of the viewport to stop monitoring.
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if the view is not monitored now, false if the pView was not in our arrays

◆ StopMonitoringRenderEnvironment()

virtual bool StopMonitoringRenderEnvironment ( size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring render environment.

Parameters
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if it is not monitored now, false if it was not monitored

◆ StopMonitoringRenderSettings()

virtual bool StopMonitoringRenderSettings ( size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring render settings.

Parameters
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if it is not monitored now, false if it was not monitored

◆ StopMonitoringScene()

virtual bool StopMonitoringScene ( size_t  monitoredEvents,
void userData 
)
pure virtual

Stop monitoring scene.

Parameters
monitoredEvents: bit array flags, the events you want to stop monitoring, if you remove all the events we had recorded, we'll delete our internal data
userDatathe user data passed to the Monitor method.
Returns
true if these scene events are no longer monitored now, false if there was a problem