Calling IGlobeDisplayLayers::RefreshLayer on a layer that is draped on to globe in ArcGlobe hangs the application.
Last Published: August 25, 2014No Product Found
Bug ID Number
NIM004546
Submitted
October 2, 2006
Last Modified
June 5, 2024
Applies to
No Product Found
Version found
9.2 RC
Status
Known Limit
After review by the development team, it has been determined that this issue is related to a known limitation with the software that lies outside of Esri's control. The issue's Additional Information section may contain further explanation.
Additional Information
No Public Explanation
Workaround
We can reproduce the issue here, but the problem really relates to the order of the workflow.The code works fine if:1. Before calling “updateFeatureLayerProperties” a call to IGlobeDisplayLayers.RefreshLayer is made. In this case the code will look something like://Add the layer to globe as draped_globe.AddLayerType((ILayer)fLayer, esriGlobeLayerType.esriGlobeLayerTypeDraped, true);//Add a feature to the feature class addDrawing(System.Drawing.Color.Red, 10, fLayer);//Refresh the layer since the source feature class has changedIGlobeDisplayLayers gd = _globe.GlobeDisplay as IGlobeDisplayLayers; gd.RefreshLayer(fLayer as ILayer);//Apply globe layer properties updateFeatureLayerProperties(fLayer);//Now refreshing the layer with call to IGlobeDisplayLayers.RefreshLayer via the second command button on the user’s custom toolbar works fine2. OR if “updateFeatureLayerProperties” is called before adding a feature to the feature class. In this case the code will be a simple rearrangement of the original lines of code://Add the layer to globe as draped_globe.AddLayerType((ILayer)fLayer, esriGlobeLayerType.esriGlobeLayerTypeDraped, true);//Apply globe layer properties updateFeatureLayerProperties(fLayer);//Add a feature to the feature class addDrawing(System.Drawing.Color.Red, 10, fLayer);//Now refreshing the layer with call to IGlobeDisplayLayers.RefreshLayer via the second command button on the user’s custom toolbar works fine