SetDiffuseLighting Method
Sets the Diffuse lighting value. This method must be called on the MCT. Use QueuedTask.Run.
public void SetDiffuseLighting(
double
)
Public Sub SetDiffuseLighting( _
ByVal As Double _
)
Parameters
- value
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%
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.