SetSelFilter

Introduced

v1.0

Categories

selection

Description

Sets the selection filter and activates the selection tool.

Scripting Syntax

SetSelFilter( [SelFilter] );

Parameters

Parameter Type Description
SelFilter FilterConstant Selection filter that specifies what type of elements to select.

Default Value: Current selection filter

Examples

1. VBScript Example

'
' This example demonstrates how to set the Edge filter 
' with the SetSelFilter command using the string value.
'
SetSelFilter "Edge" 
' Alternatively you could use the matching string constant:
SetSelFilter siEdgeFilter

2. JScript Example

//
// This example demonstrates how to set the Polygon filter 
// with the SetSelFilter command using the string constant.
//
SetSelFilter(siPolygonFilter);
// Alternatively you could use the matching string value:
SetSelFilter("Polygon");

3. Python Example

#
# This example demonstrates how to set the Polygon filter 
# with the SetSelFilter command using the string constant.
#
from win32com.client import constants 
Application.SetSelFilter(constants.siCameraFilter)
# Alternatively you could use the matching string value:
Application.SetSelFilter("Camera")

4. C# Example

// 
// This example demonstrates how to use the SetSelFilter command in C# to change
// the selection filter to limit selection to scene objects. Depending on the
// value of the inUseString input argument, either the string itself (true) or
// the string constant representing the string (false) will be used to call SetSelFilter.
// 
// Tip: You need to compile the generated code before you can load the plug-in.
// After you compile the plug-in, you can load it by clicking Update All in the Plugin Manager.
// 
using System;
using Softimage.XSIOM; // Softimage object model
using Softimage.XSIMath;
using Softimage.XSIUtil;
public class Base
{
        CXSIApplicationClass m_xsi;
        CXSIFactoryClass m_fact;
        CXSIUtilsClass m_utils;
        protected Base()
        {
                m_xsi = new CXSIApplicationClass();
                m_fact = new CXSIFactoryClass();
                m_utils = new CXSIUtilsClass();
        }
        protected XSIApplication GetXSI()
        {
                return m_xsi;
        }
}
public class XSIPlugin : Base
{
        public bool Load( PluginRegistrar in_reg )
        {
                in_reg.Author = "SDK Documentation";
                in_reg.Name = "SetSceneObjectSelFilterPlugin";
                in_reg.Major = 1;
                in_reg.Minor = 0;
                in_reg.RegisterCommand("SetSceneObjectSelFilter", "SetSceneObjectSelFilter");
                return true;
        }
        public bool Unload( PluginRegistrar in_reg )
        {
                String strPluginName = null;
                strPluginName = in_reg.Name;
                return true;
        }
}
public class SetSceneObjectSelFilter : Base
{
        public bool Init( Context in_ctxt )
        {
                Command oCmd = null;
                oCmd = (Command)in_ctxt.Source;
                oCmd.Description = "Demonstrates how to set the Selection Filter in Softimage to Scene Object";
                oCmd.Tooltip = "Set Selection Filter to SceneObject";
                oCmd.SetFlag((int)siCommandCapabilities.siCannotBeUsedInBatch, true);
                oCmd.ReturnValue = false;
                ArgumentCollection oArgs = oCmd.Arguments;
                oArgs.Add("inUseString", siArgumentFlags.siArgumentInput, false, siVariantType.siBool);
                return true;
        }
        // In C# you have to use the XSIApplication.ExecuteCommand method to invoke
        // a command, so we are just implementing a command stub to simplify the call
        // in the Execute function.
        public void SetSelFilter(String SelFilter)
        {
                XSIApplication app = this.GetXSI();
                // The SetSelFilter command takes only one argument: 'SelFilter', which
                // can be either the siObjectFilter string constant or the string to 
                // which it refers: 'sceneobject'
                object[] oCmdArgs = new object[1];
                oCmdArgs[0] = SelFilter;
                app.ExecuteCommand("SetSelFilter", oCmdArgs);
        }
        public bool Execute(Context in_ctxt)
        {
                Command oCmd = null;
                oCmd = (Command)in_ctxt.Source;
                // Set the selection filter to scene object. Whether we use the string
                // constant or the actual string depends on the value of inUseString.  
                ArgumentCollection oArgs = oCmd.Arguments;
                if ((bool)oArgs[0].Value == true)
                {
                        SetSelFilter("SceneObject");
                } 
                else
                {
                        // All string constants are members of the StringModule
                        SetSelFilter(StringModule.siObjectFilter);
                }
                return true;
        }
}

See Also

ActivatePolygonSelTool ActivatePolygonSelToolWithNoObjStateChange ActivateVertexSelTool ActivateVertexSelToolWithNoObjStateChange ActivateSampledPointSelTool ActivateSampledPointSelToolWithNoObjStateChange ActivateObjectSelTool ActivateObjectSelToolWithNoObjStateChange SelectObjectFilter SelectVertexFilter SelectSampledPointFilter SelectPolygonFilter SelectEdgeFilter