2D Conforming Triangulations

来源:互联网 发布:mac快捷键缩小窗口 编辑:程序博客网 时间:2024/06/06 01:20

2D Conforming Triangulations

void CGAL::make_conforming_Delaunay_2   (CDT & t)
  • 将带有约束性的Delaunay三角t细化为conforming Delaunay三角
  • 调用此功能后,t的所有边缘都是Delaunay边
  • 模版参数:CDT必须是带有约束性的Delaunay三角,其几何特征类必须是ConformingDelaunayTriangulationTraits_2里面的模型
  • 必须包含头文件CGAL/Triangulation_conformer_2.h
  • Examples 代码:
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>#include <CGAL/Constrained_Delaunay_triangulation_2.h>#include <CGAL/Triangulation_conformer_2.h>#include <iostream>typedef CGAL::Exact_predicates_inexact_constructions_kernel K;typedef CGAL::Constrained_Delaunay_triangulation_2<K> CDT;typedef CDT::Point Point;typedef CDT::Vertex_handle Vertex_handle;int main(){  CDT cdt;  // construct a constrained triangulation  Vertex_handle    va = cdt.insert(Point( 5., 5.)),    vb = cdt.insert(Point(-5., 5.)),    vc = cdt.insert(Point( 4., 3.)),    vd = cdt.insert(Point( 5.,-5.)),    ve = cdt.insert(Point( 6., 6.)),    vf = cdt.insert(Point(-6., 6.)),    vg = cdt.insert(Point(-6.,-6.)),    vh = cdt.insert(Point( 6.,-6.));  cdt.insert_constraint(va,vb);  cdt.insert_constraint(vb,vc);  cdt.insert_constraint(vc,vd);  cdt.insert_constraint(vd,va);  cdt.insert_constraint(ve,vf);  cdt.insert_constraint(vf,vg);  cdt.insert_constraint(vg,vh);  cdt.insert_constraint(vh,ve);  std::cout << "Number of vertices before: "            << cdt.number_of_vertices() << std::endl;  // make it conforming Delaunay  CGAL::make_conforming_Delaunay_2(cdt);  std::cout << "Number of vertices after make_conforming_Delaunay_2: "            << cdt.number_of_vertices() << std::endl;  // then make it conforming Gabriel  CGAL::make_conforming_Gabriel_2(cdt);  std::cout << "Number of vertices after make_conforming_Gabriel_2: "            << cdt.number_of_vertices() << std::endl;}

void CGAL::make_conforming_Gabriel_2(CDT & t)

-将带有约束性的Delaunay三角t细化为conforming Gabriel三角
-调用此功能后,t的所有边缘都具有Gabriel属性,即以E为直径的圆内不包含三角网格的任何点。
-模版参数:CDT必须是带有约束性的Delaunay三角,其几何特征类必须是ConformingDelaunayTriangulationTraits_2里面的模型
- 必须包含头文件CGAL/Triangulation_conformer_2.h
- 代码段如上。


void CGAL::refine_Delaunay_mesh_2(CDT & t,
const Criteria & criteria = Criteria())
“`

-由满足特性准则定义的标准的无种子网格形成的带有约束性的Delaunay三角,来定义默认的域。(Refines the default domain defined by a constrained Delaunay triangulation without seeds into a mesh satisfying the criteria defined by the traits criteria.)
-网格域包括有约束性边界T定义的平面的连接部分,不包括无边界部分。
-模版参数:CDT必须是带有约束性的Delaunay三角,其几何特征类必须是ConformingDelaunayTriangulationTraits_2里面的模型。
-Criteria必须是 MeshingCriteria_2里面的概念模型。
-要求:
-带有约束性的Delaunay三角的面必须是概念 DelaunayMeshFaceBase_2里面的模型
-CDT::Face_handle must be the same as Criteria::Face_handle.
-必须包含CGAL/Delaunay_mesher_2.h头文件。
-代码例子(mesh_global.cpp):

0 0
原创粉丝点击