自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

翻译 [cmake函数]cmake中的get_target_property()

属性的值存储在变量<VAR> 中。如果未找到目标属性,则行为取决于它是否已定义为 INHERITED 属性(请参阅 Define_property())。非继承属性会将 <VAR> 设置为 <VAR>-NOTFOUND,而继承属性将按照 Define_property() 命令所述搜索相关父范围,如果仍然无法找到该属性,则 <VAR> 将设置为 空字符串。属性通常用于控制目标的构建方式,但也有一些属性会查询目标。此命令可以获得迄今为止创建的任何目标的属性。相关的可以定义的属性太多了,可以自行查阅官方文档。

2024-01-04 10:54:28 200

翻译 [cmake函数]cmake中的function()

commands>定义一个名为<name>的函数,它接受名为<arg1>…的参数,记录函数定义中的<commands>;在调用该函数之前它们不会被执行。<commands>可以理解为函数定义中的具体的操作。按照传统, endfunction() 命令允许可选的<name> 参数。如果使用,它必须是打开函数命令的参数的逐字重复。定义函数会打开一个新作用域:有关作用域详细信息,请参阅 set(var PARENT_SCOPE)。

2024-01-03 21:49:27 91

原创 从cmakelists.txt解释如何构建libigl(1)---- 根文件

defaultifdoendif()这里是在生成libigl项目之前进行的可选项的一些设置,如果你是直接克隆的libigl的整个文件,你会发现LibiglOptions.cmake被添加了一个后缀.sample,删去这个后缀就可以执行include(${CMAKE_CURRENT_SOURCE_DIR}/LibiglOptions.cmake)代码。.cmake文件 可以理解为一个CMakeLists.txt,include类似于C++代码的复制粘贴。

2023-11-14 23:13:53 267

翻译 cmake中的find_package()

使用依赖项指南提供了对此一般主题的高级介绍。它提供了 find_package() 命令在更大范围内的应用范围的更广泛概述,包括它与 FetchContent 模块的关系。建议先阅读该指南,然后再继续了解以下详细信息。找到一个包(通常由项目外部的东西提供),并加载其特定于包的详细信息。对此命令的调用也可以被依赖项提供程序拦截。

2023-11-01 22:38:49 2113

翻译 [cmake]使用依赖项指南

项目经常依赖于其他项目、资产和工件。CMake 提供了多种将此类内容合并到构建中的方法。项目和用户可以灵活地选择最适合其需求的方法。将依赖项引入构建的主要方法是 find_package() 命令和 FetchContent 模块。有时也会使用 FindPkgConfig 模块,尽管它缺乏其他两个模块的一些集成,并且本指南中不再进一步讨论。依赖项也可以通过自定义依赖项提供程序提供。这可能是第三方包管理器,也可能是开发人员实现的自定义代码。依赖提供者与上述主要方法合作以扩展其灵活性。

2023-10-17 11:14:04 368

翻译 GNUInstallDirs

定义GNU标准安装目录提供 GNU 编码标准定义的安装目录变量。

2023-10-14 11:30:01 201

翻译 hunter包管理器

Hunter 客户端是仅 CMake 模块的集合(即,它不是像 apt-get 这样的二进制文件或像 brew 这样的脚本),因此它支持开箱即用的 CMake 可以处理的所有平台/生成器/IDE,例如 Visual Studio 、Xcode、Android Studio、QtCreator、NMake、Ninja、Cygwin 或 MinGW。第三方外部项目是高度可定制的,有效地允许您根据要构建的版本、静态/共享、CMake -D 选项、发布/调试等的组合拥有无数目录变体。

2023-10-13 15:26:18 326 1

翻译 libigl第七章-其他内容

Libigl 包含各种各样的几何处理工具和函数,用于处理网格以及与其相关的线性代数:在本介绍性教程中讨论的内容太多了。我们在本章中提取了一些有趣的函数来强调。

2023-10-05 15:47:56 606 1

翻译 libigl第六章-外部库调用

使用矩阵作为基本类型的另一个积极作用是可以轻松地在 libigl 和其他软件和库之间交换数据。

2023-09-12 16:22:00 189

翻译 boost库简介

