Loading...
Searching...
No Matches
pcl::poisson Namespace Reference

## Classes

class | AllocatorState
class | Allocator
| This templated class assists in memory allocation and is well suited for instances when it is known that the sequence of memory allocations is performed in a stack-based manner, so that memory allocated last is released first. More...
class | BinaryNode
class | BSplineData
struct | BSplineElementCoefficients
struct | BSplineElements
class | FunctionData
struct | Point3D
class | Edge
class | Triangle
class | CoredPointIndex
class | EdgeIndex
class | CoredEdgeIndex
class | TriangleIndex
class | TriangulationEdge
class | TriangulationTriangle
class | Triangulation
struct | CoredVertexIndex
class | CoredMeshData
class | CoredMeshData2
class | CoredVectorMeshData
class | CoredVectorMeshData2
class | CoredFileMeshData
class | CoredFileMeshData2
class | Square
class | Cube
class | MarchingSquares
class | MarchingCubes
class | MinimalAreaTriangulation
class | RootInfo
class | VertexData
class | SortedTreeNodes
class | TreeNodeData
class | Octree
struct | UpSampleData
class | OctNode
class | PoissonException
| A base class for all poisson exceptions which inherits from std::runtime_error. More...
class | PoissonBadArgumentException
| An exception that is thrown when the arguments number or type is wrong/unhandled. More...
class | PoissonOpenMPException
| An exception that is thrown when something goes wrong inside an openMP for loop. More...
class | PoissonBadInitException
| An exception that is thrown when initialization fails. More...
class | Polynomial
class | StartingPolynomial
class | PPolynomial
struct | MatrixEntry
class | SparseMatrix
struct | MapReduceVector
class | SparseSymmetricMatrix
class | Vector
class | NVector

## Typedefs

typedef float | Real
typedef float | BSplineDataReal
typedef pcl::poisson::OctNode< class TreeNodeData, Real > | TreeOctNode

## Functions

template<int Degree1, int Degree2>
void | SetBSplineElementIntegrals (double integrals[Degree1+1][Degree2+1])
template<int Degree>
bool | LeftOverlap (unsigned int, int offset)
template<int Degree>
bool | RightOverlap (unsigned int, int offset)
template<int Degree>
int | ReflectLeft (unsigned int, int offset)
template<int Degree>
int | ReflectRight (unsigned int depth, int offset)
PCL_EXPORTS double | ArcTan2 (double y, double x)
PCL_EXPORTS double | Angle (const double in[2])
PCL_EXPORTS void | Sqrt (const double in[2], double out[2])
PCL_EXPORTS void | Add (const double in1[2], const double in2[2], double out[2])
PCL_EXPORTS void | Subtract (const double in1[2], const double in2[2], double out[2])
PCL_EXPORTS void | Multiply (const double in1[2], const double in2[2], double out[2])
PCL_EXPORTS void | Divide (const double in1[2], const double in2[2], double out[2])
PCL_EXPORTS int | Factor (double a1, double a0, double roots[1][2], double EPS)
PCL_EXPORTS int | Factor (double a2, double a1, double a0, double roots[2][2], double EPS)
PCL_EXPORTS int | Factor (double a3, double a2, double a1, double a0, double roots[3][2], double EPS)
PCL_EXPORTS int | Factor (double a4, double a3, double a2, double a1, double a0, double roots[4][2], double EPS)
PCL_EXPORTS int | Solve (const double *eqns, const double *values, double *solutions, int dim)
template<class Real>
Real | Random (void)
template<class Real>
Point3D< Real > | RandomBallPoint (void)
template<class Real>
Point3D< Real > | RandomSpherePoint (void)
template<class Real>
double | Length (const Point3D< Real > &p)
template<class Real>
double | SquareLength (const Point3D< Real > &p)
template<class Real>
double | Distance (const Point3D< Real > &p1, const Point3D< Real > &p2)
template<class Real>
double | SquareDistance (const Point3D< Real > &p1, const Point3D< Real > &p2)
template<class Real>
void | CrossProduct (const Point3D< Real > &p1, const Point3D< Real > &p2, Point3D< Real > &p)
template<class Real>
void | EdgeCollapse (const Real &edgeRatio, std::vector< TriangleIndex > &triangles, std::vector< Point3D< Real > > &positions, std::vector< Point3D< Real > > *normals)
template<class Real>
void | TriangleCollapse (const Real &edgeRatio, std::vector< TriangleIndex > &triangles, std::vector< Point3D< Real > > &positions, std::vector< Point3D< Real > > *normals)
void | atomicOr (volatile int &dest, int value)
long long | _InterleaveBits (int p[3])
void | AtomicIncrement (volatile float *ptr, float addend)
void | AtomicIncrement (volatile double *ptr, double addend)
template<class T>
void | MultiplyAtomic (const SparseSymmetricMatrix< T > &A, const Vector< float > &In, Vector< float > &Out, int threads, const int *partition=NULL)
template<class T>
void | MultiplyAtomic (const SparseSymmetricMatrix< T > &A, const Vector< double > &In, Vector< double > &Out, int threads, const int *partition=NULL)

