Point Cloud Library (PCL) 1.15.1
Loading...
Searching...
No Matches
pcl::poisson::SparseMatrix< T > Class Template Reference

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

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

Public Member Functions

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

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)

Public Attributes

int rows
int * rowSizes
MatrixEntry< T > ** m_ppElements

Static Public Attributes

static Allocator< MatrixEntry< T > > internalAllocator

Detailed Description

template<class T>
class pcl::poisson::SparseMatrix< T >

Definition at line 53 of file sparse_matrix.h.

Constructor & Destructor Documentation

◆ SparseMatrix() [1/4]

◆ SparseMatrix() [2/4]

template<class T>
pcl::poisson::SparseMatrix< T >::SparseMatrix ( int rows)

Definition at line 78 of file sparse_matrix.hpp.

References Resize(), rows, and SparseMatrix().

◆ SparseMatrix() [3/4]

template<class T>
pcl::poisson::SparseMatrix< T >::SparseMatrix ( int rows,
int maxEntriesPerRow )

Definition at line 79 of file sparse_matrix.hpp.

References Resize(), rows, and SparseMatrix().

◆ SparseMatrix() [4/4]

template<class T>
pcl::poisson::SparseMatrix< T >::SparseMatrix ( const SparseMatrix< T > & M)

Definition at line 82 of file sparse_matrix.hpp.

References Resize(), rows, and SparseMatrix().

◆ ~SparseMatrix()

template<class T>
pcl::poisson::SparseMatrix< T >::~SparseMatrix ( void )

Definition at line 113 of file sparse_matrix.hpp.

References Resize().

Member Function Documentation

◆ Entries()

template<class T>
int pcl::poisson::SparseMatrix< T >::Entries ( void ) const

Definition at line 93 of file sparse_matrix.hpp.

References rows, and rowSizes.

◆ Multiply() [1/3]

template<class T>
SparseMatrix< T > pcl::poisson::SparseMatrix< T >::Multiply ( const SparseMatrix< T > & M) const

Definition at line 265 of file sparse_matrix.hpp.

References m_ppElements, rows, rowSizes, and SparseMatrix().

Referenced by SolveSymmetric().

◆ Multiply() [2/3]

template<class T>
template<class T2>
void pcl::poisson::SparseMatrix< T >::Multiply ( const Vector< T2 > & In,
Vector< T2 > & Out,
int threads = 1 ) const

Definition at line 299 of file sparse_matrix.hpp.

References m_ppElements, pcl::poisson::Vector< T >::m_pV, rows, and rowSizes.

◆ Multiply() [3/3]

template<class T>
template<class T2>
Vector< T2 > pcl::poisson::SparseMatrix< T >::Multiply ( const Vector< T2 > & V) const

Definition at line 282 of file sparse_matrix.hpp.

References m_ppElements, pcl::poisson::Vector< T >::m_pV, rows, and rowSizes.

◆ MultiplyTranspose()

template<class T>
SparseMatrix< T > pcl::poisson::SparseMatrix< T >::MultiplyTranspose ( const SparseMatrix< T > & Mt) const

References SparseMatrix().

◆ operator*() [1/3]

template<class T>
SparseMatrix< T > pcl::poisson::SparseMatrix< T >::operator* ( const SparseMatrix< T > & M) const

Definition at line 312 of file sparse_matrix.hpp.

References pcl::poisson::Multiply(), and SparseMatrix().

◆ operator*() [2/3]

template<class T>
SparseMatrix< T > pcl::poisson::SparseMatrix< T >::operator* ( const T & V) const

Definition at line 247 of file sparse_matrix.hpp.

References SparseMatrix().

◆ operator*() [3/3]

template<class T>
template<class T2>
Vector< T2 > pcl::poisson::SparseMatrix< T >::operator* ( const Vector< T2 > & V) const

Definition at line 318 of file sparse_matrix.hpp.

References pcl::poisson::Multiply().

◆ operator*=()

template<class T>
SparseMatrix< T > & pcl::poisson::SparseMatrix< T >::operator*= ( const T & V)

Definition at line 255 of file sparse_matrix.hpp.

References m_ppElements, rows, rowSizes, and SparseMatrix().

◆ operator=()

