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:
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.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.Attr.Interop.dll – also used by RT3
As well as individual plugin libraries:
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:
If you are creating an application that interacts with a running instance of STK, you need to reference:
As well as:
- 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.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:
Ther last two groups are largely responsible for the increase in the number of DLLs. STK 11 includes our Real Time Tracking Tool (RT3):
And the last group contains internal Aviator libraries: