大家好,欢迎来到IT知识分享网。
一、CGAL是什么?
CGAL 是一个开源软件项目,它以 C++ 库的形式提供对高效可靠的几何算法的轻松访问。 CGAL用于需要几何计算的各个领域,如地理信息系统、计算机辅助设计、 分子生物学、医学成像、计算机图形学和机器人技术。
该库提供数据结构和算法,如三角剖分、Voronoi 图、多边形和多面体的布尔运算、点集处理、曲线排列、曲面和体积网格生成、几何处理、alpha 形状、凸包算法、形状重建、AABB 和 KD 树… 访问 CGAL 包概述,探索特性和功能的完整列表。
来源:The Computational Geometry Algorithms Library (cgal.org)
二、Boost C++ 是什么?
Boost Property Map Library主要由概念形式的接口规范组成。例如Boost Property Map概念定义了一个用于将关键对象映射到相应值对象的通用接口,从而隐藏了算法实现映射的细节。实现满足属性映射接口的类型由算法客户端提供。所以,CGAL高度依赖Boost。
Boost Property Map Library还包含一些适配器,用于转换实现映射操作(如内置数组(指针)、迭代器和std::map)的常用数据结构,以实现属性映射接口。自由函数 get 和 put 允许通过属性映射获取和放置信息。数据本身可以存储在元素中,也可以存储在外部数据结构中,或者可以动态计算。这是特定属性映射的“实现细节”。
对应的BGL 的算法在各种图形概念的模型上运行。特征类使算法能够确定顶点和边的类型(类似于迭代器)。例如,对图形进行操作的自由函数使算法能够获取边的源顶点或入射到顶点的所有边。这些算法使用属性映射将信息与顶点和边相关联。这些算法使访问者能够注册稍后在算法执行期间调用的回调。最后,图算法使用命名参数机制,该机制允许以任意顺序传递参数。
1、图像概念
BGL 引入了几个图形概念,这些概念具有不同的特征和要求集。例如,遍历图形中的所有顶点或所有边,获取顶点的传出或传入边缘,将顶点和边插入到图形中,以及从图形中删除顶点和边缘。包含:
boost::graph_traitsstd::iterator_traits2、图像训练集类
在图形模型上运行的算法借助特征类 boost::graph_traits 确定类型。这些类型是 ,类似于 CGAL 数据结构中的顶点句柄,或者 ,类似于半边数据结构中的半边句柄或二维三角剖分中的 Edge 类型。还有迭代器,比如 ,类似于 CGAL 数据结构中的顶点迭代器,以及类似于边缘循环器的 ,;它能够遍历入射到顶点的边缘。迭代器是相似的,而不是等效的,因为它们的值类型是 ,而在 CGAL 句柄中,迭代器和循环器都具有相同的值类型,即顶点或边类型。包含:
vertex_descriptoredge_descriptorvertex_iteratorout_edge_iteratorvertex_descriptor
给定一个图类型,描述符和迭代器的定义如下:boost::graph_traits<Graph>::vertex_descriptor vd;
boost::graph_traits<Graph>::edge_iterator ei;
来源:CGAL 5.6 – CGAL and the Boost Graph Library: User Manual
三、Cmake 有什么用?
CMake 具备多个目标生成、跨平台开发、高度自定义等功能。以下介绍只涉及CMake一小部分功能。
1、单一来源在多个平台上构建
CMake 允许开发人员描述如何使用一组输入文件构建简单和非常复杂的软件系统。这可用于在多个平台上构建软件,从 Android 到 iOS 再到高性能计算系统。来源:CMake: The Standard Build System
四、VS的C++开发平台组件
Visual Studio IDE 是一个创意启动板,可用于编辑、调试和生成代码,然后发布应用。除了大多数 IDE 都提供的标准编辑器和调试器之外,Visual Studio 还包括编译器、代码补全工具、图形设计器以及许多其他功能,以增强软件开发过程。
五、Qt creator
Qt Creator是跨平台的集成开发环境(IDE),旨在为开发者带来最好的体验。Qt Creator 可在 Windows,Linux 和 macOS 桌面操作系统上运行,并允许开发者在桌面、移动和嵌入式平台上创建软件。以下引用常用的小部分功能介绍:
1、复杂的代码编辑器
您可以在Qt Creator高级代码编辑器上使用C ++、QML、JavaScript、Python和其他语言编写软件。它具备代码补全、语法突出显示,重构等功能,内置文档随手可得。
2、项目和构建管理
无论导入现有项目,或是从头开始创建一个项目,Qt Creator都能生成所有必要文件。 包括支持Cmake和用qmake构建工具进行交叉编译。
3、多种系统选择
在桌面、移动和嵌入式操作系统上构建并运行您的软件。构建设置使您可以轻松地在目标之间切换。来源:嵌入式软件开发工具和跨平台 IDE | Qt Creator
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/107729.html

