esri3DAnalyst.tlh
上传用户:juying163
上传日期:2014-09-24
资源大小:5867k
文件大小:116k
源码类别:

GIS编程

开发平台:

Visual C++

  1. // Created by Microsoft (R) C/C++ Compiler Version 12.00.9782.0 (d1789b1d).
  2. //
  3. // esri3DAnalyst.tlh
  4. //
  5. // C++ source equivalent of Win32 type library d:/Program Files/ArcGis/com/esri3DAnalyst.olb
  6. // compiler-generated file created 01/08/07 at 20:58:34 - DO NOT EDIT!
  7. //
  8. // Cross-referenced type libraries:
  9. //
  10. //  #import "D:Program FilesArcGIScomesriGeometry.olb"
  11. //  #import "D:Program FilesArcGIScomesriCarto.olb"
  12. //  #import "D:Program FilesArcGIScomesriSystem.olb"
  13. //  #import "D:Program FilesArcGIScomesriGeoDatabase.olb"
  14. //  #import "D:Program FilesArcGIScomesriDisplay.olb"
  15. //  #import "D:Program FilesArcGIScomesriDataSourcesRaster.olb"
  16. //
  17. #pragma once
  18. #pragma pack(push, 8)
  19. #include <comdef.h>
  20. //
  21. // Forward references and typedefs
  22. //
  23. struct __declspec(uuid("787f54e2-ba26-11d2-92f8-44d1f8c00000"))
  24. /* interface */ IScene;
  25. struct __declspec(uuid("37576410-c469-11d2-b1da-00c04fa33d14"))
  26. /* interface */ ISceneGraph;
  27. struct __declspec(uuid("cb6f53c2-c46b-11d2-b1da-00c04fa33d14"))
  28. /* interface */ ISceneRenderer;
  29. struct __declspec(uuid("bc6f44cc-21e8-11d4-a383-00c04f6bc619"))
  30. /* interface */ I3DProperties;
  31. struct __declspec(uuid("03485a91-59d0-11d3-8172-0080c7597e71"))
  32. /* interface */ ISceneViewer;
  33. struct __declspec(uuid("b3fa596f-ada3-11d2-9fae-00c04f8ece3d"))
  34. /* interface */ ICamera;
  35. struct __declspec(uuid("768d13f2-9a2d-11d4-b270-00508bcdde28"))
  36. /* interface */ IHit3DSet;
  37. struct __declspec(uuid("bbf1af30-a6ec-11d5-b2a0-00508bcdde28"))
  38. /* interface */ IAnimationType;
  39. struct __declspec(uuid("767c9b53-5a8e-11d5-b295-00508bcdde28"))
  40. /* interface */ IKeyframe;
  41. struct __declspec(uuid("bd3c7aad-a869-11d5-b2a0-00508bcdde28"))
  42. /* interface */ IBookmarkToKeyframe;
  43. struct __declspec(uuid("bbf1af31-a6ec-11d5-b2a0-00508bcdde28"))
  44. /* interface */ IAnimationTrack;
  45. struct /* coclass */ AnimationTrack;
  46. struct /* coclass */ LayerKeyframe;
  47. struct /* coclass */ SceneKeyframe;
  48. struct /* coclass */ AnimationTypeCamera;
  49. struct /* coclass */ AnimationTypeLayer;
  50. struct /* coclass */ AnimationTypeScene;
  51. struct __declspec(uuid("a4c0b647-82ad-11d5-b29b-00508bcdde28"))
  52. /* interface */ ISxAnimationEnvironment;
  53. struct __declspec(uuid("f406fe81-1101-47eb-9a45-5c4f64b9a0f0"))
  54. /* interface */ ISxAnimationEnvironment2;
  55. struct /* coclass */ SxAnimationEnvironment;
  56. struct __declspec(uuid("44e9928e-bf72-4838-b956-2940d0564f3f"))
  57. /* interface */ ICamera2;
  58. struct __declspec(uuid("1a8927bc-9f9a-44ba-a921-3c3ac1aa476c"))
  59. /* interface */ IStereoCamera;
  60. struct /* coclass */ Camera;
  61. struct __declspec(uuid("bcdb3324-9afa-11d5-b29f-00508bcdde28"))
  62. /* interface */ IBookmark3D;
  63. struct /* coclass */ Bookmark3D;
  64. struct __declspec(uuid("4d8ca7d2-0aaa-4502-adc7-0388051c5f5c"))
  65. /* interface */ IViewers3D;
  66. struct __declspec(uuid("ec4e4b1c-5a64-499d-a475-bc2ddc237838"))
  67. /* interface */ IBasicScene;
  68. struct __declspec(uuid("ef879196-01de-11d4-ab69-0008c73fd50c"))
  69. /* interface */ IGraphicsContainer3D;
  70. struct __declspec(uuid("79103a54-1e53-11d4-a109-00c04f8ece27"))
  71. /* interface */ IGraphicsSelection;
  72. struct __declspec(uuid("bcdb3325-9afa-11d5-b29f-00508bcdde28"))
  73. /* interface */ ISceneBookmarks;
  74. struct __declspec(uuid("fa3dba5b-a879-11d5-b2a0-00508bcdde28"))
  75. /* interface */ IAnimationTracks;
  76. struct /* coclass */ Scene;
  77. struct /* coclass */ GraphicsLayer3D;
  78. struct __declspec(uuid("bbc7c2e8-1fb3-11d4-ab72-0008c73fd50c"))
  79. /* interface */ ISceneRendererEvents;
  80. struct __declspec(uuid("4a4cece5-f53a-11d3-80d9-00c04fa0adf8"))
  81. /* interface */ IFeature3DProperties;
  82. struct __declspec(uuid("ff699cbe-9340-4724-9b4c-f88979314bc0"))
  83. /* interface */ IFeature3DProperties2;
  84. struct __declspec(uuid("3c957f4d-2120-11d4-a383-00c04f6bc619"))
  85. /* interface */ IExpression;
  86. struct /* coclass */ Basic3DProperties;
  87. struct /* coclass */ Tin3DProperties;
  88. struct /* coclass */ Raster3DProperties;
  89. struct /* coclass */ Feature3DProperties;
  90. struct __declspec(uuid("3044c30e-37d0-11d4-a167-444553547777"))
  91. /* interface */ IVRMLExporter;
  92. struct __declspec(uuid("bd62a8fa-8833-11d4-ab87-0008c73fd50c"))
  93. /* interface */ IMessageDispatcher;
  94. struct __declspec(uuid("f7873924-9a19-11d4-b270-00508bcdde28"))
  95. /* interface */ IHit3D;
  96. struct __declspec(uuid("1d1c669a-13de-11d4-80df-00c04fa0adf8"))
  97. /* interface */ ISceneGraphEvents;
  98. struct __declspec(uuid("1d1c669b-13de-11d4-80df-00c04fa0adf8"))
  99. /* interface */ ISceneGraphEventsDisp;
  100. struct /* coclass */ SceneGraph;
  101. struct /* coclass */ SceneGraphEvents;
  102. struct /* coclass */ MessageDispatcher;
  103. struct /* coclass */ Hit3D;
  104. struct /* coclass */ Hit3DSet;
  105. struct __declspec(uuid("0aa361c1-06a2-11d5-9163-0080c7074326"))
  106. /* interface */ ILayerRenderers;
  107. struct __declspec(uuid("ea6581ec-082d-435c-8f73-b4161ca06f20"))
  108. /* interface */ I3DViewer;
  109. struct __declspec(uuid("3455fdb6-ee56-455e-a44e-28a0c76d3196"))
  110. /* interface */ IRasterSurface;
  111. struct /* coclass */ RasterSurface;
  112. struct __declspec(uuid("3044c30b-37d0-11d4-a167-444553547777"))
  113. /* interface */ ISceneExporter3d;
  114. struct /* coclass */ VRMLExporter;
  115. struct __declspec(uuid("4251ba07-9106-11d5-b29f-00508bcdde28"))
  116. /* interface */ ISceneVideoExporter;
  117. struct __declspec(uuid("26eb3a30-9e6d-443c-b904-79b16c5028aa"))
  118. /* interface */ IVideoExporterProperties;
  119. struct __declspec(uuid("4251ba08-9106-11d5-b29f-00508bcdde28"))
  120. /* interface */ IAVIExporter;
  121. struct __declspec(uuid("206fda1e-5622-4189-9f9a-486cd52e3457"))
  122. /* interface */ IQuickTimeExporter;
  123. struct /* coclass */ AVIExporter;
  124. struct /* coclass */ QuickTimeExporter;
  125. struct __declspec(uuid("95e48b87-336e-4062-9b68-eb8ec9177ab8"))
  126. /* interface */ IImport3DFile;
  127. struct __declspec(uuid("e9f95f61-2bec-11d6-a4cd-444553547777"))
  128. /* interface */ IGeometryMaterial;
  129. struct __declspec(uuid("b7685a34-2bc8-11d6-a4cc-444553547777"))
  130. /* interface */ IGeometryMaterialList;
  131. struct __declspec(uuid("821003c1-2c6b-11d6-a4ce-444553547777"))
  132. /* interface */ IGeneralMultiPatchCreator;
  133. struct __declspec(uuid("773f7276-aefb-11d5-8112-00c04fa0adf8"))
  134. /* interface */ IMarker3DPlacement;
  135. struct __declspec(uuid("773f726f-aefb-11d5-8112-00c04fa0adf8"))
  136. /* interface */ ISimpleMarker3DSymbol;
  137. struct __declspec(uuid("773f7272-aefb-11d5-8112-00c04fa0adf8"))
  138. /* interface */ IMarker3DSymbol;
  139. struct __declspec(uuid("6e8ec8f8-e90a-11d5-a129-00508bd60cb9"))
  140. /* interface */ ICharacterMarker3DSymbol;
  141. struct __declspec(uuid("470b7273-3552-11d6-a12d-00508bd60cb9"))
  142. /* interface */ ILine3DPlacement;
  143. struct __declspec(uuid("470b7274-3552-11d6-a12d-00508bd60cb9"))
  144. /* interface */ ISimpleLine3DSymbol;
  145. struct __declspec(uuid("3f6d8301-5a5a-4b84-969f-433af07ee1a3"))
  146. /* interface */ ITextureFillSymbol;
  147. struct __declspec(uuid("d47a4da5-6d42-11d6-a13e-00508bd60cb9"))
  148. /* interface */ ITextureLineSymbol;
  149. struct /* coclass */ SimpleMarker3DSymbol;
  150. struct /* coclass */ Marker3DSymbol;
  151. struct /* coclass */ CharacterMarker3DSymbol;
  152. struct /* coclass */ SimpleLine3DSymbol;
  153. struct /* coclass */ TextureFillSymbol;
  154. struct /* coclass */ TextureLineSymbol;
  155. struct /* coclass */ Import3DFile;
  156. struct /* coclass */ GeometryMaterial;
  157. struct /* coclass */ GeometryMaterialList;
  158. struct /* coclass */ GeneralMultiPatchCreator;
  159. struct /* coclass */ Controls3DAnalystSteepestPathTool;
  160. struct /* coclass */ Controls3DAnalystContourTool;
  161. struct /* coclass */ ControlsSceneExpandFOVCommand;
  162. struct /* coclass */ ControlsSceneFlyTool;
  163. struct /* coclass */ ControlsSceneFullExtentCommand;
  164. struct /* coclass */ ControlsSceneNarrowFOVCommand;
  165. struct /* coclass */ ControlsSceneNavigateTool;
  166. struct /* coclass */ ControlsScenePanTool;
  167. struct /* coclass */ ControlsSceneSelectFeaturesTool;
  168. struct /* coclass */ ControlsSceneSelectGraphicsTool;
  169. struct /* coclass */ ControlsSceneSetObserverTool;
  170. struct /* coclass */ ControlsSceneTargetCenterTool;
  171. struct /* coclass */ ControlsSceneTargetZoomTool;
  172. struct /* coclass */ ControlsSceneZoomInTool;
  173. struct /* coclass */ ControlsSceneZoomInOutTool;
  174. struct /* coclass */ ControlsSceneZoomOutTool;
  175. struct /* coclass */ ControlsSceneOpenDocCommand;
  176. struct /* coclass */ ControlsSceneSceneToolbar;
  177. struct __declspec(uuid("aa4f27cf-0c2b-44d3-9531-5d1d48cbf3e4"))
  178. /* interface */ ISceneCommandHook;
  179. struct __declspec(uuid("142dce00-0dd2-4761-b639-5fc7af74fa1b"))
  180. /* interface */ ISceneHookHelper;
  181. struct /* coclass */ SceneHookHelper;
  182. //
  183. // Smart pointer typedef declarations
  184. //
  185. _COM_SMARTPTR_TYPEDEF(IScene, __uuidof(IScene));
  186. _COM_SMARTPTR_TYPEDEF(ISceneGraph, __uuidof(ISceneGraph));
  187. _COM_SMARTPTR_TYPEDEF(ISceneRenderer, __uuidof(ISceneRenderer));
  188. _COM_SMARTPTR_TYPEDEF(I3DProperties, __uuidof(I3DProperties));
  189. _COM_SMARTPTR_TYPEDEF(ISceneViewer, __uuidof(ISceneViewer));
  190. _COM_SMARTPTR_TYPEDEF(ICamera, __uuidof(ICamera));
  191. _COM_SMARTPTR_TYPEDEF(IHit3DSet, __uuidof(IHit3DSet));
  192. _COM_SMARTPTR_TYPEDEF(IAnimationType, __uuidof(IAnimationType));
  193. _COM_SMARTPTR_TYPEDEF(IKeyframe, __uuidof(IKeyframe));
  194. _COM_SMARTPTR_TYPEDEF(IBookmarkToKeyframe, __uuidof(IBookmarkToKeyframe));
  195. _COM_SMARTPTR_TYPEDEF(IAnimationTrack, __uuidof(IAnimationTrack));
  196. _COM_SMARTPTR_TYPEDEF(ISxAnimationEnvironment, __uuidof(ISxAnimationEnvironment));
  197. _COM_SMARTPTR_TYPEDEF(ISxAnimationEnvironment2, __uuidof(ISxAnimationEnvironment2));
  198. _COM_SMARTPTR_TYPEDEF(ICamera2, __uuidof(ICamera2));
  199. _COM_SMARTPTR_TYPEDEF(IStereoCamera, __uuidof(IStereoCamera));
  200. _COM_SMARTPTR_TYPEDEF(IBookmark3D, __uuidof(IBookmark3D));
  201. _COM_SMARTPTR_TYPEDEF(IViewers3D, __uuidof(IViewers3D));
  202. _COM_SMARTPTR_TYPEDEF(IBasicScene, __uuidof(IBasicScene));
  203. _COM_SMARTPTR_TYPEDEF(IGraphicsContainer3D, __uuidof(IGraphicsContainer3D));
  204. _COM_SMARTPTR_TYPEDEF(IGraphicsSelection, __uuidof(IGraphicsSelection));
  205. _COM_SMARTPTR_TYPEDEF(ISceneBookmarks, __uuidof(ISceneBookmarks));
  206. _COM_SMARTPTR_TYPEDEF(IAnimationTracks, __uuidof(IAnimationTracks));
  207. _COM_SMARTPTR_TYPEDEF(ISceneRendererEvents, __uuidof(ISceneRendererEvents));
  208. _COM_SMARTPTR_TYPEDEF(IFeature3DProperties, __uuidof(IFeature3DProperties));
  209. _COM_SMARTPTR_TYPEDEF(IFeature3DProperties2, __uuidof(IFeature3DProperties2));
  210. _COM_SMARTPTR_TYPEDEF(IExpression, __uuidof(IExpression));
  211. _COM_SMARTPTR_TYPEDEF(IVRMLExporter, __uuidof(IVRMLExporter));
  212. _COM_SMARTPTR_TYPEDEF(IMessageDispatcher, __uuidof(IMessageDispatcher));
  213. _COM_SMARTPTR_TYPEDEF(IHit3D, __uuidof(IHit3D));
  214. _COM_SMARTPTR_TYPEDEF(ISceneGraphEvents, __uuidof(ISceneGraphEvents));
  215. _COM_SMARTPTR_TYPEDEF(ISceneGraphEventsDisp, __uuidof(ISceneGraphEventsDisp));
  216. _COM_SMARTPTR_TYPEDEF(ILayerRenderers, __uuidof(ILayerRenderers));
  217. _COM_SMARTPTR_TYPEDEF(I3DViewer, __uuidof(I3DViewer));
  218. _COM_SMARTPTR_TYPEDEF(IRasterSurface, __uuidof(IRasterSurface));
  219. _COM_SMARTPTR_TYPEDEF(ISceneExporter3d, __uuidof(ISceneExporter3d));
  220. _COM_SMARTPTR_TYPEDEF(ISceneVideoExporter, __uuidof(ISceneVideoExporter));
  221. _COM_SMARTPTR_TYPEDEF(IVideoExporterProperties, __uuidof(IVideoExporterProperties));
  222. _COM_SMARTPTR_TYPEDEF(IAVIExporter, __uuidof(IAVIExporter));
  223. _COM_SMARTPTR_TYPEDEF(IQuickTimeExporter, __uuidof(IQuickTimeExporter));
  224. _COM_SMARTPTR_TYPEDEF(IImport3DFile, __uuidof(IImport3DFile));
  225. _COM_SMARTPTR_TYPEDEF(IGeometryMaterial, __uuidof(IGeometryMaterial));
  226. _COM_SMARTPTR_TYPEDEF(IGeometryMaterialList, __uuidof(IGeometryMaterialList));
  227. _COM_SMARTPTR_TYPEDEF(IGeneralMultiPatchCreator, __uuidof(IGeneralMultiPatchCreator));
  228. _COM_SMARTPTR_TYPEDEF(IMarker3DPlacement, __uuidof(IMarker3DPlacement));
  229. _COM_SMARTPTR_TYPEDEF(ISimpleMarker3DSymbol, __uuidof(ISimpleMarker3DSymbol));
  230. _COM_SMARTPTR_TYPEDEF(IMarker3DSymbol, __uuidof(IMarker3DSymbol));
  231. _COM_SMARTPTR_TYPEDEF(ICharacterMarker3DSymbol, __uuidof(ICharacterMarker3DSymbol));
  232. _COM_SMARTPTR_TYPEDEF(ILine3DPlacement, __uuidof(ILine3DPlacement));
  233. _COM_SMARTPTR_TYPEDEF(ISimpleLine3DSymbol, __uuidof(ISimpleLine3DSymbol));
  234. _COM_SMARTPTR_TYPEDEF(ITextureFillSymbol, __uuidof(ITextureFillSymbol));
  235. _COM_SMARTPTR_TYPEDEF(ITextureLineSymbol, __uuidof(ITextureLineSymbol));
  236. _COM_SMARTPTR_TYPEDEF(ISceneCommandHook, __uuidof(ISceneCommandHook));
  237. _COM_SMARTPTR_TYPEDEF(ISceneHookHelper, __uuidof(ISceneHookHelper));
  238. //
  239. // Type library items
  240. //
  241. enum esriAnimationPropertyType
  242. {
  243.     esriAnimationPropertyInt = 1,
  244.     esriAnimationPropertyLong = 2,
  245.     esriAnimationPropertyDouble = 3,
  246.     esriAnimationPropertyBoolean = 4,
  247.     esriAnimationPropertyPoint = 5,
  248.     esriAnimationPropertyExtent = 6,
  249.     esriAnimationPropertyRGBColor = 7
  250. };
  251. struct __declspec(uuid("787f54e2-ba26-11d2-92f8-44d1f8c00000"))
  252. IScene : IUnknown
  253. {
  254.     //
  255.     // Raw methods provided by interface
  256.     //
  257.     virtual HRESULT __stdcall get_Extent (
  258.         struct IEnvelope * * pExtent ) = 0;
  259.     virtual HRESULT __stdcall SuggestExaggerationFactor (
  260.         double aspectRatio,
  261.         double * ExaggerationFactor ) = 0;
  262.     virtual HRESULT __stdcall get_ExaggerationFactor (
  263.         double * ExaggerationFactor ) = 0;
  264.     virtual HRESULT __stdcall put_ExaggerationFactor (
  265.         double ExaggerationFactor ) = 0;
  266.     virtual HRESULT __stdcall Applies (
  267.         IUnknown * Object,
  268.         VARIANT_BOOL * Applies ) = 0;
  269.     virtual HRESULT __stdcall get_Name (
  270.         BSTR * Name ) = 0;
  271.     virtual HRESULT __stdcall put_Name (
  272.         BSTR Name ) = 0;
  273.     virtual HRESULT __stdcall get_Description (
  274.         BSTR * descr ) = 0;
  275.     virtual HRESULT __stdcall put_Description (
  276.         BSTR descr ) = 0;
  277.     virtual HRESULT __stdcall get_AreaOfInterest (
  278.         struct IEnvelope * * aoi ) = 0;
  279.     virtual HRESULT __stdcall put_AreaOfInterest (
  280.         struct IEnvelope * aoi ) = 0;
  281.     virtual HRESULT __stdcall get_LayerCount (
  282.         long * pcLayers ) = 0;
  283.     virtual HRESULT __stdcall get_Layer (
  284.         long index,
  285.         struct ILayer * * ppLayer ) = 0;
  286.     virtual HRESULT __stdcall get_Layers (
  287.         struct IUID * uid,
  288.         VARIANT_BOOL recursive,
  289.         struct IEnumLayer * * Layers ) = 0;
  290.     virtual HRESULT __stdcall AddLayer (
  291.         struct ILayer * pLayer,
  292.         VARIANT_BOOL autoArrange ) = 0;
  293.     virtual HRESULT __stdcall AddLayers (
  294.         struct IEnumLayer * Layers,
  295.         VARIANT_BOOL autoArrange ) = 0;
  296.     virtual HRESULT __stdcall DeleteLayer (
  297.         struct ILayer * Layer ) = 0;
  298.     virtual HRESULT __stdcall MoveLayer (
  299.         struct ILayer * Layer,
  300.         long toIndex ) = 0;
  301.     virtual HRESULT __stdcall ClearLayers ( ) = 0;
  302.     virtual HRESULT __stdcall get_SpatialReference (
  303.         struct ISpatialReference * * spatialRef ) = 0;
  304.     virtual HRESULT __stdcall putref_SpatialReference (
  305.         struct ISpatialReference * spatialRef ) = 0;
  306.     virtual HRESULT __stdcall ProposeSpatialReference (
  307.         struct ISpatialReference * pProposedSR,
  308.         VARIANT_BOOL * pbChanged ) = 0;
  309.     virtual HRESULT __stdcall get_BasicGraphicsLayer (
  310.         struct IGraphicsLayer * * ppLayer ) = 0;
  311.     virtual HRESULT __stdcall get_ActiveGraphicsLayer (
  312.         struct ILayer * * ppLayer ) = 0;
  313.     virtual HRESULT __stdcall putref_ActiveGraphicsLayer (
  314.         struct ILayer * ppLayer ) = 0;
  315.     virtual HRESULT __stdcall DelayEvents (
  316.         VARIANT_BOOL delay ) = 0;
  317.     virtual HRESULT __stdcall get_SelectionCount (
  318.         long * Count ) = 0;
  319.     virtual HRESULT __stdcall SelectFeature (
  320.         struct ILayer * Layer,
  321.         struct IFeature * pFeature ) = 0;
  322.     virtual HRESULT __stdcall ClearSelection ( ) = 0;
  323.     virtual HRESULT __stdcall get_FeatureSelection (
  324.         struct ISelection * * selection ) = 0;
  325.     virtual HRESULT __stdcall putref_FeatureSelection (
  326.         struct ISelection * selection ) = 0;
  327.     virtual HRESULT __stdcall SelectByShape (
  328.         struct IGeometry * Shape,
  329.         struct ISelectionEnvironment * env,
  330.         VARIANT_BOOL justOne ) = 0;
  331.     virtual HRESULT __stdcall RecalculateExtent ( ) = 0;
  332.     virtual HRESULT __stdcall get_SceneGraph (
  333.         struct ISceneGraph * * ppSceneGraph ) = 0;
  334.     virtual HRESULT __stdcall SetDefaultBackgroundColor (
  335.         float red,
  336.         float green,
  337.         float blue ) = 0;
  338.     virtual HRESULT __stdcall GetDefaultBackgroundColor (
  339.         float * red,
  340.         float * green,
  341.         float * blue ) = 0;
  342. };
  343. struct __declspec(uuid("37576410-c469-11d2-b1da-00c04fa33d14"))
  344. ISceneGraph : IUnknown
  345. {
  346.     //
  347.     // Raw methods provided by interface
  348.     //
  349.     virtual HRESULT __stdcall get_Scene (
  350.         struct IScene * * pVal ) = 0;
  351.     virtual HRESULT __stdcall putref_Scene (
  352.         struct IScene * pVal ) = 0;
  353.     virtual HRESULT __stdcall get_IsEmpty (
  354.         VARIANT_BOOL * bIsEmpty ) = 0;
  355.     virtual HRESULT __stdcall AddSimpleGraphics (
  356.         struct ISceneRenderer * pRecorder ) = 0;
  357.     virtual HRESULT __stdcall AddSimpleActor (
  358.         struct ISceneRenderer * pRecorder,
  359.         struct IGeoDataset * pGeoDataset ) = 0;
  360.     virtual HRESULT __stdcall BeginCompositeActor (
  361.         struct ICompositeLayer * pGroupLayer ) = 0;
  362.     virtual HRESULT __stdcall EndCompositeActor ( ) = 0;
  363.     virtual HRESULT __stdcall Remove (
  364.         IUnknown * pObject,
  365.         VARIANT_BOOL bUpdateExtent ) = 0;
  366.     virtual HRESULT __stdcall Invalidate (
  367.         IUnknown * pObject,
  368.         VARIANT_BOOL bInvalidateGeography,
  369.         VARIANT_BOOL bInvalidateSelection ) = 0;
  370.     virtual HRESULT __stdcall put_ImmediateMode (
  371.         VARIANT_BOOL pbIsAllImmediate ) = 0;
  372.     virtual HRESULT __stdcall get_ImmediateMode (
  373.         VARIANT_BOOL * pbIsAllImmediate ) = 0;
  374.     virtual HRESULT __stdcall SetOwnerVisibility (
  375.         IUnknown * pObject,
  376.         VARIANT_BOOL visible ) = 0;
  377.     virtual HRESULT __stdcall SetOwnerNavigationVisibility (
  378.         IUnknown * pObject,
  379.         VARIANT_BOOL visibleWhenNavigating,
  380.         VARIANT_BOOL visibleWhenStill ) = 0;
  381.     virtual HRESULT __stdcall SetOwnerLightingOption (
  382.         IUnknown * pObject,
  383.         VARIANT_BOOL lighting ) = 0;
  384.     virtual HRESULT __stdcall SetOwnerShadingMode (
  385.         IUnknown * pObject,
  386.         VARIANT_BOOL bIsSmooth ) = 0;
  387.     virtual HRESULT __stdcall SetOwnerDepthPriority (
  388.         IUnknown * pObject,
  389.         short depthPriority ) = 0;
  390.     virtual HRESULT __stdcall SetOwnerTimeThreshold (
  391.         IUnknown * pObject,
  392.         double timeThreshold ) = 0;
  393.     virtual HRESULT __stdcall SetOwnerImmediateMode (
  394.         IUnknown * pObject,
  395.         VARIANT_BOOL bIsLayerImmediate ) = 0;
  396.     virtual HRESULT __stdcall SetOwnerFaceCulling (
  397.         IUnknown * pObject,
  398.         enum esri3DFaceCulling cullingMode ) = 0;
  399.     virtual HRESULT __stdcall SetOwnerTransparencyState (
  400.         IUnknown * pObject,
  401.         VARIANT_BOOL bIsTransparent ) = 0;
  402.     virtual HRESULT __stdcall GetOwnerTransparency (
  403.         IUnknown * pObject,
  404.         long * pTranspPercent ) = 0;
  405.     virtual HRESULT __stdcall put_OwnerExtrusion (
  406.         IUnknown * pObject,
  407.         VARIANT_BOOL _arg2 ) = 0;
  408.     virtual HRESULT __stdcall get_Extent (
  409.         struct IEnvelope * * ppExtent ) = 0;
  410.     virtual HRESULT __stdcall get_GeographySelectionExtent (
  411.         struct IEnvelope * * ppExtent ) = 0;
  412.     virtual HRESULT __stdcall get_OwnerExtent (
  413.         IUnknown * pOwner,
  414.         VARIANT_BOOL bSelectionOnly,
  415.         struct IEnvelope * * ppExtent ) = 0;
  416.     virtual HRESULT __stdcall RegisterViewer (
  417.         struct ISceneViewer * pViewer ) = 0;
  418.     virtual HRESULT __stdcall UnregisterViewer (
  419.         struct ISceneViewer * pViewer ) = 0;
  420.     virtual HRESULT __stdcall FindViewer (
  421.         BSTR Caption,
  422.         struct ISceneViewer * * ppViewer ) = 0;
  423.     virtual HRESULT __stdcall GetAllViewers (
  424.         struct IArray * * ppViewers ) = 0;
  425.     virtual HRESULT __stdcall putref_ActiveViewer (
  426.         struct ISceneViewer * ppViewer ) = 0;
  427.     virtual HRESULT __stdcall get_ActiveViewer (
  428.         struct ISceneViewer * * ppViewer ) = 0;
  429.     virtual HRESULT __stdcall putref_CurrentViewer (
  430.         struct ISceneViewer * ppViewer ) = 0;
  431.     virtual HRESULT __stdcall get_CurrentViewer (
  432.         struct ISceneViewer * * ppViewer ) = 0;
  433.     virtual HRESULT __stdcall ReplayFrame (
  434.         struct ICamera * Camera ) = 0;
  435.     virtual HRESULT __stdcall SetupProjection (
  436.         struct ICamera * pCamera ) = 0;
  437.     virtual HRESULT __stdcall RefreshViewers ( ) = 0;
  438.     virtual HRESULT __stdcall EnableRefresh (
  439.         VARIANT_BOOL bEnable ) = 0;
  440.     virtual HRESULT __stdcall SetBackgroundColor (
  441.         float red,
  442.         float green,
  443.         float blue ) = 0;
  444.     virtual HRESULT __stdcall GetBackgroundColor (
  445.         float * pRed,
  446.         float * pGreen,
  447.         float * pBlue ) = 0;
  448.     virtual HRESULT __stdcall putref_SelectionColor (
  449.         struct IColor * pSelectionColor ) = 0;
  450.     virtual HRESULT __stdcall get_SelectionColor (
  451.         struct IColor * * pSelectionColor ) = 0;
  452.     virtual HRESULT __stdcall get_IsNavigating (
  453.         VARIANT_BOOL * pbIsNavigating ) = 0;
  454.     virtual HRESULT __stdcall put_IsNavigating (
  455.         VARIANT_BOOL pbIsNavigating ) = 0;
  456.     virtual HRESULT __stdcall put_GestureEnabled (
  457.         VARIANT_BOOL pbEnabled ) = 0;
  458.     virtual HRESULT __stdcall get_GestureEnabled (
  459.         VARIANT_BOOL * pbEnabled ) = 0;
  460.     virtual HRESULT __stdcall Locate (
  461.         struct ISceneViewer * pViewer,
  462.         long x,
  463.         long y,
  464.         enum esriScenePickMode mode,
  465.         VARIANT_BOOL bGetTransformed,
  466.         struct IPoint * * ppPt,
  467.         IUnknown * * ppOwner,
  468.         IUnknown * * ppObject ) = 0;
  469.     virtual HRESULT __stdcall LocateMultiple (
  470.         struct ISceneViewer * pViewer,
  471.         long x,
  472.         long y,
  473.         enum esriScenePickMode mode,
  474.         VARIANT_BOOL bGetTransformed,
  475.         struct IHit3DSet * * ppHits ) = 0;
  476.     virtual HRESULT __stdcall get_VerticalExaggeration (
  477.         double * pZFactor ) = 0;
  478.     virtual HRESULT __stdcall put_VerticalExaggeration (
  479.         double pZFactor ) = 0;
  480.     virtual HRESULT __stdcall get_SunVector (
  481.         struct IVector3D * * ppSun ) = 0;
  482.     virtual HRESULT __stdcall put_SunVector (
  483.         struct IVector3D * ppSun ) = 0;
  484.     virtual HRESULT __stdcall get_Contrast (
  485.         long * pContrast ) = 0;
  486.     virtual HRESULT __stdcall put_Contrast (
  487.         long pContrast ) = 0;
  488.     virtual HRESULT __stdcall Clear (
  489.         VARIANT_BOOL bKeepBasicGraph ) = 0;
  490.     virtual HRESULT __stdcall LockViewers (
  491.         VARIANT_BOOL lock ) = 0;
  492.     virtual HRESULT __stdcall GetDrawingTimeInfo (
  493.         double * pLastFrameDuration,
  494.         double * pMeanFrameRate ) = 0;
  495.     virtual HRESULT __stdcall GetOwnerSymbols (
  496.         IUnknown * pOwner,
  497.         struct IArray * * ppSymbols,
  498.         struct ILongArray * * ppDisplayListIDs ) = 0;
  499.     virtual HRESULT __stdcall RecordSymbol (
  500.         struct ISymbol * pSymbol,
  501.         long glList,
  502.         VARIANT_BOOL bIsExtruded,
  503.         VARIANT_BOOL bLighting,
  504.         int layerTransparencyPercent,
  505.         VARIANT_BOOL bOptimizeState ) = 0;
  506.     virtual HRESULT __stdcall get_IsRecordingMessageEnabled (
  507.         VARIANT_BOOL * pbIsEnabled ) = 0;
  508.     virtual HRESULT __stdcall put_IsRecordingMessageEnabled (
  509.         VARIANT_BOOL pbIsEnabled ) = 0;
  510. };
  511. struct __declspec(uuid("cb6f53c2-c46b-11d2-b1da-00c04fa33d14"))
  512. ISceneRenderer : IUnknown
  513. {
  514.     //
  515.     // Raw methods provided by interface
  516.     //
  517.     virtual HRESULT __stdcall get_CallRecording (
  518.         VARIANT_BOOL * pbCallFlag ) = 0;
  519.     virtual HRESULT __stdcall put_CallRecording (
  520.         VARIANT_BOOL pbCallFlag ) = 0;
  521.     virtual HRESULT __stdcall StartRecording (
  522.         VARIANT_BOOL bImmediateMode ) = 0;
  523.     virtual HRESULT __stdcall Record (
  524.         struct IDisplay3D * pDisplay,
  525.         IUnknown * pGeoNode,
  526.         struct ITrackCancel * pTrackCancel ) = 0;
  527.     virtual HRESULT __stdcall get_DddProperties (
  528.         struct I3DProperties * * ppFilter ) = 0;
  529.     virtual HRESULT __stdcall putref_DddProperties (
  530.         struct I3DProperties * ppFilter ) = 0;
  531.     virtual HRESULT __stdcall Locate (
  532.         long hint,
  533.         struct IRay * pQueryRay,
  534.         VARIANT_BOOL bGetTransformed,
  535.         IUnknown * pGeoNode,
  536.         struct IPoint * * ppPoint,
  537.         IUnknown * * ppObject ) = 0;
  538.     virtual HRESULT __stdcall putref_Represents (
  539.         IUnknown * ppObject ) = 0;
  540.     virtual HRESULT __stdcall get_Represents (
  541.         IUnknown * * ppObject ) = 0;
  542.     virtual HRESULT __stdcall get_AccumulatedExtent (
  543.         struct IEnvelope * * ppExtent ) = 0;
  544.     virtual HRESULT __stdcall QueryAccumulatedExtent (
  545.         struct IEnvelope * pExtent ) = 0;
  546. };
  547. struct __declspec(uuid("bc6f44cc-21e8-11d4-a383-00c04f6bc619"))
  548. I3DProperties : IUnknown
  549. {
  550.     //
  551.     // Raw methods provided by interface
  552.     //
  553.     virtual HRESULT __stdcall get_BaseOption (
  554.         enum esriBaseOption * pBaseOption ) = 0;
  555.     virtual HRESULT __stdcall put_BaseOption (
  556.         enum esriBaseOption pBaseOption ) = 0;
  557.     virtual HRESULT __stdcall get_BaseExpressionString (
  558.         BSTR * pBaseExpression ) = 0;
  559.     virtual HRESULT __stdcall put_BaseExpressionString (
  560.         BSTR pBaseExpression ) = 0;
  561.     virtual HRESULT __stdcall get_BaseSurface (
  562.         struct IFunctionalSurface * * ppBase ) = 0;
  563.     virtual HRESULT __stdcall putref_BaseSurface (
  564.         struct IFunctionalSurface * ppBase ) = 0;
  565.     virtual HRESULT __stdcall get_BaseName (
  566.         struct IName * * Name ) = 0;
  567.     virtual HRESULT __stdcall get_ZFactor (
  568.         double * pZFactor ) = 0;
  569.     virtual HRESULT __stdcall put_ZFactor (
  570.         double pZFactor ) = 0;
  571.     virtual HRESULT __stdcall get_OffsetExpressionString (
  572.         BSTR * pOffset ) = 0;
  573.     virtual HRESULT __stdcall put_OffsetExpressionString (
  574.         BSTR pOffset ) = 0;
  575.     virtual HRESULT __stdcall get_ExtrusionType (
  576.         enum esriExtrusionType * pType ) = 0;
  577.     virtual HRESULT __stdcall put_ExtrusionType (
  578.         enum esriExtrusionType pType ) = 0;
  579.     virtual HRESULT __stdcall get_ExtrusionExpressionString (
  580.         BSTR * pExtrusion ) = 0;
  581.     virtual HRESULT __stdcall put_ExtrusionExpressionString (
  582.         BSTR pExtrusion ) = 0;
  583.     virtual HRESULT __stdcall get_RenderVisibility (
  584.         enum esriRenderVisibility * pRenderOption ) = 0;
  585.     virtual HRESULT __stdcall put_RenderVisibility (
  586.         enum esriRenderVisibility pRenderOption ) = 0;
  587.     virtual HRESULT __stdcall get_RenderRefreshRate (
  588.         double * pRefresh ) = 0;
  589.     virtual HRESULT __stdcall put_RenderRefreshRate (
  590.         double pRefresh ) = 0;
  591.     virtual HRESULT __stdcall get_Illuminate (
  592.         VARIANT_BOOL * pIlluminate ) = 0;
  593.     virtual HRESULT __stdcall put_Illuminate (
  594.         VARIANT_BOOL pIlluminate ) = 0;
  595.     virtual HRESULT __stdcall get_RenderMode (
  596.         enum esriRenderMode * pRenderMode ) = 0;
  597.     virtual HRESULT __stdcall put_RenderMode (
  598.         enum esriRenderMode pRenderMode ) = 0;
  599.     virtual HRESULT __stdcall get_SmoothShading (
  600.         VARIANT_BOOL * pbSmoothShading ) = 0;
  601.     virtual HRESULT __stdcall put_SmoothShading (
  602.         VARIANT_BOOL pbSmoothShading ) = 0;
  603.     virtual HRESULT __stdcall get_MaxTextureMemory (
  604.         long * pMaxTextureMemory ) = 0;
  605.     virtual HRESULT __stdcall put_MaxTextureMemory (
  606.         long pMaxTextureMemory ) = 0;
  607.     virtual HRESULT __stdcall get_MaxRasterColumns (
  608.         long * pMaxRasterColumns ) = 0;
  609.     virtual HRESULT __stdcall put_MaxRasterColumns (
  610.         long pMaxRasterColumns ) = 0;
  611.     virtual HRESULT __stdcall get_MaxRasterRows (
  612.         long * pMaxRasterRows ) = 0;
  613.     virtual HRESULT __stdcall put_MaxRasterRows (
  614.         long pMaxRasterRows ) = 0;
  615.     virtual HRESULT __stdcall put_DepthPriorityValue (
  616.         short DepthPriorityValue ) = 0;
  617.     virtual HRESULT __stdcall get_DepthPriorityValue (
  618.         short * DepthPriorityValue ) = 0;
  619.     virtual HRESULT __stdcall put_FaceCulling (
  620.         enum esri3DFaceCulling pCullingMode ) = 0;
  621.     virtual HRESULT __stdcall get_FaceCulling (
  622.         enum esri3DFaceCulling * pCullingMode ) = 0;
  623.     virtual HRESULT __stdcall Apply3DProperties (
  624.         IUnknown * Owner ) = 0;
  625. };
  626. enum esriBaseOption
  627. {
  628.     esriBaseExpression = 0,
  629.     esriBaseSurface = 1,
  630.     esriBaseShape = 2
  631. };
  632. enum esriExtrusionType
  633. {
  634.     esriExtrusionNone = 0,
  635.     esriExtrusionMinZ = 1,
  636.     esriExtrusionMaxZ = 2,
  637.     esriExtrusionBase = 3,
  638.     esriExtrusionAbsolute = 4
  639. };
  640. enum esriRenderVisibility
  641. {
  642.     esriRenderAlways = 0,
  643.     esriRenderWhenStopped = 1,
  644.     esriRenderWhenNavigating = 2
  645. };
  646. enum esriRenderMode
  647. {
  648.     esriRenderCache = 0,
  649.     esriRenderImmediate = 1
  650. };
  651. enum esri3DFaceCulling
  652. {
  653.     esriFaceCullingNone = 0,
  654.     esriFaceCullingFront = 1,
  655.     esriFaceCullingBack = 2
  656. };
  657. struct __declspec(uuid("03485a91-59d0-11d3-8172-0080c7597e71"))
  658. ISceneViewer : IUnknown
  659. {
  660.     //
  661.     // Raw methods provided by interface
  662.     //
  663.     virtual HRESULT __stdcall get_Caption (
  664.         BSTR * pCaption ) = 0;
  665.     virtual HRESULT __stdcall put_Caption (
  666.         BSTR pCaption ) = 0;
  667.     virtual HRESULT __stdcall get_SceneGraph (
  668.         struct ISceneGraph * * ppSceneGraph ) = 0;
  669.     virtual HRESULT __stdcall putref_SceneGraph (
  670.         struct ISceneGraph * ppSceneGraph ) = 0;
  671.     virtual HRESULT __stdcall get_Camera (
  672.         struct ICamera * * ppCamera ) = 0;
  673.     virtual HRESULT __stdcall putref_Camera (
  674.         struct ICamera * ppCamera ) = 0;
  675.     virtual HRESULT __stdcall MakeCurrent ( ) = 0;
  676.     virtual HRESULT __stdcall Redraw (
  677.         VARIANT_BOOL cameraMoved ) = 0;
  678.     virtual HRESULT __stdcall DrawToMetafile (
  679.         OLE_HANDLE hDC,
  680.         float resolutionFactor,
  681.         long left,
  682.         long top,
  683.         long right,
  684.         long bottom,
  685.         VARIANT_BOOL bOffScreen ) = 0;
  686.     virtual HRESULT __stdcall GetSnapshot (
  687.         long Width,
  688.         long height,
  689.         enum esri3DOutputImageType Type,
  690.         BSTR FileName ) = 0;
  691.     virtual HRESULT __stdcall GetScreenShot (
  692.         enum esri3DOutputImageType Type,
  693.         BSTR FileName ) = 0;
  694.     virtual HRESULT __stdcall get_hWnd (
  695.         OLE_HANDLE * pHwnd ) = 0;
  696.     virtual HRESULT __stdcall put_hWnd (
  697.         OLE_HANDLE pHwnd ) = 0;
  698.     virtual HRESULT __stdcall get_hDC (
  699.         OLE_HANDLE * pHDC ) = 0;
  700.     virtual HRESULT __stdcall put_hRC (
  701.         OLE_HANDLE pHRC ) = 0;
  702.     virtual HRESULT __stdcall get_hRC (
  703.         OLE_HANDLE * pHRC ) = 0;
  704.     virtual HRESULT __stdcall put_GestureSensitivity (
  705.         long pcPixels ) = 0;
  706.     virtual HRESULT __stdcall get_GestureSensitivity (
  707.         long * pcPixels ) = 0;
  708.     virtual HRESULT __stdcall put_GestureEnabled (
  709.         VARIANT_BOOL pbEnabled ) = 0;
  710.     virtual HRESULT __stdcall get_GestureEnabled (
  711.         VARIANT_BOOL * pbEnabled ) = 0;
  712.     virtual HRESULT __stdcall ClearGesture ( ) = 0;
  713.     virtual HRESULT __stdcall OverrideDefaultHandler ( ) = 0;
  714. };
  715. struct __declspec(uuid("b3fa596f-ada3-11d2-9fae-00c04f8ece3d"))
  716. ICamera : IUnknown
  717. {
  718.     //
  719.     // Raw methods provided by interface
  720.     //
  721.     virtual HRESULT __stdcall get_Observer (
  722.         struct IPoint * * Observer ) = 0;
  723.     virtual HRESULT __stdcall put_Observer (
  724.         struct IPoint * Observer ) = 0;
  725.     virtual HRESULT __stdcall get_Target (
  726.         struct IPoint * * Target ) = 0;
  727.     virtual HRESULT __stdcall put_Target (
  728.         struct IPoint * Target ) = 0;
  729.     virtual HRESULT __stdcall get_UpDirection (
  730.         struct IVector3D * * upVector ) = 0;
  731.     virtual HRESULT __stdcall put_UpDirection (
  732.         struct IVector3D * upVector ) = 0;
  733.     virtual HRESULT __stdcall get_ViewingDistance (
  734.         double * distance ) = 0;
  735.     virtual HRESULT __stdcall put_ViewingDistance (
  736.         double distance ) = 0;
  737.     virtual HRESULT __stdcall get_ViewFieldAngle (
  738.         double * ViewFieldAngle ) = 0;
  739.     virtual HRESULT __stdcall put_ViewFieldAngle (
  740.         double ViewFieldAngle ) = 0;
  741.     virtual HRESULT __stdcall get_RollAngle (
  742.         double * RollAngle ) = 0;
  743.     virtual HRESULT __stdcall put_RollAngle (
  744.         double RollAngle ) = 0;
  745.     virtual HRESULT __stdcall get_ProjectionType (
  746.         enum esri3DProjectionType * ProjectionType ) = 0;
  747.     virtual HRESULT __stdcall put_ProjectionType (
  748.         enum esri3DProjectionType ProjectionType ) = 0;
  749.     virtual HRESULT __stdcall get_IsUsable (
  750.         VARIANT_BOOL * IsValid ) = 0;
  751.     virtual HRESULT __stdcall get_Inclination (
  752.         double * Inclination ) = 0;
  753.     virtual HRESULT __stdcall put_Inclination (
  754.         double Inclination ) = 0;
  755.     virtual HRESULT __stdcall get_Azimuth (
  756.         double * Azimuth ) = 0;
  757.     virtual HRESULT __stdcall put_Azimuth (
  758.         double Azimuth ) = 0;
  759.     virtual HRESULT __stdcall Rotate (
  760.         double Angle ) = 0;
  761.     virtual HRESULT __stdcall PolarUpdate (
  762.         double distanceFactor,
  763.         double dAzimuth,
  764.         double dInclination,
  765.         VARIANT_BOOL bLimitInclination ) = 0;
  766.     virtual HRESULT __stdcall Apply ( ) = 0;
  767.     virtual HRESULT __stdcall SetViewport (
  768.         long x,
  769.         long y,
  770.         long Width,
  771.         long height ) = 0;
  772.     virtual HRESULT __stdcall GetViewport (
  773.         long * x,
  774.         long * y,
  775.         long * Width,
  776.         long * height ) = 0;
  777.     virtual HRESULT __stdcall SetBackgroundColor (
  778.         float red,
  779.         float green,
  780.         float blue ) = 0;
  781.     virtual HRESULT __stdcall GetBackgroundColor (
  782.         float * pRed,
  783.         float * pGreen,
  784.         float * pBlue ) = 0;
  785.     virtual HRESULT __stdcall RecalcUp ( ) = 0;
  786.     virtual HRESULT __stdcall PropertiesChanged ( ) = 0;
  787.     virtual HRESULT __stdcall SetDefaultsMBB (
  788.         struct IEnvelope * pExtent ) = 0;
  789.     virtual HRESULT __stdcall SetDefaultsSphere (
  790.         struct IPoint * pCenter,
  791.         double radius ) = 0;
  792.     virtual HRESULT __stdcall QueryViewingPlatformMBB (
  793.         struct IEnvelope * pExtent,
  794.         double * pNearPlane,
  795.         double * pFarPlane,
  796.         double * pAngle,
  797.         double * pAspect ) = 0;
  798.     virtual HRESULT __stdcall QueryViewingPlatformSphere (
  799.         struct IPoint * pCenter,
  800.         double radius,
  801.         double * pNearPlane,
  802.         double * pFarPlane,
  803.         double * pAngle,
  804.         double * pAspect ) = 0;
  805.     virtual HRESULT __stdcall QueryOrthoViewingPlatform (
  806.         struct IEnvelope * pInExtent,
  807.         struct IEnvelope * pOutExtent,
  808.         double * pScale ) = 0;
  809.     virtual HRESULT __stdcall get_OrthoViewingExtent (
  810.         struct IEnvelope * * ppVisExtent ) = 0;
  811.     virtual HRESULT __stdcall ReplayFrame (
  812.         struct ISceneGraph * pSceneGraph ) = 0;
  813.     virtual HRESULT __stdcall CanSeeMBB (
  814.         struct IEnvelope * pExtent,
  815.         VARIANT_BOOL * canSee ) = 0;
  816.     virtual HRESULT __stdcall CanSeeSphere (
  817.         struct IPoint * pCenter,
  818.         double radius,
  819.         VARIANT_BOOL * canSee ) = 0;
  820.     virtual HRESULT __stdcall QueryDistanceToMBB (
  821.         struct IEnvelope * pExtent,
  822.         double * distance ) = 0;
  823.     virtual HRESULT __stdcall QueryDistanceToSphere (
  824.         struct IPoint * pCenter,
  825.         double radius,
  826.         double * distance ) = 0;
  827.     virtual HRESULT __stdcall QueryDistanceToSphereCenter (
  828.         struct IPoint * pCenter,
  829.         double radius,
  830.         double * distance ) = 0;
  831.     virtual HRESULT __stdcall QueryIdentifyVector (
  832.         long dx,
  833.         long dy,
  834.         struct IVector3D * pIdentifyVect ) = 0;
  835.     virtual HRESULT __stdcall GetIdentifyVector (
  836.         struct IPoint * pCursor,
  837.         struct IVector3D * * result ) = 0;
  838.     virtual HRESULT __stdcall GetIdentifyRay (
  839.         long dx,
  840.         long dy,
  841.         struct IRay * * ppRay ) = 0;
  842.     virtual HRESULT __stdcall Move (
  843.         enum esriCameraMovementType direction,
  844.         double factor ) = 0;
  845.     virtual HRESULT __stdcall Pan (
  846.         struct IPoint * startPoint,
  847.         struct IPoint * endPoint ) = 0;
  848.     virtual HRESULT __stdcall LevelTargetToObs ( ) = 0;
  849.     virtual HRESULT __stdcall LevelObsToTarget ( ) = 0;
  850.     virtual HRESULT __stdcall HTurnAround (
  851.         double dAzimuth ) = 0;
  852.     virtual HRESULT __stdcall Zoom (
  853.         double ratio ) = 0;
  854.     virtual HRESULT __stdcall ZoomToRect (
  855.         struct IEnvelope * pExtent ) = 0;
  856.     virtual HRESULT __stdcall get_Scale (
  857.         double * pScale ) = 0;
  858.     virtual HRESULT __stdcall put_MultiPhaseRendering (
  859.         VARIANT_BOOL pbMultiPhase ) = 0;
  860.     virtual HRESULT __stdcall get_MultiPhaseRendering (
  861.         VARIANT_BOOL * pbMultiPhase ) = 0;
  862.     virtual HRESULT __stdcall put_VerticalExaggeration (
  863.         double _arg1 ) = 0;
  864.     virtual HRESULT __stdcall SetCoordOrigin (
  865.         double xOrig,
  866.         double yOrig,
  867.         double zOrig ) = 0;
  868. };
  869. enum esri3DProjectionType
  870. {
  871.     esriPerspectiveProjection = 1,
  872.     esriOrthoProjection = 2
  873. };
  874. enum esriCameraMovementType
  875. {
  876.     esriCameraMoveAway = 1,
  877.     esriCameraMoveToward = 2,
  878.     esriCameraMoveLeft = 3,
  879.     esriCameraMoveRight = 4,
  880.     esriCameraMoveUp = 5,
  881.     esriCameraMoveDown = 6
  882. };
  883. enum esri3DOutputImageType
  884. {
  885.     BMP = 1,
  886.     JPEG = 2
  887. };
  888. enum esriScenePickMode
  889. {
  890.     esriScenePickGeography = 1,
  891.     esriScenePickGraphics = 2,
  892.     esriScenePickAll = 3,
  893.     esriScenePickAllPlus = 4,
  894.     esriScenePickPlane = 5,
  895.     esriScenePickSphere = 6
  896. };
  897. struct __declspec(uuid("768d13f2-9a2d-11d4-b270-00508bcdde28"))
  898. IHit3DSet : IUnknown
  899. {
  900.     //
  901.     // Raw methods provided by interface
  902.     //
  903.     virtual HRESULT __stdcall putref_Hits (
  904.         struct IArray * ppHits ) = 0;
  905.     virtual HRESULT __stdcall get_Hits (
  906.         struct IArray * * ppHits ) = 0;
  907.     virtual HRESULT __stdcall Topmost (
  908.         double factor ) = 0;
  909.     virtual HRESULT __stdcall OnePerLayer ( ) = 0;
  910. };
  911. struct __declspec(uuid("bbf1af30-a6ec-11d5-b2a0-00508bcdde28"))
  912. IAnimationType : IUnknown
  913. {
  914.     //
  915.     // Raw methods provided by interface
  916.     //
  917.     virtual HRESULT __stdcall get_Name (
  918.         BSTR * Name ) = 0;
  919.     virtual HRESULT __stdcall get_CLSID (
  920.         struct IUID * * ppCLSID ) = 0;
  921.     virtual HRESULT __stdcall get_KeyframeCLSID (
  922.         struct IUID * * ppCLSID ) = 0;
  923.     virtual HRESULT __stdcall get_AppliesToObject (
  924.         VARIANT pObject,
  925.         VARIANT_BOOL * pbApplies ) = 0;
  926.     virtual HRESULT __stdcall get_PropertyCount (
  927.         long * pPropCount ) = 0;
  928.     virtual HRESULT __stdcall get_PropertyType (
  929.         long index,
  930.         enum esriAnimationPropertyType * pPropType ) = 0;
  931.     virtual HRESULT __stdcall get_PropertyName (
  932.         long index,
  933.         BSTR * pPropName ) = 0;
  934.     virtual HRESULT __stdcall get_IsEnumProperty (
  935.         long index,
  936.         VARIANT_BOOL * pbIsEnum ) = 0;
  937.     virtual HRESULT __stdcall get_EnumPropertyValueName (
  938.         long index,
  939.         long Value,
  940.         BSTR * pValueName ) = 0;
  941.     virtual HRESULT __stdcall get_EnumPropertyMinValue (
  942.         long index,
  943.         long * pMinValue ) = 0;
  944.     virtual HRESULT __stdcall get_EnumPropertyMaxValue (
  945.         long index,
  946.         long * pMaxValue ) = 0;
  947.     virtual HRESULT __stdcall get_ObjectArray (
  948.         struct IScene * pScene,
  949.         struct IArray * * ppObjects ) = 0;
  950.     virtual HRESULT __stdcall get_AnimationObjectID (
  951.         struct IScene * pScene,
  952.         VARIANT pObject,
  953.         long * pObjectID ) = 0;
  954.     virtual HRESULT __stdcall get_AnimationObjectByID (
  955.         struct IScene * pScene,
  956.         long objectID,
  957.         VARIANT * ppObject ) = 0;
  958.     virtual HRESULT __stdcall get_AnimationObjectName (
  959.         struct IScene * pScene,
  960.         VARIANT pObject,
  961.         BSTR * pName ) = 0;
  962.     virtual HRESULT __stdcall ResetObject (
  963.         struct IScene * pScene,
  964.         VARIANT pObject ) = 0;
  965. };
  966. struct __declspec(uuid("767c9b53-5a8e-11d5-b295-00508bcdde28"))
  967. IKeyframe : IUnknown
  968. {
  969.     //
  970.     // Raw methods provided by interface
  971.     //
  972.     virtual HRESULT __stdcall get_Name (
  973.         BSTR * Name ) = 0;
  974.     virtual HRESULT __stdcall put_Name (
  975.         BSTR Name ) = 0;
  976.     virtual HRESULT __stdcall get_ActiveProperties (
  977.         struct ILongArray * * ppActiveProps ) = 0;
  978.     virtual HRESULT __stdcall put_ActiveProperties (
  979.         struct ILongArray * ppActiveProps ) = 0;
  980.     virtual HRESULT __stdcall get_IsActiveProperty (
  981.         long propIndex,
  982.         VARIANT_BOOL * pbIsActiveProp ) = 0;
  983.     virtual HRESULT __stdcall put_IsActiveProperty (
  984.         long propIndex,
  985.         VARIANT_BOOL pbIsActiveProp ) = 0;
  986.     virtual HRESULT __stdcall get_PropertyValueInt (
  987.         long propIndex,
  988.         int * pIntValue ) = 0;
  989.     virtual HRESULT __stdcall get_PropertyValueLong (
  990.         long propIndex,
  991.         long * pLongValue ) = 0;
  992.     virtual HRESULT __stdcall get_PropertyValueDouble (
  993.         long propIndex,
  994.         double * pDoubleValue ) = 0;
  995.     virtual HRESULT __stdcall get_PropertyValueBoolean (
  996.         long propIndex,
  997.         VARIANT_BOOL * pBoolValue ) = 0;
  998.     virtual HRESULT __stdcall get_PropertyValuePoint (
  999.         long propIndex,
  1000.         struct IPoint * * ppPoint ) = 0;
  1001.     virtual HRESULT __stdcall get_PropertyValueExtent (
  1002.         long propIndex,
  1003.         struct IEnvelope * * ppExtent ) = 0;
  1004.     virtual HRESULT __stdcall get_PropertyValueRGBColor (
  1005.         long propIndex,
  1006.         struct IColor * * ppColor ) = 0;
  1007.     virtual HRESULT __stdcall put_PropertyValueInt (
  1008.         long propIndex,
  1009.         int pIntValue ) = 0;
  1010.     virtual HRESULT __stdcall put_PropertyValueLong (
  1011.         long propIndex,
  1012.         long pLongValue ) = 0;
  1013.     virtual HRESULT __stdcall put_PropertyValueDouble (
  1014.         long propIndex,
  1015.         double pDoubleValue ) = 0;
  1016.     virtual HRESULT __stdcall put_PropertyValueBoolean (
  1017.         long propIndex,
  1018.         VARIANT_BOOL pBoolValue ) = 0;
  1019.     virtual HRESULT __stdcall put_PropertyValuePoint (
  1020.         long propIndex,
  1021.         struct IPoint * ppPoint ) = 0;
  1022.     virtual HRESULT __stdcall put_PropertyValueExtent (
  1023.         long propIndex,
  1024.         struct IEnvelope * ppExtent ) = 0;
  1025.     virtual HRESULT __stdcall put_PropertyValueRGBColor (
  1026.         long propIndex,
  1027.         struct IColor * ppColor ) = 0;
  1028.     virtual HRESULT __stdcall put_TimeStamp (
  1029.         double pTimeStamp ) = 0;
  1030.     virtual HRESULT __stdcall get_TimeStamp (
  1031.         double * pTimeStamp ) = 0;
  1032.     virtual HRESULT __stdcall get_AnimationType (
  1033.         struct IAnimationType * * ppAnimationType ) = 0;
  1034.     virtual HRESULT __stdcall Apply (
  1035.         struct IScene * pScene,
  1036.         VARIANT pObject ) = 0;
  1037.     virtual HRESULT __stdcall CaptureProperties (
  1038.         struct IScene * pScene,
  1039.         VARIANT pObject ) = 0;
  1040.     virtual HRESULT __stdcall Interpolate (
  1041.         struct IScene * pScene,
  1042.         VARIANT pObject,
  1043.         long propertyIndex,
  1044.         double time,
  1045.         struct IKeyframe * pNextKeyframe,
  1046.         struct IKeyframe * pPrevKeyframe,
  1047.         struct IKeyframe * pAfterNextKeyframe ) = 0;
  1048.     virtual HRESULT __stdcall get_ObjectNeedsRefresh (
  1049.         VARIANT_BOOL * pNeedsRefresh ) = 0;
  1050.     virtual HRESULT __stdcall RefreshObject (
  1051.         struct IScene * pScene,
  1052.         VARIANT pObject ) = 0;
  1053. };
  1054. struct __declspec(uuid("bd3c7aad-a869-11d5-b2a0-00508bcdde28"))
  1055. IBookmarkToKeyframe : IUnknown
  1056. {
  1057.     //
  1058.     // Raw methods provided by interface
  1059.     //
  1060.     virtual HRESULT __stdcall ConvertToKeyframe (
  1061.         struct IKeyframe * * ppOutKeyframe ) = 0;
  1062. };
  1063. struct __declspec(uuid("bbf1af31-a6ec-11d5-b2a0-00508bcdde28"))
  1064. IAnimationTrack : IUnknown
  1065. {
  1066.     //
  1067.     // Raw methods provided by interface
  1068.     //
  1069.     virtual HRESULT __stdcall get_ActiveProperties (
  1070.         struct ILongArray * * ppActiveProps ) = 0;
  1071.     virtual HRESULT __stdcall put_ActiveProperties (
  1072.         struct ILongArray * ppActiveProps ) = 0;
  1073.     virtual HRESULT __stdcall get_IsActiveProperty (
  1074.         long propIndex,
  1075.         VARIANT_BOOL * pbIsActiveProp ) = 0;
  1076.     virtual HRESULT __stdcall put_IsActiveProperty (
  1077.         long propIndex,
  1078.         VARIANT_BOOL pbIsActiveProp ) = 0;
  1079.     virtual HRESULT __stdcall get_Name (
  1080.         BSTR * Name ) = 0;
  1081.     virtual HRESULT __stdcall put_Name (
  1082.         BSTR Name ) = 0;
  1083.     virtual HRESULT __stdcall get_AnimationType (
  1084.         struct IAnimationType * * ppAnimationType ) = 0;
  1085.     virtual HRESULT __stdcall putref_AnimationType (
  1086.         struct IAnimationType * ppAnimationType ) = 0;
  1087.     virtual HRESULT __stdcall get_KeyframeCount (
  1088.         long * pKeyframeCount ) = 0;
  1089.     virtual HRESULT __stdcall get_Keyframe (
  1090.         long index,
  1091.         struct IKeyframe * * ppKeyframe ) = 0;
  1092.     virtual HRESULT __stdcall get_IsCycle (
  1093.         VARIANT_BOOL * pbIsCycle ) = 0;
  1094.     virtual HRESULT __stdcall put_IsCycle (
  1095.         VARIANT_BOOL pbIsCycle ) = 0;
  1096.     virtual HRESULT __stdcall get_BeginTime (
  1097.         double * pBeginTime ) = 0;
  1098.     virtual HRESULT __stdcall put_BeginTime (
  1099.         double pBeginTime ) = 0;
  1100.     virtual HRESULT __stdcall get_EndTime (
  1101.         double * pEndTime ) = 0;
  1102.     virtual HRESULT __stdcall put_EndTime (
  1103.         double pEndTime ) = 0;
  1104.     virtual HRESULT __stdcall get_IsEnabled (
  1105.         VARIANT_BOOL * pbIsEnabled ) = 0;
  1106.     virtual HRESULT __stdcall put_IsEnabled (
  1107.         VARIANT_BOOL pbIsEnabled ) = 0;
  1108.     virtual HRESULT __stdcall put_EvenTimeStamps (
  1109.         VARIANT_BOOL pbEvenTimeStamps ) = 0;
  1110.     virtual HRESULT __stdcall get_EvenTimeStamps (
  1111.         VARIANT_BOOL * pbEvenTimeStamps ) = 0;
  1112.     virtual HRESULT __stdcall put_ApplyToAllViewers (
  1113.         VARIANT_BOOL pbApplyToAllViewers ) = 0;
  1114.     virtual HRESULT __stdcall get_ApplyToAllViewers (
  1115.         VARIANT_BOOL * pbApplyToAllViewers ) = 0;
  1116.     virtual HRESULT __stdcall get_AttachedObjectsCount (
  1117.         long * pObjectCount ) = 0;
  1118.     virtual HRESULT __stdcall get_AttachedObjects (
  1119.         struct IArray * * ppObjectArray ) = 0;
  1120.     virtual HRESULT __stdcall get_IsAttached (
  1121.         IUnknown * pObject,
  1122.         VARIANT_BOOL * pbIsAttached ) = 0;
  1123.     virtual HRESULT __stdcall put_AttachedObjects (
  1124.         struct IArray * ppObjectArray ) = 0;
  1125.     virtual HRESULT __stdcall AttachObject (
  1126.         IUnknown * pObject ) = 0;
  1127.     virtual HRESULT __stdcall DetachObject (
  1128.         IUnknown * pObject ) = 0;
  1129.     virtual HRESULT __stdcall DetachAllObjects ( ) = 0;
  1130.     virtual HRESULT __stdcall ResetAttachedObjects (
  1131.         struct IScene * pScene ) = 0;
  1132.     virtual HRESULT __stdcall InsertKeyframe (
  1133.         struct IKeyframe * pKeyframe,
  1134.         long index ) = 0;
  1135.     virtual HRESULT __stdcall RemoveKeyframe (
  1136.         long index ) = 0;
  1137.     virtual HRESULT __stdcall RemoveAllKeyframes ( ) = 0;
  1138.     virtual HRESULT __stdcall FindKeyframe (
  1139.         BSTR Name,
  1140.         struct IKeyframe * * ppKeyframe ) = 0;
  1141.     virtual HRESULT __stdcall MoveKeyframe (
  1142.         long originIndex,
  1143.         long destinationIndex ) = 0;
  1144.     virtual HRESULT __stdcall SortKeyframes ( ) = 0;
  1145.     virtual HRESULT __stdcall ResetTimeStamps ( ) = 0;
  1146.     virtual HRESULT __stdcall SaveObjectProperties (
  1147.         struct IScene * pScene,
  1148.         long index ) = 0;
  1149.     virtual HRESULT __stdcall RestoreObjectProperties (
  1150.         struct IScene * pScene,
  1151.         long index ) = 0;
  1152.     virtual HRESULT __stdcall InterpolateObjectProperties (
  1153.         struct IScene * pScene,
  1154.         double time ) = 0;
  1155. };
  1156. struct __declspec(uuid("4fedc9cb-a7be-11d5-b2a0-00508bcdde28"))
  1157. AnimationTrack;
  1158.     // [ default ] interface IUnknown
  1159.     // interface IAnimationTrack
  1160.     // interface IPersistStream
  1161. struct __declspec(uuid("24aa4277-adf3-11d5-b2a0-00508bcdde28"))
  1162. LayerKeyframe;
  1163.     // [ default ] interface IUnknown
  1164.     // interface IKeyframe
  1165. struct __declspec(uuid("24aa4278-adf3-11d5-b2a0-00508bcdde28"))
  1166. SceneKeyframe;
  1167.     // [ default ] interface IUnknown
  1168.     // interface IKeyframe
  1169. struct __declspec(uuid("500f4707-a798-11d5-b2a0-00508bcdde28"))
  1170. AnimationTypeCamera;
  1171.     // [ default ] interface IUnknown
  1172.     // interface IAnimationType
  1173. struct __declspec(uuid("24aa4279-adf3-11d5-b2a0-00508bcdde28"))
  1174. AnimationTypeLayer;
  1175.     // [ default ] interface IUnknown
  1176.     // interface IAnimationType
  1177. struct __declspec(uuid("24aa427a-adf3-11d5-b2a0-00508bcdde28"))
  1178. AnimationTypeScene;
  1179.     // [ default ] interface IUnknown
  1180.     // interface IAnimationType
  1181. enum esriAnimationState
  1182. {
  1183.     esriAnimationStopped = 1,
  1184.     esriAnimationPlaying = 2,
  1185.     esriAnimationPausedPlay = 3,
  1186.     esriAnimationRecording = 4,
  1187.     esriAnimationPausedRecord = 5
  1188. };
  1189. enum esriAnimationPlayMode
  1190. {
  1191.     esriAnimationPlayOnceForward = 0,
  1192.     esriAnimationPlayOnceReverse = 1,
  1193.     esriAnimationPlayLoopForward = 2,
  1194.     esriAnimationPlayLoopReverse = 3
  1195. };
  1196. struct __declspec(uuid("a4c0b647-82ad-11d5-b29b-00508bcdde28"))
  1197. ISxAnimationEnvironment : IUnknown
  1198. {
  1199.     //
  1200.     // Raw methods provided by interface
  1201.     //
  1202.     virtual HRESULT __stdcall get_SelectedAnimationType (
  1203.         struct IAnimationType * * ppAnimType ) = 0;
  1204.     virtual HRESULT __stdcall putref_SelectedAnimationType (
  1205.         struct IAnimationType * ppAnimType ) = 0;
  1206.     virtual HRESULT __stdcall get_SelectedTracks (
  1207.         struct IArray * * ppTracks ) = 0;
  1208.     virtual HRESULT __stdcall putref_SelectedTracks (
  1209.         struct IArray * ppTracks ) = 0;
  1210.     virtual HRESULT __stdcall get_SelectedKeyframes (
  1211.         struct ILongArray * * ppIndices ) = 0;
  1212.     virtual HRESULT __stdcall putref_SelectedKeyframes (
  1213.         struct ILongArray * ppIndices ) = 0;
  1214.     virtual HRESULT __stdcall get_State (
  1215.         enum esriAnimationState * pState ) = 0;
  1216.     virtual HRESULT __stdcall put_State (
  1217.         enum esriAnimationState pState ) = 0;
  1218.     virtual HRESULT __stdcall get_AnimationDuration (
  1219.         double * pSeconds ) = 0;
  1220.     virtual HRESULT __stdcall put_AnimationDuration (
  1221.         double pSeconds ) = 0;
  1222.     virtual HRESULT __stdcall get_IsIntervalPlay (
  1223.         VARIANT_BOOL * pbIsInterval ) = 0;
  1224.     virtual HRESULT __stdcall put_IsIntervalPlay (
  1225.         VARIANT_BOOL pbIsInterval ) = 0;
  1226.     virtual HRESULT __stdcall GetPlayInterval (
  1227.         double * pBeginTime,
  1228.         double * pEndTime ) = 0;
  1229.     virtual HRESULT __stdcall PutPlayInterval (
  1230.         double BeginTime,
  1231.         double EndTime ) = 0;
  1232.     virtual HRESULT __stdcall get_AnimationControlsHWnd (
  1233.         OLE_HANDLE * pHwnd ) = 0;
  1234.     virtual HRESULT __stdcall put_AnimationControlsHWnd (
  1235.         OLE_HANDLE pHwnd ) = 0;
  1236. };
  1237. struct __declspec(uuid("f406fe81-1101-47eb-9a45-5c4f64b9a0f0"))
  1238. ISxAnimationEnvironment2 : ISxAnimationEnvironment
  1239. {
  1240.     //
  1241.     // Raw methods provided by interface
  1242.     //
  1243.     virtual HRESULT __stdcall get_PlayTime (
  1244.         double * pTime ) = 0;
  1245.     virtual HRESULT __stdcall put_PlayTime (
  1246.         double pTime ) = 0;
  1247.     virtual HRESULT __stdcall get_PlayInAllViewers (
  1248.         VARIANT_BOOL * pbPlayInAll ) = 0;
  1249.     virtual HRESULT __stdcall put_PlayInAllViewers (
  1250.         VARIANT_BOOL pbPlayInAll ) = 0;
  1251.     virtual HRESULT __stdcall get_PlayMode (
  1252.         enum esriAnimationPlayMode * pPlayMode ) = 0;
  1253.     virtual HRESULT __stdcall put_PlayMode (
  1254.         enum esriAnimationPlayMode pPlayMode ) = 0;
  1255. };
  1256. struct __declspec(uuid("592d0b58-82ad-11d5-b29b-00508bcdde28"))
  1257. SxAnimationEnvironment;
  1258.     // [ default ] interface IUnknown
  1259.     // interface ISxAnimationEnvironment2
  1260.     // interface IPersistStream
  1261. enum esriDisplayType
  1262. {
  1263.     esriNonstereoDisplay = 1,
  1264.     esriStereoDisplay = 2
  1265. };
  1266. enum esriEyeType
  1267. {
  1268.     esriLeftEye = 1,
  1269.     esriRightEye = 2
  1270. };
  1271. enum esriStereoViewType
  1272. {
  1273.     esriRedBlueStereoView = 1,
  1274.     esriQuadBufferedStereoView = 2,
  1275.     esriFreeStereoView = 3
  1276. };
  1277. struct __declspec(uuid("44e9928e-bf72-4838-b956-2940d0564f3f"))
  1278. ICamera2 : ICamera
  1279. {
  1280.     //
  1281.     // Raw methods provided by interface
  1282.     //
  1283.     virtual HRESULT __stdcall SetupProjection (
  1284.         struct IEnvelope * Extent,
  1285.         WKSPointZ * origin ) = 0;
  1286.     virtual HRESULT __stdcall SetupProjectionForSelection (
  1287.         struct IEnvelope * Extent,
  1288.         WKSPointZ * origin ) = 0;
  1289.     virtual HRESULT __stdcall SetupPerspectiveProjetion (
  1290.         double nearPlane,
  1291.         double farPlane,
  1292.         double vAngle,
  1293.         double vAspect,
  1294.         VARIANT_BOOL bUpdateViewport ) = 0;
  1295.     virtual HRESULT __stdcall get_DisplayType (
  1296.         enum esriDisplayType * pType ) = 0;
  1297.     virtual HRESULT __stdcall put_DisplayType (
  1298.         enum esriDisplayType pType ) = 0;
  1299. };
  1300. struct __declspec(uuid("1a8927bc-9f9a-44ba-a921-3c3ac1aa476c"))
  1301. IStereoCamera : IUnknown
  1302. {
  1303.     //
  1304.     // Raw methods provided by interface
  1305.     //
  1306.     virtual HRESULT __stdcall get_EyeType (
  1307.         enum esriEyeType * pType ) = 0;
  1308.     virtual HRESULT __stdcall put_EyeType (
  1309.         enum esriEyeType pType ) = 0;
  1310.     virtual HRESULT __stdcall get_StereoViewType (
  1311.         enum esriStereoViewType * pType ) = 0;
  1312.     virtual HRESULT __stdcall put_StereoViewType (
  1313.         enum esriStereoViewType pType ) = 0;
  1314.     virtual HRESULT __stdcall get_EyeSeparation (
  1315.         double * EyeSeparation ) = 0;
  1316.     virtual HRESULT __stdcall put_EyeSeparation (
  1317.         double EyeSeparation ) = 0;
  1318.     virtual HRESULT __stdcall get_Parallax (
  1319.         double * pParallax ) = 0;
  1320.     virtual HRESULT __stdcall put_Parallax (
  1321.         double pParallax ) = 0;
  1322.     virtual HRESULT __stdcall get_LRviewFirst (
  1323.         enum esriEyeType * pView ) = 0;
  1324.     virtual HRESULT __stdcall put_LRviewFirst (
  1325.         enum esriEyeType pView ) = 0;
  1326.     virtual HRESULT __stdcall get_IsStereoSupported (
  1327.         VARIANT_BOOL * pbStereo ) = 0;
  1328. };
  1329. struct __declspec(uuid("b3fa5970-ada3-11d2-9fae-00c04f8ece3d"))
  1330. Camera;
  1331.     // [ default ] interface IUnknown
  1332.     // interface ICamera
  1333.     // interface ICamera2
  1334.     // interface IStereoCamera
  1335. struct __declspec(uuid("bcdb3324-9afa-11d5-b29f-00508bcdde28"))
  1336. IBookmark3D : IUnknown
  1337. {
  1338.     //
  1339.     // Raw methods provided by interface
  1340.     //
  1341.     virtual HRESULT __stdcall get_Name (
  1342.         BSTR * Name ) = 0;
  1343.     virtual HRESULT __stdcall put_Name (
  1344.         BSTR Name ) = 0;
  1345.     virtual HRESULT __stdcall Capture (
  1346.         struct ICamera * pCamera ) = 0;
  1347.     virtual HRESULT __stdcall Apply (
  1348.         struct ISceneViewer * pViewer,
  1349.         VARIANT_BOOL bAnimate,
  1350.         double animDuration ) = 0;
  1351. };
  1352. struct __declspec(uuid("bcdb3323-9afa-11d5-b29f-00508bcdde28"))
  1353. Bookmark3D;
  1354.     // [ default ] interface IUnknown
  1355.     // interface IBookmark3D
  1356.     // interface IKeyframe
  1357.     // interface IBookmarkToKeyframe
  1358.     // interface IPersistStream
  1359. struct __declspec(uuid("4d8ca7d2-0aaa-4502-adc7-0388051c5f5c"))
  1360. IViewers3D : IUnknown
  1361. {
  1362.     //
  1363.     // Raw methods provided by interface
  1364.     //
  1365.     virtual HRESULT __stdcall get_Scene (
  1366.         struct IScene * * pVal ) = 0;
  1367.     virtual HRESULT __stdcall putref_Scene (
  1368.         struct IScene * pVal ) = 0;
  1369.     virtual HRESULT __stdcall RegisterViewer (
  1370.         struct ISceneViewer * pViewer ) = 0;
  1371.     virtual HRESULT __stdcall UnregisterViewer (
  1372.         struct ISceneViewer * pViewer ) = 0;
  1373.     virtual HRESULT __stdcall FindViewer (
  1374.         BSTR Caption,
  1375.         struct ISceneViewer * * ppViewer ) = 0;
  1376.     virtual HRESULT __stdcall GetAllViewers (
  1377.         struct IArray * * ppViewers ) = 0;
  1378.     virtual HRESULT __stdcall putref_ActiveViewer (
  1379.         struct ISceneViewer * ppViewer ) = 0;
  1380.     virtual HRESULT __stdcall get_ActiveViewer (
  1381.         struct ISceneViewer * * ppViewer ) = 0;
  1382.     virtual HRESULT __stdcall RefreshViewers ( ) = 0;
  1383.     virtual HRESULT __stdcall get_IsNavigating (
  1384.         VARIANT_BOOL * pbIsNavigating ) = 0;
  1385.     virtual HRESULT __stdcall put_IsNavigating (
  1386.         VARIANT_BOOL pbIsNavigating ) = 0;
  1387.     virtual HRESULT __stdcall put_GestureEnabled (
  1388.         VARIANT_BOOL pbEnabled ) = 0;
  1389.     virtual HRESULT __stdcall get_GestureEnabled (
  1390.         VARIANT_BOOL * pbEnabled ) = 0;
  1391.     virtual HRESULT __stdcall SetBackgroundColor (
  1392.         float red,
  1393.         float green,
  1394.         float blue ) = 0;
  1395.     virtual HRESULT __stdcall GetBackgroundColor (
  1396.         float * pRed,
  1397.         float * pGreen,
  1398.         float * pBlue ) = 0;
  1399.     virtual HRESULT __stdcall putref_CurrentViewer (
  1400.         struct ISceneViewer * ppViewer ) = 0;
  1401.     virtual HRESULT __stdcall get_CurrentViewer (
  1402.         struct ISceneViewer * * ppViewer ) = 0;
  1403.     virtual HRESULT __stdcall ReplayFrame (
  1404.         struct ICamera * Camera ) = 0;
  1405. };
  1406. struct __declspec(uuid("ec4e4b1c-5a64-499d-a475-bc2ddc237838"))
  1407. IBasicScene : IUnknown
  1408. {
  1409.     //
  1410.     // Raw methods provided by interface
  1411.     //
  1412.     virtual HRESULT __stdcall get_BasicDisplay (
  1413.         struct IViewers3D * * pDisplay ) = 0;
  1414.     virtual HRESULT __stdcall SaveAnimation (
  1415.         BSTR pFilename ) = 0;
  1416.     virtual HRESULT __stdcall LoadAnimation (
  1417.         BSTR pFilename ) = 0;
  1418. };
  1419. struct __declspec(uuid("ef879196-01de-11d4-ab69-0008c73fd50c"))
  1420. IGraphicsContainer3D : IUnknown
  1421. {
  1422.     //
  1423.     // Raw methods provided by interface
  1424.     //
  1425.     virtual HRESULT __stdcall Next (
  1426.         struct IElement * * ppElement ) = 0;
  1427.     virtual HRESULT __stdcall Reset ( ) = 0;
  1428.     virtual HRESULT __stdcall get_ElementCount (
  1429.         long * pCount ) = 0;
  1430.     virtual HRESULT __stdcall get_Element (
  1431.         long index,
  1432.         struct IElement * * ppElement ) = 0;
  1433.     virtual HRESULT __stdcall BeginBatchUpdate ( ) = 0;
  1434.     virtual HRESULT __stdcall EndBatchUpdate ( ) = 0;
  1435.     virtual HRESULT __stdcall AddElement (
  1436.         struct IElement * Element ) = 0;
  1437.     virtual HRESULT __stdcall AddElements (
  1438.         struct IElementCollection * elements ) = 0;
  1439.     virtual HRESULT __stdcall DeleteElement (
  1440.         struct IElement * Element ) = 0;
  1441.     virtual HRESULT __stdcall DeleteAllElements ( ) = 0;
  1442.     virtual HRESULT __stdcall MoveElementToGroup (
  1443.         struct IElement * pElement,
  1444.         struct IGroupElement * pGroup ) = 0;
  1445.     virtual HRESULT __stdcall MoveElementFromGroup (
  1446.         struct IGroupElement * pGroup,
  1447.         struct IElement * pElement ) = 0;
  1448.     virtual HRESULT __stdcall LocateElements (
  1449.         struct IPoint * pPoint,
  1450.         double tolerance,
  1451.         struct IEnumElement * * ppElements ) = 0;
  1452.     virtual HRESULT __stdcall LocateElementsByEnvelope (
  1453.         struct IEnvelope * pEnvelope,
  1454.         struct IEnumElement * * ppElements ) = 0;
  1455. };
  1456. struct __declspec(uuid("79103a54-1e53-11d4-a109-00c04f8ece27"))
  1457. IGraphicsSelection : IUnknown
  1458. {
  1459.     //
  1460.     // Raw methods provided by interface
  1461.     //
  1462.     virtual HRESULT __stdcall SelectElement (
  1463.         struct IElement * pElement ) = 0;
  1464.     virtual HRESULT __stdcall SelectElements (
  1465.         struct IEnumElement * pElements ) = 0;
  1466.     virtual HRESULT __stdcall SelectAllElements ( ) = 0;
  1467.     virtual HRESULT __stdcall UnselectElement (
  1468.         struct IElement * pElement ) = 0;
  1469.     virtual HRESULT __stdcall UnselectElements (
  1470.         struct IEnumElement * pElements ) = 0;
  1471.     virtual HRESULT __stdcall UnselectAllElements ( ) = 0;
  1472.     virtual HRESULT __stdcall DeleteAllSelectedElements ( ) = 0;
  1473.     virtual HRESULT __stdcall SwitchSelection ( ) = 0;
  1474.     virtual HRESULT __stdcall get_SelectedElements (
  1475.         struct IEnumElement * * pElements ) = 0;
  1476.     virtual HRESULT __stdcall get_SelectedElementCount (
  1477.         long * pCount ) = 0;
  1478.     virtual HRESULT __stdcall get_SelectedElementsExtent (
  1479.         struct IEnvelope * * ppExtent ) = 0;
  1480.     virtual HRESULT __stdcall ElementSelected (
  1481.         struct IElement * Element,
  1482.         VARIANT_BOOL * pbIsSelected ) = 0;
  1483. };
  1484. struct __declspec(uuid("bcdb3325-9afa-11d5-b29f-00508bcdde28"))
  1485. ISceneBookmarks : IUnknown
  1486. {
  1487.     //
  1488.     // Raw methods provided by interface
  1489.     //
  1490.     virtual HRESULT __stdcall get_Bookmarks (
  1491.         struct IArray * * ppBookmarks ) = 0;
  1492.     virtual HRESULT __stdcall AddBookmark (
  1493.         struct IBookmark3D * pBookmark ) = 0;
  1494.     virtual HRESULT __stdcall FindBookmark (
  1495.         BSTR Name,
  1496.         struct IBookmark3D * * ppBookmark ) = 0;
  1497.     virtual HRESULT __stdcall RemoveBookmark (
  1498.         struct IBookmark3D * bookmark ) = 0;
  1499.     virtual HRESULT __stdcall RemoveAllBookmarks ( ) = 0;
  1500.     virtual HRESULT __stdcall get_BookmarkCount (
  1501.         long * pBookmarkCount ) = 0;
  1502.     virtual HRESULT __stdcall SaveBookmarks (
  1503.         struct IStream * pStm ) = 0;
  1504.     virtual HRESULT __stdcall LoadBookmarks (
  1505.         struct IStream * pStm ) = 0;
  1506. };
  1507. struct __declspec(uuid("fa3dba5b-a879-11d5-b2a0-00508bcdde28"))
  1508. IAnimationTracks : IUnknown
  1509. {
  1510.     //
  1511.     // Raw methods provided by interface
  1512.     //
  1513.     virtual HRESULT __stdcall get_AnimationTypes (
  1514.         struct IArray * * ppAnimationTypes ) = 0;
  1515.     virtual HRESULT __stdcall get_TrackCount (
  1516.         long * pCount ) = 0;
  1517.     virtual HRESULT __stdcall get_Tracks (
  1518.         struct IArray * * ppTracks ) = 0;
  1519.     virtual HRESULT __stdcall get_TracksOfType (
  1520.         struct IAnimationType * pType,
  1521.         struct IArray * * ppTracks ) = 0;
  1522.     virtual HRESULT __stdcall AddTrack (
  1523.         struct IAnimationTrack * pTrack ) = 0;
  1524.     virtual HRESULT __stdcall FindTrack (
  1525.         BSTR Name,
  1526.         struct IAnimationTrack * * ppTrack ) = 0;
  1527.     virtual HRESULT __stdcall RemoveTrack (
  1528.         struct IAnimationTrack * pTrack ) = 0;
  1529.     virtual HRESULT __stdcall RemoveAllTracks ( ) = 0;
  1530.     virtual HRESULT __stdcall SaveTracks (
  1531.         struct IStream * pStm ) = 0;
  1532.     virtual HRESULT __stdcall LoadTracks (
  1533.         struct IStream * pStm ) = 0;
  1534.     virtual HRESULT __stdcall DetachObject (
  1535.         IUnknown * pObject ) = 0;
  1536.     virtual HRESULT __stdcall RefreshAttachedObjects ( ) = 0;
  1537.     virtual HRESULT __stdcall ApplyTracks (
  1538.         struct ISceneViewer * pViewer,
  1539.         double time,
  1540.         double duration ) = 0;
  1541.     virtual HRESULT __stdcall ChangePriority (
  1542.         struct IAnimationTrack * pTrack,
  1543.         VARIANT_BOOL bAbsolute,
  1544.         VARIANT_BOOL bInSameType,
  1545.         long changeInIndex ) = 0;
  1546. };
  1547. struct __declspec(uuid("b7a0a25c-24f7-11d3-9f4d-00c04f6bc5f4"))
  1548. Scene;
  1549.     // [ default ] interface IUnknown
  1550.     // interface IScene
  1551.     // interface IBasicScene
  1552.     // interface IBasicMap
  1553.     // interface IMapLayers
  1554.     // interface ISelectionEvents
  1555.     // interface ITableCollection
  1556.     // interface IStandaloneTableCollection
  1557.     // interface ISceneBookmarks
  1558.     // interface IAnimationTracks
  1559.     // interface ISupportErrorInfo
  1560.     // interface IConnectionPointContainer
  1561.     // interface IPersistStream
  1562.     // [ default, source ] interface IActiveViewEvents
  1563. struct __declspec(uuid("4c87a8f0-01e3-11d4-ab69-0008c73fd50c"))
  1564. GraphicsLayer3D;
  1565.     // [ default ] interface IUnknown
  1566.     // interface ILayer
  1567.     // interface IGraphicsLayer
  1568.     // interface IGraphicsContainer3D
  1569.     // interface IGraphicsSelection
  1570.     // interface ILayerExtensions
  1571.     // interface ILayerEvents
  1572.     // interface ILayerEffects
  1573.     // interface IGeoDataset
  1574.     // interface IConnectionPointContainer
  1575.     // interface IPersistStream
  1576.     // [ default, source ] interface ISceneRendererEvents
  1577.     // [ source ] interface IActiveViewEvents
  1578.     // interface IPublishLayer
  1579. struct __declspec(uuid("bbc7c2e8-1fb3-11d4-ab72-0008c73fd50c"))
  1580. ISceneRendererEvents : IUnknown
  1581. {
  1582.     //
  1583.     // Raw methods provided by interface
  1584.     //
  1585.     virtual HRESULT __stdcall SelectionChanged (
  1586.         struct ISceneRenderer * pSource ) = 0;
  1587. };
  1588. struct __declspec(uuid("4a4cece5-f53a-11d3-80d9-00c04fa0adf8"))
  1589. IFeature3DProperties : IUnknown
  1590. {
  1591.     //
  1592.     // Raw methods provided by interface
  1593.     //
  1594.     virtual HRESULT __stdcall Locate (
  1595.         long hint,
  1596.         struct IRay * pQueryRay,
  1597.         struct IFeature * * ppFeat,
  1598.         struct IPoint * * ppPoint ) = 0;
  1599.     virtual HRESULT __stdcall ApplyFeatureProperties (
  1600.         struct IFeature * feature,
  1601.         struct IGeometry * * newGeometry,
  1602.         VARIANT_BOOL ignoreOffsetAndScale ) = 0;
  1603.     virtual HRESULT __stdcall PrepareQueryFilter (
  1604.         struct IFeatureClass * pFc,
  1605.         struct IQueryFilter * pQueryFilter ) = 0;
  1606. };
  1607. struct __declspec(uuid("ff699cbe-9340-4724-9b4c-f88979314bc0"))
  1608. IFeature3DProperties2 : IFeature3DProperties
  1609. {
  1610.     //
  1611.     // Raw methods provided by interface
  1612.     //
  1613.     virtual HRESULT __stdcall LocateSymbolized (
  1614.         long hint,
  1615.         struct IRay * pQueryRay,
  1616.         struct IFeatureLayer * pLayer,
  1617.         struct IFeature * * ppFeat,
  1618.         struct IPoint * * ppPoint ) = 0;
  1619. };
  1620. struct __declspec(uuid("3c957f4d-2120-11d4-a383-00c04f6bc619"))
  1621. IExpression : IUnknown
  1622. {
  1623.     //
  1624.     // Raw methods provided by interface
  1625.     //
  1626.     virtual HRESULT __stdcall get_Expression (
  1627.         BSTR * pExpression ) = 0;
  1628.     virtual HRESULT __stdcall put_Expression (
  1629.         BSTR pExpression ) = 0;
  1630.     virtual HRESULT __stdcall Calculate (
  1631.         struct IFeature * pFeature,
  1632.         double * result ) = 0;
  1633.     virtual HRESULT __stdcall IsValid (
  1634.         struct ITable * pTable,
  1635.         VARIANT_BOOL * valid ) = 0;
  1636. };
  1637. struct __declspec(uuid("a5a8dc61-268c-11d4-914a-0080c7074326"))
  1638. Basic3DProperties;
  1639.     // [ default ] interface IUnknown
  1640.     // interface IDataLayerExtension
  1641.     // interface I3DProperties
  1642.     // interface IPersistStream
  1643. struct __declspec(uuid("b7a0a25d-24f7-11d3-9f4d-00c04f6bc5f4"))
  1644. Tin3DProperties;
  1645.     // [ default ] interface IUnknown
  1646.     // interface IDataLayerExtension
  1647.     // interface I3DProperties
  1648.     // interface IPersistStream
  1649. struct __declspec(uuid("4a4cece3-f53a-11d3-80d9-00c04fa0adf8"))
  1650. Raster3DProperties;
  1651.     // [ default ] interface IUnknown
  1652.     // interface IDataLayerExtension
  1653.     // interface I3DProperties
  1654.     // interface IPersistStream
  1655. struct __declspec(uuid("4a4cece4-f53a-11d3-80d9-00c04fa0adf8"))
  1656. Feature3DProperties;
  1657.     // [ default ] interface IUnknown
  1658.     // interface IDataLayerExtension
  1659.     // interface IFeature3DProperties
  1660.     // interface IFeature3DProperties2
  1661.     // interface I3DProperties
  1662.     // interface IPersistStream
  1663. struct __declspec(uuid("3044c30e-37d0-11d4-a167-444553547777"))
  1664. IVRMLExporter : IUnknown
  1665. {
  1666.     //
  1667.     // Raw methods provided by interface
  1668.     //
  1669.     virtual HRESULT __stdcall put_Indentation (
  1670.         VARIANT_BOOL pIndentation ) = 0;
  1671.     virtual HRESULT __stdcall get_Indentation (
  1672.         VARIANT_BOOL * pIndentation ) = 0;
  1673.     virtual HRESULT __stdcall put_SaveOnlyVisible (
  1674.         VARIANT_BOOL pSaveOnlyVisible ) = 0;
  1675.     virtual HRESULT __stdcall get_SaveOnlyVisible (
  1676.         VARIANT_BOOL * pSaveOnlyVisible ) = 0;
  1677.     virtual HRESULT __stdcall put_IsYUp (
  1678.         VARIANT_BOOL pIsYUp ) = 0;
  1679.     virtual HRESULT __stdcall get_IsYUp (
  1680.         VARIANT_BOOL * pIsYUp ) = 0;
  1681.     virtual HRESULT __stdcall put_MoveToOrigin (
  1682.         VARIANT_BOOL pbMoveToOrigin ) = 0;
  1683.     virtual HRESULT __stdcall get_MoveToOrigin (
  1684.         VARIANT_BOOL * pbMoveToOrigin ) = 0;
  1685.     virtual HRESULT __stdcall put_UseGeoVRML (
  1686.         VARIANT_BOOL pbUseGeoVRML ) = 0;
  1687.     virtual HRESULT __stdcall get_UseGeoVRML (
  1688.         VARIANT_BOOL * pbUseGeoVRML ) = 0;
  1689.     virtual HRESULT __stdcall put_UseElevationGrid (
  1690.         VARIANT_BOOL pbUseElevationGrid ) = 0;
  1691.     virtual HRESULT __stdcall get_UseElevationGrid (
  1692.         VARIANT_BOOL * pbUseElevationGrid ) = 0;
  1693.     virtual HRESULT __stdcall put_Quality (
  1694.         int Quality ) = 0;
  1695.     virtual HRESULT __stdcall get_Quality (
  1696.         int * Quality ) = 0;
  1697. };
  1698. enum esri3DAxis
  1699. {
  1700.     esriXAxis = 0,
  1701.     esriYAxis = 1,
  1702.     esriZAxis = 2
  1703. };
  1704. enum esriSceneNodeType
  1705. {
  1706.     esriSceneAnyNode = 0,
  1707.     esriSceneGroupNode = 1,
  1708.     esriSceneGeometryNode = 2,
  1709.     esriSceneChoiceNode = 3,
  1710.     esriSceneTransformNode = 4,
  1711.     esriSceneLayerNode = 5,
  1712.     esriSceneTileNode = 6
  1713. };
  1714. enum esriSceneGeomNodeType
  1715. {
  1716.     esriSceneGeomGeographyNode = 0,
  1717.     esriSceneGeomGraphicsNode = 1
  1718. };
  1719. enum esriSceneTraversalFlag
  1720. {
  1721.     esriSceneDrawTraversal = 1,
  1722.     esriScenePickTraversal = 2,
  1723.     esriSceneImmediateDrawTraversal = 4,
  1724.     esriSceneTransparencyTraversal = 8,
  1725.     esriSceneDrawWhileNavigateTraversal = 16,
  1726.     esriSceneDrawWhileStillTraversal = 32,
  1727.     esriSceneLightingTraversal = 64,
  1728.     esriSceneSmoothShadingTraversal = 128,
  1729.     esriSceneNeedMBBUpdateTraversal = 256
  1730. };
  1731. struct __declspec(uuid("bd62a8fa-8833-11d4-ab87-0008c73fd50c"))
  1732. IMessageDispatcher : IUnknown
  1733. {
  1734.     //
  1735.     // Raw methods provided by interface
  1736.     //
  1737.     virtual HRESULT __stdcall get_CancelOnEscPress (
  1738.         VARIANT_BOOL * pbCancelOnEscPress ) = 0;
  1739.     virtual HRESULT __stdcall put_CancelOnEscPress (
  1740.         VARIANT_BOOL pbCancelOnEscPress ) = 0;
  1741.     virtual HRESULT __stdcall get_CancelOnClick (
  1742.         VARIANT_BOOL * pbCancelOnClick ) = 0;
  1743.     virtual HRESULT __stdcall put_CancelOnClick (
  1744.         VARIANT_BOOL pbCancelOnClick ) = 0;
  1745.     virtual HRESULT __stdcall get_Cancelled (
  1746.         OLE_HANDLE hWnd,
  1747.         VARIANT_BOOL * pbCancelled ) = 0;
  1748.     virtual HRESULT __stdcall Dispatch (
  1749.         OLE_HANDLE hWnd,
  1750.         VARIANT_BOOL bSingle,
  1751.         VARIANT * pbCancelled ) = 0;
  1752.     virtual HRESULT __stdcall Remove (
  1753.         OLE_HANDLE hWnd,
  1754.         VARIANT_BOOL bSingle,
  1755.         VARIANT * pbCancelled ) = 0;
  1756. };
  1757. struct __declspec(uuid("f7873924-9a19-11d4-b270-00508bcdde28"))
  1758. IHit3D : IUnknown
  1759. {
  1760.     //
  1761.     // Raw methods provided by interface
  1762.     //
  1763.     virtual HRESULT __stdcall putref_Point (
  1764.         struct IPoint * ppPoint ) = 0;
  1765.     virtual HRESULT __stdcall get_Point (
  1766.         struct IPoint * * ppPoint ) = 0;
  1767.     virtual HRESULT __stdcall putref_Owner (
  1768.         IUnknown * ppOwner ) = 0;
  1769.     virtual HRESULT __stdcall get_Owner (
  1770.         IUnknown * * ppOwner ) = 0;
  1771.     virtual HRESULT __stdcall putref_Object (
  1772.         IUnknown * ppObject ) = 0;
  1773.     virtual HRESULT __stdcall get_Object (
  1774.         IUnknown * * ppObject ) = 0;
  1775.     virtual HRESULT __stdcall put_DistanceToObserver (
  1776.         double pDistanceToObs ) = 0;
  1777.     virtual HRESULT __stdcall get_DistanceToObserver (
  1778.         double * pDistanceToObs ) = 0;
  1779.     virtual HRESULT __stdcall put_DistanceToRay (
  1780.         double pDistanceToRay ) = 0;
  1781.     virtual HRESULT __stdcall get_DistanceToRay (
  1782.         double * pDistanceToRay ) = 0;
  1783.     virtual HRESULT __stdcall SetDepthRange (
  1784.         double dMin,
  1785.         double dMax ) = 0;
  1786.     virtual HRESULT __stdcall GetDepthRange (
  1787.         double * pDMin,
  1788.         double * pDMax ) = 0;
  1789.     virtual HRESULT __stdcall put_ExactHit (
  1790.         VARIANT_BOOL hit ) = 0;
  1791.     virtual HRESULT __stdcall get_ExactHit (
  1792.         VARIANT_BOOL * hit ) = 0;
  1793. };
  1794. struct __declspec(uuid("1d1c669a-13de-11d4-80df-00c04fa0adf8"))
  1795. ISceneGraphEvents : IUnknown
  1796. {
  1797.     //
  1798.     // Raw methods provided by interface
  1799.     //
  1800.     virtual HRESULT __stdcall ActiveViewerChanged (
  1801.         struct ISceneViewer * pViewer ) = 0;
  1802.     virtual HRESULT __stdcall ViewerAdded (
  1803.         struct ISceneViewer * pViewer ) = 0;
  1804.     virtual HRESULT __stdcall ViewerRemoved (
  1805.         struct ISceneViewer * pViewer ) = 0;
  1806.     virtual HRESULT __stdcall InteractionStopped ( ) = 0;
  1807.     virtual HRESULT __stdcall RecordingStarted (
  1808.         BSTR Name ) = 0;
  1809.     virtual HRESULT __stdcall RecordingStopped ( ) = 0;
  1810.     virtual HRESULT __stdcall BeforeDraw (
  1811.         struct ISceneViewer * pViewer,
  1812.         VARIANT_BOOL * pbHandled ) = 0;
  1813.     virtual HRESULT __stdcall AfterDraw (
  1814.         struct ISceneViewer * pViewer ) = 0;
  1815. };
  1816. struct __declspec(uuid("1d1c669b-13de-11d4-80df-00c04fa0adf8"))
  1817. ISceneGraphEventsDisp : IDispatch
  1818. {
  1819.     //
  1820.     // Raw methods provided by interface
  1821.     //
  1822.     virtual HRESULT __stdcall ActiveViewerChanged (
  1823.         struct ISceneViewer * pViewer ) = 0;
  1824.     virtual HRESULT __stdcall ViewerAdded (
  1825.         struct ISceneViewer * pViewer ) = 0;
  1826.     virtual HRESULT __stdcall ViewerRemoved (
  1827.         struct ISceneViewer * pViewer ) = 0;
  1828.     virtual HRESULT __stdcall InteractionStopped ( ) = 0;
  1829.     virtual HRESULT __stdcall RecordingStarted (
  1830.         BSTR Name ) = 0;
  1831.     virtual HRESULT __stdcall RecordingStopped ( ) = 0;
  1832.     virtual HRESULT __stdcall BeforeDraw (
  1833.         struct ISceneViewer * pViewer,
  1834.         VARIANT_BOOL * pbHandled ) = 0;
  1835.     virtual HRESULT __stdcall AfterDraw (
  1836.         struct ISceneViewer * pViewer ) = 0;
  1837. };
  1838. struct __declspec(uuid("477ff406-c469-11d2-b1da-00c04fa33d14"))
  1839. SceneGraph;
  1840.     // [ default ] interface IUnknown
  1841.     // interface IActiveViewEvents
  1842.     // interface ISceneRendererEvents
  1843.     // interface ISceneGraph
  1844.     // interface IViewers3D
  1845.     // interface ISupportErrorInfo
  1846.     // interface IConnectionPointContainer
  1847.     // interface IDisplay3D
  1848.     // [ default, source ] interface ISceneGraphEventsDisp
  1849.     // [ source ] interface ISceneGraphEvents
  1850. struct __declspec(uuid("a1bf0693-63a1-4276-89ef-4951dd0cb37f"))
  1851. SceneGraphEvents;
  1852.     // [ default ] interface IUnknown
  1853.     // [ default, source ] interface ISceneGraphEvents
  1854. struct __declspec(uuid("517b7bc6-8833-11d4-ab87-0008c73fd50c"))
  1855. MessageDispatcher;
  1856.     // [ default ] interface IUnknown
  1857.     // interface IMessageDispatcher
  1858. struct __declspec(uuid("f7873923-9a19-11d4-b270-00508bcdde28"))
  1859. Hit3D;
  1860.     // [ default ] interface IUnknown
  1861.     // interface IHit3D
  1862. struct __declspec(uuid("768d13f1-9a2d-11d4-b270-00508bcdde28"))
  1863. Hit3DSet;
  1864.     // [ default ] interface IUnknown
  1865.     // interface IHit3DSet
  1866. struct __declspec(uuid("0aa361c1-06a2-11d5-9163-0080c7074326"))
  1867. ILayerRenderers : IUnknown
  1868. {
  1869.     //
  1870.     // Raw methods provided by interface
  1871.     //
  1872.     virtual HRESULT __stdcall get_RendererCount (
  1873.         long * RendererCount ) = 0;
  1874.     virtual HRESULT __stdcall GetRenderer (
  1875.         long index,
  1876.         IUnknown * * Renderer ) = 0;
  1877.     virtual HRESULT __stdcall AddRenderer (
  1878.         IUnknown * Renderer ) = 0;
  1879.     virtual HRESULT __stdcall InsertRenderer (
  1880.         IUnknown * Renderer,
  1881.         long index ) = 0;
  1882.     virtual HRESULT __stdcall RemoveRenderer (
  1883.         IUnknown * Renderer ) = 0;
  1884.     virtual HRESULT __stdcall ClearRenderers ( ) = 0;
  1885. };
  1886. struct __declspec(uuid("ea6581ec-082d-435c-8f73-b4161ca06f20"))
  1887. I3DViewer : IUnknown
  1888. {
  1889.     //
  1890.     // Raw methods provided by interface
  1891.     //
  1892.     virtual HRESULT __stdcall get_Caption (
  1893.         BSTR * pCaption ) = 0;
  1894.     virtual HRESULT __stdcall put_Caption (
  1895.         BSTR pCaption ) = 0;
  1896.     virtual HRESULT __stdcall get_Camera (
  1897.         struct ICamera * * ppCamera ) = 0;
  1898.     virtual HRESULT __stdcall putref_Camera (
  1899.         struct ICamera * ppCamera ) = 0;
  1900.     virtual HRESULT __stdcall MakeCurrent ( ) = 0;
  1901.     virtual HRESULT __stdcall Redraw (
  1902.         VARIANT_BOOL bCameraMoved ) = 0;
  1903.     virtual HRESULT __stdcall DrawToMetafile (
  1904.         OLE_HANDLE hDC,
  1905.         float resolutionFactor,
  1906.         long left,
  1907.         long top,
  1908.         long right,
  1909.         long bottom,
  1910.         VARIANT_BOOL bOffScreen ) = 0;
  1911.     virtual HRESULT __stdcall GetSnapshot (
  1912.         long Width,
  1913.         long height,
  1914.         enum esri3DOutputImageType Type,
  1915.         BSTR FileName ) = 0;
  1916.     virtual HRESULT __stdcall GetScreenShot (
  1917.         enum esri3DOutputImageType Type,
  1918.         BSTR FileName ) = 0;
  1919.     virtual HRESULT __stdcall get_hWnd (
  1920.         OLE_HANDLE * pHwnd ) = 0;
  1921.     virtual HRESULT __stdcall put_hWnd (
  1922.         OLE_HANDLE pHwnd ) = 0;
  1923.     virtual HRESULT __stdcall get_hDC (
  1924.         OLE_HANDLE * pHDC ) = 0;
  1925.     virtual HRESULT __stdcall put_hRC (
  1926.         OLE_HANDLE pHRC ) = 0;
  1927.     virtual HRESULT __stdcall get_hRC (
  1928.         OLE_HANDLE * pHRC ) = 0;
  1929.     virtual HRESULT __stdcall put_GestureSensitivity (
  1930.         long pcPixels ) = 0;
  1931.     virtual HRESULT __stdcall get_GestureSensitivity (
  1932.         long * pcPixels ) = 0;
  1933.     virtual HRESULT __stdcall put_GestureEnabled (
  1934.         VARIANT_BOOL pbEnabled ) = 0;
  1935.     virtual HRESULT __stdcall get_GestureEnabled (
  1936.         VARIANT_BOOL * pbEnabled ) = 0;
  1937.     virtual HRESULT __stdcall ClearGesture ( ) = 0;
  1938.     virtual HRESULT __stdcall OverrideDefaultHandler ( ) = 0;
  1939.     virtual HRESULT __stdcall put_FullScreenEnabled (
  1940.         VARIANT_BOOL pbEnabled ) = 0;
  1941.     virtual HRESULT __stdcall get_FullScreenEnabled (
  1942.         VARIANT_BOOL * pbEnabled ) = 0;
  1943.     virtual HRESULT __stdcall get_IsFullScreen (
  1944.         VARIANT_BOOL * pbIsFullScreen ) = 0;
  1945.     virtual HRESULT __stdcall SetFullScreen (
  1946.         VARIANT_BOOL bFullScreen ) = 0;
  1947. };
  1948. struct __declspec(uuid("3455fdb6-ee56-455e-a44e-28a0c76d3196"))
  1949. IRasterSurface : IUnknown
  1950. {
  1951.     //
  1952.     // Raw methods provided by interface
  1953.     //
  1954.     virtual HRESULT __stdcall put_RasterBand (
  1955.         struct IRasterBand * RasterBand ) = 0;
  1956.     virtual HRESULT __stdcall get_RasterBand (
  1957.         struct IRasterBand * * RasterBand ) = 0;
  1958.     virtual HRESULT __stdcall PutRaster (
  1959.         struct IRaster * Raster,
  1960.         long bandIndex ) = 0;
  1961.     virtual HRESULT __stdcall get_Raster (
  1962.         struct IRaster * * Raster ) = 0;
  1963.     virtual HRESULT __stdcall put_SampleDistance (
  1964.         double pSampleDistance ) = 0;
  1965.     virtual HRESULT __stdcall get_SampleDistance (
  1966.         double * pSampleDistance ) = 0;
  1967. };
  1968. struct __declspec(uuid("95ef6781-3de4-4f97-84b4-6db6ef90b67b"))
  1969. RasterSurface;
  1970.     // [ default ] interface IUnknown
  1971.     // interface IRasterSurface
  1972.     // interface IFunctionalSurface
  1973.     // interface IFunctionalSurface2
  1974.     // interface ISurface
  1975. struct __declspec(uuid("3044c30b-37d0-11d4-a167-444553547777"))
  1976. ISceneExporter3d : IUnknown
  1977. {
  1978.     //
  1979.     // Raw methods provided by interface
  1980.     //
  1981.     virtual HRESULT __stdcall get_Name (
  1982.         BSTR * Name ) = 0;
  1983.     virtual HRESULT __stdcall get_Filter (
  1984.         BSTR * Filter ) = 0;
  1985.     virtual HRESULT __stdcall get_FileExtension (
  1986.         BSTR * Name ) = 0;
  1987.     virtual HRESULT __stdcall put_ExportFileName (
  1988.         BSTR FileName ) = 0;
  1989.     virtual HRESULT __stdcall get_ExportFileName (
  1990.         BSTR * FileName ) = 0;
  1991.     virtual HRESULT __stdcall ExportScene (
  1992.         struct IScene * pScene ) = 0;
  1993. };
  1994. struct __declspec(uuid("3044c312-37d0-11d4-a167-444553547777"))
  1995. VRMLExporter;
  1996.     // [ default ] interface IUnknown
  1997.     // interface ISceneExporter3d
  1998.     // interface IVRMLExporter
  1999. struct __declspec(uuid("4251ba07-9106-11d5-b29f-00508bcdde28"))
  2000. ISceneVideoExporter : IUnknown
  2001. {
  2002.     //
  2003.     // Raw methods provided by interface
  2004.     //
  2005.     virtual HRESULT __stdcall putref_Viewer (
  2006.         struct ISceneViewer * _arg1 ) = 0;
  2007.     virtual HRESULT __stdcall put_VideoDuration (
  2008.         double pSeconds ) = 0;
  2009.     virtual HRESULT __stdcall get_VideoDuration (
  2010.         double * pSeconds ) = 0;
  2011.     virtual HRESULT __stdcall put_FrameRate (
  2012.         int pImagesPerSecond ) = 0;
  2013.     virtual HRESULT __stdcall get_FrameRate (
  2014.         int * pImagesPerSecond ) = 0;
  2015.     virtual HRESULT __stdcall put_UseCustomSize (
  2016.         VARIANT_BOOL pbUseCustomSize ) = 0;
  2017.     virtual HRESULT __stdcall get_UseCustomSize (
  2018.         VARIANT_BOOL * pbUseCustomSize ) = 0;
  2019.     virtual HRESULT __stdcall PutCustomSize (
  2020.         int Width,
  2021.         int height ) = 0;
  2022.     virtual HRESULT __stdcall GetCustomSize (
  2023.         int * pWidth,
  2024.         int * pHeight ) = 0;
  2025. };
  2026. struct __declspec(uuid("26eb3a30-9e6d-443c-b904-79b16c5028aa"))
  2027. IVideoExporterProperties : IUnknown
  2028. {
  2029.     //
  2030.     // Raw methods provided by interface
  2031.     //
  2032.     virtual HRESULT __stdcall get_IsInstalled (
  2033.         VARIANT_BOOL * pbIsInstalled ) = 0;
  2034.     virtual HRESULT __stdcall get_CodecList (
  2035.         struct IStringArray * * ppCodecs ) = 0;
  2036.     virtual HRESULT __stdcall get_CodecCodeList (
  2037.         struct IStringArray * * ppCodecCodes ) = 0;
  2038.     virtual HRESULT __stdcall put_Codec (
  2039.         BSTR pCodecName ) = 0;
  2040.     virtual HRESULT __stdcall get_Codec (
  2041.         BSTR * pCodecName ) = 0;
  2042.     virtual HRESULT __stdcall put_CodecCode (
  2043.         BSTR pCodecCode ) = 0;
  2044.     virtual HRESULT __stdcall get_CodecCode (
  2045.         BSTR * pCodecCode ) = 0;
  2046.     virtual HRESULT __stdcall put_ColorDepth (
  2047.         short pColorDepth ) = 0;
  2048.     virtual HRESULT __stdcall get_ColorDepth (
  2049.         short * pColorDepth ) = 0;
  2050.     virtual HRESULT __stdcall put_Quality (
  2051.         int pQualityPercent ) = 0;
  2052.     virtual HRESULT __stdcall get_Quality (
  2053.         int * pQualityPercent ) = 0;
  2054.     virtual HRESULT __stdcall put_KeyFrameRate (
  2055.         long pKeyFrameRate ) = 0;
  2056.     virtual HRESULT __stdcall get_KeyFrameRate (
  2057.         long * pKeyFrameRate ) = 0;
  2058.     virtual HRESULT __stdcall put_DataRate (
  2059.         long pDataRate ) = 0;
  2060.     virtual HRESULT __stdcall get_DataRate (
  2061.         long * pDataRate ) = 0;
  2062.     virtual HRESULT __stdcall put_FrameDuration (
  2063.         long pFrameDuration ) = 0;
  2064.     virtual HRESULT __stdcall get_FrameDuration (
  2065.         long * pFrameDuration ) = 0;
  2066.     virtual HRESULT __stdcall put_RecordWindow (
  2067.         VARIANT_BOOL pbRecordAppWindow ) = 0;
  2068.     virtual HRESULT __stdcall get_RecordWindow (
  2069.         VARIANT_BOOL * pbRecordAppWindow ) = 0;
  2070.     virtual HRESULT __stdcall put_RecordOffScreen (
  2071.         VARIANT_BOOL pbRecordOffScreen ) = 0;
  2072.     virtual HRESULT __stdcall get_RecordOffScreen (
  2073.         VARIANT_BOOL * pbRecordOffScreen ) = 0;
  2074.     virtual HRESULT __stdcall put_ShowSettingsDialog (
  2075.         VARIANT_BOOL pbShowSettingsDialog ) = 0;
  2076.     virtual HRESULT __stdcall get_ShowSettingsDialog (
  2077.         VARIANT_BOOL * pbShowSettingsDialog ) = 0;
  2078. };
  2079. struct __declspec(uuid("4251ba08-9106-11d5-b29f-00508bcdde28"))
  2080. IAVIExporter : IUnknown
  2081. {
  2082.     //
  2083.     // Raw methods provided by interface
  2084.     //
  2085.     virtual HRESULT __stdcall put_Quality (
  2086.         int pQualityPercent ) = 0;
  2087.     virtual HRESULT __stdcall get_Quality (
  2088.         int * pQualityPercent ) = 0;
  2089. };
  2090. struct __declspec(uuid("206fda1e-5622-4189-9f9a-486cd52e3457"))
  2091. IQuickTimeExporter : IUnknown
  2092. {};
  2093. struct __declspec(uuid("4251ba06-9106-11d5-b29f-00508bcdde28"))
  2094. AVIExporter;
  2095.     // [ default ] interface IUnknown
  2096.     // interface ISceneExporter3d
  2097.     // interface ISceneVideoExporter
  2098.     // interface IVideoExporterProperties
  2099.     // interface IAVIExporter
  2100. struct __declspec(uuid("bc9f9a95-6d45-438d-b0fe-e7337510fcc2"))
  2101. QuickTimeExporter;
  2102.     // [ default ] interface IUnknown
  2103.     // interface ISceneExporter3d
  2104.     // interface ISceneVideoExporter
  2105.     // interface IVideoExporterProperties
  2106. enum esriSimple3DMarkerStyle
  2107. {
  2108.     esriS3DMSTetra = 0,
  2109.     esriS3DMSCube = 1,
  2110.     esriS3DMSCone = 2,
  2111.     esriS3DMSCylinder = 3,
  2112.     esriS3DMSDiamond = 4,
  2113.     esriS3DMSSphere = 5,
  2114.     esriS3DMSSphereFrame = 6
  2115. };
  2116. enum esri3DMarkerType
  2117. {
  2118.     esri3DMTSimple = 0,
  2119.     esri3DMTGeometry = 1,
  2120.     esri3DMTGeomMaterial = 2
  2121. };
  2122. enum esriSimple3DLineStyle
  2123. {
  2124.     esriS3DLSTube = 0,
  2125.     esriS3DLSStrip = 1,
  2126.     esriS3DLSWall = 2
  2127. };
  2128. struct __declspec(uuid("95e48b87-336e-4062-9b68-eb8ec9177ab8"))
  2129. IImport3DFile : IUnknown
  2130. {
  2131.     //
  2132.     // Raw methods provided by interface
  2133.     //
  2134.     virtual HRESULT __stdcall get_IsValidFile (
  2135.         BSTR FilePath,
  2136.         VARIANT_BOOL * pValid ) = 0;
  2137.     virtual HRESULT __stdcall CreateFromFile (
  2138.         BSTR FilePath ) = 0;
  2139.     virtual HRESULT __stdcall get_Geometry (
  2140.         struct IGeometry * * ppGeometry ) = 0;
  2141.     virtual HRESULT __stdcall get_CanBrowse (
  2142.         VARIANT_BOOL * pCanBrowse ) = 0;
  2143.     virtual HRESULT __stdcall get_FileDescription (
  2144.         BSTR * pDescription ) = 0;
  2145.     virtual HRESULT __stdcall get_FileExtension (
  2146.         BSTR * pFileExtention ) = 0;
  2147. };
  2148. struct __declspec(uuid("e9f95f61-2bec-11d6-a4cd-444553547777"))
  2149. IGeometryMaterial : IUnknown
  2150. {
  2151.     //
  2152.     // Raw methods provided by interface
  2153.     //
  2154.     virtual HRESULT __stdcall SetColor (
  2155.         double red,
  2156.         double green,
  2157.         double blue ) = 0;
  2158.     virtual HRESULT __stdcall GetColor (
  2159.         double * pRed,
  2160.         double * pGreen,
  2161.         double * pBlue ) = 0;
  2162.     virtual HRESULT __stdcall putref_Color (
  2163.         struct IRgbColor * ppRgbColor ) = 0;
  2164.     virtual HRESULT __stdcall get_Color (
  2165.         struct IRgbColor * * ppRgbColor ) = 0;
  2166.     virtual HRESULT __stdcall put_Transparency (
  2167.         double pTransparency ) = 0;
  2168.     virtual HRESULT __stdcall get_Transparency (
  2169.         double * pTransparency ) = 0;
  2170.     virtual HRESULT __stdcall put_TextureImage (
  2171.         BSTR pFilePath ) = 0;
  2172.     virtual HRESULT __stdcall get_TextureImage (
  2173.         BSTR * pFilePath ) = 0;
  2174.     virtual HRESULT __stdcall ClearTextureImage ( ) = 0;
  2175.     virtual HRESULT __stdcall putref_TransparentTextureColor (
  2176.         struct IRgbColor * ppRgbColor ) = 0;
  2177.     virtual HRESULT __stdcall get_TransparentTextureColor (
  2178.         struct IRgbColor * * ppRgbColor ) = 0;
  2179.     virtual HRESULT __stdcall get_HasTransparentTextureColor (
  2180.         VARIANT_BOOL * pHasTransparentColor ) = 0;
  2181.     virtual HRESULT __stdcall ClearTransparentTextureColor ( ) = 0;
  2182.     virtual HRESULT __stdcall get_TextureColorPalette (
  2183.         struct IArray * * ppRgbColors ) = 0;
  2184. };
  2185. struct __declspec(uuid("b7685a34-2bc8-11d6-a4cc-444553547777"))
  2186. IGeometryMaterialList : IUnknown
  2187. {
  2188.     //
  2189.     // Raw methods provided by interface
  2190.     //
  2191.     virtual HRESULT __stdcall get_Count (
  2192.         long * pCount ) = 0;
  2193.     virtual HRESULT __stdcall AddMaterial (
  2194.         struct IGeometryMaterial * pMaterial ) = 0;
  2195.     virtual HRESULT __stdcall InsertMaterial (
  2196.         long index,
  2197.         struct IGeometryMaterial * pMaterial ) = 0;
  2198.     virtual HRESULT __stdcall RemoveMaterial (
  2199.         long index ) = 0;
  2200.     virtual HRESULT __stdcall EmptyList ( ) = 0;
  2201.     virtual HRESULT __stdcall get_GeometryMaterial (
  2202.         long index,
  2203.         struct IGeometryMaterial * * pGeometryMaterial ) = 0;
  2204. };
  2205. struct __declspec(uuid("821003c1-2c6b-11d6-a4ce-444553547777"))
  2206. IGeneralMultiPatchCreator : IUnknown
  2207. {
  2208.     //
  2209.     // Raw methods provided by interface
  2210.     //
  2211.     virtual HRESULT __stdcall Init (
  2212.         long PointCount,
  2213.         long partCount,
  2214.         VARIANT_BOOL hasMs,
  2215.         VARIANT_BOOL hasIDs,
  2216.         VARIANT_BOOL hasNormals,
  2217.         long TexturePointCount,
  2218.         struct IGeometryMaterialList * pGeometryMaterialList ) = 0;
  2219.     virtual HRESULT __stdcall SetPatchPointIndex (
  2220.         long patch,
  2221.         long index ) = 0;
  2222.     virtual HRESULT __stdcall SetPatchType (
  2223.         long patch,
  2224.         enum esriPatchType Type ) = 0;
  2225.     virtual HRESULT __stdcall SetPatchPriority (
  2226.         long patch,
  2227.         long priority ) = 0;
  2228.     virtual HRESULT __stdcall SetMaterialIndex (
  2229.         long patch,
  2230.         long index ) = 0;
  2231.     virtual HRESULT __stdcall SetPoint (
  2232.         long index,
  2233.         struct IPoint * pPoint ) = 0;
  2234.     virtual HRESULT __stdcall SetWKSPointZ (
  2235.         long index,
  2236.         WKSPointZ * pPoint ) = 0;
  2237.     virtual HRESULT __stdcall SetM (
  2238.         long index,
  2239.         double mValue ) = 0;
  2240.     virtual HRESULT __stdcall SetNormal (
  2241.         long index,
  2242.         struct IVector3D * pVector ) = 0;
  2243.     virtual HRESULT __stdcall SetPatchTexturePointIndex (
  2244.         long part,
  2245.         long index ) = 0;
  2246.     virtual HRESULT __stdcall SetTexturePoint (
  2247.         long index,
  2248.         struct IPoint * pPoint ) = 0;
  2249.     virtual HRESULT __stdcall SetTextureWKSPoint (
  2250.         long index,
  2251.         WKSPoint * pPoint ) = 0;
  2252.     virtual HRESULT __stdcall SetID (
  2253.         long index,
  2254.         long ID ) = 0;
  2255.     virtual HRESULT __stdcall ClearResources ( ) = 0;
  2256.     virtual HRESULT __stdcall CreateMultiPatch (
  2257.         struct IGeometry * * pGeometry ) = 0;
  2258. };
  2259. struct __declspec(uuid("773f7276-aefb-11d5-8112-00c04fa0adf8"))
  2260. IMarker3DPlacement : IMarkerSymbol
  2261. {
  2262.     //
  2263.     // Raw methods provided by interface
  2264.     //
  2265.     virtual HRESULT __stdcall get_Units (
  2266.         enum esriUnits * unitsCode ) = 0;
  2267.     virtual HRESULT __stdcall put_Units (
  2268.         enum esriUnits unitsCode ) = 0;
  2269.     virtual HRESULT __stdcall get_NormalizedOriginOffset (
  2270.         struct IVector3D * * offset ) = 0;
  2271.     virtual HRESULT __stdcall putref_NormalizedOriginOffset (
  2272.         struct IVector3D * offset ) = 0;
  2273.     virtual HRESULT __stdcall get_ZOffset (
  2274.         double * ZOffset ) = 0;
  2275.     virtual HRESULT __stdcall put_ZOffset (
  2276.         double ZOffset ) = 0;
  2277.     virtual HRESULT __stdcall get_Shape (
  2278.         struct IGeometry * * Shape ) = 0;
  2279.     virtual HRESULT __stdcall ApplyToPoint (
  2280.         struct IPoint * inShape,
  2281.         struct IGeometry * * outShape,
  2282.         double enforcedZ,
  2283.         double unitFactor,
  2284.         double zScale ) = 0;
  2285.     virtual HRESULT __stdcall QueryRotationAngles (
  2286.         double * xAngle,
  2287.         double * yAngle,
  2288.         double * zAngle ) = 0;
  2289.     virtual HRESULT __stdcall SetRotationAngles (
  2290.         double xAngle,
  2291.         double yAngle,
  2292.         double zAngle ) = 0;
  2293.     virtual HRESULT __stdcall get_Width (
  2294.         double * Width ) = 0;
  2295.     virtual HRESULT __stdcall put_Width (
  2296.         double Width ) = 0;
  2297.     virtual HRESULT __stdcall get_Depth (
  2298.         double * Depth ) = 0;
  2299.     virtual HRESULT __stdcall put_Depth (
  2300.         double Depth ) = 0;
  2301.     virtual HRESULT __stdcall get_MaintainAspectRatio (
  2302.         VARIANT_BOOL * bAspectRatio ) = 0;
  2303.     virtual HRESULT __stdcall put_MaintainAspectRatio (
  2304.         VARIANT_BOOL bAspectRatio ) = 0;
  2305. };
  2306. struct __declspec(uuid("773f726f-aefb-11d5-8112-00c04fa0adf8"))
  2307. ISimpleMarker3DSymbol : IUnknown
  2308. {
  2309.     //
  2310.     // Raw methods provided by interface
  2311.     //
  2312.     virtual HRESULT __stdcall get_Style (
  2313.         enum esriSimple3DMarkerStyle * Style ) = 0;
  2314.     virtual HRESULT __stdcall put_Style (
  2315.         enum esriSimple3DMarkerStyle Style ) = 0;
  2316.     virtual HRESULT __stdcall get_ResolutionQuality (
  2317.         double * Quality ) = 0;
  2318.     virtual HRESULT __stdcall put_ResolutionQuality (
  2319.         double Quality ) = 0;
  2320. };
  2321. struct __declspec(uuid("773f7272-aefb-11d5-8112-00c04fa0adf8"))
  2322. IMarker3DSymbol : IUnknown
  2323. {
  2324.     //
  2325.     // Raw methods provided by interface
  2326.     //
  2327.     virtual HRESULT __stdcall putref_Shape (
  2328.         struct IGeometry * Shape ) = 0;
  2329.     virtual HRESULT __stdcall get_Shape (
  2330.         struct IGeometry * * Shape ) = 0;
  2331.     virtual HRESULT __stdcall get_UseMaterialDraping (
  2332.         VARIANT_BOOL * useDraping ) = 0;
  2333.     virtual HRESULT __stdcall put_UseMaterialDraping (
  2334.         VARIANT_BOOL useDraping ) = 0;
  2335.     virtual HRESULT __stdcall get_MaterialCount (
  2336.         long * cMaterials ) = 0;
  2337.     virtual HRESULT __stdcall CreateFromFile (
  2338.         BSTR FileName ) = 0;
  2339.     virtual HRESULT __stdcall get_Thumbnail (
  2340.         struct IPicture * * Thumbnail ) = 0;
  2341.     virtual HRESULT __stdcall putref_Thumbnail (
  2342.         struct IPicture * Thumbnail ) = 0;
  2343.     virtual HRESULT __stdcall RestrictAccessToShape ( ) = 0;
  2344.     virtual HRESULT __stdcall get_IsRestricted (
  2345.         VARIANT_BOOL * IsRestricted ) = 0;
  2346. };
  2347. struct __declspec(uuid("6e8ec8f8-e90a-11d5-a129-00508bd60cb9"))
  2348. ICharacterMarker3DSymbol : IMarkerSymbol
  2349. {
  2350.     //
  2351.     // Raw methods provided by interface
  2352.     //
  2353.     virtual HRESULT __stdcall get_Font (
  2354.         IFontDisp * * fontDisp ) = 0;
  2355.     virtual HRESULT __stdcall put_Font (
  2356.         IFontDisp * fontDisp ) = 0;
  2357.     virtual HRESULT __stdcall get_CharacterIndex (
  2358.         long * charIndex ) = 0;
  2359.     virtual HRESULT __stdcall put_CharacterIndex (
  2360.         long charIndex ) = 0;
  2361.     virtual HRESULT __stdcall get_VerticalOrientation (
  2362.         VARIANT_BOOL * bVertical ) = 0;
  2363.     virtual HRESULT __stdcall put_VerticalOrientation (
  2364.         VARIANT_BOOL bVertical ) = 0;
  2365. };
  2366. struct __declspec(uuid("470b7273-3552-11d6-a12d-00508bd60cb9"))
  2367. ILine3DPlacement : ILineSymbol
  2368. {
  2369.     //
  2370.     // Raw methods provided by interface
  2371.     //
  2372.     virtual HRESULT __stdcall get_Units (
  2373.         enum esriUnits * unitsCode ) = 0;
  2374.     virtual HRESULT __stdcall put_Units (
  2375.         enum esriUnits unitsCode ) = 0;
  2376.     virtual HRESULT __stdcall ApplyToLine (
  2377.         struct IGeometry * inShape,
  2378.         struct IGeometry * * outShape,
  2379.         double enforcedZ,
  2380.         double zScale ) = 0;
  2381. };
  2382. struct __declspec(uuid("470b7274-3552-11d6-a12d-00508bd60cb9"))
  2383. ISimpleLine3DSymbol : IUnknown
  2384. {
  2385.     //
  2386.     // Raw methods provided by interface
  2387.     //
  2388.     virtual HRESULT __stdcall get_Style (
  2389.         enum esriSimple3DLineStyle * Style ) = 0;
  2390.     virtual HRESULT __stdcall put_Style (
  2391.         enum esriSimple3DLineStyle Style ) = 0;
  2392.     virtual HRESULT __stdcall get_ResolutionQuality (
  2393.         double * Quality ) = 0;
  2394.     virtual HRESULT __stdcall put_ResolutionQuality (
  2395.         double Quality ) = 0;
  2396. };
  2397. struct __declspec(uuid("3f6d8301-5a5a-4b84-969f-433af07ee1a3"))
  2398. ITextureFillSymbol : IFillSymbol
  2399. {
  2400.     //
  2401.     // Raw methods provided by interface
  2402.     //
  2403.     virtual HRESULT __stdcall get_Texture (
  2404.         struct IGeometryMaterial * * Texture ) = 0;
  2405.     virtual HRESULT __stdcall putref_Texture (
  2406.         struct IGeometryMaterial * Texture ) = 0;
  2407.     virtual HRESULT __stdcall put_BitmapTransparencyColor (
  2408.         struct IColor * Color ) = 0;
  2409.     virtual HRESULT __stdcall get_BitmapTransparencyColor (
  2410.         struct IColor * * Color ) = 0;
  2411.     virtual HRESULT __stdcall get_Angle (
  2412.         double * Angle ) = 0;
  2413.     virtual HRESULT __stdcall put_Angle (
  2414.         double Angle ) = 0;
  2415.     virtual HRESULT __stdcall get_Size (
  2416.         double * pSize ) = 0;
  2417.     virtual HRESULT __stdcall put_Size (
  2418.         double pSize ) = 0;
  2419.     virtual HRESULT __stdcall CreateFillSymbolFromFile (
  2420.         BSTR FileName ) = 0;
  2421. };
  2422. struct __declspec(uuid("d47a4da5-6d42-11d6-a13e-00508bd60cb9"))
  2423. ITextureLineSymbol : ILineSymbol
  2424. {
  2425.     //
  2426.     // Raw methods provided by interface
  2427.     //
  2428.     virtual HRESULT __stdcall get_Texture (
  2429.         struct IGeometryMaterial * * Texture ) = 0;
  2430.     virtual HRESULT __stdcall putref_Texture (
  2431.         struct IGeometryMaterial * Texture ) = 0;
  2432.     virtual HRESULT __stdcall put_BitmapTransparencyColor (
  2433.         struct IColor * Color ) = 0;
  2434.     virtual HRESULT __stdcall get_BitmapTransparencyColor (
  2435.         struct IColor * * Color ) = 0;
  2436.     virtual HRESULT __stdcall CreateLineSymbolFromFile (
  2437.         BSTR FileName ) = 0;
  2438.     virtual HRESULT __stdcall get_TextureFillSymbol (
  2439.         struct ITextureFillSymbol * * textureFillSym ) = 0;
  2440.     virtual HRESULT __stdcall get_VerticalOrientation (
  2441.         VARIANT_BOOL * bVertical ) = 0;
  2442.     virtual HRESULT __stdcall put_VerticalOrientation (
  2443.         VARIANT_BOOL bVertical ) = 0;
  2444. };
  2445. struct __declspec(uuid("773f7270-aefb-11d5-8112-00c04fa0adf8"))
  2446. SimpleMarker3DSymbol;
  2447.     // [ default ] interface IUnknown
  2448.     // interface ISimpleMarker3DSymbol
  2449.     // interface IMarker3DPlacement
  2450.     // interface IMapLevel
  2451.     // interface ISymbol
  2452.     // interface IPropertySupport
  2453.     // interface IPersistStream
  2454.     // interface IPersist
  2455.     // interface IClone
  2456.     // interface IDisplayName
  2457.     // interface ISymbol3D
  2458. struct __declspec(uuid("773f7274-aefb-11d5-8112-00c04fa0adf8"))
  2459. Marker3DSymbol;
  2460.     // [ default ] interface IUnknown
  2461.     // interface IMarker3DSymbol
  2462.     // interface IMarker3DPlacement
  2463.     // interface IMapLevel
  2464.     // interface ISymbol
  2465.     // interface IPropertySupport
  2466.     // interface IPersistStream
  2467.     // interface IPersist
  2468.     // interface IClone
  2469.     // interface IDisplayName
  2470.     // interface ISymbol3D
  2471. struct __declspec(uuid("6e8ec8f7-e90a-11d5-a129-00508bd60cb9"))
  2472. CharacterMarker3DSymbol;
  2473.     // [ default ] interface IUnknown
  2474.     // interface ICharacterMarker3DSymbol
  2475.     // interface IMarker3DPlacement
  2476.     // interface IMapLevel
  2477.     // interface ISymbol
  2478.     // interface IPropertySupport
  2479.     // interface IPersistStream
  2480.     // interface IPersist
  2481.     // interface IClone
  2482.     // interface IDisplayName
  2483.     // interface ISymbol3D
  2484. struct __declspec(uuid("470b7275-3552-11d6-a12d-00508bd60cb9"))
  2485. SimpleLine3DSymbol;
  2486.     // [ default ] interface IUnknown
  2487.     // interface ISimpleLine3DSymbol
  2488.     // interface ILine3DPlacement
  2489.     // interface IMapLevel
  2490.     // interface ISymbol
  2491.     // interface IPropertySupport
  2492.     // interface IPersistStream
  2493.     // interface IPersist
  2494.     // interface IClone
  2495.     // interface IDisplayName
  2496.     // interface ISymbol3D
  2497. struct __declspec(uuid("8d738780-c069-42e0-9dfa-2b7b61707ba9"))
  2498. TextureFillSymbol;
  2499.     // [ default ] interface IUnknown
  2500.     // interface ITextureFillSymbol
  2501.     // interface IMapLevel
  2502.     // interface ISymbol
  2503.     // interface IPropertySupport
  2504.     // interface IPersistStream
  2505.     // interface IPersist
  2506.     // interface IClone
  2507.     // interface IDisplayName
  2508.     // interface ISymbol3D
  2509. struct __declspec(uuid("b5710c9c-a9bc-4a16-b578-54be176ed57b"))
  2510. TextureLineSymbol;
  2511.     // [ default ] interface IUnknown
  2512.     // interface ITextureLineSymbol
  2513.     // interface IMapLevel
  2514.     // interface ISymbol
  2515.     // interface IPropertySupport
  2516.     // interface IPersistStream
  2517.     // interface IPersist
  2518.     // interface IClone
  2519.     // interface IDisplayName
  2520.     // interface ILine3DPlacement
  2521.     // interface ISymbol3D
  2522. struct __declspec(uuid("f7491560-b744-11d5-a3ef-444553547777"))
  2523. Import3DFile;
  2524.     // [ default ] interface IUnknown
  2525.     // interface IImport3DFile
  2526. struct __declspec(uuid("0e6f4b27-2bd0-11d6-a4cc-444553547777"))
  2527. GeometryMaterial;
  2528.     // [ default ] interface IUnknown
  2529.     // interface IGeometryMaterial
  2530.     // interface IPersistStream
  2531.     // interface IPersist
  2532. struct __declspec(uuid("0e6f4b2c-2bd0-11d6-a4cc-444553547777"))
  2533. GeometryMaterialList;
  2534.     // [ default ] interface IUnknown
  2535.     // interface IGeometryMaterialList
  2536. struct __declspec(uuid("776b5584-2c7f-11d6-a4ce-444553547777"))
  2537. GeneralMultiPatchCreator;
  2538.     // [ default ] interface IUnknown
  2539.     // interface IGeneralMultiPatchCreator
  2540. enum esri3DServerType
  2541. {
  2542.     esri3DServerScene = 0,
  2543.     esri3DServerGlobe = 1
  2544. };
  2545. struct __declspec(uuid("41cf2277-a8ce-4815-9270-6f0a7bd49d45"))
  2546. Controls3DAnalystSteepestPathTool;
  2547.     // [ default ] interface IUnknown
  2548.     // interface ICommand
  2549.     // interface ITool
  2550.     // interface IToolSelectedLayer
  2551. struct __declspec(uuid("813a66cc-f7c0-4256-9e52-60a1d7d4d864"))
  2552. Controls3DAnalystContourTool;
  2553.     // [ default ] interface IUnknown
  2554.     // interface ICommand
  2555.     // interface ITool
  2556.     // interface IToolSelectedLayer
  2557. struct __declspec(uuid("48bc36e8-0f8e-4e36-a00d-472c29a07ef6"))
  2558. ControlsSceneExpandFOVCommand;
  2559.     // [ default ] interface IUnknown
  2560.     // interface ICommand
  2561. struct __declspec(uuid("c62ab5da-bdb2-41fd-804f-cf5342539b7a"))
  2562. ControlsSceneFlyTool;
  2563.     // [ default ] interface IUnknown
  2564.     // interface ICommand
  2565.     // interface ITool
  2566. struct __declspec(uuid("3e11f70e-4ff3-489a-b49f-d7190633a096"))
  2567. ControlsSceneFullExtentCommand;
  2568.     // [ default ] interface IUnknown
  2569.     // interface ICommand
  2570. struct __declspec(uuid("311bbb00-3907-471f-8e81-e01384aa1969"))
  2571. ControlsSceneNarrowFOVCommand;
  2572.     // [ default ] interface IUnknown
  2573.     // interface ICommand
  2574. struct __declspec(uuid("71b9d454-1bdd-4861-baaf-375e7ba19db4"))
  2575. ControlsSceneNavigateTool;
  2576.     // [ default ] interface IUnknown
  2577.     // interface ICommand
  2578.     // interface ITool
  2579. struct __declspec(uuid("857173f9-f6af-40ac-b985-a7d71597b5ec"))
  2580. ControlsScenePanTool;
  2581.     // [ default ] interface IUnknown
  2582.     // interface ICommand
  2583.     // interface ITool
  2584. struct __declspec(uuid("ff0bec24-fd26-4993-8ff1-f83d924ed8d4"))
  2585. ControlsSceneSelectFeaturesTool;
  2586.     // [ default ] interface IUnknown
  2587.     // interface ICommand
  2588.     // interface ITool
  2589. struct __declspec(uuid("cc255490-e1cf-4205-9577-96cd9d680268"))
  2590. ControlsSceneSelectGraphicsTool;
  2591.     // [ default ] interface IUnknown
  2592.     // interface ICommand
  2593.     // interface ITool
  2594. struct __declspec(uuid("c609e3ba-8585-4272-bf63-192257012e6e"))
  2595. ControlsSceneSetObserverTool;
  2596.     // [ default ] interface IUnknown
  2597.     // interface ICommand
  2598.     // interface ITool
  2599. struct __declspec(uuid("86d9a49b-d776-46e1-86b4-90146b95bfa1"))
  2600. ControlsSceneTargetCenterTool;
  2601.     // [ default ] interface IUnknown
  2602.     // interface ICommand
  2603.     // interface ITool
  2604. struct __declspec(uuid("ea4e0cd6-8365-4db0-b5ac-d36782117ad2"))
  2605. ControlsSceneTargetZoomTool;
  2606.     // [ default ] interface IUnknown
  2607.     // interface ICommand
  2608.     // interface ITool
  2609. struct __declspec(uuid("85f0d11f-b96f-4617-97c9-a90a3f7eb0cd"))
  2610. ControlsSceneZoomInTool;
  2611.     // [ default ] interface IUnknown
  2612.     // interface ICommand
  2613.     // interface ITool
  2614. struct __declspec(uuid("fb72e6cc-b66a-4a34-bf81-5f6f3ffcf06b"))
  2615. ControlsSceneZoomInOutTool;
  2616.     // [ default ] interface IUnknown
  2617.     // interface ICommand
  2618.     // interface ITool
  2619. struct __declspec(uuid("f6f85407-fbd0-467c-9ba4-ec1d2646432c"))
  2620. ControlsSceneZoomOutTool;
  2621.     // [ default ] interface IUnknown
  2622.     // interface ICommand
  2623.     // interface ITool
  2624. struct __declspec(uuid("93320166-ece7-4a2c-b6d0-22416fd08ef5"))
  2625. ControlsSceneOpenDocCommand;
  2626.     // [ default ] interface IUnknown
  2627.     // interface ICommand
  2628. struct __declspec(uuid("18a9ffdf-7b77-413a-af57-81f58bfcffb3"))
  2629. ControlsSceneSceneToolbar;
  2630.     // [ default ] interface IUnknown
  2631.     // interface IToolBarDef
  2632. struct __declspec(uuid("aa4f27cf-0c2b-44d3-9531-5d1d48cbf3e4"))
  2633. ISceneCommandHook : IUnknown
  2634. {
  2635.     //
  2636.     // Raw methods provided by interface
  2637.     //
  2638.     virtual HRESULT __stdcall get_Scene (
  2639.         struct IScene * * ppScene ) = 0;
  2640. };
  2641. struct __declspec(uuid("142dce00-0dd2-4761-b639-5fc7af74fa1b"))
  2642. ISceneHookHelper : IUnknown
  2643. {
  2644.     //
  2645.     // Raw methods provided by interface
  2646.     //
  2647.     virtual HRESULT __stdcall putref_Hook (
  2648.         IDispatch * ppHook ) = 0;
  2649.     virtual HRESULT __stdcall get_Hook (
  2650.         IDispatch * * ppHook ) = 0;
  2651.     virtual HRESULT __stdcall get_Scene (
  2652.         struct IScene * * ppScene ) = 0;
  2653.     virtual HRESULT __stdcall get_SceneGraph (
  2654.         struct ISceneGraph * * ppSceneGraph ) = 0;
  2655.     virtual HRESULT __stdcall get_ActiveViewer (
  2656.         struct ISceneViewer * * ppSceneViewer ) = 0;
  2657.     virtual HRESULT __stdcall get_Camera (
  2658.         struct ICamera * * ppOperationStack ) = 0;
  2659. };
  2660. struct __declspec(uuid("b68aa59e-ad9a-4bc4-a6b8-5c73e5da2881"))
  2661. SceneHookHelper;
  2662.     // [ default ] interface IUnknown
  2663.     // interface ISceneHookHelper
  2664.     // interface ISupportErrorInfo
  2665. //
  2666. // Named GUID constants initializations
  2667. //
  2668. extern "C" const GUID __declspec(selectany) LIBID_esri3DAnalyst =
  2669.     {0x639fe90a,0xcc9a,0x48c6,{0xac,0x1d,0x10,0x5f,0xe5,0x09,0x15,0xb5}};
  2670. extern "C" const GUID __declspec(selectany) IID_IScene =
  2671.     {0x787f54e2,0xba26,0x11d2,{0x92,0xf8,0x44,0xd1,0xf8,0xc0,0x00,0x00}};
  2672. extern "C" const GUID __declspec(selectany) IID_ISceneGraph =
  2673.     {0x37576410,0xc469,0x11d2,{0xb1,0xda,0x00,0xc0,0x4f,0xa3,0x3d,0x14}};
  2674. extern "C" const GUID __declspec(selectany) IID_ISceneRenderer =
  2675.     {0xcb6f53c2,0xc46b,0x11d2,{0xb1,0xda,0x00,0xc0,0x4f,0xa3,0x3d,0x14}};
  2676. extern "C" const GUID __declspec(selectany) IID_I3DProperties =
  2677.     {0xbc6f44cc,0x21e8,0x11d4,{0xa3,0x83,0x00,0xc0,0x4f,0x6b,0xc6,0x19}};
  2678. extern "C" const GUID __declspec(selectany) IID_ISceneViewer =
  2679.     {0x03485a91,0x59d0,0x11d3,{0x81,0x72,0x00,0x80,0xc7,0x59,0x7e,0x71}};
  2680. extern "C" const GUID __declspec(selectany) IID_ICamera =
  2681.     {0xb3fa596f,0xada3,0x11d2,{0x9f,0xae,0x00,0xc0,0x4f,0x8e,0xce,0x3d}};
  2682. extern "C" const GUID __declspec(selectany) IID_IHit3DSet =
  2683.     {0x768d13f2,0x9a2d,0x11d4,{0xb2,0x70,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2684. extern "C" const GUID __declspec(selectany) IID_IAnimationType =
  2685.     {0xbbf1af30,0xa6ec,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2686. extern "C" const GUID __declspec(selectany) IID_IKeyframe =
  2687.     {0x767c9b53,0x5a8e,0x11d5,{0xb2,0x95,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2688. extern "C" const GUID __declspec(selectany) IID_IBookmarkToKeyframe =
  2689.     {0xbd3c7aad,0xa869,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2690. extern "C" const GUID __declspec(selectany) IID_IAnimationTrack =
  2691.     {0xbbf1af31,0xa6ec,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2692. extern "C" const GUID __declspec(selectany) CLSID_AnimationTrack =
  2693.     {0x4fedc9cb,0xa7be,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2694. extern "C" const GUID __declspec(selectany) CLSID_LayerKeyframe =
  2695.     {0x24aa4277,0xadf3,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2696. extern "C" const GUID __declspec(selectany) CLSID_SceneKeyframe =
  2697.     {0x24aa4278,0xadf3,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2698. extern "C" const GUID __declspec(selectany) CLSID_AnimationTypeCamera =
  2699.     {0x500f4707,0xa798,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2700. extern "C" const GUID __declspec(selectany) CLSID_AnimationTypeLayer =
  2701.     {0x24aa4279,0xadf3,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2702. extern "C" const GUID __declspec(selectany) CLSID_AnimationTypeScene =
  2703.     {0x24aa427a,0xadf3,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2704. extern "C" const GUID __declspec(selectany) IID_ISxAnimationEnvironment =
  2705.     {0xa4c0b647,0x82ad,0x11d5,{0xb2,0x9b,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2706. extern "C" const GUID __declspec(selectany) IID_ISxAnimationEnvironment2 =
  2707.     {0xf406fe81,0x1101,0x47eb,{0x9a,0x45,0x5c,0x4f,0x64,0xb9,0xa0,0xf0}};
  2708. extern "C" const GUID __declspec(selectany) CLSID_SxAnimationEnvironment =
  2709.     {0x592d0b58,0x82ad,0x11d5,{0xb2,0x9b,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2710. extern "C" const GUID __declspec(selectany) IID_ICamera2 =
  2711.     {0x44e9928e,0xbf72,0x4838,{0xb9,0x56,0x29,0x40,0xd0,0x56,0x4f,0x3f}};
  2712. extern "C" const GUID __declspec(selectany) IID_IStereoCamera =
  2713.     {0x1a8927bc,0x9f9a,0x44ba,{0xa9,0x21,0x3c,0x3a,0xc1,0xaa,0x47,0x6c}};
  2714. extern "C" const GUID __declspec(selectany) CLSID_Camera =
  2715.     {0xb3fa5970,0xada3,0x11d2,{0x9f,0xae,0x00,0xc0,0x4f,0x8e,0xce,0x3d}};
  2716. extern "C" const GUID __declspec(selectany) IID_IBookmark3D =
  2717.     {0xbcdb3324,0x9afa,0x11d5,{0xb2,0x9f,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2718. extern "C" const GUID __declspec(selectany) CLSID_Bookmark3D =
  2719.     {0xbcdb3323,0x9afa,0x11d5,{0xb2,0x9f,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2720. extern "C" const GUID __declspec(selectany) IID_IViewers3D =
  2721.     {0x4d8ca7d2,0x0aaa,0x4502,{0xad,0xc7,0x03,0x88,0x05,0x1c,0x5f,0x5c}};
  2722. extern "C" const GUID __declspec(selectany) IID_IBasicScene =
  2723.     {0xec4e4b1c,0x5a64,0x499d,{0xa4,0x75,0xbc,0x2d,0xdc,0x23,0x78,0x38}};
  2724. extern "C" const GUID __declspec(selectany) IID_IGraphicsContainer3D =
  2725.     {0xef879196,0x01de,0x11d4,{0xab,0x69,0x00,0x08,0xc7,0x3f,0xd5,0x0c}};
  2726. extern "C" const GUID __declspec(selectany) IID_IGraphicsSelection =
  2727.     {0x79103a54,0x1e53,0x11d4,{0xa1,0x09,0x00,0xc0,0x4f,0x8e,0xce,0x27}};
  2728. extern "C" const GUID __declspec(selectany) IID_ISceneBookmarks =
  2729.     {0xbcdb3325,0x9afa,0x11d5,{0xb2,0x9f,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2730. extern "C" const GUID __declspec(selectany) IID_IAnimationTracks =
  2731.     {0xfa3dba5b,0xa879,0x11d5,{0xb2,0xa0,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2732. extern "C" const GUID __declspec(selectany) CLSID_Scene =
  2733.     {0xb7a0a25c,0x24f7,0x11d3,{0x9f,0x4d,0x00,0xc0,0x4f,0x6b,0xc5,0xf4}};
  2734. extern "C" const GUID __declspec(selectany) CLSID_GraphicsLayer3D =
  2735.     {0x4c87a8f0,0x01e3,0x11d4,{0xab,0x69,0x00,0x08,0xc7,0x3f,0xd5,0x0c}};
  2736. extern "C" const GUID __declspec(selectany) IID_ISceneRendererEvents =
  2737.     {0xbbc7c2e8,0x1fb3,0x11d4,{0xab,0x72,0x00,0x08,0xc7,0x3f,0xd5,0x0c}};
  2738. extern "C" const GUID __declspec(selectany) IID_IFeature3DProperties =
  2739.     {0x4a4cece5,0xf53a,0x11d3,{0x80,0xd9,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2740. extern "C" const GUID __declspec(selectany) IID_IFeature3DProperties2 =
  2741.     {0xff699cbe,0x9340,0x4724,{0x9b,0x4c,0xf8,0x89,0x79,0x31,0x4b,0xc0}};
  2742. extern "C" const GUID __declspec(selectany) IID_IExpression =
  2743.     {0x3c957f4d,0x2120,0x11d4,{0xa3,0x83,0x00,0xc0,0x4f,0x6b,0xc6,0x19}};
  2744. extern "C" const GUID __declspec(selectany) CLSID_Basic3DProperties =
  2745.     {0xa5a8dc61,0x268c,0x11d4,{0x91,0x4a,0x00,0x80,0xc7,0x07,0x43,0x26}};
  2746. extern "C" const GUID __declspec(selectany) CLSID_Tin3DProperties =
  2747.     {0xb7a0a25d,0x24f7,0x11d3,{0x9f,0x4d,0x00,0xc0,0x4f,0x6b,0xc5,0xf4}};
  2748. extern "C" const GUID __declspec(selectany) CLSID_Raster3DProperties =
  2749.     {0x4a4cece3,0xf53a,0x11d3,{0x80,0xd9,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2750. extern "C" const GUID __declspec(selectany) CLSID_Feature3DProperties =
  2751.     {0x4a4cece4,0xf53a,0x11d3,{0x80,0xd9,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2752. extern "C" const GUID __declspec(selectany) IID_IVRMLExporter =
  2753.     {0x3044c30e,0x37d0,0x11d4,{0xa1,0x67,0x44,0x45,0x53,0x54,0x77,0x77}};
  2754. extern "C" const GUID __declspec(selectany) IID_IMessageDispatcher =
  2755.     {0xbd62a8fa,0x8833,0x11d4,{0xab,0x87,0x00,0x08,0xc7,0x3f,0xd5,0x0c}};
  2756. extern "C" const GUID __declspec(selectany) IID_IHit3D =
  2757.     {0xf7873924,0x9a19,0x11d4,{0xb2,0x70,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2758. extern "C" const GUID __declspec(selectany) IID_ISceneGraphEvents =
  2759.     {0x1d1c669a,0x13de,0x11d4,{0x80,0xdf,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2760. extern "C" const GUID __declspec(selectany) IID_ISceneGraphEventsDisp =
  2761.     {0x1d1c669b,0x13de,0x11d4,{0x80,0xdf,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2762. extern "C" const GUID __declspec(selectany) CLSID_SceneGraph =
  2763.     {0x477ff406,0xc469,0x11d2,{0xb1,0xda,0x00,0xc0,0x4f,0xa3,0x3d,0x14}};
  2764. extern "C" const GUID __declspec(selectany) CLSID_SceneGraphEvents =
  2765.     {0xa1bf0693,0x63a1,0x4276,{0x89,0xef,0x49,0x51,0xdd,0x0c,0xb3,0x7f}};
  2766. extern "C" const GUID __declspec(selectany) CLSID_MessageDispatcher =
  2767.     {0x517b7bc6,0x8833,0x11d4,{0xab,0x87,0x00,0x08,0xc7,0x3f,0xd5,0x0c}};
  2768. extern "C" const GUID __declspec(selectany) CLSID_Hit3D =
  2769.     {0xf7873923,0x9a19,0x11d4,{0xb2,0x70,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2770. extern "C" const GUID __declspec(selectany) CLSID_Hit3DSet =
  2771.     {0x768d13f1,0x9a2d,0x11d4,{0xb2,0x70,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2772. extern "C" const GUID __declspec(selectany) IID_ILayerRenderers =
  2773.     {0x0aa361c1,0x06a2,0x11d5,{0x91,0x63,0x00,0x80,0xc7,0x07,0x43,0x26}};
  2774. extern "C" const GUID __declspec(selectany) IID_I3DViewer =
  2775.     {0xea6581ec,0x082d,0x435c,{0x8f,0x73,0xb4,0x16,0x1c,0xa0,0x6f,0x20}};
  2776. extern "C" const GUID __declspec(selectany) IID_IRasterSurface =
  2777.     {0x3455fdb6,0xee56,0x455e,{0xa4,0x4e,0x28,0xa0,0xc7,0x6d,0x31,0x96}};
  2778. extern "C" const GUID __declspec(selectany) CLSID_RasterSurface =
  2779.     {0x95ef6781,0x3de4,0x4f97,{0x84,0xb4,0x6d,0xb6,0xef,0x90,0xb6,0x7b}};
  2780. extern "C" const GUID __declspec(selectany) IID_ISceneExporter3d =
  2781.     {0x3044c30b,0x37d0,0x11d4,{0xa1,0x67,0x44,0x45,0x53,0x54,0x77,0x77}};
  2782. extern "C" const GUID __declspec(selectany) CLSID_VRMLExporter =
  2783.     {0x3044c312,0x37d0,0x11d4,{0xa1,0x67,0x44,0x45,0x53,0x54,0x77,0x77}};
  2784. extern "C" const GUID __declspec(selectany) IID_ISceneVideoExporter =
  2785.     {0x4251ba07,0x9106,0x11d5,{0xb2,0x9f,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2786. extern "C" const GUID __declspec(selectany) IID_IVideoExporterProperties =
  2787.     {0x26eb3a30,0x9e6d,0x443c,{0xb9,0x04,0x79,0xb1,0x6c,0x50,0x28,0xaa}};
  2788. extern "C" const GUID __declspec(selectany) IID_IAVIExporter =
  2789.     {0x4251ba08,0x9106,0x11d5,{0xb2,0x9f,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2790. extern "C" const GUID __declspec(selectany) IID_IQuickTimeExporter =
  2791.     {0x206fda1e,0x5622,0x4189,{0x9f,0x9a,0x48,0x6c,0xd5,0x2e,0x34,0x57}};
  2792. extern "C" const GUID __declspec(selectany) CLSID_AVIExporter =
  2793.     {0x4251ba06,0x9106,0x11d5,{0xb2,0x9f,0x00,0x50,0x8b,0xcd,0xde,0x28}};
  2794. extern "C" const GUID __declspec(selectany) CLSID_QuickTimeExporter =
  2795.     {0xbc9f9a95,0x6d45,0x438d,{0xb0,0xfe,0xe7,0x33,0x75,0x10,0xfc,0xc2}};
  2796. extern "C" const GUID __declspec(selectany) IID_IImport3DFile =
  2797.     {0x95e48b87,0x336e,0x4062,{0x9b,0x68,0xeb,0x8e,0xc9,0x17,0x7a,0xb8}};
  2798. extern "C" const GUID __declspec(selectany) IID_IGeometryMaterial =
  2799.     {0xe9f95f61,0x2bec,0x11d6,{0xa4,0xcd,0x44,0x45,0x53,0x54,0x77,0x77}};
  2800. extern "C" const GUID __declspec(selectany) IID_IGeometryMaterialList =
  2801.     {0xb7685a34,0x2bc8,0x11d6,{0xa4,0xcc,0x44,0x45,0x53,0x54,0x77,0x77}};
  2802. extern "C" const GUID __declspec(selectany) IID_IGeneralMultiPatchCreator =
  2803.     {0x821003c1,0x2c6b,0x11d6,{0xa4,0xce,0x44,0x45,0x53,0x54,0x77,0x77}};
  2804. extern "C" const GUID __declspec(selectany) IID_IMarker3DPlacement =
  2805.     {0x773f7276,0xaefb,0x11d5,{0x81,0x12,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2806. extern "C" const GUID __declspec(selectany) IID_ISimpleMarker3DSymbol =
  2807.     {0x773f726f,0xaefb,0x11d5,{0x81,0x12,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2808. extern "C" const GUID __declspec(selectany) IID_IMarker3DSymbol =
  2809.     {0x773f7272,0xaefb,0x11d5,{0x81,0x12,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2810. extern "C" const GUID __declspec(selectany) IID_ICharacterMarker3DSymbol =
  2811.     {0x6e8ec8f8,0xe90a,0x11d5,{0xa1,0x29,0x00,0x50,0x8b,0xd6,0x0c,0xb9}};
  2812. extern "C" const GUID __declspec(selectany) IID_ILine3DPlacement =
  2813.     {0x470b7273,0x3552,0x11d6,{0xa1,0x2d,0x00,0x50,0x8b,0xd6,0x0c,0xb9}};
  2814. extern "C" const GUID __declspec(selectany) IID_ISimpleLine3DSymbol =
  2815.     {0x470b7274,0x3552,0x11d6,{0xa1,0x2d,0x00,0x50,0x8b,0xd6,0x0c,0xb9}};
  2816. extern "C" const GUID __declspec(selectany) IID_ITextureFillSymbol =
  2817.     {0x3f6d8301,0x5a5a,0x4b84,{0x96,0x9f,0x43,0x3a,0xf0,0x7e,0xe1,0xa3}};
  2818. extern "C" const GUID __declspec(selectany) IID_ITextureLineSymbol =
  2819.     {0xd47a4da5,0x6d42,0x11d6,{0xa1,0x3e,0x00,0x50,0x8b,0xd6,0x0c,0xb9}};
  2820. extern "C" const GUID __declspec(selectany) CLSID_SimpleMarker3DSymbol =
  2821.     {0x773f7270,0xaefb,0x11d5,{0x81,0x12,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2822. extern "C" const GUID __declspec(selectany) CLSID_Marker3DSymbol =
  2823.     {0x773f7274,0xaefb,0x11d5,{0x81,0x12,0x00,0xc0,0x4f,0xa0,0xad,0xf8}};
  2824. extern "C" const GUID __declspec(selectany) CLSID_CharacterMarker3DSymbol =
  2825.     {0x6e8ec8f7,0xe90a,0x11d5,{0xa1,0x29,0x00,0x50,0x8b,0xd6,0x0c,0xb9}};
  2826. extern "C" const GUID __declspec(selectany) CLSID_SimpleLine3DSymbol =
  2827.     {0x470b7275,0x3552,0x11d6,{0xa1,0x2d,0x00,0x50,0x8b,0xd6,0x0c,0xb9}};
  2828. extern "C" const GUID __declspec(selectany) CLSID_TextureFillSymbol =
  2829.     {0x8d738780,0xc069,0x42e0,{0x9d,0xfa,0x2b,0x7b,0x61,0x70,0x7b,0xa9}};
  2830. extern "C" const GUID __declspec(selectany) CLSID_TextureLineSymbol =
  2831.     {0xb5710c9c,0xa9bc,0x4a16,{0xb5,0x78,0x54,0xbe,0x17,0x6e,0xd5,0x7b}};
  2832. extern "C" const GUID __declspec(selectany) CLSID_Import3DFile =
  2833.     {0xf7491560,0xb744,0x11d5,{0xa3,0xef,0x44,0x45,0x53,0x54,0x77,0x77}};
  2834. extern "C" const GUID __declspec(selectany) CLSID_GeometryMaterial =
  2835.     {0x0e6f4b27,0x2bd0,0x11d6,{0xa4,0xcc,0x44,0x45,0x53,0x54,0x77,0x77}};
  2836. extern "C" const GUID __declspec(selectany) CLSID_GeometryMaterialList =
  2837.     {0x0e6f4b2c,0x2bd0,0x11d6,{0xa4,0xcc,0x44,0x45,0x53,0x54,0x77,0x77}};
  2838. extern "C" const GUID __declspec(selectany) CLSID_GeneralMultiPatchCreator =
  2839.     {0x776b5584,0x2c7f,0x11d6,{0xa4,0xce,0x44,0x45,0x53,0x54,0x77,0x77}};
  2840. extern "C" const GUID __declspec(selectany) CLSID_Controls3DAnalystSteepestPathTool =
  2841.     {0x41cf2277,0xa8ce,0x4815,{0x92,0x70,0x6f,0x0a,0x7b,0xd4,0x9d,0x45}};
  2842. extern "C" const GUID __declspec(selectany) CLSID_Controls3DAnalystContourTool =
  2843.     {0x813a66cc,0xf7c0,0x4256,{0x9e,0x52,0x60,0xa1,0xd7,0xd4,0xd8,0x64}};
  2844. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneExpandFOVCommand =
  2845.     {0x48bc36e8,0x0f8e,0x4e36,{0xa0,0x0d,0x47,0x2c,0x29,0xa0,0x7e,0xf6}};
  2846. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneFlyTool =
  2847.     {0xc62ab5da,0xbdb2,0x41fd,{0x80,0x4f,0xcf,0x53,0x42,0x53,0x9b,0x7a}};
  2848. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneFullExtentCommand =
  2849.     {0x3e11f70e,0x4ff3,0x489a,{0xb4,0x9f,0xd7,0x19,0x06,0x33,0xa0,0x96}};
  2850. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneNarrowFOVCommand =
  2851.     {0x311bbb00,0x3907,0x471f,{0x8e,0x81,0xe0,0x13,0x84,0xaa,0x19,0x69}};
  2852. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneNavigateTool =
  2853.     {0x71b9d454,0x1bdd,0x4861,{0xba,0xaf,0x37,0x5e,0x7b,0xa1,0x9d,0xb4}};
  2854. extern "C" const GUID __declspec(selectany) CLSID_ControlsScenePanTool =
  2855.     {0x857173f9,0xf6af,0x40ac,{0xb9,0x85,0xa7,0xd7,0x15,0x97,0xb5,0xec}};
  2856. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneSelectFeaturesTool =
  2857.     {0xff0bec24,0xfd26,0x4993,{0x8f,0xf1,0xf8,0x3d,0x92,0x4e,0xd8,0xd4}};
  2858. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneSelectGraphicsTool =
  2859.     {0xcc255490,0xe1cf,0x4205,{0x95,0x77,0x96,0xcd,0x9d,0x68,0x02,0x68}};
  2860. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneSetObserverTool =
  2861.     {0xc609e3ba,0x8585,0x4272,{0xbf,0x63,0x19,0x22,0x57,0x01,0x2e,0x6e}};
  2862. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneTargetCenterTool =
  2863.     {0x86d9a49b,0xd776,0x46e1,{0x86,0xb4,0x90,0x14,0x6b,0x95,0xbf,0xa1}};
  2864. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneTargetZoomTool =
  2865.     {0xea4e0cd6,0x8365,0x4db0,{0xb5,0xac,0xd3,0x67,0x82,0x11,0x7a,0xd2}};
  2866. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneZoomInTool =
  2867.     {0x85f0d11f,0xb96f,0x4617,{0x97,0xc9,0xa9,0x0a,0x3f,0x7e,0xb0,0xcd}};
  2868. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneZoomInOutTool =
  2869.     {0xfb72e6cc,0xb66a,0x4a34,{0xbf,0x81,0x5f,0x6f,0x3f,0xfc,0xf0,0x6b}};
  2870. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneZoomOutTool =
  2871.     {0xf6f85407,0xfbd0,0x467c,{0x9b,0xa4,0xec,0x1d,0x26,0x46,0x43,0x2c}};
  2872. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneOpenDocCommand =
  2873.     {0x93320166,0xece7,0x4a2c,{0xb6,0xd0,0x22,0x41,0x6f,0xd0,0x8e,0xf5}};
  2874. extern "C" const GUID __declspec(selectany) CLSID_ControlsSceneSceneToolbar =
  2875.     {0x18a9ffdf,0x7b77,0x413a,{0xaf,0x57,0x81,0xf5,0x8b,0xfc,0xff,0xb3}};
  2876. extern "C" const GUID __declspec(selectany) IID_ISceneCommandHook =
  2877.     {0xaa4f27cf,0x0c2b,0x44d3,{0x95,0x31,0x5d,0x1d,0x48,0xcb,0xf3,0xe4}};
  2878. extern "C" const GUID __declspec(selectany) IID_ISceneHookHelper =
  2879.     {0x142dce00,0x0dd2,0x4761,{0xb6,0x39,0x5f,0xc7,0xaf,0x74,0xfa,0x1b}};
  2880. extern "C" const GUID __declspec(selectany) CLSID_SceneHookHelper =
  2881.     {0xb68aa59e,0xad9a,0x4bc4,{0xa6,0xb8,0x5c,0x73,0xe5,0xda,0x28,0x81}};
  2882. #pragma pack(pop)