## Variables

constexpr Real | MATRIX_ENTRY_EPSILON = Real(0)
constexpr Real | EPSILON =Real(1e-6)
constexpr Real | ROUND_EPS = Real(1e-5)
template<int Degree>
double | Octree< Degree >::maxMemoryUsage =0
template<class NodeData, class Real>
const int | OctNode< NodeData, Real >::DepthShift =5
template<class NodeData, class Real>
const int | OctNode< NodeData, Real >::OffsetShift =19
template<class NodeData, class Real>
const int | OctNode< NodeData, Real >::DepthMask =(1<<DepthShift)-1
template<class NodeData, class Real>
const int | OctNode< NodeData, Real >::OffsetMask =(1<<OffsetShift)-1
template<class NodeData, class Real>
const int | OctNode< NodeData, Real >::OffsetShift1 =DepthShift
template<class NodeData, class Real>
const int | OctNode< NodeData, Real >::OffsetShift2 =OffsetShift1+OffsetShift
template<class NodeData, class Real>
const int | OctNode< NodeData, Real >::OffsetShift3 =OffsetShift2+OffsetShift
template<class NodeData, class Real>
int | OctNode< NodeData, Real >::UseAlloc =0
template<class NodeData, class Real>
Allocator< OctNode< NodeData, Real > > | OctNode< NodeData, Real >::internalAllocator
template<class T>
int | SparseMatrix< T >::UseAlloc =0
template<class T>
Allocator< MatrixEntry< T > > | SparseMatrix< T >::internalAllocator

## Typedef Documentation

## BSplineDataReal

typedef float pcl::poisson::BSplineDataReal

Definition at line 86 of file multi_grid_octree_data.h.

## Real

typedef float pcl::poisson::Real

Definition at line 85 of file multi_grid_octree_data.h.

## TreeOctNode

typedef pcl::poisson::OctNode< class TreeNodeData , Real > pcl::poisson::TreeOctNode

Definition at line 87 of file multi_grid_octree_data.h.

## Function Documentation

## _InterleaveBits()

long long pcl::poisson::_InterleaveBits | ( | int | p[3] | ) |

Definition at line 838 of file octree_poisson.hpp.

Referenced by pcl::poisson::OctNode< NodeData, Real >::CompareByDepthAndZIndex().

## Add()

PCL_EXPORTS void pcl::poisson::Add | ( | const double | in1[2],
|  | const double | in2[2],
|  | double | out[2] )

## Angle()

PCL_EXPORTS double pcl::poisson::Angle | ( | const double | in[2] | ) |

## ArcTan2()

PCL_EXPORTS double pcl::poisson::ArcTan2 | ( | double | y,
|  | double | x )

## AtomicIncrement() [1/2]

void pcl::poisson::AtomicIncrement | ( | volatile double * | ptr,
|  | double | addend )

inline

