XSICollection.FindObjectsByMarkingAndCapabilities

導入

v5.0

詳細

入力条件(マークパラメータのリストと機能)と一致する Parameter オブジェクトのリストを検索して戻します。

C#構文

CXSICollection XSICollection.FindObjectsByMarkingAndCapabilities( Object in_marking, Int32 in_Caps );

スクリプト構文

oReturn = XSICollection.FindObjectsByMarkingAndCapabilities( [Marking], [Caps] );

戻り値

XSICollection

パラメータ

パラメータ タイプ 説明
Marking XSICollectionArray または marked parameters 検索するマークパラメータのリスト

デフォルト値:matches all

Caps siCapabilities 一致するパラメータの機能 siCapabilities

デフォルト値:0(機能を考慮しない)

JScript の例

/*

This example demonstrates how to use the FindObjectsByMarkingAndCapabilities method

using several different matching criteria.

*/

NewScene( null, false );

GetPrim( "Null" );

// Collection object

var collection = XSIFactory.CreateActiveXObject( "XSI.Collection" );

// If you want to filter selection

collection.AddItems( Selection );

checkContents( "Selection", collection );

// Find all the keyable parameters (using no marking string)

// You can just omit the optional marking parameter

var subset = collection.FindObjectsByMarkingAndCapabilities( null, siKeyable );

checkContents( "Keyable (no marking)", subset );

// Find all the keyable parameters (using no marking string)

// Or you can use an empty marking string

subset = collection.FindObjectsByMarkingAndCapabilities( "", siKeyable );

checkContents( "Keyable (empty marking)", subset );

// Find all the 'keypanel' (siKeyable Or siNonKeyableVisible) parameters (using no marking string)

subset = collection.FindObjectsByMarkingAndCapabilities( null, (siKeyable || siNonKeyableVisible) );

checkContents( "Keypanel", subset );

// Find all the keyable kinematics local posx parameters

subset = collection.FindObjectsByMarkingAndCapabilities( "kine.posx", siKeyable );

checkContents( "Keyable Local PosX (kine.posx)", subset );

subset = collection.FindObjectsByMarkingAndCapabilities( "kine.local.pos.posx", siKeyable );

checkContents( "Keyable Local PosX (kine.local.pos.posx)", subset );

// Find all the marked keyable parameters

// Here we explicitly set the marking

SetMarking( "kine.local.pos" );

var markings = GetMarking().toArray();		// GetMarking returns a SAFEARRAY

subset = collection.FindObjectsByMarkingAndCapabilities( markings.join(), siKeyable );

checkContents( "Marked Keyable", subset );

// Find all the kinematics local posx parameters (using no capabilities)

subset = collection.FindObjectsByMarkingAndCapabilities( "kine.posx" );

checkContents( "Local PosX (no caps)", subset );

// Find all the animatable parameters (using no marking string)

subset = collection.FindObjectsByMarkingAndCapabilities( null, siAnimatable );

checkContents( "Animatable (no marking)", subset );

// Find all the readonly parameters (using no marking string)

subset = collection.FindObjectsByMarkingAndCapabilities( null, siReadOnly );

checkContents( "Read-Only (no marking)", subset );

// Convenience function to log information about the collection

function checkContents( in_name, in_coll )

{

if ( in_coll.Count > 0 ) {

LogMessage( in_name + " (" + in_coll.Count + ") = " + in_coll.GetAsText() );

} else {

LogMessage( in_name + " is empty" );

}

LogMessage( "--------------------------------------" );

}

//--------------------------------------------------

// Output of above script:

//INFO : Selection (1) = null

//INFO : --------------------------------------

//INFO : Keyable (no marking) (9) = null.kine.local.posx,null.kine.local.posy,null.kine.local.posz,null.kine.local.rotx,null.kine.local.roty,null.kine.local.rotz,null.kine.local.sclx,null.kine.local.scly,null.kine.local.sclz

//INFO : --------------------------------------

//INFO : Keyable (empty marking) (9) = null.kine.local.posx,null.kine.local.posy,null.kine.local.posz,null.kine.local.rotx,null.kine.local.roty,null.kine.local.rotz,null.kine.local.sclx,null.kine.local.scly,null.kine.local.sclz

