Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes
pcl::poisson::SparseMatrix< T > Class Template Reference

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

+ Inheritance diagram for pcl::poisson::SparseMatrix< T >:
+ Collaboration 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]

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

Definition at line 69 of file sparse_matrix.hpp.

◆ SparseMatrix() [2/4]

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

◆ SparseMatrix() [3/4]

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

◆ SparseMatrix() [4/4]

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

◆ ~SparseMatrix()

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

Definition at line 113 of file sparse_matrix.hpp.

Member Function Documentation

◆ Entries()

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

Definition at line 93 of file sparse_matrix.hpp.

◆ Multiply() [1/3]

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

◆ 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 295 of file sparse_matrix.hpp.

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

◆ Multiply() [3/3]

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

Definition at line 278 of file sparse_matrix.hpp.

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

◆ MultiplyTranspose()

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

◆ operator*() [1/3]

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

Definition at line 308 of file sparse_matrix.hpp.

References pcl::poisson::Multiply().

◆ operator*() [2/3]

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

Definition at line 243 of file sparse_matrix.hpp.

◆ operator*() [3/3]

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

Definition at line 314 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 251 of file sparse_matrix.hpp.

◆ operator=()

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

◆ 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 pcl::poisson::SparseMatrix< T >::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 pcl::poisson::SparseMatrix< T >::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.

◆ Resize() [1/2]

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

Definition at line 160 of file sparse_matrix.hpp.

Referenced by pcl::poisson::SparseMatrix< T >::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.

◆ 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 235 of file sparse_matrix.hpp.

◆ SetRowSize()

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

Definition at line 206 of file sparse_matrix.hpp.

Referenced by pcl::poisson::SparseMatrix< T >::SparseMatrix().

◆ SetZero()

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

Definition at line 229 of file sparse_matrix.hpp.

◆ 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

Definition at line 320 of file sparse_matrix.hpp.

Referenced by pcl::poisson::SparseMatrix< T >::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.

Member Data Documentation

◆ internalAllocator

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

Definition at line 60 of file sparse_matrix.h.

◆ m_ppElements

template<class T >
MatrixEntry<T>** pcl::poisson::SparseMatrix< T >::m_ppElements

◆ rows

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

◆ rowSizes

template<class T >
int* pcl::poisson::SparseMatrix< T >::rowSizes

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