SIObject.Categories

導入

v4.0

詳細

このオブジェクト用に定義されているカテゴリを設定したり、戻したりします。カテゴリは、オブジェクトの分類を拡張するのに使用されます。SPDl オブジェクトのカテゴリは、Keyword フィールドの値で初期化されますが、カスタムオブジェクト(FilterCommand など)のカテゴリは、プラグインを PluginRegistrar で登録するときにのみ設定できます。

カテゴリは、StringArray として戻されます。カテゴリが指定されていない場合、空の配列が戻されます。

カテゴリはカンマ区切りの文字列で設定してください。プラグインに定義されているすべてのプラグイン項目のカテゴリを設定する場合は PluginRegistrar.Categories を使用し、指定プラグイン項目のカテゴリを設定する場合は PluginItem.Categories を使用します。その他のインターフェイスでは、このプロパティの「設定」コンポーネントはサポートされていません。

注:廃止された(v1.0 の)コマンドの作成スタイルでは、XSIApplication.CreateCommand メソッドの Category パラメータで siCommandCategory 列挙型の値の 1 つを指定することでのみカテゴリを設定できました。

C#構文

// get accessor

Object SIObject.get_Categories();

// set accessor

SIObject.set_Categories( String pArrayVal );

1. VBScript の例

'

'	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

2. VBScript の例

'

'	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

3. JScript の例

/*

	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] );		

	} 

}