Definition at line 594 of file sparse_matrix.hpp.

## AtomicIncrement() [2/2]

void pcl::poisson::AtomicIncrement | ( | volatile float * | ptr,
|  | float | addend )

inline

Definition at line 581 of file sparse_matrix.hpp.

Referenced by MultiplyAtomic(), and MultiplyAtomic().

## atomicOr()

void pcl::poisson::atomicOr | ( | volatile int & | dest,
|  | int | value )

Definition at line 55 of file multi_grid_octree_data.hpp.

## CrossProduct()

template<class Real>

void pcl::poisson::CrossProduct | ( | const Point3D< Real > & | p1,
|  | const Point3D< Real > & | p2,
|  | Point3D< Real > & | p )

Definition at line 74 of file geometry.hpp.

References pcl::poisson::Point3D< Real >::coords.

Referenced by pcl::poisson::Triangulation< Real >::area(), EdgeCollapse(), pcl::poisson::MinimalAreaTriangulation< Real >::GetTriangulation(), and TriangleCollapse().

## Distance()

template<class Real>

double pcl::poisson::Distance | ( | const Point3D< Real > & | p1,
|  | const Point3D< Real > & | p2 )

Definition at line 71 of file geometry.hpp.

References SquareDistance().

## Divide()

PCL_EXPORTS void pcl::poisson::Divide | ( | const double | in1[2],
|  | const double | in2[2],
|  | double | out[2] )

## EdgeCollapse()

template<class Real>

void pcl::poisson::EdgeCollapse | ( | const Real & | edgeRatio,
|  | std::vector< TriangleIndex > & | triangles,
|  | std::vector< Point3D< Real > > & | positions,
|  | std::vector< Point3D< Real > > * | normals )

Definition at line 81 of file geometry.hpp.

References pcl::poisson::Point3D< Real >::coords, CrossProduct(), Length(), and SquareDistance().

## Factor() [1/4]

PCL_EXPORTS int pcl::poisson::Factor | ( | double | a1,
|  | double | a0,
|  | double | roots[1][2],
|  | double | EPS )

Referenced by pcl::poisson::Polynomial< Degree >::getSolutions().

## Factor() [2/4]

PCL_EXPORTS int pcl::poisson::Factor | ( | double | a2,
|  | double | a1,
|  | double | a0,
|  | double | roots[2][2],
|  | double | EPS )

## Factor() [3/4]

PCL_EXPORTS int pcl::poisson::Factor | ( | double | a3,
|  | double | a2,
|  | double | a1,
|  | double | a0,
|  | double | roots[3][2],
|  | double | EPS )

## Factor() [4/4]

PCL_EXPORTS int pcl::poisson::Factor | ( | double | a4,
|  | double | a3,
|  | double | a2,
|  | double | a1,
|  | double | a0,
|  | double | roots[4][2],
|  | double | EPS )

## LeftOverlap()

template<int Degree>

bool pcl::poisson::LeftOverlap | ( | unsigned int | ,
|  | int | offset )

inline

Definition at line 59 of file bspline_data.hpp.

## Length()

template<class Real>

double pcl::poisson::Length | ( | const Point3D< Real > & | p | ) |

Definition at line 63 of file geometry.hpp.

References SquareLength().

Referenced by pcl::poisson::Triangulation< Real >::area(), EdgeCollapse(), pcl::poisson::MinimalAreaTriangulation< Real >::GetTriangulation(), RandomSpherePoint(), pcl::poisson::Octree< Degree >::SetLaplacianConstraints(), pcl::poisson::Octree< Degree >::setTree(), and TriangleCollapse().

## Multiply()

PCL_EXPORTS void pcl::poisson::Multiply | ( | const double | in1[2],
|  | const double | in2[2],
|  | double | out[2] )

Referenced by pcl::poisson::SparseMatrix< T >::operator*(), pcl::poisson::SparseMatrix< T >::operator*(), and pcl::poisson::SparseSymmetricMatrix< T >::operator*().

## MultiplyAtomic() [1/2]

