STK学习总结汇报
2017年10月28日
STK二次开发途径
PART 1
STK从6.0版开始,为用户提供了两种开发接
口:一种是通过STK/Connect模块实现,一种是
通过STK提供ActiveX控件。
S T K 二 次 开 发 途 径
1.1 STK/Conneet接口模块
STK/Conneet接口模块为其他应用程序提供了一个向STK发送消息和接收数据
的通信工具,用户可以使用TCP/IP或UNTX Domain Sockets在第三方应用软件与
STK之间传输数据(包括实时数据传输)。
该模块为用户提供了一套完整的API函数,用户应用程序通过配置头文件和库
文件,可以直接调用STK的API连接函数。
4
S T K 二 次 开 发 途 径
Interface
Classification
Interface Function
Description
STK Server Commands
stkDefaultConID
Genetic Object
commands
Scenario Commands
STK Tools
Connect Commands
stkNewObj
stkValidObj
stkSetEpoch
stkSetTimePeriod
stkAccess
stkOpen
stkClose
stkConnect
Returns the default
connection ID
New object
Returns whether there is
a valid object
Set the STK scene epoch
Set the scene start and
end time
Return to the border
period
Open the STK connection
Close the STK connection
Connect Command send
function
4
S T K 二 次 开 发 途 径
1.2 ActiveX控件
STK提供的ActiveX控件主要有两个:2D和3D控件,这不但扩充了STK的功能,也可
以方便地嵌入第三方软件中,从而使开发人员可以根据需要,利用VB、JAVA、VC、
C#、J#、ASP.net等工具灵活地实现系统设计。
4
S T K 二 次 开 发 途 径
1.2 ActiveX控件
2D控件(AGI Map Contr01)可将STK的2D画面嵌入第三方软件界面进行显示,主要
包含的类有5个:
CAgUiAx2DCntrl、CAgExecCmdResult、CAgSTKXApplication、CAgPicklnfData、
CPicture;
3D控件(AGI Globe Contr01)可将STK的3D画面嵌入第三方软件界面进行显示,主
要包含的类有9个:
CAgUiAxVOCntrl、CAgExecCmdResult、CAgSTKXApplication、CAgPicklnfData、
CAgRubberBandPickInfoData、 CAgObjPathCollection、CAgDrawElemCollection、
CAgDrawElem、CPicture。
4
S T K 二 次 开 发 途 径
1.2 ActiveX控件
利用这种方式实现用户与STK的数据交互时只需要通过2个函数即可实现:
(1)STK/X提供的类函数ExecuteCommand(),用户可以根据需要,将相关命
令和数据按照STK的命令格式组成字符串,在调用函数ExecuteCommand时,将组成
的字符串作为该函数的参数即可实现向STK发送信息;
(2)ActiveX控件提供的消息函数OnAnimUpdate(double TimeEpSec),用户在
应用程序中添加该消息函数后,只需要修改该函数的代码即可实现STK中信息
的输出。
4
S T K 二 次 开 发 途 径
1.3 STK二次开发命令集
STK为用户提供了大量二次开发命令,用户在进行二次开发时,用户
应用程序与STK之间实现信息交互必须使用这些命令并严格遵循其命令格
式。
4