Controllers are the plug-in type responsible for directing all animation in 3ds Max. The section uses the Position constraint controller as a running example. The files that are relevant for this discussion are:
Controllers derive from the Control
class. The primary methods that must be implemented by a plug-in are:
Control::GetValue()
- Implementations usually cache the value and validity interval from the previous GetValue()
call. An implementation is responsible to make sure that the validity interval gets updated correctly.
Control::SetValue()
- The implementation is responsible for sending update notifications and needs to make sure any cached values get correctly cleared.
The class Control
is derived from class Animatable
. A controller will need to implement methods from this class, as the default implementations are not valid.