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.
// get accessor Object SIObject.get_Categories(); // set accessor SIObject.set_Categories( String pArrayVal ); |
' ' 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] ); } } |