//INFO : --------------------------------------

//INFO : Keypanel (9) = null.kine.local.posx,null.kine.local.posy,null.kine.local.posz,null.kine.local.rotx,null.kine.local.roty,null.kine.local.rotz,null.kine.local.sclx,null.kine.local.scly,null.kine.local.sclz

//INFO : --------------------------------------

//INFO : Keyable Local PosX (kine.posx) (1) = null.kine.local.posx

//INFO : --------------------------------------

//INFO : Keyable Local PosX (kine.local.pos.posx) (1) = null.kine.local.posx

//INFO : --------------------------------------

//INFO : Marked Keyable (3) = null.kine.local.posx,null.kine.local.posy,null.kine.local.posz

//INFO : --------------------------------------

//INFO : Local PosX (no caps) (1) = null.kine.local.posx

//INFO : --------------------------------------

//INFO : Animatable (no marking) (97) = null.null.size,null.null.primary_icon,null.null.shadow_icon,null.null.shadow_offsetX,null.null.shadow_offsetY,null.null.shadow_offsetZ,null.null.shadow_scaleX,null.null.shadow_scaleY,null.null.shadow_scaleZ,null.null.R,null.null.G,null.null.B,null.kine.global.posx,null.kine.global.posy,null.kine.global.posz,null.kine.global.rotx,null.kine.global.roty,null.kine.global.rotz,null.kine.global.sclx,null.kine.global.scly,null.kine.global.sclz,null.kine.global.sclorix,null.kine.global.scloriy,null.kine.global.scloriz,null.kine.local.blendweight,null.kine.local.active,null.kine.local.posx,null.kine.local.posy,null.kine.local.posz,null.kine.local.rotx,null.kine.local.roty,null.kine.local.rotz,null.kine.local.sclx,null.kine.local.scly,null.kine.local.sclz,null.kine.local.sclorix,null.kine.local.scloriy,null.kine.local.scloriz,null.kine.local.cnsscl,null.kine.local.cnsori,null.kine.local.cnspos,null.kine.local.rotorder,null.kine.local.pivotactive,null.kine.local.pposx,null.kine.local.pposy,null.kine.local.pposz,null.kine.local.protx,null.kine.local.proty,null.kine.local.protz,null.kine.local.psclx,null.kine.local.pscly,null.kine.local.psclz,null.kine.local.pivotcompactive,null.kine.local.pcposx,null.kine.local.pcposy,null.kine.local.pcposz,null.kine.local.pcrotx,null.kine.local.pcroty,null.kine.local.pcrotz,null.kine.local.pcsclx,null.kine.local.pcscly,null.kine.local.pcsclz,null.kine.local.nposx,null.kine.local.nposy,null.kine.local.nposz,null.kine.local.nrotx,null.kine.local.nroty,null.kine.local.nrotz,null.kine.local.nsclx,null.kine.local.nscly,null.kine.local.nsclz,null.kine.local.nsclorix,null.kine.local.nscloriy,null.kine.local.nscloriz,null.visibility.viewvis,null.visibility.rendvis,null.visibility.selectability,null.visibility.hidemaster,null.visibility.primray,null.visibility.scndray,null.visibility.shdwrecv,null.visibility.shdwcast,null.visibility.reflrecv,null.visibility.reflcast,null.visibility.refrrecv,null.visibility.refrcast,null.visibility.trnsrecv,null.visibility.trnscast,null.visibility.fgrecv,null.visibility.fgcast,null.visibility.fgvis,null.visibility.globrecv,null.visibility.globcast,null.visibility.globvis,null.visibility.causrecv,null.visibility.causcast,null.visibility.causvis

//INFO : --------------------------------------

//INFO : Read-Only (no marking) (7) = null.kine.global.velaccactive,null.kine.global.linaccx,null.kine.global.linaccy,null.kine.global.linaccz,null.kine.global.angaccx,null.kine.global.angaccy,null.kine.global.angaccz

//INFO : --------------------------------------