Notifications
Clear all

[Closed] SDK Function Publishing with defaults ??

Hi, I am working on a Object plugin and have got all the function publishing done, but for some odd reason cannot not get optional default values to work.
After looking though the SDK sample I thought it you had to use f_keyArgdefault. Which does seem to allow a default value, but then it doesn’t allow for an opitional value. Does anyone know how to do this ?? Code is below :

//FP Mixin header file

class ISOFP : public FPMixinInterface 
	{
	public:

		//Function Publishing System
		//Function Map For Mixin Interface
		//*************************************************
		BEGIN_FUNCTION_MAP

			VFN_1(sofp_spinner, fnSpinner, TYPE_FLOAT);
			VFN_1(sofp_addnode, fnAddNode, TYPE_INODE);

			VFN_1(sofp_radio, fnRadio, TYPE_INT);

		END_FUNCTION_MAP


		FPInterfaceDesc* GetDesc();    // <-- must implement 
//note functions that start with fn are to be used with maxscript since these expect 1 based indices
		virtual void	fnSpinner(float f = 50.0f)=0;
		virtual void	fnAddNode(INode *node)=0;
		virtual void	fnRadio(int i)=0;
	};

So my default is for the Spinner which is 50.0f.

//Main cpp function

static FPInterfaceDesc sofp_interface(
	SIMPLEOBJFP_INTERFACE, _T("sofpOps"), 0, GetSimpleObjectProjectDesc(), FP_MIXIN,
	sofp_spinner, _T("spinner"), 0, TYPE_VOID, 0, 1,
	_T("float"), 0, TYPE_FLOAT,f_keyArgDefault, 50.0f,
	sofp_addnode, _T("addnode"), 0, TYPE_VOID, 0, 1,
	_T("node"), 0, TYPE_INODE,
	sofp_radio, _T("radio"), 0, TYPE_VOID, 0, 1,
	_T("int"), 0, TYPE_INT,
	p_end
);

void SimpleObjectProject::fnSpinner(float f) {
	pblock2->SetValue(title_spinner, t, f);
}

So here I have used the f_keyArgDefault with a default value next to it.
But as soon as I enter a value into maxscript, it saying its wanted 0 arguments, not 1 ?
Whats going on ?? xD