3ds Max C++ API Reference
IImmediateNotificationClient Class Referenceabstract

Immediate client is to get notifications as soon as they happen (by opposite to OnDemand client) More...

#include <NotificationAPI_Subscription.h>

+ Inheritance diagram for IImmediateNotificationClient:

Public Member Functions

virtual ~IImmediateNotificationClient ()
 
virtual bool MonitorNode (INode &node, NotifierType type, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Destructor. More...
 
virtual bool MonitorMaterial (Mtl &mtl, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Monitor this material events. More...
 
virtual bool MonitorTexmap (Texmap &texmap, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Monitor this Texmap events. More...
 
virtual bool MonitorReferenceTarget (ReferenceTarget &refTarg, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Monitor events on a generic reference target. More...
 
virtual bool MonitorViewport (int viewID, size_t monitoredEvents, INotificationCallback &callback, 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, INotificationCallback &callback, void *userData)=0
 Monitor render environment events (Tone operator for example) More...
 
virtual bool MonitorRenderSettings (size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Monitor render settings events (lock/unlock view for example) More...
 
virtual bool MonitorScene (size_t monitoredEvents, INotificationCallback &callback, 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, INotificationCallback &callback, void *userData)=0
 Stop monitoring this node Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringMaterial (Mtl &pMtl, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Stop monitoring this material Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringTexmap (Texmap &pTexmap, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Stop monitoring this texmap Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringReferenceTarget (ReferenceTarget &refTarg, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Stop monitoring a reference target Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringViewport (int viewID, size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Stop monitoring this viewport Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringRenderEnvironment (size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Stop monitoring render environment Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringRenderSettings (size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Stop monitoring render settings Unregisters a previously registered notification callback. More...
 
virtual bool StopMonitoringScene (size_t monitoredEvents, INotificationCallback &callback, void *userData)=0
 Stop monitoring scene Unregisters a previously registered notification callback. 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

Immediate client is to get notifications as soon as they happen (by opposite to OnDemand client)

Constructor & Destructor Documentation

◆ ~IImmediateNotificationClient()

virtual ~IImmediateNotificationClient ( )
inlinevirtual
158 {};

Member Function Documentation

◆ MonitorNode()

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

Destructor.

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;
callbackthe interface used to notify of new events.
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,
INotificationCallback callback,
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
callbackthe interface used to notify of new 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,
INotificationCallback callback,
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
callbackthe interface used to notify of new 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,
INotificationCallback callback,
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
callbackthe interface used to notify of new 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,
INotificationCallback callback,
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
callbackthe interface used to notify of new 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,
INotificationCallback callback,
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
callbackthe interface used to notify of new 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,
INotificationCallback callback,
void userData 
)
pure virtual

Monitor render settings events (lock/unlock view for example)

Parameters
monitoredEventsbit array : the events flags you want to monitor for render settings, you'll get called only for the selected events
callbackthe interface used to notify of new 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,
INotificationCallback callback,
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
callbackthe interface used to notify of new 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,
INotificationCallback callback,
void userData 
)
pure virtual

Stop monitoring this node Unregisters a previously registered notification callback.

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
callbackthe notification callback passed to the Monitor method.
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,
INotificationCallback callback,
void userData 
)
pure virtual

Stop monitoring this material Unregisters a previously registered notification callback.

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
callbackthe notification callback passed to the Monitor method.
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,
INotificationCallback callback,
void userData 
)
pure virtual

Stop monitoring this texmap Unregisters a previously registered notification callback.

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
callbackthe notification callback passed to the Monitor method.
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,
INotificationCallback callback,
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
callbackthe notification callback passed to the Monitor method.
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,
INotificationCallback callback,
void userData 
)
pure virtual

Stop monitoring this viewport Unregisters a previously registered notification callback.

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
callbackthe notification callback passed to the Monitor method.
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,
INotificationCallback callback,
void userData 
)
pure virtual

Stop monitoring render environment Unregisters a previously registered notification callback.

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
callbackthe notification callback passed to the Monitor method.
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,
INotificationCallback callback,
void userData 
)
pure virtual

Stop monitoring render settings Unregisters a previously registered notification callback.

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
callbackthe notification callback passed to the Monitor method.
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,
INotificationCallback callback,
void userData 
)
pure virtual

Stop monitoring scene Unregisters a previously registered notification callback.

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
callbackthe notification callback passed to the Monitor method.
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