3ds Max C++ API Reference
INodeInstancingPool::INotifier Class Referenceabstract

Notification callback for monitoring changes in a node instancing pool. More...

#include <INodeInstancingPool.h>

+ Inheritance diagram for INodeInstancingPool::INotifier:

Public Member Functions

virtual void NotifyPoolInstancedObjectChanged (const INodeInstancingPool &node_pool, const NotificationAPI::NodeEventType event_type)=0
 Notifies that the object, being instanced by the pool, has changed and needs to be re-translated. More...
 
virtual void NotifyPoolContentMaybeChanged (const INodeInstancingPool &node_pool)=0
 Notifies that the set of nodes, contained in the pool, may have changed. More...
 

Detailed Description

Notification callback for monitoring changes in a node instancing pool.

Member Function Documentation

◆ NotifyPoolInstancedObjectChanged()

virtual void NotifyPoolInstancedObjectChanged ( const INodeInstancingPool node_pool,
const NotificationAPI::NodeEventType  event_type 
)
pure virtual

Notifies that the object, being instanced by the pool, has changed and needs to be re-translated.

For example, would be called if the mesh of the instanced object were to change.

Parameters
node_poolThe pool which is sending the notification.
event_typeThe type of event that triggered this notification.

Implemented in BaseTranslator_Object, and BaseTranslator_INode.

◆ NotifyPoolContentMaybeChanged()

virtual void NotifyPoolContentMaybeChanged ( const INodeInstancingPool node_pool)
pure virtual

Notifies that the set of nodes, contained in the pool, may have changed.

This method notifies that some nodes may have been added or removed to/from the pool. We say may have changed, because it's impossible to know for sure at this point due to node evaluations being disallowed (unsafe) in notification callbacks. The listener should use a deferred validity check (i.e. call Translator::Invalidte(true)) and later re-acquire the pool for the node being cared for. This re-acquisition of the pool will cause the nodes to be re-evaluated and the pools to be re-built accordingly.

Parameters
node_poolThe pool which is sending the notification.

Implemented in BaseTranslator_Object, and BaseTranslator_INode.