template<class T>

void pcl::poisson::MultiplyAtomic | ( | const SparseSymmetricMatrix< T > & | A,
|  | const Vector< double > & | In,
|  | Vector< double > & | Out,
|  | int | threads,
|  | const int * | partition = NULL )

Definition at line 652 of file sparse_matrix.hpp.

References AtomicIncrement(), pcl::poisson::MatrixEntry< T >::N, pcl::poisson::SparseMatrix< T >::rows, pcl::poisson::SparseMatrix< T >::rowSizes, pcl::poisson::Vector< T >::SetZero(), and pcl::poisson::MatrixEntry< T >::Value.

## MultiplyAtomic() [2/2]

template<class T>

void pcl::poisson::MultiplyAtomic | ( | const SparseSymmetricMatrix< T > & | A,
|  | const Vector< float > & | In,
|  | Vector< float > & | Out,
|  | int | threads,
|  | const int * | partition = NULL )

Definition at line 610 of file sparse_matrix.hpp.

References AtomicIncrement(), pcl::poisson::MatrixEntry< T >::N, pcl::poisson::SparseMatrix< T >::rows, pcl::poisson::SparseMatrix< T >::rowSizes, pcl::poisson::Vector< T >::SetZero(), and pcl::poisson::MatrixEntry< T >::Value.

Referenced by pcl::poisson::SparseSymmetricMatrix< T >::SolveAtomic().

## Random()

template<class Real>

Real pcl::poisson::Random | ( | void |  | ) |

Definition at line 36 of file geometry.hpp.

Referenced by RandomBallPoint().

## RandomBallPoint()

template<class Real>

Point3D< Real > pcl::poisson::RandomBallPoint | ( | void |  | ) |

Definition at line 39 of file geometry.hpp.

References pcl::poisson::Point3D< Real >::coords, Random(), and SquareLength().

Referenced by RandomSpherePoint().

## RandomSpherePoint()

template<class Real>

Point3D< Real > pcl::poisson::RandomSpherePoint | ( | void |  | ) |

Definition at line 50 of file geometry.hpp.

References pcl::poisson::Point3D< Real >::coords, Length(), and RandomBallPoint().

## ReflectLeft()

template<int Degree>

int pcl::poisson::ReflectLeft | ( | unsigned int | ,
|  | int | offset )

inline

Definition at line 71 of file bspline_data.hpp.

## ReflectRight()

template<int Degree>

int pcl::poisson::ReflectRight | ( | unsigned int | depth,
|  | int | offset )

inline

Definition at line 76 of file bspline_data.hpp.

## RightOverlap()

template<int Degree>

bool pcl::poisson::RightOverlap | ( | unsigned int | ,
|  | int | offset )

inline

Definition at line 65 of file bspline_data.hpp.

## SetBSplineElementIntegrals()

template<int Degree1, int Degree2>

void pcl::poisson::SetBSplineElementIntegrals | ( | double | integrals[Degree1+1][Degree2+1] | ) |

Definition at line 473 of file bspline_data.hpp.

References pcl::poisson::Polynomial< Degree >::BSplineComponent().

Referenced by pcl::poisson::BSplineData< Degree, Real >::setDotTables().

## Solve()

PCL_EXPORTS int pcl::poisson::Solve | ( | const double * | eqns,
|  | const double * | values,
|  | double * | solutions,
|  | int | dim )

## Sqrt()

PCL_EXPORTS void pcl::poisson::Sqrt | ( | const double | in[2],
|  | double | out[2] )

## SquareDistance()

template<class Real>

double pcl::poisson::SquareDistance | ( | const Point3D< Real > & | p1,
|  | const Point3D< Real > & | p2 )

Definition at line 66 of file geometry.hpp.

References pcl::poisson::Point3D< Real >::coords.

Referenced by Distance(), EdgeCollapse(), pcl::poisson::OctNode< NodeData, Real >::getNearestLeaf(), and TriangleCollapse().

## SquareLength()

template<class Real>

