## ProjectItem.LockOwners

### Introduced

v4.0

### Description

Returns a collection of X3DObject objects for all parameters and objects locked at a specific level. This function can return local and nested parameters.

### C# Syntax

    CXSICollection ProjectItem.LockOwners( siLockLevel, Boolean );

### Scripting Syntax

    oReturn = ProjectItem.LockOwners( [Level], [Local] );

### Return Value

XSICollection

### Parameters

Parameter | Type | Description
--- | --- | ---
Level | siLockLevel | One or more lock levels to check. If any of the levels is set on an object or parameter, the object or parameter is added to the return list. Default Value: siLockLevelAll
Local | Boolean | Specifies whether the lock to check is local to the object. If true then all locked parameters that come from propagated properties or from intermediate nodes are ignored (referenced parameters). Intermediate nodes are nested under the object but are not necessary owned by the object itself. For instance, the camera object nested under a Texture_Projection_Def property is not considered unless the target object is the projection property itself. When the argument is set to false (default), all parameters and objects are considered. Default Value: False

### Examples

#### JScript Example

    /*

    	This example shows how to list all the lock owners from an object

    */

    NewScene (null, null);

    CreatePrim( "Cone", "MeshSurface" );

    CreatePrim( "Cube", "MeshSurface" );

    CopyPaste( "cube", null, "cone", 1 );

    var oGeom = GetValue( "Cone.polymsh.geom" )

    var oParam1 = oGeom.Parameters("subdivu")

    var oParam2 = oGeom.Parameters("subdivv")

    var oCone = GetValue( "cone" )

    var oCube = GetValue( "cube" )

    // Set the lock on a child object

    oCube.SetLock( siLockLevelConstruction )

    // Set the Locks on parameters

    oParam1.SetLock( siLockLevelAnimation );

    oParam2.SetLock( siLockLevelManipulation );

    // Get the parameters with siTag2 (subdivu)

    var oList = oCone.LockOwners( siLockLevelAll );

    for ( i=0; i<oList.count; i++ )

    {

    	Application.LogMessage (oList.Item(i));

    }

### See Also

Parameter.Tags Tag Untag