template<class T>
SparseMatrix< T > & pcl::poisson::SparseMatrix< T >::operator= ( const SparseMatrix< T > & M)

Definition at line 100 of file sparse_matrix.hpp.

References Resize(), rows, rowSizes, SetRowSize(), and SparseMatrix().

◆ operator[]() [1/2]

template<class T>
MatrixEntry< T > * pcl::poisson::SparseMatrix< T >::operator[] ( int idx)
inline

Definition at line 67 of file sparse_matrix.h.

References m_ppElements.

◆ operator[]() [2/2]

template<class T>
const MatrixEntry< T > * pcl::poisson::SparseMatrix< T >::operator[] ( int idx) const
inline

Definition at line 68 of file sparse_matrix.h.

References m_ppElements.

◆ read() [1/2]

template<class T>
bool pcl::poisson::SparseMatrix< T >::read ( const char * fileName)

Definition at line 125 of file sparse_matrix.hpp.

References pcl::read().

◆ read() [2/2]

template<class T>
bool pcl::poisson::SparseMatrix< T >::read ( FILE * fp)

Definition at line 142 of file sparse_matrix.hpp.

References Resize(), rows, rowSizes, and SetRowSize().

◆ Resize() [1/2]

template<class T>
void pcl::poisson::SparseMatrix< T >::Resize ( int rows)

Definition at line 160 of file sparse_matrix.hpp.

References m_ppElements, rows, and rowSizes.

Referenced by operator=(), read(), SparseMatrix(), SparseMatrix(), SparseMatrix(), and ~SparseMatrix().

◆ Resize() [2/2]

template<class T>
void pcl::poisson::SparseMatrix< T >::Resize ( int rows,
int maxEntriesPerRow )

Definition at line 182 of file sparse_matrix.hpp.

References m_ppElements, rows, and rowSizes.

◆ SetAllocator()

template<class T>
void pcl::poisson::SparseMatrix< T >::SetAllocator ( int blockSize)
static

◆ SetIdentity()

template<class T>
void pcl::poisson::SparseMatrix< T >::SetIdentity ( )

Definition at line 239 of file sparse_matrix.hpp.

References rows, and SetZero().

◆ SetRowSize()

template<class T>
void pcl::poisson::SparseMatrix< T >::SetRowSize ( int row,
int count )

Definition at line 206 of file sparse_matrix.hpp.

References internalAllocator, m_ppElements, rows, and rowSizes.

Referenced by operator=(), and read().

◆ SetZero()

template<class T>
void pcl::poisson::SparseMatrix< T >::SetZero ( )

Definition at line 229 of file sparse_matrix.hpp.

References m_ppElements, rows, and rowSizes.

Referenced by SetIdentity().

◆ Solve()

template<class T>
int pcl::poisson::SparseMatrix< T >::Solve ( const SparseMatrix< T > & M,
const Vector< T > & b,
int iters,
Vector< T > & solution,
const T eps = 1e-8 )
static

◆ SolveSymmetric()

template<class T>
template<class T2>
int pcl::poisson::SparseMatrix< T >::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 )
static

◆ Transpose()

template<class T>
SparseMatrix< T > pcl::poisson::SparseMatrix< T >::Transpose ( ) const

Definition at line 324 of file sparse_matrix.hpp.

References m_ppElements, rows, rowSizes, and SparseMatrix().

Referenced by Solve().

◆ UseAllocator()

template<class T>
int pcl::poisson::SparseMatrix< T >::UseAllocator ( void )
static

Definition at line 54 of file sparse_matrix.hpp.

◆ write() [1/2]

template<class T>
bool pcl::poisson::SparseMatrix< T >::write ( const char * fileName) const

Definition at line 116 of file sparse_matrix.hpp.

References pcl::write().

◆ write() [2/2]

template<class T>
bool pcl::poisson::SparseMatrix< T >::write ( FILE * fp) const

Definition at line 134 of file sparse_matrix.hpp.

References rows, and rowSizes.

Member Data Documentation

◆ internalAllocator

template<class T>
Allocator<MatrixEntry<T> > pcl::poisson::SparseMatrix< T >::internalAllocator
static

◆ m_ppElements

◆ rows

◆ rowSizes


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