Creates a group layer animation using all the layers present in the globe.
[C#]
///<summary>Creates a group layer animation using all the layers present in the globe.</summary> /// ///<param name="globe">An IGlobe interface</param> /// ///<remarks></remarks> public void CreateGroupLayerAnimation(ESRI.ArcGIS.GlobeCore.IGlobe globe) { ESRI.ArcGIS.Animation.IAGAnimationUtils agAnimationUtils = new ESRI.ArcGIS.Animation.AGAnimationUtilsClass(); ESRI.ArcGIS.Analyst3D.IBasicScene2 basicScene = (ESRI.ArcGIS.Analyst3D.IBasicScene2)globe; // Explicit Cast ESRI.ArcGIS.Animation.IAGAnimationEnvironment agAnimationEnvironment = basicScene.AnimationExtension.AnimationEnvironment; // Get the layers in the Globe ESRI.ArcGIS.Analyst3D.IScene scene = (ESRI.ArcGIS.Analyst3D.IScene)globe; // Explicit Cast ESRI.ArcGIS.Carto.IEnumLayer enumLayer = scene.get_Layers(null, false); ESRI.ArcGIS.Carto.ILayer layer = enumLayer.Next(); ESRI.ArcGIS.esriSystem.IArray array = new ESRI.ArcGIS.esriSystem.ArrayClass(); do { array.Add(layer); layer = enumLayer.Next(); } while (layer != null); // Set the Group AnimationOptions ESRI.ArcGIS.Animation.IAGGroupAnimationOptions agGroupAnimationOptions = new ESRI.ArcGIS.Animation.AGGroupAnimationOptionsClass(); ESRI.ArcGIS.Animation.IAGAnimationTracks AGAnimationTracks = basicScene.AnimationExtension.AnimationTracks; agGroupAnimationOptions.AnimationEnvironment = agAnimationEnvironment; agGroupAnimationOptions.LayerSet = array; agGroupAnimationOptions.AnimationTracks = AGAnimationTracks; agGroupAnimationOptions.Blending = true; agGroupAnimationOptions.CycleAnimation = true; agGroupAnimationOptions.FadingPercentage = 20; agGroupAnimationOptions.OverwriteExisting = true; agGroupAnimationOptions.PutTrackInterval(0, 1); agGroupAnimationOptions.PutVisibilitySettings(false, false, false); ESRI.ArcGIS.Animation.IAGAnimationContainer agAnimationContainer = (ESRI.ArcGIS.Animation.IAGAnimationContainer)globe; agAnimationUtils.CreateLayerGroupAnimation(agAnimationContainer, agGroupAnimationOptions); }
[Visual Basic .NET]
'''<summary>Creates a group layer animation using all the layers present in the globe.</summary> ''' '''<param name="globe">An IGlobe interface</param> ''' '''<remarks></remarks> Public Sub CreateGroupLayerAnimation(ByVal globe As ESRI.ArcGIS.GlobeCore.IGlobe) Dim agAnimationUtils As ESRI.ArcGIS.Animation.IAGAnimationUtils = New ESRI.ArcGIS.Animation.AGAnimationUtilsClass Dim basicScene As ESRI.ArcGIS.Analyst3D.IBasicScene2 = CType(globe, ESRI.ArcGIS.Analyst3D.IBasicScene2) ' Explicit Cast Dim AGAnimationEnvironment As ESRI.ArcGIS.Animation.IAGAnimationEnvironment = basicScene.AnimationExtension.AnimationEnvironment ' Get the layers in the Globe Dim scene As ESRI.ArcGIS.Analyst3D.IScene = CType(globe, ESRI.ArcGIS.Analyst3D.IScene) ' Explicit Cast Dim enumLayer As ESRI.ArcGIS.Carto.IEnumLayer = scene.Layers(Nothing, False) Dim layer As ESRI.ArcGIS.Carto.ILayer = enumLayer.Next Dim array As ESRI.ArcGIS.esriSystem.IArray = New ESRI.ArcGIS.esriSystem.ArrayClass Do array.Add(layer) layer = enumLayer.Next Loop While Not (layer Is Nothing) ' Set the Group AnimationOptions Dim agGroupAnimationOptions As ESRI.ArcGIS.Animation.IAGGroupAnimationOptions = New ESRI.ArcGIS.Animation.AGGroupAnimationOptionsClass Dim AGAnimationTracks As ESRI.ArcGIS.Animation.IAGAnimationTracks = basicScene.AnimationExtension.AnimationTracks agGroupAnimationOptions.AnimationEnvironment = AGAnimationEnvironment agGroupAnimationOptions.LayerSet = array agGroupAnimationOptions.AnimationTracks = AGAnimationTracks agGroupAnimationOptions.Blending = True agGroupAnimationOptions.CycleAnimation = True agGroupAnimationOptions.FadingPercentage = 20 agGroupAnimationOptions.OverwriteExisting = True agGroupAnimationOptions.PutTrackInterval(0, 1) agGroupAnimationOptions.PutVisibilitySettings(False, False, False) Dim AGAnimationContainer As ESRI.ArcGIS.Animation.IAGAnimationContainer = CType(globe, ESRI.ArcGIS.Animation.IAGAnimationContainer) ' Explicit Cast agAnimationUtils.CreateLayerGroupAnimation(AGAnimationContainer, agGroupAnimationOptions) End Sub