This class is a "CSerializable" wrapper for "CMatrixBool".
Definition at line 24 of file CMatrixB.h.
#include <mrpt/math/CMatrixB.h>
Public Types | |
typedef bool | value_type |
The type of the matrix elements. More... | |
typedef bool & | reference |
typedef const bool & | const_reference |
typedef std::size_t | size_type |
typedef std::ptrdiff_t | difference_type |
Public Member Functions | |
void * | operator new (size_t size) |
void * | operator new[] (size_t size) |
void | operator delete (void *ptr) noexcept |
void | operator delete[] (void *ptr) noexcept |
void | operator delete (void *memory, void *ptr) noexcept |
void * | operator new (size_t size, const std::nothrow_t &) noexcept |
void | operator delete (void *ptr, const std::nothrow_t &) noexcept |
CMatrixB (size_t row=1, size_t col=1) | |
Constructor. More... | |
CMatrixB (const CMatrixBool &m) | |
Copy constructor. More... | |
CMatrixB & | operator= (const CMatrixBool &m) |
Assignment operator for float matrixes. More... | |
virtual mxArray * | writeToMatlab () const |
Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class. More... | |
void | ASSERT_ENOUGHROOM (size_t r, size_t c) const |
Checks whether the rows [r-N,r+N] and the columns [c-N,c+N] are present in the matrix. More... | |
void | fillAll (const bool &val) |
void | swap (CMatrixTemplate< bool > &o) |
Swap with another matrix very efficiently (just swaps a pointer and two integer values). More... | |
size_t | getRowCount () const |
Number of rows in the matrix. More... | |
size_t | getColCount () const |
Number of columns in the matrix. More... | |
CMatrixTemplateSize | size () const |
Get a 2-vector with [NROWS NCOLS] (as in MATLAB command size(x)) More... | |
void | setSize (size_t row, size_t col, bool zeroNewElements=false) |
Changes the size of matrix, maintaining the previous contents. More... | |
void | resize (const CMatrixTemplateSize &siz, bool zeroNewElements=false) |
This method just checks has no effects in this class, but raises an exception if the expected size does not match. More... | |
bool & | operator() (size_t row, size_t col) |
Subscript operator to get/set individual elements. More... | |
const bool & | operator() (size_t row, size_t col) const |
Subscript operator to get individual elements. More... | |
bool & | operator() (size_t ith) |
Subscript operator to get/set an individual element from a row or column matrix. More... | |
bool | operator() (size_t ith) const |
Subscript operator to get/set an individual element from a row or column matrix. More... | |
CMatrixTemplate< bool > | operator() (const size_t row1, const size_t row2, const size_t col1, const size_t col2) const |
Subscript operator to get a submatrix. More... | |
void | set_unsafe (size_t row, size_t col, const bool &v) |
Fast but unsafe method to write a value in the matrix. More... | |
const bool & | get_unsafe (size_t row, size_t col) const |
Fast but unsafe method to read a value from the matrix. More... | |
bool & | get_unsafe (size_t row, size_t col) |
Fast but unsafe method to get a reference from the matrix. More... | |
bool * | get_unsafe_row (size_t row) |
Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in time critical applications) More... | |
const bool * | get_unsafe_row (size_t row) const |
Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in critical applications) More... | |
void | extractSubmatrix (const size_t row1, const size_t row2, const size_t col1, const size_t col2, CMatrixTemplate< bool > &out) const |
Get a submatrix, given its bounds. More... | |
void | extractSubmatrix (const size_t row1, const size_t row2, const size_t col1, const size_t col2, EIGEN_MATRIX &out) const |
void | extractRows (size_t firstRow, size_t lastRow, CMatrixTemplate< bool > &out) const |
Gets a series of contiguous rows. More... | |
void | extractColumns (size_t firstCol, size_t lastCol, CMatrixTemplate< bool > &out) const |
Gets a series of contiguous columns. More... | |
void | extractCol (size_t nCol, std::vector< bool > &out, int startingRow=0) const |
Returns a given column to a vector (without modifying the matrix) More... | |
void | extractCol (size_t nCol, CMatrixTemplate< bool > &out, int startingRow=0) const |
Gets a given column to a vector (without modifying the matrix) More... | |
void | appendRow (const std::vector< bool > &in) |
Appends a new row to the MxN matrix from a 1xN vector. More... | |
void | appendCol (const std::vector< bool > &in) |
Appends a new column to the matrix from a vector. More... | |
void | insertCol (size_t nCol, const std::vector< bool > &in) |
Inserts a column from a vector, replacing the current contents of that column. More... | |
void | getAsVector (std::vector< bool > &out) const |
Returns a vector containing the matrix's values. More... | |
RTTI classes and functions | |
mrpt::utils::CObject::Ptr | duplicateGetSmartPtr () const |
Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). More... | |
Static Public Member Functions | |
static void * | operator new (size_t size, void *ptr) |
Protected Member Functions | |
void | realloc (size_t row, size_t col, bool newElementsToZero=false) |
Internal use only: It reallocs the memory for the 2D matrix, maintaining the previous contents if posible. More... | |
CSerializable virtual methods | |
void | writeToStream (mrpt::utils::CStream &out, int *getVersion) const override |
Introduces a pure virtual method responsible for writing to a CStream. More... | |
void | readFromStream (mrpt::utils::CStream &in, int version) override |
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori. More... | |
Protected Attributes | |
bool ** | m_Val |
size_t | m_Rows |
size_t | m_Cols |
RTTI stuff | |
using | Ptr = std::shared_ptr< CMatrixB > |
using | ConstPtr = std::shared_ptr< const CMatrixB > |
static mrpt::utils::CLASSINIT | _init_CMatrixB |
static const mrpt::utils::TRuntimeClassId | runtimeClassId |
static constexpr const char * | className = "CMatrixB" |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
static const mrpt::utils::TRuntimeClassId & | GetRuntimeClassIdStatic () |
static mrpt::utils::CObject * | CreateObject () |
template<typename... Args> | |
static Ptr | Create (Args &&... args) |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const override |
Returns information about the class of an object in runtime. More... | |
virtual mrpt::utils::CObject * | clone () const override |
Returns a deep copy (clone) of the object, indepently of its class. More... | |
|
inherited |
Definition at line 80 of file CMatrixTemplate.h.
using mrpt::math::CMatrixB::ConstPtr = std::shared_ptr<const CMatrixB > |
Definition at line 26 of file CMatrixB.h.
|
inherited |
Definition at line 82 of file CMatrixTemplate.h.
using mrpt::math::CMatrixB::Ptr = std::shared_ptr< CMatrixB > |
A typedef for the associated smart pointer
Definition at line 26 of file CMatrixB.h.
|
inherited |
Definition at line 79 of file CMatrixTemplate.h.
|
inherited |
Definition at line 81 of file CMatrixTemplate.h.
|
inherited |
The type of the matrix elements.
Definition at line 78 of file CMatrixTemplate.h.
|
inline |
Constructor.
Definition at line 29 of file CMatrixB.h.
|
inline |
Copy constructor.
Definition at line 31 of file CMatrixB.h.
|
staticprotected |
|
inlineinherited |
Appends a new column to the matrix from a vector.
The length of the vector must match the number of rows of the matrix, unless it is (0,0).
std::exception | On size mismatch. |
Definition at line 654 of file CMatrixTemplate.h.
|
inlineinherited |
Appends a new row to the MxN matrix from a 1xN vector.
The lenght of the vector must match the width of the matrix, unless it's empty: in that case the matrix is resized to 1xN.
std::exception | On incorrect vector length. |
Definition at line 625 of file CMatrixTemplate.h.
|
inlineinherited |
Checks whether the rows [r-N,r+N] and the columns [c-N,c+N] are present in the matrix.
Definition at line 153 of file CMatrixTemplate.h.
|
overridevirtual |
Returns a deep copy (clone) of the object, indepently of its class.
Implements mrpt::utils::CObject.
|
inlinestatic |
Definition at line 26 of file CMatrixB.h.
|
static |
|
inlineinherited |
Returns a given column to a vector (without modifying the matrix)
std::exception | On index out of bounds |
Definition at line 579 of file CMatrixTemplate.h.
|
inlineinherited |
Gets a given column to a vector (without modifying the matrix)
std::exception | On index out of bounds |
Definition at line 596 of file CMatrixTemplate.h.
|
inlineinherited |
Gets a series of contiguous columns.
std::logic_error | On index out of bounds |
Definition at line 569 of file CMatrixTemplate.h.
|
inlineinherited |
Gets a series of contiguous rows.
std::logic_error | On index out of bounds |
Definition at line 557 of file CMatrixTemplate.h.
|
inlineinherited |
Get a submatrix, given its bounds.
Definition at line 513 of file CMatrixTemplate.h.
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 533 of file CMatrixTemplate.h.
|
inlineinherited |
Fill all the elements with a given value (Note: named "fillAll" since "fill" will be used by child classes)
Definition at line 163 of file CMatrixTemplate.h.
|
inlineinherited |
Fast but unsafe method to read a value from the matrix.
Definition at line 446 of file CMatrixTemplate.h.
|
inlineinherited |
Fast but unsafe method to get a reference from the matrix.
Definition at line 463 of file CMatrixTemplate.h.
|
inlineinherited |
Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in time critical applications)
Definition at line 481 of file CMatrixTemplate.h.
|
inlineinherited |
Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in critical applications)
Definition at line 498 of file CMatrixTemplate.h.
|
inlineinherited |
Returns a vector containing the matrix's values.
Definition at line 687 of file CMatrixTemplate.h.
|
inlineinherited |
Number of columns in the matrix.
Definition at line 307 of file CMatrixTemplate.h.
|
inlineinherited |
Number of rows in the matrix.
Definition at line 303 of file CMatrixTemplate.h.
|
overridevirtual |
Returns information about the class of an object in runtime.
Reimplemented from mrpt::utils::CSerializable.
|
static |
|
inlineinherited |
Inserts a column from a vector, replacing the current contents of that column.
std::exception | On index out of bounds |
Definition at line 674 of file CMatrixTemplate.h.
Definition at line 26 of file CMatrixB.h.
Definition at line 26 of file CMatrixB.h.
Definition at line 26 of file CMatrixB.h.
Definition at line 26 of file CMatrixB.h.
Definition at line 26 of file CMatrixB.h.
|
inlinenoexcept |
Definition at line 26 of file CMatrixB.h.
|
inline |
Definition at line 26 of file CMatrixB.h.
|
inline |
Definition at line 26 of file CMatrixB.h.
|
inlineinherited |
Subscript operator to get/set individual elements.
Definition at line 333 of file CMatrixTemplate.h.
|
inlineinherited |
Subscript operator to get individual elements.
Definition at line 350 of file CMatrixTemplate.h.
|
inlineinherited |
Subscript operator to get/set an individual element from a row or column matrix.
std::exception | If the object is not a column or row matrix. |
Definition at line 369 of file CMatrixTemplate.h.
|
inlineinherited |
Subscript operator to get/set an individual element from a row or column matrix.
std::exception | If the object is not a column or row matrix. |
Definition at line 400 of file CMatrixTemplate.h.
|
inlineinherited |
Subscript operator to get a submatrix.
Definition at line 501 of file CMatrixTemplate.h.
|
inline |
Assignment operator for float matrixes.
Definition at line 33 of file CMatrixB.h.
References mrpt::math::CMatrixBool::operator=().
|
overrideprotectedvirtual |
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.
in | The input binary stream where the object data must read from. |
version | The version of the object stored in the stream: use this version number in your code to know how to read the incoming data. |
std::exception | On any error, see CStream::ReadBuffer |
Implements mrpt::utils::CSerializable.
Definition at line 45 of file CMatrixB.cpp.
References MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION, setSize(), and THROW_EXCEPTION.
|
inlineprotectedinherited |
Internal use only: It reallocs the memory for the 2D matrix, maintaining the previous contents if posible.
Definition at line 91 of file CMatrixTemplate.h.
|
inlineinherited |
This method just checks has no effects in this class, but raises an exception if the expected size does not match.
Definition at line 325 of file CMatrixTemplate.h.
|
inlineinherited |
Fast but unsafe method to write a value in the matrix.
Definition at line 429 of file CMatrixTemplate.h.
|
inlineinherited |
Changes the size of matrix, maintaining the previous contents.
Definition at line 318 of file CMatrixTemplate.h.
|
inlineinherited |
Get a 2-vector with [NROWS NCOLS] (as in MATLAB command size(x))
Definition at line 309 of file CMatrixTemplate.h.
|
inlineinherited |
Swap with another matrix very efficiently (just swaps a pointer and two integer values).
Definition at line 171 of file CMatrixTemplate.h.
|
inlinevirtualinherited |
Introduces a pure virtual method responsible for writing to a mxArray
Matlab object, typically a MATLAB struct
whose contents are documented in each derived class.
mxArray
(caller is responsible of memory freeing) or nullptr is class does not support conversion to MATLAB. Definition at line 89 of file CSerializable.h.
|
overrideprotectedvirtual |
Introduces a pure virtual method responsible for writing to a CStream.
This can not be used directly be users, instead use "stream << object;" for writing it to a stream.
out | The output binary stream where object must be dumped. |
getVersion | If nullptr, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data. |
std::exception | On any error, see CStream::WriteBuffer |
Implements mrpt::utils::CSerializable.
Definition at line 25 of file CMatrixB.cpp.
|
staticprotected |
Definition at line 26 of file CMatrixB.h.
|
static |
Definition at line 26 of file CMatrixB.h.
|
protectedinherited |
Definition at line 86 of file CMatrixTemplate.h.
|
protectedinherited |
Definition at line 86 of file CMatrixTemplate.h.
|
protectedinherited |
Definition at line 85 of file CMatrixTemplate.h.
|
staticprotected |
Definition at line 26 of file CMatrixB.h.
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019 |