// GlobalMapperInterface_3D.h - interface for Global Mapper DLL 3D-related exports // // Developed by: Mike Childs // Started: 2/26/06 #ifndef _GLOBALMAPPERINTERFACE_3D_H_ #define _GLOBALMAPPERINTERFACE_3D_H_ /*-------------------------------------------------------------------- GENERAL INCLUDES --------------------------------------------------------------------*/ #include "GlobalMapperInterface.h" // Make sure the whole thing is packed to 8 byte structure alignment // like the SDK expects #pragma pack( push, 8 ) /*-------------------------------------------------------------------- LITERAL CONSTANTS --------------------------------------------------------------------*/ /*-------------------------------------------------------------------- TYPES --------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif // Callback for when a new view is requested from the 3D view window typedef void (_stdcall *GM_3DChangeViewCallbackFunc) ( const GM_Rectangle_t* aNewViewBounds, void* aUserData // user data passed into GM_3DSetChangeViewCallback function ); /*-------------------------------------------------------------------- 3D RENDERING FUNCTIONS --------------------------------------------------------------------*/ // Closes the 3D view window if it is open GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_3DCloseViewWindow ( void ); // Returns true if the 3D view window is open GM_DLL_EXPORTED BOOL __stdcall GM_3DIsWindowOpen ( void ); // Sets the function to call to when a button is pressed in the 3D view window // to request a new view. GM_DLL_EXPORTED void __stdcall GM_3DSetChangeViewCallback ( GM_3DChangeViewCallbackFunc aCallbackFunc, void* aUserData ); // Sets what to display in the currently open 3D view window (opens view if needed) GM_DLL_EXPORTED GM_Error_t32 __stdcall GM_3DSetView ( GM_LayerHandle_t32* aLayerList, // IN: List of layers to drape on top of terrain or NULL for all uint32 aLayerCount, // IN: Number of layers in list (0 for all) GM_DrawFlags_t32 aDrawFlags, // IN: Flags controlling how the draw is performed const GM_Rectangle_t* aWorldBounds, // IN: World bounds to convert from or NULL for last drawn const GM_PixelRect_t* aPixelRect, // IN: Pixel bounds to convert from or NULL for last drawn uint32 aReserved // IN: Reserved (set to 0) ); // Restore structure alignment to its old value #pragma pack( pop ) #ifdef __cplusplus } #endif #endif // end of file GlobalMapperInterface_3D.h