使用Projection_traits_xy_3的约束delaunay三角测量
Constrained delaunay triangulation with Projection_traits_xy_3
如何将Constrained_Delaunay_triangulation_2
与三维数据一起使用?之后我需要显示一个网格。
从文献来看,Projection_traits_xy_3
是ConstrainedTriangulationTraits_2
的一个模型。如何正确地键入CDT?
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Projection_traits_xy_3<K> Gt;
typedef K::Point_3 Point;
typedef CGAL::Triangulation_vertex_base_2<K> Vb;
typedef CGAL::Delaunay_mesh_face_base_2<K> Fb;
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
typedef CGAL::Constrained_Delaunay_triangulation_2<K, Tds> CDT;
//-or-
typedef CGAL::Constrained_Delaunay_triangulation_2<Gt, K, Tds> CDT;
//-or what?-
typedef CGAL::Delaunay_mesh_size_criteria_2<CDT> Criteria;
typedef CGAL::Delaunay_mesher_2<CDT, Criteria> Mesher;
typedef CDT::Vertex_handle Vertex_handle;
//what should Point be?
//typedef CDT::Point Point;
int main(int argc, char *argv[])
{
const char* fname = (argc>1)?argv[1]:"../sampledata/dtm_ground.xyz";
std::vector<Point> points;
std::ifstream stream(fname);
if (!stream || !CGAL::read_xyz_points(stream,
std::back_inserter(points),
CGAL::Identity_property_map<Point>()))
{
std::cerr << "Error: cannot read file " << fname << std::endl;
return EXIT_FAILURE;
}
CDT cdt(points.begin(), points.end());
//CGAL::refine_Delaunay_mesh_2(cdt, Criteria(0.125, 0.5));
//std::cout << "Number of vertices: " << cdt.number_of_vertices() << std::endl;
return EXIT_SUCCESS;
}
所有三角测量类的traits类参数必须为Gt
。受约束三角剖分的按范围插入构造函数需要一系列约束。您可以使用insert函数。
相关文章:
- 函数作为模板参数,是否对返回类型强制约束
- 约束和显式模板实例化
- IpOpt拒绝解决不受约束的问题
- 使用C++模板时表达约束
- 如何在 SCIP C++ 接口中获取 MILP 约束矩阵中的系数值
- 受约束的成员函数和显式模板实例化
- 具有多种约束(例如重量、体积等)的背包
- Gecode 与 Z3 用于约束随机化
- 如果原型是本地的,则使用流 I/O C++类型约束将失败
- C++打开具有 2 个约束的文件
- 如何拥有受约束的运算符模板?
- 不生成单独约束的变量的 Gurobi 影子价格
- 在 C++20 中对概念约束函数进行排序的规则是什么?
- 如何使用 g2o 优化多约束函数
- 约束类模板函数以接受特定的 POD 类型
- 约束包容是否仅适用于概念?
- 检查特定txt文件中的项目是否符合"名称编号USACO"中的约束
- 如何使用每个顶点的自定义信息创建CGAL约束的delaunay三角测量
- 如何在约束delaunay三角剖分中获取三角形的顶点
- 使用Projection_traits_xy_3的约束delaunay三角测量