pcl::poisson::SparseSymmetricMatrix< T > Class Template Reference

`#include <pcl/surface/3rdparty/poisson4/sparse_matrix.h>`

Inheritance diagram for pcl::poisson::SparseSymmetricMatrix< T >:

## Public Member Functions

template<class T2 >
Vector< T2 > | operator* (const Vector< T2 > &V) const
template<class T2 >
Vector< T2 > | Multiply (const Vector< T2 > &V) const
template<class T2 >
void | Multiply (const Vector< T2 > &In, Vector< T2 > &Out, bool addDCTerm=false) const
template<class T2 >
void | Multiply (const Vector< T2 > &In, Vector< T2 > &Out, MapReduceVector< T2 > &OutScratch, bool addDCTerm=false) const
template<class T2 >
void | Multiply (const Vector< T2 > &In, Vector< T2 > &Out, std::vector< T2 * > &OutScratch, const std::vector< int > &bounds) const
template<class T2 >
void | getDiagonal (Vector< T2 > &diagonal) const
Public Member Functions inherited from pcl::poisson::SparseMatrix< T >
MatrixEntry< T > * | operator[] (int idx)
const MatrixEntry< T > * | operator[] (int idx) const
| SparseMatrix (void)
| SparseMatrix (int rows)
| SparseMatrix (int rows, int maxEntriesPerRow)
void | Resize (int rows)
void | Resize (int rows, int maxEntriesPerRow)
void | SetRowSize (int row, int count)
int | Entries (void) const
| SparseMatrix (const SparseMatrix &M)
| ~SparseMatrix ()
void | SetZero ()
void | SetIdentity ()
SparseMatrix< T > & | operator= (const SparseMatrix< T > &M)
SparseMatrix< T > | operator* (const T &V) const
SparseMatrix< T > & | operator*= (const T &V)
SparseMatrix< T > | operator* (const SparseMatrix< T > &M) const
SparseMatrix< T > | Multiply (const SparseMatrix< T > &M) const
SparseMatrix< T > | MultiplyTranspose (const SparseMatrix< T > &Mt) const
template<class T2 >
Vector< T2 > | operator* (const Vector< T2 > &V) const
template<class T2 >
Vector< T2 > | Multiply (const Vector< T2 > &V) const
template<class T2 >
void | Multiply (const Vector< T2 > &In, Vector< T2 > &Out, int threads=1) const
SparseMatrix< T > | Transpose () const
bool | write (FILE *fp) const
bool | write (const char *fileName) const
bool | read (FILE *fp)
bool | read (const char *fileName)

## Static Public Member Functions

template<class T2 >
static int | Solve (const SparseSymmetricMatrix< T > &M, const Vector< T2 > &b, int iters, Vector< T2 > &solution, T2 eps=1e-8, int reset=1, int threads=0, bool addDCTerm=false, bool solveNormal=false)
template<class T2 >
static int | Solve (const SparseSymmetricMatrix< T > &M, const Vector< T2 > &b, int iters, Vector< T2 > &solution, MapReduceVector< T2 > &scratch, T2 eps=1e-8, int reset=1, bool addDCTerm=false, bool solveNormal=false)
template<class T2 >
static int | Solve (const SparseSymmetricMatrix< T > &M, const Vector< T2 > &diagonal, const Vector< T2 > &b, int iters, Vector< T2 > &solution, int reset=1)
Static Public Member Functions inherited from pcl::poisson::SparseMatrix< T >
static int | UseAllocator (void)
static void | SetAllocator (int blockSize)
static int | Solve (const SparseMatrix< T > &M, const Vector< T > &b, int iters, Vector< T > &solution, const T eps=1e-8)
template<class T2 >
static int | SolveSymmetric (const SparseMatrix< T > &M, const Vector< T2 > &b, int iters, Vector< T2 > &solution, const T2 eps=1e-8, int reset=1, int threads=1)

## Additional Inherited Members

Public Attributes inherited from pcl::poisson::SparseMatrix< T >
int | rows
int * | rowSizes
MatrixEntry< T > ** | m_ppElements
Static Public Attributes inherited from pcl::poisson::SparseMatrix< T >
static Allocator< MatrixEntry< T > > | internalAllocator

## Detailed Description

### template<class T>
class pcl::poisson::SparseSymmetricMatrix< T >

Definition at line 145 of file sparse_matrix.h.

## Member Function Documentation

## getDiagonal()

template<class T >
template<class T2 >

void pcl::poisson::SparseSymmetricMatrix< T >::getDiagonal | ( | Vector< T2 > & | diagonal | ) | const

Definition at line 962 of file sparse_matrix.hpp.

References pcl::poisson::Vector< T >::Resize().

