项目简介
本项目是基于OpenSceneGraph(OSG)和Qt框架的模块化命令行框架,目标是实现命令行程序、带界面的程序以及命令集框架中间件的解耦。通过提供窄接口和宽接口,方便用户集成自定义命令和插件,实现多人独立开发与代码松耦合,适用于多种解耦场景。
项目的主要特性和功能
- 模块化设计:提供窄、宽接口,支持用户集成自定义命令和插件,支持多人独立开发,保证代码松耦合。
- 解耦模式:组件模式通过继承
zoo::Component
结构体实现组件共享数据交互;服务定位器模式通过ServiceLocator
类实现服务查找和管理;事件队列模式通过Sigslot
机制实现事件触发和处理。 - 图形渲染:使用OpenSceneGraph(OSG)和osgEarth进行图形渲染,支持3D模型的显示和管理,涵盖网格、材质、相机视图等。
- 用户界面:使用Qt和CTK插件框架实现用户界面,支持日志显示、材质展示、天气效果等UI功能。
- 命令行处理:提供命令行解析和执行功能,支持内置命令和用户自定义命令,支持命令的注册、注销和发送。
- 插件管理:使用CTK插件框架管理插件的安装、卸载和启动,支持插件的动态加载和卸载。
安装使用步骤
1. 环境准备
- 安装OpenSceneGraph(OSG)和osgEarth库。
- 安装Qt和CTK插件框架。
- 配置开发环境,确保编译器支持C++11及以上标准。
2. 项目构建
- 复制项目代码到本地。
- 使用CMake或Visual Studio等工具配置并构建项目。
- 根据需要选择调试或发布版本进行编译。
3. 运行项目
- 运行生成的可执行文件,启动命令行程序或带界面的程序。
- 通过命令行输入命令,或通过界面进行交互操作。
4. 插件开发
- 根据项目提供的接口规范,开发自定义命令和插件。
- 使用CTK插件框架进行插件的打包和发布。
- 将插件复制到指定目录,启动项目时自动加载插件。
5. 命令行使用
- 通过命令行输入内置命令或自定义命令,实现相应的功能。
- 使用
zooCmd_Register
和zooCmd_Unregister
命令注册和注销命令。 - 使用
zooCmd_Send
命令发送命令并获取执行结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】