问题标签 [cgal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - 使用库编译的问题
我正在尝试编译一些在 OS X Lion 上使用 CGAL 库的 C++ 代码。我下载并安装了 CGAL 库的某个目录。然后,当我尝试编译代码时,使用“make”;
这意味着它没有找到 CGAL 库。我查看了 Makefile,我看到它使用标志编译
想知道如何解决这个问题,我想我可以将关于我编译库的位置的信息传递给这个变量,但我不知道如何。我尝试了导出等,但它无法识别它,有什么提示吗?
c++ - CGAL voronoi 图度量
CGAL 库中有一个用于分段的 VD 实现,但它仅适用于欧几里德度量情况。是否可以在那里使用我自己的度量函数?
triangulation - CGAL 网格优化
我一直在尝试“清理”我预先生成的三角测量。
本质上,我想在 CGAL 上输入我的点并从那里生成一个网格,然后使用fine_mesh_3 去除碎片并提高其质量。
有什么简单的技术可以做到这一点吗?
谢谢...
computational-geometry - 稳健的距离比较谓词
我需要一个由以下代码定义的健壮谓词:
由于浮点算术的限制,我们不能distance
精确计算(甚至是平方),所以如果我们直接实现这个代码,谓词就不会很健壮。我试图在 CGAL 库中找到它,但找不到。
有点接近我需要的compare_distance_to_point(Point p, Point q, Point r)
谓词 predicate。它返回Smaller
if distance(p, q) < distance(p, r)
、Equal
ifdistance(p, q) == distance(p, r)
和Larger
else。第一个想法是通过向量移位c
和,所以我们可以调用,但这会再次违反鲁棒性。那么,有没有人有适应它的想法?d
(c - a)
compare_distance_to_point(a, b, d + (c - a))
cgal - CGAL:继承和内核
CGAL问题:
我正在尝试将一个属性添加到点类。我想第一步是继承一个内核并用我自己的替换点类,我从 CGAL 继承。但只是试图迈出这小小的第一步,我遇到了麻烦。
编辑:根据下面的评论,我将继承更改为手册中描述的方式。下面的代码给出了以下编译错误:
- 'typename CGAL::Extended_homogeneous::Base' 命名'CGAL::Extended_homogeneous::Base',它不是类模板|
其中。
MyBase.h
最小化.cpp
如果将继承更改为“public K_Base::Base::template B::Type”,它将编译,但我想我想念扩展的属性?因为我得到了错误
“构造函数不适用于此内核”
当我运行程序时
inheritance - 将变量添加到 CGAL 的 Point 类
我正在尝试向 CGAL 的 Point_3 类添加一个颜色变量(无符号字符),以便在进行 Delaunay 三角剖分后访问颜色。
我尝试过的是使用 Triangulation_vertex_base_with_info_3 来存储这样的颜色(按照http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Triangulation_3/Chapter_main.html#Subsection_39.5.3的示例)
我真正想要实现的是能够在进行三角剖分后通过 Triangulation::Tetrahedron 类访问顶点颜色。
假设我在 (x,y,z) 有一个点 P。三角剖分后,我找到了包含这个点 P 的四面体 t,并且我可以访问这个四面体的顶点(使用 t.vertex(0..3))。这将返回 Point_3 类型的顶点,我无法访问之前存储的颜色。
我想一种方法是创建我自己的包含颜色信息的 Point 类。这很容易,但我不明白如何使用这个类而不是 Point_3。我发现我还必须编写自己的内核来执行此操作,并在http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Kernel_23/Chapter_main.html#Section_11.5上提供了一个示例,但我不能弄清楚我应该使用什么内核作为基类,或者我的内核甚至应该包含什么功能。
我什至在 stackoverflow 上发现了两个类似的主题: Customizing CGAL Kernel with my own Point class 和 CGAL: Inheritance and the kernel 但它们对我没有帮助。
谢谢您的帮助!
c++ - 用cgal计算两个多边形的相交面积
给定两个凸多边形的顶点,使用 cgal 计算它们相交面积的最简单方法是什么?
c++ - CGAL:法线和加权 3D 三角测量之间的差异
对于一组 3D 点,它们都由它们的笛卡尔坐标指定,CGAL 的 3D Delaunay 三角剖分与其加权(如此处所述)或常规 3D 三角剖分之间的主要区别是什么?
debugging - 在 Mac OS 上使用 Boost 调试 CGAL 示例
我手动编译了 CGAL 并安装在~/Library/CGAL/CGAL-4.0.2/
. Boost (boost @1.50.0_0+debug+no_single+no_static)
以及cmake (2.8.8_1)
使用macports
. 对于提供的示例的编译目的,一切都很好。我的问题是当我尝试调试示例时。特别是,例如,我在包含and thencmake -DCMAKE_BUILD_TYPE=Debug .
的目录中运行。生成的二进制函数符合预期,但在运行调试时,我收到以下警告:Arrangements_on_surfaces_2
make
gdb foo
foo
我真的不知道该怎么办。我尝试boost
手动下载、编译和安装,然后重新编译CGAL
。但是,一旦我尝试编译一个示例,我就会在运行时抱怨缺少boost
库。
另一方面,在尝试调试XCode
项目时(在使用-G Xcode
cmake 选项创建项目之后),我可以调试一个示例。
任何帮助都会有所帮助!