Boost 提供免费的经过同行评审的可移植 C++ 源库。我们强调与 C++ 标准库配合良好的库。Boost 库旨在广泛使用,并可用于广泛的应用程序。Boost 许可证鼓励所有用户以最少的限制使用 Boost 库。我们旨在建立“现有实践”并提供参考实现,以便 Boost 库适用于最终的标准化。从库技术报告 (TR1) 中包含的十个 Boost 库开始,到 2011 年以来 C++ ISO 标准的每一次发布,C++ 标准委员会一直依赖 Boost 作为标准 C++ 库补充的宝贵来源 .

2023-04-12 16:19:26 624

翻译 3.编写CMakeLists文件

这macro和function命令支持可能分散在 CMakeLists 文件中的重复性任务。一旦定义了宏或函数,它就可以被定义后处理的任何 CMakeLists 文件使用。CMake 中的函数非常类似于 C 或 C++ 中的函数。您可以将参数传递给它,它们将成为函数中的变量。同样,定义了一些标准变量,如ARGC、 ARGV、ARGN和ARGV0、ARGV1等。函数调用具有动态范围。在一个函数中,您处于一个新的变量范围内;这就像你如何使用add_subdirectory命令并且在一个新的变量范围内。.....

2022-08-31 20:53:45 1225

翻译 2.CMake的入门准备

在使用 CMake 之前,您需要在系统上安装或构建 CMake 二进制文件。在许多系统上,您可能会发现 CMake 已经安装或可以使用系统的标准包管理器工具进行安装。Cygwin、Debian、FreeBSD、OS X MacPorts、Mac OS X Fink 和许多其他系统都有 CMake 发行版。如果您的系统没有 CMake 包,您可以在 CMake 下载页面上找到为许多常见架构预编译的 CMake。选择所需的版本并按照下载说明进行操作。

2022-08-22 20:58:47 1470

翻译 1.CMake特性

CMake是一个用于软件项目的开源构建系统生成器,它允许开发人员以简单、可移植的文本文件格式指定构建参数。然后,CMake使用该文件为本地构建工具生成项目文件。CMake 以简单的方式处理构建软件的困难方面,例如跨平台构建、系统自省和用户自定义构建,使用户可以轻松地为复杂的硬件和软件系统定制构建。对于任何项目,尤其是跨平台项目,都需要一个统一的构建系统。CMake 通过将这些不同的操作合并为一种简单、易于理解的文件格式来解决这个问题。

2022-08-22 20:45:45 468

原创 如何使用cmake

CMake这玩意儿自从学会去fork别人的代码的时候就一直不停的出现在我的眼前,当然,去配置C++的各种库的时候也很常见。具体是干啥的,实际上一直都是一知半解的,所以花点时间,搞搞它具体是怎么个写法。

2022-08-19 17:01:46 1054

翻译 CGAL-三角化数据官方文档(trangulation_2.h)

本文据triangulation_2的官方文档整理,triangulation_2是CGAL当中关于三角化实现的最底层的一个类,很多其他的三角化实现,如约束的三角化,德罗内三角化以及正则三角化都继承自此类。

2022-07-23 15:27:35 973

翻译 CGAL-约束德劳内三角剖分(Constrained_Delaunay_triangulation_2)

本文介绍了CGAL受约束德劳内三角化实现的一个基本的数据结构。首先对受约束德劳内三角化的概念进行概述,然后列举了受限制德劳内三角化类的一些功能函数。

2022-07-17 22:03:08 2821

翻译 CGAL-2维的三角剖分数据结构(理论介绍)

本文翻译的部分来源于CGAL的教程,关于二维三角化数据结构的介绍。教程中已经把数据结构中的基本概念讲述清楚。关于类的定义,其中关键的类TriangulationDataStructure_2中所包含的一些基本的操作可以查看另一篇文章。此外,比较麻烦的部分是关键三大类的嵌套定义,还需进一步的研究!...

2022-07-15 20:06:16 955

翻译 CGAL-三角化的数据结构(tds_2)

CGAL中的tds_2,即triangulation_data_structure_2实际上是一种基于面的三角剖分的数据结构,本节对其中包含的成员函数进行了梳理。

2022-07-15 16:06:28 589

翻译 libigl第五章-参数化

