下面是闪烁相关的几个函数
''' <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
posted on 2008-04-09 08:29
王者之魂 阅读(72)
评论(0) 编辑 收藏