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

## Classes

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 | AllocatorState
class | BinaryNode
class | BSplineData
struct | BSplineElementCoefficients
struct | BSplineElements
class | CoredEdgeIndex
class | CoredFileMeshData
class | CoredFileMeshData2
class | CoredMeshData
class | CoredMeshData2
class | CoredPointIndex
class | CoredVectorMeshData
class | CoredVectorMeshData2
struct | CoredVertexIndex
class | Cube
class | Edge
class | EdgeIndex
class | FunctionData
struct | MapReduceVector
class | MarchingCubes
class | MarchingSquares
struct | MatrixEntry
class | MinimalAreaTriangulation
class | NVector
class | OctNode
class | Octree
struct | Point3D
class | PoissonBadArgumentException
| An exception that is thrown when the arguments number or type is wrong/unhandled. More...
class | PoissonBadInitException
| An exception that is thrown when initialization fails. More...
class | PoissonException
| A base class for all poisson exceptions which inherits from std::runtime_error. More...
class | PoissonOpenMPException
| An exception that is thrown when something goes wrong inside an openMP for loop. More...
class | Polynomial
class | PPolynomial
class | RootInfo
class | SortedTreeNodes
class | SparseMatrix
class | SparseSymmetricMatrix
class | Square
class | StartingPolynomial
class | TreeNodeData
class | Triangle
class | TriangleIndex
class | Triangulation
class | TriangulationEdge
class | TriangulationTriangle
struct | UpSampleData
class | Vector
class | VertexData

## 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)

## 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 835 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 590 of file sparse_matrix.hpp.

## AtomicIncrement() [2/2]

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

inline

Definition at line 577 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 648 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 606 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.

## RandomBallPoint()

template<class Real >

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

Definition at line 39 of file geometry.hpp.

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

## RandomSpherePoint()

template<class Real >

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

Definition at line 50 of file geometry.hpp.

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

## 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

constexpr 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

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

constexpr

Definition at line 51 of file multi_grid_octree_data.hpp.

## ROUND_EPS

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

constexpr

Definition at line 53 of file multi_grid_octree_data.hpp.