在计算机图形学中,我们将表面参数化表示为从表面到 R2R^2R2 。它通常由网格的每个顶点的一组新的 2D 坐标编码(并且可能还通过与原始曲面的面一一对应的一组新面)请注意,此定义与经典微分几何定义相反。...

2022-06-29 14:38:42 1531

翻译 libigl第四章-变形

现代基于网格的形状变形方法满足手柄(网格上选定的顶点或区域)处的用户变形约束,并将这些手柄变形平滑地传播到形状的其余部分,而不会删除或扭曲细节。Libigl 提供了各种最先进的变形技术的实现,从基于二次网格的能量最小化器到蒙皮方法,再到非线性弹性启发技术。...

2022-06-22 16:00:57 1193 1

翻译 libigl第三章:矩阵和线性代数

Libigl 在密集和稀疏线性代数例程中严重依赖 Eigen 库。 除了几何处理例程外,libigl 还具有引导 Eigen 的线性代数例程,使其感觉更类似于 Matlab 等高级代数库。

2022-06-16 10:12:21 725

翻译 libigl第二章 离散几何量与算子

本章说明了 libigl 可以在网格上计算的一些离散量,以及构建流行的离散微分几何算子的 libigl 函数。 它还介绍了我们查看器的基本绘图和着色例程。法向量表面的法向量是渲染表面的一个基本属性。计算以及保存一个三角网格的法向量的方法有很多。示例201展示了如何使用libigl计算以及可视化表面的法向量每个面网格的每个三角形上的法线都很好地定义为与三角形平面正交的向量。这些分段常数法线产生分段平坦的渲染:表面看起来不光滑并显示其潜在的离散化。每个顶点.....................

2022-06-10 14:46:17 888

翻译 libigl教程第一章

第一章 绪论我们通过一系列自包含的示例来介绍 libigl。 每个示例的目的是展示 libigl 的一个特性,同时应用于几何处理中的实际问题。 在本章中,我们将介绍 libigl 的基本概念,并介绍一个简单的网格查看器,它允许可视化表面网格及其属性。 所有教程示例都是跨平台的,可以在 MacOSX、Linux 和 Windows 上编译。libigl的设计原则在进入这些实力之前,现总结一下libigl中的一些主要设计原则:1.没有复杂的数据类型。我们主要使用矩阵和向量。 这极大地有利于代码的可重用性

2022-03-08 17:10:41 4526 3

翻译 初识libigl

libigl 是一个简单的 C++ 几何处理库。 具有广泛的功能,包括构建稀疏离散微分几何算子和有限元矩阵,例如余切拉普拉斯算子和对角化质量矩阵、简单的面和基于边缘的拓扑数据结构、用于 OpenGL 和 GLSL 的网格查看实用程序,以及许多核心 用于矩阵操作的函数,使 Eigen 感觉更像 MATLAB。它是一个只有头文件的库。...

2022-03-07 10:25:05 1363

原创 进入CGAL的世界

进入CGAL的世界由四个小的主题组成:定义点和线段,以及对他们的简单操作,(这里要有一个重要的认识,就是计算机中的浮点数的使用会导致精度问题,这个也是计算机图形学的一个重要的问题);使用一个典型的CGAL函数,计算二维的凸包;第三部分介绍了一个特征(traits)类;第四部分定义了concept以及model的概念。1.顶点和线段#include <iostream>#include <CGAL/Simple_cartesian.h>typedef CGAL::Simple_

2021-10-24 13:43:05 2453

原创 如何在visual studio 2019的IDE下配置CGAL

如何在visual studio 2019的IDE下配置CGAL写在前面:CGAL的配置官方文档https://doc.cgal.org/latest/Manual/windows.html,照着官方文档尝试了一下,在第一种方法中:vcpkg install cgal的过程中有一个bug:yasm_tool:X64-widows安装失败,实在是没有办法解决了,官方提到的那个bug是x86的yasm_tool,应该是被修复了;第二种方法中,尝试使用cmake对最新版本的CGAL进行编译,但是在build的

2021-10-22 20:59:43 1063 1

CGAL_triangulation_basic_primitives

CGAL实现三角化的过程中定义的几个基本图元

2022-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除