GetInterfaces Interface Inspector

getInterfaces <MAXWrapper> includeActions:<bool> 
getInterfaces <MAXClass> includeMixins:<bool> 

The getInterfaces() function returns an array containing the interfaces exposed by the argument.

If the argument is a node, the node level interfaces for that node are returned. If you want the interfaces for the node's base object, you need to specify <node>.baseobject as the argument.

If includeActions:true or includeMixins:true are specified, the Action or Mixin interfaces are returned. Available in 3ds Max 2027 and higher.

In 3ds Max 2027 and higher, getInterfaces <MAXWrapper> also gets static interfaces. Previously could only get from the MAXClass of the MAXWrapper instance.

EXAMPLE

   s=sphere()
   --> $Sphere:Sphere01 @ [0.000000,0.000000,0.000000]
   converttopoly s
   --> $Editable_Poly:Sphere01 @ [0.000000,0.000000,0.000000]
   getInterfaces s
   --> #(<MixinInterface:IAssembly>, <MixinInterface:INodeGIProperties>, <MixinInterface:INode>, <MixinInterface:INodeLayerProperties>, <MixinInterface:INodeBakeProperties>, <MixinInterface:SkinPose>, <MixinInterface:INodeBakeProjProperties>, <MixinInterface:INodeMentalRayProperties>, <MixinInterface:INodeDisplayProperties>, <MixinInterface:INodeShadingProperties>)
   getInterfaces s.baseobject
   --> #(<MixinInterface:EditablePoly>)

   // getInterfaces <MAXWrapper> includeActions:<bool> 
   ikc = createinstance IKChainControl forcecreate:true
   --> Controller:IKChainControl
   i1 = getInterfaces ikc includeActions:true
   --> #(<MixinInterface:IKChainActions>)
   i2 = getInterfaces ikc includeActions:false
   --> #()

   // getInterfaces <MAXClass> includeMixins:<bool>
   getInterfaces GeoSphere includeMixins:false
   --> #()
   getInterfaces GeoSphere includeMixins:true
   --> #(<Interface:realWorldMapSizeInterface>)

   getInterfaces ProBoolean
   --> #(<Interface:PolyBoolean>)
   // getInterfaces <MAXWrapper> also now gets static interfaces. Previously could only get from the MAXClass of the MAXWrapper instance.
   c = createinstance ProBoolean
   --> ProBoolean
   getInterfaces c
   --> #(<Interface:PolyBoolean>)

If the argument is a MAXClass, only static interfaces for that class are returned. Typically, only utility plugin classes define static interfaces.

EXAMPLE

   getInterfaces Plug_in_Manager
   #(<Interface:PluginMgrAction>)