Search Blogs AGI.com Blogs

Understanding STK DLLs

By: Ismir Tufek

I often help customers get started with developing applications using our STK Object Model. As part of the instructions that I give, I simply ask users to add references located in <STK install>\bin\Primary Interop Assemblies directory to their Visual Studio project. More and more users are asking which DLLs they should add. At first, I was confused about why I was getting all these DLL questions now.  So, I did a little investigation and here is what I learned.

STK 9’s Primary Interop directory contains 21 DLLs. The number of DLLs rose a little to 25 for STK 10. However, the  Primary Interop Assemblies directory for STK 11 jumped to 50 DLLs. I realized at that point that I needed to provide additional information about the libraries. 

Usually, when I ask users to add Object Model libraries, I am thinking about the following three DLLs: 

  • AGI.STKObjects.Interop.dll 
  • AGI.STKUtil.Interop.dll 
  • AGI.STKVgt.Interop.dll 

STKObjects and STKUtil are original libraries and STKVgt was added in STK 9.

Later, the STKVgt library was expanded to include all of the Analysis Workbench API, but we kept the original name of STKVgt for backward compatibility. 

STKVGT is an add-on module, but I use it most of the time, so I add it by default. Other add-on module libraries are: 

  • AGI.STKObjects.Astrogator.Interop.dll 
  • AGI.CommRdrFoundation.Interop.dll (communications) 
  • AGI.STKGraphics.Interop.dll (3D Window primitive graphics). 

The next category contains libraries based on the application type. We have plugins points (Engine plugins) that enable you to modify/expand our calculations: 

First we have two common libraries: 

  • AGI.Plugin.Interop.dll 
  •  AGI.Attr.Interop.dll – also used by RT3 

As well as individual plugin libraries: 

  • AGI.Access.Constraint.Plugin.Interop.dll 
  • AGI.Gps.Plugin.Interop.dll 
  • AGI.Hpop.Plugin.Interop.dll 
  • AGI.Radar.Plugin.Interop.dll 
  • AGI.STKGraphics.Plugins.Interop.dll  
  • AGI.VectorGeometryTool.Plugin.Interop.dll 

So, if you want to create an access constraint plugin, you will add the Access.Contraint.Plugin as well as Plugin and Attr libraries. 

Astrogator plugins include a few additional libraries: 

  • AGI.Astrogator.Plugin.Interop.dll  
  • AGI.Astrogator.Interop.dll 
  • AGI.STK.Plugin.Interop.dll 
  • AGI.Search.Interop.dll 

If you are creating an application that interacts with a running instance of STK, you need to reference: 

  • AGI.Ui.Application.Interop.dll 
  • AGI.Ui.Core.Interop.dll 

As well as: 

  • AGI.Ui.Plugins.Interop.dll 
  • if you are building UI plugin. 

The next application type is a stand-alone application. This is the original type from of the STK Object Model. We sometimes refer to it as STK Engine, or by its original internal project name: STKX. Thus, all libraries include STKX in the name and they require an STKX license to run.  

  • AGI.STKX.Initialization.Interop.dll 
  • AGI.STKX.Interop.dll 

AGI.STKX.Controls.Interop.dll was added with STK 11.4. It is used to get around a Visual Studio limitation when adding controls to the Windows Forms application.  

AxAGI.STKX.Interop.dll – was automatically added prior to STK 11.4. Now you need to add it manually when building Windows Forms applications.  

We also have a wrapper library that allows interaction between STK and ESRI’s product ArcGis:

  • ESRI.ArcGIS.Carto.dll  
  • AGI.STKesriDisplay.Interop.dll 

Ther last two groups are largely responsible for the increase in the number of DLLs. STK 11 includes our Real Time Tracking Tool (RT3): 

  • AGI.Attr.Interop.dll 
  • AGI.Entity.Interop.dll 
  • AGI.Realtime.DistributedSimulation.Interop.dll 
  • AGI.Realtime.Interop.dll 
  • AGI.Realtime.Stk.Interop.dll 
  • AGI.Realtime.Tracking.Interop.dll 
  • AGI.STKObjects.Broker.Interop.dll 


And the last group contains internal Aviator libraries: 

  • AGI.AgCOMUtilities.Interop.dll 
  • AGI.AgFlight.Interop.dll 
  • AGI.AgFlightGuidance.Interop.dll 
  • AGI.AgFlightMATLAB.Interop.dll 
  • AGI.AgFlightMissileAeroProp.Interop.dll 
  • AGI.AgFlightRotorcraftAeroProp.Interop.dll 
  • AGI.AgFlightSTK.Interop.dll 
  • AGI.AgNotification.Interop.dll 
  • AGI.AgUiFlight.Interop.dll 
  • AGI.AgUiFlightDotNetSupport.Interop.dll 
  • AGI.AgUiFlightGuidance.Interop.dll 
  • AGI.AgUiFlightMATLAB.Interop.dll 
  • AGI.AgUiFlightMissileAeroProp.Interop.dll 
  • AGI.AgUiFlightRotorcraftAeroProp.Interop.dll 
  • AGI.AgUiFlightSTK.Interop.dll 
  • AGI.AgUiFlightUtilities.Interop.dll 
Posted: 10/14/2019 8:00:00 AM


Tags

Dev