double pcl::poisson::SquareLength | ( | const Point3D< Real > & | p | ) |

Definition at line 60 of file geometry.hpp.

References pcl::poisson::Point3D< Real >::coords.

Referenced by Length(), and RandomBallPoint().

## Subtract()

PCL_EXPORTS void pcl::poisson::Subtract | ( | const double | in1[2],
|  | const double | in2[2],
|  | double | out[2] )

## TriangleCollapse()

template<class Real>

void pcl::poisson::TriangleCollapse | ( | const Real & | edgeRatio,
|  | std::vector< TriangleIndex > & | triangles,
|  | std::vector< Point3D< Real > > & | positions,
|  | std::vector< Point3D< Real > > * | normals )

Definition at line 177 of file geometry.hpp.

References pcl::poisson::Point3D< Real >::coords, CrossProduct(), Length(), and SquareDistance().

## Variable Documentation

## EPSILON

Real pcl::poisson::EPSILON =Real(1e-6)

constexpr

Definition at line 52 of file multi_grid_octree_data.hpp.

Referenced by pcl::poisson::Octree< Degree >::ClipTree(), pcl::poisson::Octree< Degree >::setBSplineData(), and pcl::poisson::Octree< Degree >::setTree().

## MATRIX_ENTRY_EPSILON

Real pcl::poisson::MATRIX_ENTRY_EPSILON = Real(0)

constexpr

Definition at line 51 of file multi_grid_octree_data.hpp.

## OctNode< NodeData, Real >::DepthMask

template<class NodeData, class Real>

const int pcl::poisson::OctNode< NodeData, Real >::DepthMask =(1<<DepthShift)-1

Definition at line 44 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::DepthShift

template<class NodeData, class Real>

const int pcl::poisson::OctNode< NodeData, Real >::DepthShift =5

Definition at line 42 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::internalAllocator

template<class NodeData, class Real>

Allocator<OctNode<NodeData,Real> > pcl::poisson::OctNode< NodeData, Real >::internalAllocator

Definition at line 51 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::OffsetMask

template<class NodeData, class Real>

const int pcl::poisson::OctNode< NodeData, Real >::OffsetMask =(1<<OffsetShift)-1

Definition at line 45 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::OffsetShift

template<class NodeData, class Real>

const int pcl::poisson::OctNode< NodeData, Real >::OffsetShift =19

Definition at line 43 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::OffsetShift1

template<class NodeData, class Real>

const int pcl::poisson::OctNode< NodeData, Real >::OffsetShift1 =DepthShift

Definition at line 46 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::OffsetShift2

template<class NodeData, class Real>

const int pcl::poisson::OctNode< NodeData, Real >::OffsetShift2 =OffsetShift1+OffsetShift

Definition at line 47 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::OffsetShift3

template<class NodeData, class Real>

const int pcl::poisson::OctNode< NodeData, Real >::OffsetShift3 =OffsetShift2+OffsetShift

Definition at line 48 of file octree_poisson.hpp.

## OctNode< NodeData, Real >::UseAlloc

template<class NodeData, class Real>

int pcl::poisson::OctNode< NodeData, Real >::UseAlloc =0

Definition at line 50 of file octree_poisson.hpp.

## Octree< Degree >::maxMemoryUsage

template<int Degree>

double pcl::poisson::Octree< Degree >::maxMemoryUsage =0

Definition at line 516 of file multi_grid_octree_data.hpp.

## ROUND_EPS

Real pcl::poisson::ROUND_EPS = Real(1e-5)

constexpr

Definition at line 53 of file multi_grid_octree_data.hpp.

## SparseMatrix< T >::internalAllocator

template<class T>

Allocator<MatrixEntry<T> > pcl::poisson::SparseMatrix< T >::internalAllocator

Definition at line 53 of file sparse_matrix.hpp.

## SparseMatrix< T >::UseAlloc

template<class T>

int pcl::poisson::SparseMatrix< T >::UseAlloc =0

Definition at line 52 of file sparse_matrix.hpp.