CGAL::make_surface_mesh

转载 2012年03月24日 23:10:56

转自:http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Surface_mesher_ref/Function_make_surface_mesh.html

#include <CGAL/make_surface_mesh.h>

Definition

The function make_surface_mesh is a surface mesh generator, that is a function to build a two dimensional mesh approximating a surface.

The library provides two overloaded version of this function:

template <class SurfaceMeshC2T3, class Surface, class FacetsCriteria, class Tag >
void
make_surface_mesh ( SurfaceMeshC2T3& c2t3,
Surface surface,
FacetsCriteria criteria,
Tag,
int initial_number_of_points = 20)
 
template <class SurfaceMeshC2T3, class SurfaceMeshTraits, class FacetsCriteria, class Tag >
void
make_surface_mesh ( SurfaceMeshC2T3& c2t3,
SurfaceMeshTraits::Surface_3 surface,
SurfaceMeshTraits traits,
FacetsCriteria criteria,
Tag,
int initial_number_of_points = 20)

Parameters

The template parameter SurfaceMeshC2T3 is required to be a model of the concept SurfaceMeshComplex_2InTriangulation_3, a data structure able to represent a two dimensional complex embedded in a three dimensional triangulation. The argument c2t3 of type SurfaceMeshC2T3, passed by reference to the surface mesh generator, is used to maintain the current approximating mesh and it stores the final mesh at the end of the procedure. The type SurfaceMeshC2T3 is in particular required to provide a type SurfaceMeshC2T3::Triangulation_3 for the three dimensional triangulation embedding the surface mesh. The vertex and cell base classes of the triangulation SurfaceMeshC2T3::Triangulation_3 are required to be models of the concepts SurfaceMeshVertexBase_3 and SurfaceMeshCellBase_3 respectively.

The template parameter Surface stands for the surface type. This type has to be a model of the concept Surface_3.

The knowledge on the surface, required by the surface mesh generator is encapsulated in a traits class. Actually, the mesh generator accesses the surface to be meshed through this traits class only. The traits class is required to be a model of the concept SurfaceMeshTraits_3.

In the first version of make_surface_mesh the surface type is a template parameter Surface and the surface mesh generator traits type is automatically generated form the surface type through the class Surface_mesh_traits_generator_3<Surface>.

The difference between the two overloaded versions of make_surface_mesh can be explained as follows

  • In the first overloaded version of of make_surface_mesh, the surface type is given as template parameter (Surface) and the surface to be meshed is passed as parameter to the mesh generator. In that case the surface mesh generator traits type is automatically generated form the surface type by an auxiliary class called the Surface_mesh_traits_generator_3.
  • In the second overloaded version of make_surface_mesh, the surface mesh generator traits type is provided by the template parameter SurfaceMeshTraits_3 and the surface type is obtained from this traits type. Both the surface and the traits are passed to the mesh generator as arguments.

The first overloaded version can be used whenever the surface type either provides a nested type Surface::Surface_mesher_traits_3 that is a model of SurfaceMeshTraits_3 or is a surface type for which a specialization of the traits generator Surface_mesh_traits_generator_3<Surface> is provided. Currently, the library provides partial specializations of Surface_mesher_traits_generator_3<Surface> for implicit surfaces (Implicit_surface_3<Traits, Function>) and gray level images (Gray_level_image_3<FT, Point>).

The template parameter FacetsCriteria has to be a model of the concept SurfaceMeshFacetsCriteria_3. The argument of type FacetsCriteria passed to the surface mesh generator specifies the size and shape requirements on the output surface mesh.

The template parameter Tag is a tag whose type affects the behavior of the meshing algorithm. The function make_surface_mesh has specialized versions for the following tag types:
- Manifold_tag: the output mesh is guaranteed to be a manifold surface without boundary.
- Manifold_with_boundary_tag: the output mesh is guaranteed to be manifold but may have boundaries.
- Non_manifold_tag: the algorithm relies on the given criteria and guarantees nothing else.

The Delaunay refinement process is started with an initial set of points which is the union of two sets: the set of vertices in the initial triangulation pointed to by the c2t3 argument and a set of points provided by the traits class. The optional parameter initial_number_of_points allows to monitor the number of points in this second set. (This parameter is passed to the operator() of the constructor object Construct_initial_points in the traits class.) The meshing algorithm requires that the initial set of points includes at least one point on each connected components of the surface to be meshed. one.

See Also

SurfaceMeshComplex_2InTriangulation_3
SurfaceMeshCellBase_3
SurfaceMeshVertexBase_3
Surface_3
SurfaceMeshFacetsCriteria_3
Surface_mesh_default_triangulation_3

 

CGAL::make_surface_mesh

转自:http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Surface_mesher_ref/Function_make_surface_m...
  • jinzhilong580231
  • jinzhilong580231
  • 2012年03月24日 23:10
  • 1816

mesh deformation资料

mesh deformation:是一个比较有意思的课题,除了最近流行的一些深度学习的方法,以前经典的方法概括起来就是解决:最优化某个有约束的能量项。其重点在于:①把问题概括成某个有约束的能量项②求解...
  • baidu_26408419
  • baidu_26408419
  • 2017年09月08日 16:14
  • 270

CGAL 4.9 - Triangulated Surface Mesh Deformation

Here, I would like to derive the formula (10) For triangle vjvivmv_jv_iv_m, we have the following...
  • seamanj
  • seamanj
  • 2017年01月02日 04:36
  • 669

Win7-64bts-VS2012-CGAL4.7 安装

Win7-64bits-VS2012 下安装 CGAL4.7
  • nothinglefttosay
  • nothinglefttosay
  • 2016年01月30日 12:12
  • 1648

CGAL collapse_edge source code analysis

location:  CGAL\boost\graph /** * collapses an edge in a graph. * * \tparam Graph must be a mod...
  • seamanj
  • seamanj
  • 2016年03月08日 05:08
  • 1223

CGAL::Manifold_with_boundary_tag

转自:http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Surface_mesher_ref/Class_Manifold_with_bou...
  • jinzhilong580231
  • jinzhilong580231
  • 2012年03月24日 23:32
  • 475

编译64位的CGAL库

首先,在编译CGAL库时,主要参考的文章是王的世界(http://www.lofter.com/postentry?from=search&permalink=3d163a_59d80ea)的这篇文章...
  • yzf060109
  • yzf060109
  • 2015年12月25日 15:47
  • 761

CGAL Cookbook --CGAL简介

##前言 ## 接触CGAL已经有半年了,从最初的厌恶(对于一个初学者来说,CGAL确实有点难度,它要求初学者有一定基础)到后来的喜欢。现在觉得CGAL简直完美极了,虽然它存在一些BUG但是这并不...
  • jacayang
  • jacayang
  • 2015年05月13日 16:22
  • 949

WIN7 VS2010下配置 CGAL-4.7

CGAL虽然配置看上去不很难,但是由于集成了很多库,所以第一次配置前前后后花了我差不多两天的时间 1.去官网下载安装程序 https://github.com/CGAL/cgal/releases...
  • seamanj
  • seamanj
  • 2016年02月01日 01:34
  • 1784

CGAL详细安装教程

不知如何使用此编辑器进行图片粘贴,造成文档不能显示图片。 CGAL的详细安装教程参考网址:https://wenku.baidu.com/view/e29951d9185f312b3169a45177...
  • dream2050csdn
  • dream2050csdn
  • 2017年04月25日 22:13
  • 490
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CGAL::make_surface_mesh
举报原因:
原因补充:

(最多只允许输入30个字)