Writing Reference Targets
Most plug-ins are reference targets (i.e. derived from ReferenceTarget) meaning that they can send notifications to observers.
The primary responsibility of a reference target is to notify its dependents of any changes to its structure of exposed values.
The following is a list of some of the important functions that must be implemented by a reference target.
ReferenceTarget::NotifyDependents()- Your reference target should call this whenever it wants to notify observers of a change to the reference target. 3ds Max will automatically notify dependents if the target is deleted.ReferenceTarget::Clone()- Called by 3ds Max when an object is cloned by the user or via a call toRemapDir::CloneRef()orCloneRefHierarchy(). An override should creates an instance of the new object, and then callsReferenceTarget::BaseClone().ReferenceTarget::BaseClone()- This is called by a plug-in fromReferenceTarget::Clone()and allows an object to copy any custom data, and allow derived classes to copy this data in their clone implementations.
