MAXScript Marshalling of Function Arguments
 
 
 

MAXScript needs to convert arguments from the internal representation to the actual C++ function. This is commonly done using the def_visible_primitive macro found in the maxscrpt\definsfn.h header.

#include "definsfn.h"
def_visible_primitive(IntervalArray, "IntervalArray");

It is standard practice to make the content of both arguments the same (i.e. "IntervalArray" and IntervalArray), which makes debugging a lot easier. During preprocessing, this macro gets expanded to:

Value* IntervalArray_cf(Value**, int);
PrimitiveIntervalArray_pf("IntervalArray", IntervalArray_cf);