Point Cloud Library (PCL)  1.7.1
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

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

Definition at line 70 of file sparse_matrix.hpp.

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

Definition at line 79 of file sparse_matrix.hpp.

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

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

Definition at line 80 of file sparse_matrix.hpp.

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

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

Definition at line 114 of file sparse_matrix.hpp.

Member Function Documentation

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

Definition at line 94 of file sparse_matrix.hpp.

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

Definition at line 276 of file sparse_matrix.hpp.

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

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

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

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

Definition at line 241 of file sparse_matrix.hpp.

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

Definition at line 306 of file sparse_matrix.hpp.

References pcl::poisson::Multiply().

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

Definition at line 312 of file sparse_matrix.hpp.

References pcl::poisson::Multiply().

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

Definition at line 249 of file sparse_matrix.hpp.

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

Definition at line 67 of file sparse_matrix.h.

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

Definition at line 68 of file sparse_matrix.h.

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

Definition at line 143 of file sparse_matrix.hpp.

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

Definition at line 126 of file sparse_matrix.hpp.

References pcl::read().

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

Definition at line 161 of file sparse_matrix.hpp.

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

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

Definition at line 183 of file sparse_matrix.hpp.

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

Definition at line 57 of file sparse_matrix.hpp.

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

Definition at line 233 of file sparse_matrix.hpp.

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

Definition at line 207 of file sparse_matrix.hpp.

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

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

Definition at line 227 of file sparse_matrix.hpp.

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
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
template<class T >
SparseMatrix< T > pcl::poisson::SparseMatrix< T >::Transpose ( ) const

Definition at line 318 of file sparse_matrix.hpp.

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

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

Definition at line 55 of file sparse_matrix.hpp.

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

Definition at line 135 of file sparse_matrix.hpp.

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

Definition at line 117 of file sparse_matrix.hpp.

References pcl::write().

Member Data Documentation

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

Definition at line 60 of file sparse_matrix.h.

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

Definition at line 66 of file sparse_matrix.h.

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

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

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