![]() |
This document is archived and information here might be outdated. Recommended version. |
Creates a group layer animation using all the layers present in the globe.
///<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);
}
'''<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