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

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

+ Inheritance diagram for pcl::poisson::SparseSymmetricMatrix< T >:
+ Collaboration 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 SolveAtomic (const SparseSymmetricMatrix< T > &M, const Vector< T2 > &b, int iters, Vector< T2 > &solution, T2 eps=1e-8, int reset=1, int threads=0, 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 961 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

◆ 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

◆ 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

◆ Multiply() [4/4]

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

◆ operator*()

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

Definition at line 418 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

◆ 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

◆ 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

◆ SolveAtomic()

template<class T >
template<class T2 >
int pcl::poisson::SparseSymmetricMatrix< T >::SolveAtomic ( const SparseSymmetricMatrix< T > &  M,
const Vector< T2 > &  b,
int  iters,
Vector< T2 > &  solution,
T2  eps = 1e-8,
int  reset = 1,
int  threads = 0,
bool  solveNormal = false 
)
static

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