This document describes how to get started with using STK Components in your application.
In order to use STK Components in your own application, perform these steps:
Obtain a valid license file (either a temporary license from AGI support or the license you purchased) and place it in the same directory as the STK Components assemblies: [Install Directory]\Assemblies. The file should have a .lic file extension. You can request a temporary development license from AGI Technical Support by e-mailing your request to firstname.lastname@example.org.
Add references to the STK Components assemblies to your project. In Visual Studio, this is easily accomplished by right-clicking your project and then clicking Add Reference. Then, navigate to [Install Directory]\Assemblies and select the assemblies you would like to use in your application.
Add the licenses.licx file, which is also located in the STK Components assemblies directory, to your project. Adding this file to your project tells Visual Studio to look for the .lic file at compile time and embed it in your application. This way, your application can be deployed without the need for an external license file. See the Licensing and Deployment topic for details and advanced scenarios.
Make sure that the licenses.licx file is marked as Embedded Resource. .NET Framework projects set this for .licx files by default, but .NET Core projects do not.
For a detailed walkthrough of building an application with STK Components, see the Tutorial.
The Insight3D visualization library currently only works on 64-bit Microsoft Windows operating systems, in a 64-bit process. See the System Requirements topic for more information. Using Insight3D requires that you perform some additional steps beyond the ones described above:
Insight3D depends on the Microsoft Visual C++ Redistributable for Visual Studio 2019, which should be installed on any system where you intend to run your application. For convenience, the installer, vc_redist.x64.exe, is included in the root directory of your STK Components installation.
The ability to load the required dependencies from the application directory ("app-local") is also technically possible, but due to the complexity is not described here. Contact AGI support if you have a need to deploy Insight3D applications without an installer on systems that cannot install the redistributable.
By default, a .NET application created with Visual Studio uses the Any CPU configuration. Because Insight3D is a 64-bit only assembly, it is easiest to configure the solution to build your application as a 64-bit process.
In Visual Studio, select Build, Configuration Manager. Open the Active solution platform list, and select New....
Add a new x64 solution platform, and make sure the Create new project platforms checkbox is checked.
The result should be that your project is set to x64, as seen below.
Certain Insight3D features require third-party functionality from separate DLLs. Specifically, using videos as 2D textures requires FFmpeg video processing libraries (avcodec-58.dll, avformat-58.dll, avutil-56.dll, swresample-3.dll, swscale-5.dll), and MrSID imagery requires the LizardTech MrSID DSDK (Altidsdk_9.5.dll, Alb.dll).
These separate DLLs will be loaded when needed at runtime from the same directory as the Insight3D library (AGI.Foundation.Graphics.dll). You can either copy these files to your project output directory manually, or you can add these DLLs as content to your Visual Studio project and mark the files as Copy if newer.
Alternatively, if you don't use any functionality in Insight3D that requires the separate DLLs, you can skip this.
The TIREM library includes an implementation named TiremPropagationModel which uses a native library to perform the calculation. As a result, this implementation only works on 64-bit Windows and Linux platforms, in a 64-bit process.
See the TIREM topic for more information.
To use this implementation, follow the above steps for installing the Microsoft Visual C++ Redistributable for Visual Studio and configuring your application to run as a 64-bit process.