Class IParamWireMgr

3DS Max Plug-In SDK

Class IParamWireMgr

See Also: Class FPStaticInterface, Class Control, Class ReferenceTarget

class IParamWireMgr : public FPStaticInterface

Description:

This class is available in release 4.0 and later only.

This class represents the interface that provides general access to the parameter wiring functions. You can obtain a pointer to the Parameter Wire Manager interface using; IParamWireMgr* GetParamWireMgr(). This macro will return (IParamWireMgr*)GetCOREInterface(PARAMWIRE_MGR_INTERFACE).

All methods of this class are Implemented by the System.

Methods:

public:

Prototype:

virtual void StartParamWire()=0;

Remarks:

This method will launch the parameter wiring UI mode.

Prototype:

virtual void OpenEditor()=0;

Remarks:

This method will open up the parameter wiring dialog on the selected objects.

Prototype:

virtual void EditParams(ReferenceTarget* leftParent, int leftSubNum, ReferenceTarget* rightParent, int rightSubNum)=0;

Remarks:

This method allows you to edit the left- and right-hand parameters and opens the parameter wiring dialog using the provided parameters.

Parameters:

ReferenceTarget* leftParent

A pointer to the left-hand reference target.

int leftSubNum

The sub-animatable of the left-hand reference target.

ReferenceTarget* rightParent

A pointer to the right-hand reference target.

int rightSubNum

The sub-animatable of the right-hand reference target.

Prototype:

virtual void EditControllers(Control* leftWire, Control* rightWire)=0;

Remarks:

This method allows you to setup the two controllers for the left- and right-hand to edit.

Parameters:

Control* leftWire

A pointer to the controller for the left-hand wire.

Control* leftWire

A pointer to the controller for the right-hand wire.

Prototype:

virtual void EditController(Control* wire)=0;

Remarks:

This method is identical to the EditControllers() but accepts a single wire controller for the left-hand. This method effectively calls EditControllers(wire, NULL).

Parameters:

Control* wire

A pointer to the controller being edited.

Prototype:

virtual bool Connect(ReferenceTarget* fromParent, int fromSubNum, ReferenceTarget* toParent, int toSubNum, TCHAR* toExpr)=0;

Remarks:

This method allows you to set up a one-way wire.

Parameters:

ReferenceTarget* fromParent

A pointer to the reference target to wire from.

int fromSubNum

The sub-animatable to wire from.

ReferenceTarget* toParent

A pointer to the reference target to wire to.

int toSubNum

The sub-animatable to wire to.

TCHAR* toExpr

A string containing the expression on the "to wire".

Return Value:

TRUE if the connection can be made, otherwise FALSE.

Prototype:

virtual bool Connect2Way(ReferenceTarget* leftParent, int leftSubNum, ReferenceTarget* rightParent, int rightSubNum, TCHAR* leftExpr, TCHAR* rightExpr=NULL)=0;

Remarks:

This method allows you to set up a two-way wire.

Parameters:

ReferenceTarget* leftParent

A pointer to the left-hand reference target.

int leftSubNum

The sub-animatable of the left-hand reference target.

ReferenceTarget* rightParent

A pointer to the right-hand reference target.

int rightSubNum

The sub-animatable of the right-hand reference target.

TCHAR* leftExpr

A string containing the expression for the left-hand target.

TCHAR* rightExpr = NULL

A string containing the expression for the right-hand target.

Return Value:

TRUE if the connection can be made, otherwise FALSE.

Prototype:

virtual bool Disconnect(Control* wireController)=0;

Remarks:

This method allows you to disconnect a one-way wire.

Parameters:

Control* wireController

A pointer to the wire controller you wish to disconnect.

Return Value:

TRUE if the disconnect was successful, otherwise FALSE.

Prototype:

virtual bool Disconnect2Way(Control* wireController1, Control* wireController2)=0;

Remarks:

This method allows you to disconnect a two-way wire.

Parameters:

Control* wireController1

A pointer to the first wire controller you wish to disconnect.

Control* wireController2

A pointer to the second wire controller you wish to disconnect.

Return Value:

TRUE if the disconnect was successful, otherwise FALSE.