## UVProperty

Object Hierarchy

### Inheritance

SIObject

ProjectItem

Property

ClusterProperty

UVProperty

### Introduced

v10.0 (2012)

### Description

UVProperty is a kind of ClusterProperty used for storing and accessing the UV information of a cluster.
UVProperty supports a special API for pinning and unpinning UV components. Pinning acts like a lock. When UV components are pinned, they are not affected by operations performed on them. For instance, pinned UVs cannot be rotated or scaled in the Texture Editor.

### Methods

AddCustomOp | AddICEAttribute | AddScriptedOp | AddScriptedOpFromFile
AnimatedParameters2 | BelongsTo | EvaluateAt | GetICEAttributeFromName
IsA | IsAnimated2 | IsClassOf | IsEqualTo
IsKindOf | IsLocked | IsSelected | LockOwners
PinAllComponents | PinComponents | RemoveICEAttribute | SetAsSelected
SetCapabilityFlag | SetLock | TaggedParameters | UnPinAllComponents
UnPinComponents | UnSetLock |  |

### Properties

Application | Branch | BranchFlag | Capabilities
Categories | Elements | EvaluationID | Families
FullName | Help | HierarchicalEvaluationID | ICEAttributes
LockLevel | LockMasters | LockType | Model
Name | NestedObjects | ObjectID | Origin
OriginPath | Owners | PPGLayout | Parameters
Parent | Parent3DObject | PinComponentArray | Selected
Singleton | Type |  |

### Examples

#### Python Example

    #
    # Script to demonstrate how to pin and unpin UV components
    #
    from siutils import *
    si = si()
    # Create some UV components
    root = si.ActiveSceneRoot
    cube = root.AddGeometry( "Cube", "MeshSurface" )
    si.BlendInPresets( "Image", cube, 1, False )
    si.CreateTextureSupport( cube, C.siTxtUV, C.siTxtDefaultSpherical, "Texture_Support" )
    si.SetInstanceDataValue( None, cube.FullName + ".Material.UV", "Texture_Support" )
    uvprop = disp(cube.Material.CurrentUV)
    clsIndices = uvprop.Parent.Elements.Array
    # Pin components
    toPin = clsIndices[5:-8]
    uvprop.PinComponents( toPin )
    uvsamples = uvprop.PinComponentArray
    log( 'Pinned components = %s' % str(uvsamples) )
    # INFO : Pinned components = (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
    # Unpin last 6 components
    toUnPin = uvsamples[5:]
    uvprop.UnPinComponents( toUnPin )
    uvsamples = uvprop.PinComponentArray
    log( 'Pinned components = %s' % str(uvsamples) )
    # INFO : Pinned components = (5, 6, 7, 8, 9, 10)

### See Also

Cluster Texture