## Property.Singleton

### Description

Returns True if only one object of this type is allowed on its parent

### C# Syntax

    // get accessor
    Boolean rtn = Property.Singleton;

### Examples

#### 1. VBScript Example

    'VBScript example showing how the Material Property is a singleton
    set oRoot = application.activeproject.activescene.root
    set oGroup = oRoot.addgroup()
    set oMaterial = oGroup.AddMaterial("Phong")
    if oMaterial.Singleton then
            logmessage "Only one material is allowed per object"
    else
            logmessage "Multiple materials are allowed on an object"
    end if
    'Output of this script:
    'INFO : "Only one material is allowed per object"

#### 2. VBScript Example

    'VBScript example showing Singleton and Branch values properties of an object
    newscene ,false
    set oSphere = ActiveSceneRoot.AddGeometry( "Sphere","MeshSurface")
    'There are already default properties on any X3DObject, and we can also
    'add another
    oSphere.AddProperty "CustomProperty",, "MyCustomParam"
    logmessage "Properties of " & oSphere
    for each oProp in oSphere.Properties
            logmessage vbTab & oProp.Name & vbLf & _
                    vbTab & vbTab & "Singleton: " & oProp.Singleton & vbLf & _
                    vbTab & vbTab & "Branch: " & oProp.Branch
    next
    'Output of this script:
    'INFO : "Property info on sphere"
    'INFO : "       Kinematics
    '               Singleton: False
    '               Branch: False"
    'INFO : "       Visibility
    '               Singleton: True
    '               Branch: False"
    'INFO : "       Ambient Lighting
    '               Singleton: True
    '               Branch: True"
    'INFO : "       Scene_Material
    '               Singleton: True
    '               Branch: True"
    'INFO : "       Geometry Approximation
    '               Singleton: True
    '               Branch: True"
    'INFO : "       Display
    '               Singleton: True
    '               Branch: True"
    'INFO : "       MyCustomParam
    '               Singleton: False
    '               Branch: False"

### See Also

siBranchFlag SceneItem.Properties SceneItem.LocalProperties Scene.Properties XSIProject.Properties