## Multiply() [1/4]

template<class T >
template<class T2 >

void pcl::poisson::SparseSymmetricMatrix< T >::Multiply | ( | const Vector< T2 > & | In,
|  | Vector< T2 > & | Out,
|  | bool | addDCTerm = `false`
| ) |  | const

Definition at line 438 of file sparse_matrix.hpp.

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

## Multiply() [2/4]

template<class T >
template<class T2 >

void pcl::poisson::SparseSymmetricMatrix< T >::Multiply | ( | const Vector< T2 > & | In,
|  | Vector< T2 > & | Out,
|  | MapReduceVector< T2 > & | OutScratch,
|  | bool | addDCTerm = `false`
| ) |  | const

Definition at line 468 of file sparse_matrix.hpp.

References pcl::poisson::Vector< T >::Dimensions(), and pcl::poisson::MapReduceVector< T2 >::threads().

## Multiply() [3/4]

template<class T >
template<class T2 >

void pcl::poisson::SparseSymmetricMatrix< T >::Multiply | ( | const Vector< T2 > & | In,
|  | Vector< T2 > & | Out,
|  | std::vector< T2 * > & | OutScratch,
|  | const std::vector< int > & | bounds
| ) |  | const

Definition at line 539 of file sparse_matrix.hpp.

References pcl::poisson::Vector< T >::Dimensions(), pcl::poisson::MatrixEntry< T >::N, and pcl::poisson::MatrixEntry< T >::Value.

## Multiply() [4/4]

template<class T >
template<class T2 >

Vector< T2 > pcl::poisson::SparseSymmetricMatrix< T >::Multiply | ( | const Vector< T2 > & | V | ) | const

Definition at line 422 of file sparse_matrix.hpp.

References pcl::poisson::Vector< T >::m_pV.

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

## operator*()

template<class T >
template<class T2 >

Vector< T2 > pcl::poisson::SparseSymmetricMatrix< T >::operator* | ( | const Vector< T2 > & | V | ) | const

Definition at line 419 of file sparse_matrix.hpp.

References pcl::poisson::Multiply().

## Solve() [1/3]

template<class T >
template<class T2 >

int pcl::poisson::SparseSymmetricMatrix< T >::Solve | ( | const SparseSymmetricMatrix< T > & | M,
|  | const Vector< T2 > & | b,
|  | int | iters,
|  | Vector< T2 > & | solution,
|  | MapReduceVector< T2 > & | scratch,
|  | T2 | eps = `1e-8`,
|  | int | reset = `1`,
|  | bool | addDCTerm = `false`,
|  | bool | solveNormal = `false`
| ) |  |

static

Definition at line 786 of file sparse_matrix.hpp.

References pcl::poisson::Vector< T >::Dimensions(), pcl::poisson::SparseSymmetricMatrix< T >::Multiply(), pcl::poisson::Vector< T >::Resize(), and pcl::poisson::MapReduceVector< T2 >::threads().

## Solve() [2/3]

template<class T >
template<class T2 >

int pcl::poisson::SparseSymmetricMatrix< T >::Solve | ( | const SparseSymmetricMatrix< T > & | M,
|  | const Vector< T2 > & | b,
|  | int | iters,
|  | Vector< T2 > & | solution,
|  | T2 | eps = `1e-8`,
|  | int | reset = `1`,
|  | int | threads = `0`,
|  | bool | addDCTerm = `false`,
|  | bool | solveNormal = `false`
| ) |  |

static

Definition at line 849 of file sparse_matrix.hpp.

References pcl::poisson::Vector< T >::Dimensions(), pcl::poisson::SparseSymmetricMatrix< T >::Multiply(), pcl::poisson::Vector< T >::Resize(), and pcl::poisson::MapReduceVector< T2 >::resize().

## Solve() [3/3]

template<class T >
template<class T2 >

int pcl::poisson::SparseSymmetricMatrix< T >::Solve | ( | const SparseSymmetricMatrix< T > & | M,
|  | const Vector< T2 > & | diagonal,
|  | const Vector< T2 > & | b,
|  | int | iters,
|  | Vector< T2 > & | solution,
|  | int | reset = `1`
| ) |  |

static

Definition at line 939 of file sparse_matrix.hpp.

References pcl::poisson::Vector< T >::Dimensions(), pcl::poisson::SparseSymmetricMatrix< T >::Multiply(), pcl::poisson::Vector< T >::Resize(), pcl::poisson::SparseMatrix< T >::rows, and pcl::poisson::Vector< T >::SetZero().

The documentation for this class was generated from the following files:

- pcl/surface/3rdparty/poisson4/sparse_matrix.h
- pcl/surface/3rdparty/poisson4/sparse_matrix.hpp