CGAL::Poisson_reconstruction_function<GeomTraits>

转载 2012年03月24日 20:37:38

转自:http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Surface_reconstruction_points_3_ref/Class_Poisson_reconstruction_function.html#Cross_link_anchor_1498

CGAL::Poisson_reconstruction_function<GeomTraits>

Definition

Given a set of 3D points with oriented normals sampled on the boundary of a 3D solid, the Poisson Surface Reconstruction method [KBH06] solves for an approximate indicator function of the inferred solid, whose gradient best matches the input normals. The output scalar function, represented in an adaptive octree, is then iso-contoured using an adaptive marching cubes.

Poisson_reconstruction_function implements a variant of this algorithm which solves for a piecewise linear function on a 3D Delaunay triangulation instead of an adaptive octree.

#include <CGAL/Poisson_reconstruction_function.h>

Parameters

template<class Gt>
class Poisson_reconstruction_function;

Parameters


Gt: Geometric traits class.

Is Model for the Concepts

Model of the ImplicitFunction concept.

Types

Poisson_reconstruction_function<GeomTraits>::Geom_traits
  Geometric traits class.

Poisson_reconstruction_function<GeomTraits>::FT
  typedef to Geom_traits::FT

Poisson_reconstruction_function<GeomTraits>::Point
  typedef to Geom_traits::Point_3

Poisson_reconstruction_function<GeomTraits>::Vector
  typedef to Geom_traits::Vector_3

Poisson_reconstruction_function<GeomTraits>::Sphere
  typedef to Geom_traits::Sphere_3

Creation

template<typename InputIterator, typename PointPMap, typename NormalPMap>
Poisson_reconstruction_function<GeomTraits> fct ( InputIterator first,
InputIterator beyond,
PointPMap point_pmap,
NormalPMap normal_pmap);
  Creates a Poisson implicit function from the [first, beyond) range of points.
Template Parameters: 
InputIterator: iterator over input points. PointPMap: is a model ofboost::ReadablePropertyMap with a value_type = Point_3. It can be omitted ifInputIterator value_type is convertible to Point_3.NormalPMap: is a model of boost::ReadablePropertyMap with a value_type = Vector_3.
Parameters: 
first: iterator over the first input point. beyond: past-the-end iterator over the input points.point_pmap: property map to access the position of an input point. normal_pmap: property map to access theoriented normal of an input point.

Operations

Sphere fct.bounding_sphere () const Returns a sphere bounding the inferred surface.
template<classSparseLinearAlgebraTraits_d>
bool
fct.compute_implicit_function ( SparseLinearAlgebraTraits_d solver =SparseLinearAlgebraTraits_d())
    The function compute_implicit_function() must be called after the insertion of oriented points. It computes the piecewise linear scalar function operator() by: applying Delaunay refinement, solving for operator() at each vertex of the triangulation with a sparse linear solver, and shifting and orienting operator() such that it is 0 at all input points and negative inside the inferred surface.
Template parameters: 
SparseLinearAlgebraTraits_d: Symmetric definite positive sparse linear solver. IfEigen 3.1 (or greater) is available and CGAL_EIGEN3_ENABLED is defined, the default solver isEigen::ConjugateGradient, otherwise, it is TAUCS Multifrontal Supernodal Cholesky Factorization.
Returns:  false if the linear solver fails.
Parameters: 
solver: sparse linear solver.
FT fct.operator() ( const Point& p) const
    ImplicitFunction interface: evaluates the implicit function at a given 3D query point. The functioncompute_implicit_function must be called before the first call to operator().
Point fct.get_inner_point () const Returns an arbitray point located inside the inferred surface.

Example

See Surface_reconstruction_points_3/poisson_reconstruction_example.cpp.

 

CGAL使用心得(附加说明)

附加说明: 1.       CGAL整体概述CGAL是一个用C++描述的,包含三个主要部分的计算几何算法库.第一部分是核心组件(Kernel),它包括基本的几何对象以及做用在这些对象上的各种操作.这...
  • Augusdi
  • Augusdi
  • 2013年10月28日 10:10
  • 6968

CGAL的三角数据访问

Triangulation_2 是CGAL中描述二维三角形剖分的一个模板类。实例化时, 它的第一个模板参数要传入一个几何核心类, 第二个模板参数是一个三角剖分的数据结构类(这个参数有一个默认的值)。...
  • babywong
  • babywong
  • 2014年11月14日 17:09
  • 1862

Openmesh函数库设计及与CGAL的对比

Openmesh函数库设计及与CGAL的对比 在前面写了CGAL模板类设计的一些思路,这里尝试写一点openmesh库的设计思路以及和CGAL的对比.虽然OPENMESH代码量小,不过还是只...
  • zkl99999
  • zkl99999
  • 2015年09月11日 12:44
  • 1635

CGAL 4.11 官方文档 软件包概述 ——多边形类

不同于OpenCV这样普及良好的大众库,CGAL并没有中文的书籍可以参考。于是萌生了翻译官方文档的想法,希望能与大家分享成果。本篇给出了CGAL官方文档多边形算法类软件包概述的译文。...
  • lotusiki
  • lotusiki
  • 2017年11月07日 10:41
  • 258

在windows下安装CGAL程序

Installing CGAL and related programs on Windows operating system This page explains how to instal...
  • meanwe712
  • meanwe712
  • 2014年03月25日 19:16
  • 2107

CGAL编程实现点集的Delaunay三角剖分和Voronoi图

转自:http://blog.csdn.net/jinzhilong580231/article/details/6746533 //使用CGAL编程实现点集的Delaunay三角剖分,voro...
  • southern_King
  • southern_King
  • 2015年10月17日 15:01
  • 1225

利用CGAL库函数细分约束三角剖分以及搜寻约束边界内的三角形面(CDT refinement in CGAL)

最近自己要研究一个约束三角剖分的细分功能()
  • babywong
  • babywong
  • 2014年11月15日 17:24
  • 2243

CGAL 二维三角数据结构

CGAL的资料太少了,所以尝试翻译下,算是对自己的一种要求,也和大家互相交流。作者:Sylvain Pion and Mariette Yvinec1.定义 三角数据结构是一种专门用于处理二...
  • u012348774
  • u012348774
  • 2016年04月14日 21:40
  • 590

CGAL4.4 二维平面三角化之遍历每个三角面的三个顶点

最近在学习CGAL,于是自己把里面
  • jacayang
  • jacayang
  • 2014年04月18日 21:31
  • 1510

CGAL计算几何库配置步骤

1、前置要求 本文配置的环境用于开发32位程序,所以对于的库安装文件都选择32位(x86)版本。如果想要开发64位程序,选择对于的64位(x64)版本安装程序即可。 主要影响的库有:安装...
  • choris
  • choris
  • 2015年12月04日 10:09
  • 3452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CGAL::Poisson_reconstruction_function<GeomTraits>
举报原因:
原因补充:

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