ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / VoxelLayer Class / DiffuseLighting Property
Example

In This Topic
    DiffuseLighting Property
    In This Topic
    Gets the diffused lighting value.
    Syntax
    public double DiffuseLighting {get;}
    Public ReadOnly Property DiffuseLighting As Double
    Example
    Lighting Properties, Offset, Vertical Exaggeration
    //var voxelLayer = ... ;
    //Must be on the QueuedTask.Run()
    
    //Offset
    var offset = voxelLayer.CartographicOffset;
    //apply an offset
    voxelLayer.SetCartographicOffset(offset + 100.0);
    
    //VerticalExaggeration
    var exaggeration = voxelLayer.VerticalExaggeration;
    //apply an exaggeration
    voxelLayer.SetVerticalExaggeration(exaggeration + 100.0);
                
    //Change the exaggeration mode to "ScaleZ" - corresponds to 'Z-coordinates' 
    //on the Layer properties UI - must use the CIM
    var def = voxelLayer.GetDefinition() as CIMVoxelLayer;
    def.Layer3DProperties.ExaggerationMode = ExaggerationMode.ScaleZ;
    //can set vertical exaggeration via the CIM also
    //def.Layer3DProperties.VerticalExaggeration = exaggeration + 100.0;
    
    //apply the change
    voxelLayer.SetDefinition(def);
    
    //Diffuse Lighting
    if (!voxelLayer.IsDiffuseLightingEnabled)
        voxelLayer.SetDiffuseLightingEnabled(true);
    var diffuse = voxelLayer.DiffuseLighting;
    //set Diffuse lighting to a value between 0 and 1
    voxelLayer.SetDiffuseLighting(0.5); //50%
    
    //Specular Lighting
    if (!voxelLayer.IsSpecularLightingEnabled)
        voxelLayer.SetSpecularLightingEnabled(true);
    var specular = voxelLayer.SpecularLighting;
    //set Diffuse lighting to a value between 0 and 1
    voxelLayer.SetSpecularLighting(0.5); //50%
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also