Help! Люди, кто понимает ArcGis подскажите пожалуйста, такому чайнику как я как быть.
Дано задание Fading Animation. А что это, куда писать, как связать с программой не знаю.
Единственное, что нашла по теме это вот -
Description:This example demonstrates how to read and modify the transparency of a layer. The fading out of a layer in the current scene is animated by adjusting its transparency setting. Starting with the current transparency value, the symbols in the layer are recorded with increasing values towards 100, which represents full transparency.
The layer itself is then updated with the resulting transparency value so that it is consistent with the Layer Properties | Display tab value.
How to use:
- Paste the code into VBA.
- Add a drawable layer into ArcScene.
- Run the macro.
Public Sub
FadingAnimation()
' get first layer
Dim
g_pDoc As
ISxDocument
Set
g_pDoc = ThisDocument
Dim
pScene As
IScene
Set
pScene = g_pDoc.Scene
Dim
layerCount As Integer
layerCount = pScene.layerCount
Dim
pLayer As
ILayer
Set
pLayer = pScene.Layer(0)
If
(pLayer Is Nothing
) Then
Exit Sub
End If
' get extension with 3D properties
Dim
pLayerExts As
ILayerExtensions
Set
pLayerExts = pLayer
Dim
i As Long
For
i = 0 To
pLayerExts.ExtensionCount - 1
Dim
p3DProps As
I3DProperties
Set
p3DProps = pLayerExts.Extension(i)
If
(Not
p3DProps Is Nothing
) Then
Exit For
End If
Next
i
Dim
bLighting As Boolean
bLighting = p3DProps.Illuminate
Dim
bExtruded As Boolean
If
(p3DProps.ExtrusionType < > esriExtrusionNone) Then
bExtruded = True
Else
bExtruded = False
End If
' get layer's symbols in scene graph
Dim
pSG As
ISceneGraph
Set
pSG = g_pDoc.Scene.SceneGraph
Dim
pSymArray As
IArray
Dim
pDisplayListIDs As
ILongArray
pSG.GetOwnerSymbols pLayer, pSymArray, pDisplayListIDs
' read (and activate) layer's transparency
Dim
currentTransp As Long
pSG.GetOwnerTransparency pLayer, currentTransp
If
(currentTransp = 0) Then
pSG.SetOwnerTransparencyState pLayer, True
End If
' fading animation
Dim
transp As Integer
For
transp = currentTransp To
100 ' transparency value loop
Dim
pSym As
ISymbol
Dim
listID As Long
Dim
nSyms As Long
Dim
s As Long
nSyms = pSymArray.Count
For
s = 0 To
nSyms - 1 ' symbol recording loop
Set
pSym = pSymArray.Element(s)
listID = pDisplayListIDs.Element(s)
pSG.RecordSymbol pSym, listID, bExtruded, bLighting, transp, False
Next
s
pSG.RefreshViewers
Next
transp
' set the layer as completely transparent, for consistency
If TypeOf
pLayer Is
IDisplayFilterManager Then
Dim
pDLManager As
IDisplayFilterManager
Set
pDLManager = pLayer
If
(Not
pDLManager Is Nothing
) Then
Dim
pDisplayFilter As
ITransparencyDisplayFilter
Set
pDisplayFilter = New
TransparencyDisplayFilter
pDisplayFilter.Transparency = 255
pDLManager.DisplayFilter = pDisplayFilter
End If
End If
If TypeOf
pLayer Is
ILayerEffects Then
Dim
pLayerEffects As
ILayerEffects
Set
pLayerEffects = pLayer
pLayerEffects.Transparency = 100
End If
End Sub
Теперь, я как понимаю надо это перевести на Си Шарп,
а что дальше? Как сделать, чтобы что-то заработало? Может
<