Class FPMixinInterface

3DS Max Plug-In SDK

Class FPMixinInterface

See Also: Class FPInterface, Class FPInterfaceDesc, Function Publishing System.

class FPMixinInterface : public FPInterface

Description:

This class is available in release 4.0 and later only.

A "Mixin" interface provides a way for a plug-in to expose some of its functionality for use by other plug-ins or MAXScript. The notion of "Mixin" refers to the idea that the interface is a sub-class of the plug-in class and thus "mixed in" with it. Many classes in the SDK now inherit from FPMixinInterface in order to expose some of their functionality.

Developers should see the documentation for Class FPInterface for reference on this class as well.

For an overview of the Function Publishing System as a whole, see the Advanced Topics section Function Publishing System.

Methods:

public:

Prototype:

virtual FPInterfaceDesc* GetDescByID(Interface_ID id);

Remarks:

This method is used to directly implement FPInterface::GetDesc() in your public virtual base mixin class, like this;

FPInterfaceDesc* GetDesc() { return GetDescByID(THIS_INTERFACE_ID); }

Then implement a GetDescByID() in the implementing class to avoid link export issues.

Parameters:

Interface_ID id

The unique interface ID by which to get the FPInterfaceDesc.

Default Implementation:

{ return &nullInterface; }

Prototype:

virtual Interface_ID GetID();

Remarks:

This method overrides GetID() in those interfaces that do not publish metadata but instead have a unique Interface_ID for quick internal identification in implementation code that might be shared by a bunch of mixin interfaces.

Return Value:

The Interface_ID.

Default Implementation:

{ return GetDesc()->ID; }