XSICollection.Remove
 
 
 

XSICollection.Remove

Description

Removes a single item from the collection. Compare this method to XSICollection.RemoveItems, which removes one or more items at a time and XSICollection.RemoveAll which empties the collection completely.

C# Syntax

Object XSICollection.Remove( Object in_newVal );

Scripting Syntax

oReturn = XSICollection.Remove( Item );

Return Value

CollectionItem or kind of ProjectItem removed

Parameters

Parameter Type Description
Item CollectionItem, any kind of ProjectItem or String The new item being removed. This may be a generic object (CollectionItem), a specific type of object (ProjectItem) or an Object Name (string expression).

Examples

VBScript Example

Dim oColl             ' object pointer for collection
Dim sSelList    ' string list for selection
Dim oMember     ' object pointer for members
Dim oNull               ' object pointer for null object
Dim oCollItem   ' object pointer for collection item
Dim sLightName  ' string variable for the camera name 
' Create the new collection & populate it
Set oColl = CreateObject( "XSI.Collection" )
Set oNull = ActiveSceneRoot.AddNull     
oColl.SetAsText oNull & ",Light,Camera"
' Test contents & type
checkContents oColl
For Each oMember In oColl
        checkType oMember
Next
' Now remove some stuff
LogMessage "----------------"
checkType oNull                         ' = project item
oColl.Remove oNull
checkContents oColl
Set oCollItem = oColl.Item( "Camera" )
checkType oCollItem                     ' = collection item
oColl.Remove oCollItem
checkContents oColl
sLightName = "light"                    
checkType sLightName                    ' = string expression
oColl.Remove sLightName
checkContents oColl
'--------------------------------------------------
function checkType( in_object )
        LogMessage in_object & " is a " & TypeName( in_object )
end function
'--------------------------------------------------
function checkContents( in_coll )
        If in_coll.Count > 0 Then
                LogMessage "Collection now contains " & in_coll.GetAsText 
                LogMessage "----------------"
        Else
                LogMessage "Collection is empty."
                LogMessage "----------------"
        End If
end function
'--------------------------------------------------
' Output of above script:
'INFO : "Collection now contains null,light,Camera"
'INFO : "----------------"
'INFO : "null is a Null"
'INFO : "light is a Light"
'INFO : "Camera is a Camera"
'INFO : "----------------"
'INFO : "null is a Null"
'INFO : "Collection now contains light,Camera"
'INFO : "----------------"
'INFO : "Camera is a Camera"
'INFO : "Collection now contains light"
'INFO : "----------------"
'INFO : "light is a String"
'INFO : "Collection is empty."
'INFO : "----------------"

See Also

XSICollection.RemoveAll XSICollection.RemoveItems