ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
SurfaceReconstructionPoisson.cpp File Reference
#include <Logging.h>
#include <Eigen/Dense>
#include <cfloat>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <list>
#include "ecvHObjectCaster.h"
#include "ecvMesh.h"
#include "ecvPointCloud.h"
#include "PoissonRecon/Src/PreProcessor.h"
#include "PoissonRecon/Src/MyMiscellany.h"
#include "PoissonRecon/Src/CmdLineParser.h"
#include "PoissonRecon/Src/FEMTree.h"
#include "PoissonRecon/Src/PPolynomial.h"
#include "PoissonRecon/Src/PointStreamData.h"
Include dependency graph for SurfaceReconstructionPoisson.cpp:

Go to the source code of this file.

Classes

class  poisson::CloudViewerData
 
class  poisson::CloudViewerPointStream< Real >
 
class  poisson::CloudViewerVertex< _Real >
 
struct  poisson::FEMTreeProfiler< Dim, Real >
 
struct  poisson::ConstraintDual< Dim, Real >
 
struct  poisson::SystemDual< Dim, Real >
 
struct  poisson::SystemDual< Dim, double >
 

Namespaces

 poisson
 

Functions

template<class Real , unsigned int Dim>
XForm< Real, Dim+1 > poisson::GetBoundingBoxXForm (Point< Real, Dim > min, Point< Real, Dim > max, Real scaleFactor)
 
template<class Real , unsigned int Dim>
XForm< Real, Dim+1 > poisson::GetBoundingBoxXForm (Point< Real, Dim > min, Point< Real, Dim > max, Real width, Real scaleFactor, int &depth)
 
template<class Real , unsigned int Dim>
XForm< Real, Dim+1 > poisson::GetPointXForm (InputPointStream< Real, Dim > &stream, Real width, Real scaleFactor, int &depth)
 
template<class Real , unsigned int Dim>
XForm< Real, Dim+1 > poisson::GetPointXForm (InputPointStream< Real, Dim > &stream, Real scaleFactor)
 
template<typename Vertex , typename Real , typename SetVertexFunction , unsigned int... FEMSigs, typename... SampleData>
void poisson::ExtractMesh (float datax, bool linear_fit, UIntPack< FEMSigs... >, std::tuple< SampleData... >, FEMTree< sizeof...(FEMSigs), Real > &tree, const DenseNodeData< Real, UIntPack< FEMSigs... >> &solution, Real isoValue, const std::vector< typename FEMTree< sizeof...(FEMSigs), Real >::PointSample > *samples, std::vector< CloudViewerData > *sampleData, const typename FEMTree< sizeof...(FEMSigs), Real >::template DensityEstimator< WEIGHT_DEGREE > *density, const SetVertexFunction &SetVertex, XForm< Real, sizeof...(FEMSigs)+1 > iXForm, std::shared_ptr< ccMesh > &out_mesh, std::vector< double > &out_densities)
 
template<class Real , typename... SampleData, unsigned int... FEMSigs>
void poisson::Execute (const ccPointCloud &pcd, std::shared_ptr< ccMesh > &out_mesh, std::vector< double > &out_densities, int depth, size_t width, float scale, bool linear_fit, float point_weight, float samples_per_node, UIntPack< FEMSigs... >)
 

Variables

static const int poisson::DATA_DEGREE = 0
 
static const int poisson::WEIGHT_DEGREE = 2
 
static const int poisson::NORMAL_DEGREE = 2
 
static const int poisson::DEFAULT_FEM_DEGREE = 1
 
static const BoundaryType poisson::DEFAULT_FEM_BOUNDARY = BOUNDARY_NEUMANN
 
static const int poisson::DIMENSION = 3