v4.0
Sets or returns the categories defined for this object.
Categories are used to extend the categorization of objects.
Categories of SPDL objects are initialized with the values of the
Keyword field whereas the categories of custom objects (such as
Filter and Command) can be set when plug-in items are
registered with PluginRegistrar.
Categories are returned as as an Array of Strings. If no categories are specified,
an empty array is returned.
Categories must be set in a comma-separated string. Use PluginRegistrar.Categories to set the
categories for all plug-in items defined in a plug-in or use
PluginItem.Categories to set the
categories of a specific plug-in item. No other interfaces support
the 'set' component of this property.
Note: For the deprecated (v1.0) style of creating commands, you can
only set the categories by specifying one of the siCommandCategory enum values in the
Category parameter of the XSIApplication.CreateCommand
method.
' ' This example shows how to get the categories of a SPDL object ' set cone = ActiveSceneRoot.AddPrimitive( "cone" ) cat = cone.Categories for i=LBound( cat, 1 ) to UBound( cat, 1 ) LogMessage "category: " & cat(i) next 'the example above will output the following: 'INFO: category: General 'INFO: category: Primitive 'INFO: category: Modeling |
' ' This example shows how to set the categories of a plug-in and specific plug-in items ' Function XSILoadPlugin( in_reg ) ' register plugin information in_reg.Author = "Softimage Co." in_reg.Name = "Mesh Filter plugin" in_reg.URL = "http://www.softimage.com" in_reg.Email = "webmaster@softimage.com" in_reg.Categories = "Mesh component filter" ' set the version number of this plugin in_reg.Major = 1 in_reg.Minor = 0 ' register filter plugin items set item = in_reg.RegisterFilter( "Border Edge", siFilterSubComponentEdge ) item.Categories = "Mesh,Edge" set item = in_reg.RegisterFilter( "Triangle", siFilterSubComponentPolygon ) item.Categories = "Mesh" set item = in_reg.RegisterFilter( "Quad", siFilterSubComponentPolygon ) item.Categories = "Mesh" set item = in_reg.RegisterFilter( "N-gon", siFilterSubComponentPolygon ) item.Categories = "Mesh" set item = in_reg.RegisterFilter( "Border Point", siFilterSubComponentPoint ) item.Categories = "Point" set item = in_reg.RegisterFilter( "Polygon Island", siFilterSubComponentPolygon ) item.Categories = "Mesh,Polygon" in_reg.RegisterFilter "Local Material", siFilterProperty XSILoadPlugin = true end Function |
/* This example shows how to get the plug-in items categories */ var items = Application.Plugins("Mesh Filter plugin").Items; for (var i=0; i<items.Count; i++) { LogMessage( items(i).Name + " categories: " ); var vba = new VBArray(items(i).Categories); var categories = vba.toArray(); for (var j=0; j<categories.length; j++) { LogMessage( categories[j] ); } } |