【IT168技术文档】
下面是闪烁相关的几个函数
''' <summary> ''' 闪烁scene中选中的feature ''' </summary> ''' <param name="pOwner">图层</param> ''' <param name="pObject">feature</param> ''' <param name="pSceneGraph">Scene中的场景</param> ''' <remarks></remarks> Public Shared Sub FlashGeometry(ByVal pOwner As Object, ByVal pObject As IFeature, ByVal pSceneGraph As ISceneGraph) If Not pObject Is Nothing Then ''闪烁代码, 有效果 Dim pDisplay3D As IDisplay3D = pSceneGraph Dim pSR As ISpatialReference = pSceneGraph.Scene.SpatialReference pObject.Shape.SpatialReference = pSR pDisplay3D.FlashGeometry(pOwner, pObject.Shape) End If End Sub ''' <summary> ''' 闪烁scene中选中的element ''' </summary> ''' <param name="pOwner">图层</param> ''' <param name="pObject">element</param> ''' <param name="pSceneGraph">Scene中的场景</param> ''' <remarks></remarks> Public Shared Sub FlashGeometry(ByVal pOwner As Object, ByVal pObject As IElement, ByVal pSceneGraph As ISceneGraph) If Not pObject Is Nothing Then ''闪烁代码, 有效果 Dim pDisplay3D As IDisplay3D = pSceneGraph Dim pSR As ISpatialReference = pSceneGraph.Scene.SpatialReference pObject.Geometry.SpatialReference = pSR pDisplay3D.FlashGeometry(pOwner, pObject.Geometry) End If End Sub ''' <summary> ''' 闪烁scene中选中的feature集合 ''' </summary> ''' <param name="pGeometrys">所闪烁的几何体</param> ''' <param name="pSceneGraph">Scene中的场景</param> ''' <remarks></remarks> Public Shared Sub FlashGeometry(ByVal pGeometrys As List(Of IGeometry), ByVal pSceneGraph As ISceneGraph) If Not pGeometrys.Count = 0 Then ''闪烁代码, 有效果 Dim pDisplay3D As IDisplay3D = pSceneGraph Dim pSR As ISpatialReference = pSceneGraph.Scene.SpatialReference For i As Integer = 0 To pGeometrys.Count - 1 pGeometrys(i).SpatialReference = pSR pDisplay3D.AddFlashFeature(pGeometrys(i)) Next pDisplay3D.FlashFeatures() End If End Sub ''' <summary> ''' 闪烁scene中选中的feature ''' </summary> ''' <param name="pGeometry">所闪烁的几何体</param> ''' <param name="pSceneGraph">Scene中的场景</param> ''' <remarks></remarks> Public Shared Sub FlashGeometry(ByVal pGeometry As IGeometry, ByVal pSceneGraph As ISceneGraph) If Not pGeometry Is Nothing Then Dim pDisplay3D As IDisplay3D = pSceneGraph Dim pSR As ISpatialReference = pSceneGraph.Scene.SpatialReference pGeometry.SpatialReference = pSR pDisplay3D.AddFlashFeature(pGeometry) pDisplay3D.FlashFeatures() End If End Sub ''' <summary> ''' 闪烁Scene中的location,即点 ''' </summary> ''' <param name="pPoint">闪烁的点</param> ''' <param name="pSceneGraph">Scene的场景</param> ''' <remarks></remarks> Public Shared Sub FlashLocation(ByVal pPoint As IPoint, ByVal pSceneGraph As ISceneGraph) If Not pPoint Is Nothing Then Dim pDisplay3D As IDisplay3D = pSceneGraph Dim pSR As ISpatialReference = pSceneGraph.Scene.SpatialReference pPoint.SpatialReference = pSR pDisplay3D.FlashLocation(pPoint) End If End Sub