MapGIS K9三维TDE平台插件开发第一个插件程序(新手入门必看)
在之前的 MapGIS K9三维TDE平台插件开发环境配置 文章里面,我介绍了使用MapGIS K9 三维TDE平台开发插件的环境配置,但是仅仅配置好环境只是一个开始,相信很多读者已经像小编我一样摩拳擦掌了吧,下面小编我就献丑给各位读者讲一下使用MapGIS K9 三维TDE平台开发一个会说Hello World 的简单三维插件程序。
STEP 1 插件导出函数
在MapGIS K9 三维TDE平台里面开发三维插件,这是必须的一步,就是设置导出函数。
打开你所建立的工程(这里我以之前MapGIS K9三维TDE平台插件开发环境配置里面所建立的工程为例)里面的.def文件。写入以下代码:
;MyDemo.def : 声明DLL 的模块参数。;LIBRARY "MyDemo"
EXPORTS
; 此处可以是显式导出
dllStartPlugin @1
dllStopPlugin @2
STEP 2 新建插件类
在解决方案上右击,选择添加—类。选择C++类,类命名为MyPlugin,基类为:FunctionPluginBase。
STEP 3 修改头文件
包含头文件TDEFunctionPluginBase7.h,并且使用MapGIS K9 三维TDE的命名空间。
并且添加两个函数——onExecute和registerFunctions函数,全部代码如下:
#pragma once #include "TDEFunctionPluginBase7.h" using namespace TDE; class MyPlug :public FunctionPluginBase { public: MyPlug(void); ~MyPlug(void); public: virtual void onExecute(const String& name, WPARAM wParam, LPARAM lParam) ; // 派生插件必须在此函数中完成写入功能列表的工作 virtual void registerFunctions(void) ; };
STEP 4 在类的CPP文件里响应函数
给插件功能起一个名字,将下面的代码放在头文件的下面声明即可。
#include "StdAfx.h" #include "MyPlug.h" const String MyFirDomeName="MyFirstFun";
再给插件本身起一个名字,放在构造函数里面,代码如下:
MyPlug::MyPlug(void) { mClassName=mHandle="MyFirstDemo"; }
响应onExecute函数,代码如下:
void MyPlug::onExecute(const String& name, WPARAM wParam, LPARAM lParam) { if(name==MyFirDomeName) { AfxMessageBox("Hello TDE World!"); } }
响应registerFunctions函数,代码如下:
void MyPlug::registerFunctions(void) { FunctionItemGroup* pp=getRootItem(); pp->appendItem(FIT_ITEM,MyFirDomeName); }
STEP 5 启动插件
在默认工程cpp文件里面实例化刚刚写的插件进行启用即可。
在MyDemo.cpp文件里面包含一下头文件:
#include "stdafx.h" #include "MyDemo.h" #include "MyPlug.h" #include "TDEFunctionPluginManager7.h"
接下来就是用刚刚写的类实例化一个对象,并且进行调用了,代码如下:
MyPlug *pg=NULL; long WINAPI dllStartPlugin() { pg=new MyPlug(); FunctionPluginManager::getSingletonPtr()->addFunctionPlugin(pg); return 1; }long WINAPI dllStopPlugin()
{
G3D_DELETE(pg);//删除对象释放内存
return 1;
}
其中我们可以看到在.def文件里面导出的函数dllStartPlugin和dllStopPlugin在这里实现了。
总结:
这就是在MapGIS K9三维TDE平台下开发第一个Hello World的全过程,总体来说流程还是蛮清晰的,希望这个程序对刚刚入门的童鞋有所帮助。
关于这个demo
对了,忘了给大家看看这个Demo的效果图,效果如下:
解压密码:malagis.com
PS:注意,密码是malagis.com,没有前面的http,不要从浏览器直接复制啊,亲!
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。