Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | List of all members
PointMatcher< T >::DataPoints Struct Reference

A point cloud. More...

#include <PointMatcher.h>

Classes

struct  InvalidField
 An exception thrown when one tries to access features or descriptors unexisting or of wrong dimensions. More...
 
struct  Label
 The name for a certain number of dim. More...
 
struct  Labels
 A vector of Label. More...
 

Public Types

typedef Matrix::Index Index
 An index to a row or a column. More...
 
typedef Eigen::Block< Int64MatrixTimeView
 A view on a time. More...
 
typedef Eigen::Block< MatrixView
 A view on a feature or descriptor. More...
 

Public Member Functions

void addDescriptor (const std::string &name, const Matrix &newDescriptor)
 Add a descriptor by name, remove first if already exists. More...
 
void addFeature (const std::string &name, const Matrix &newFeature)
 Add a feature by name, remove first if already exists. The 'pad' field will stay at the end for homogeneous transformation. More...
 
void addTime (const std::string &name, const Int64Matrix &newTime)
 Add a time by name, remove first if already exists. More...
 
void allocateDescriptor (const std::string &name, const unsigned dim)
 Makes sure a descriptor of a given name exists, if present, check its dimensions. More...
 
void allocateDescriptors (const Labels &newLabels)
 Make sure a vector of descriptors of given names exist. More...
 
void allocateFeature (const std::string &name, const unsigned dim)
 Makes sure a feature of a given name exists, if present, check its dimensions. More...
 
void allocateFeatures (const Labels &newLabels)
 Make sure a vector of features of given names exist. More...
 
void allocateTime (const std::string &name, const unsigned dim)
 Makes sure a time of a given name exists, if present, check its dimensions. More...
 
void allocateTimes (const Labels &newLabels)
 Make sure a vector of time of given names exist. More...
 
void assertDescriptorConsistency () const
 Assert if descriptors are not consistent with features. More...
 
void assertTimesConsistency () const
 Assert if times are not consistent with features. More...
 
void concatenate (const DataPoints &dp)
 Add another point cloud after the current one. Faster merge will be achieved if all descriptor and time labels are the same. If not, only the commun labels with be kept. More...
 
void conservativeResize (Index pointCount)
 Resize the cloud to pointCount points, conserving existing ones. More...
 
DataPoints createSimilarEmpty () const
 Create an empty DataPoints of similar dimensions and labels for features, descriptors and times. More...
 
DataPoints createSimilarEmpty (Index pointCount) const
 Create an empty DataPoints with pointCount points of similar dimensions and labels, both for features and descriptors. More...
 
 DataPoints ()
 Construct an empty point cloud. More...
 
 DataPoints (const Labels &featureLabels, const Labels &descriptorLabels, const Labels &timeLabels, const size_t pointCount)
 Construct a point cloud from existing descriptions. More...
 
 DataPoints (const Labels &featureLabels, const Labels &descriptorLabels, const size_t pointCount)
 Construct a point cloud from existing descriptions. More...
 
 DataPoints (const Matrix &features, const Labels &featureLabels)
 Construct a point cloud from existing features without any descriptor. More...
 
 DataPoints (const Matrix &features, const Labels &featureLabels, const Matrix &descriptors, const Labels &descriptorLabels)
 Construct a point cloud from existing features and descriptors. More...
 
 DataPoints (const Matrix &features, const Labels &featureLabels, const Matrix &descriptors, const Labels &descriptorLabels, const Int64Matrix &times, const Labels &timeLabels)
 Construct a point cloud from existing features, descriptors and times. More...
 
bool descriptorExists (const std::string &name) const
 Look if a descriptor with a given name exist. More...
 
bool descriptorExists (const std::string &name, const unsigned dim) const
 Look if a descriptor with a given name and dimension exist. More...
 
bool featureExists (const std::string &name) const
 Look if a feature with a given name exist. More...
 
bool featureExists (const std::string &name, const unsigned dim) const
 Look if a feature with a given name and dimension exist. More...
 
Matrix getDescriptorCopyByName (const std::string &name) const
 Get descriptor by name, return a matrix containing a copy of the requested descriptor. More...
 
unsigned getDescriptorDim () const
 Return the total number of descriptors. More...
 
unsigned getDescriptorDimension (const std::string &name) const
 Return the dimension of a descriptor with a given name. Return 0 if the name is not found. More...
 
View getDescriptorRowViewByName (const std::string &name, const unsigned row)
 Get a view on a descriptor by row name and number, throw an exception if it does not exist. More...
 
ConstView getDescriptorRowViewByName (const std::string &name, const unsigned row) const
 Get a const view on a descriptor row by name and number, throw an exception if it does not exist. More...
 
unsigned getDescriptorStartingRow (const std::string &name) const
 Return the starting row of a descriptor with a given name. Return 0 if the name is not found. More...
 
View getDescriptorViewByName (const std::string &name)
 Get a view on a descriptor by name, throw an exception if it does not exist. More...
 
ConstView getDescriptorViewByName (const std::string &name) const
 Get a const view on a descriptor by name, throw an exception if it does not exist. More...
 
unsigned getEuclideanDim () const
 Return the dimension of the point cloud. More...
 
Matrix getFeatureCopyByName (const std::string &name) const
 Get feature by name, return a matrix containing a copy of the requested feature. More...
 
unsigned getFeatureDimension (const std::string &name) const
 Return the dimension of a feature with a given name. Return 0 if the name is not found. More...
 
View getFeatureRowViewByName (const std::string &name, const unsigned row)
 Get a view on a feature by row name and number, throw an exception if it does not exist. More...
 
ConstView getFeatureRowViewByName (const std::string &name, const unsigned row) const
 Get a const view on a feature row by name and number, throw an exception if it does not exist. More...
 
unsigned getFeatureStartingRow (const std::string &name) const
 Return the starting row of a feature with a given name. Return 0 if the name is not found. More...
 
View getFeatureViewByName (const std::string &name)
 Get a view on a feature by name, throw an exception if it does not exist. More...
 
ConstView getFeatureViewByName (const std::string &name) const
 Get a const view on a feature by name, throw an exception if it does not exist. More...
 
unsigned getHomogeneousDim () const
 Return the dimension of the point cloud in homogeneous coordinates (one more than Euclidean dimension) More...
 
unsigned getNbGroupedDescriptors () const
 Return the number of grouped descriptors (e.g., normals can have 3 components but would count as only one) More...
 
unsigned getNbPoints () const
 Return the number of points contained in the point cloud. More...
 
Int64Matrix getTimeCopyByName (const std::string &name) const
 Get time by name, return a matrix containing a copy of the requested time. More...
 
unsigned getTimeDim () const
 Return the total number of times. More...
 
unsigned getTimeDimension (const std::string &name) const
 Return the dimension of a time with a given name. Return 0 if the name is not found. More...
 
TimeView getTimeRowViewByName (const std::string &name, const unsigned row)
 Get a view on a time by row name and number, throw an exception if it does not exist. More...
 
TimeConstView getTimeRowViewByName (const std::string &name, const unsigned row) const
 Get a const view on a time row by name and number, throw an exception if it does not exist. More...
 
unsigned getTimeStartingRow (const std::string &name) const
 Return the starting row of a time with a given name. Return 0 if the name is not found. More...
 
TimeView getTimeViewByName (const std::string &name)
 Get a view on a time by name, throw an exception if it does not exist. More...
 
TimeConstView getTimeViewByName (const std::string &name) const
 Get a const view on a time by name, throw an exception if it does not exist. More...
 
bool operator== (const DataPoints &that) const
 Return whether two point-clouds are identical (same data and same labels) More...
 
void removeDescriptor (const std::string &name)
 Remove a descriptor by name, the whole matrix will be copied. More...
 
void removeFeature (const std::string &name)
 Remove a feature by name, the whole matrix will be copied. More...
 
void removeTime (const std::string &name)
 Remove a descriptor by name, the whole matrix will be copied. More...
 
void save (const std::string &fileName, bool binary=false, unsigned precision=7) const
 Save a point cloud to a file, determine format from extension. More...
 
void setColFrom (Index thisCol, const DataPoints &that, Index thatCol)
 Set column thisCol equal to column thatCol of that, copy features and descriptors if any. Assumes sizes are similar. More...
 
void swapCols (Index iCol, Index jCol)
 Swap column i and j in the point cloud, swap also features and descriptors if any. Assumes sizes are similar. More...
 
bool timeExists (const std::string &name) const
 Look if a time with a given name exist. More...
 
bool timeExists (const std::string &name, const unsigned dim) const
 Look if a time with a given name and dimension exist. More...
 

Static Public Member Functions

static DataPoints load (const std::string &fileName)
 Load a point cloud from a file, determine format from extension. More...
 

Public Attributes

const typedef Eigen::Block< const MatrixConstView
 A view on a const feature or const descriptor. More...
 
Labels descriptorLabels
 labels of descriptors More...
 
Matrix descriptors
 descriptors of points in the cloud, might be empty More...
 
Labels featureLabels
 labels of features More...
 
Matrix features
 features of points in the cloud More...
 
const typedef Eigen::Block< const Int64MatrixTimeConstView
 a view on a const time More...
 
Labels timeLabels
 labels of times. More...
 
Int64Matrix times
 time associated to each points, might be empty More...
 

Private Member Functions

template<typename MatrixType >
void addField (const std::string &name, const MatrixType &newField, Labels &labels, MatrixType &data) const
 Add a descriptor or feature by name, remove first if already exists. More...
 
template<typename MatrixType >
void allocateField (const std::string &name, const unsigned dim, Labels &labels, MatrixType &data) const
 Make sure a field of a given name exists, if present, check its dimensions. More...
 
template<typename MatrixType >
void allocateFields (const Labels &newLabels, Labels &labels, MatrixType &data) const
 Make sure a vector of fields of given names exist. More...
 
void assertConsistency (const std::string &dataName, const int dataRows, const int dataCols, const Labels &labels) const
 Assert if a matrix is not consistent with features. More...
 
template<typename MatrixType >
void concatenateLabelledMatrix (Labels *labels, MatrixType *data, const Labels extraLabels, const MatrixType extraData)
 Add another matrix after the current one. Faster merge will be achieved if all labels are the same. If not, only the commun labels with be kept. More...
 
bool fieldExists (const std::string &name, const unsigned dim, const Labels &labels) const
 Look if a descriptor or a feature with a given name and dimension exist. More...
 
template<typename MatrixType >
const Eigen::Block< const MatrixType > getConstViewByName (const std::string &name, const Labels &labels, const MatrixType &data, const int viewRow=-1) const
 
unsigned getFieldDimension (const std::string &name, const Labels &labels) const
 Return the dimension of a feature or a descriptor with a given name. Return 0 if the name is not found. More...
 
unsigned getFieldStartingRow (const std::string &name, const Labels &labels) const
 Return the starting row of a feature or a descriptor with a given name. Return 0 if the name is not found. More...
 
template<typename MatrixType >
Eigen::Block< MatrixType > getViewByName (const std::string &name, const Labels &labels, MatrixType &data, const int viewRow=-1) const
 
template<typename MatrixType >
void removeField (const std::string &name, Labels &labels, MatrixType &data) const
 Remove a descriptor or feature by name, no copy is done. More...
 

Detailed Description

template<typename T>
struct PointMatcher< T >::DataPoints

A point cloud.

For every point, it has features and, optionally, descriptors. Features are typically the coordinates of the point in the space. Descriptors contain information attached to the point, such as its color, its normal vector, etc. In both features and descriptors, every point can have multiple channels. Every channel has a dimension and a name. For instance, a typical 3D cloud might have the channels x, y, z, w of dimension 1 as features (using homogeneous coordinates), and the channel normal of size 3 as descriptor. There are no sub-channels, such as normal.x, for the sake of simplicity. Moreover, the position of the points is in homogeneous coordinates because they need both translation and rotation, while the normals need only rotation. All channels contain scalar values of type ScalarType.

Definition at line 207 of file PointMatcher.h.

Member Typedef Documentation

◆ Index

template<typename T >
typedef Matrix::Index PointMatcher< T >::DataPoints::Index

An index to a row or a column.

Definition at line 218 of file PointMatcher.h.

◆ TimeView

template<typename T >
typedef Eigen::Block<Int64Matrix> PointMatcher< T >::DataPoints::TimeView

A view on a time.

Definition at line 212 of file PointMatcher.h.

◆ View

template<typename T >
typedef Eigen::Block<Matrix> PointMatcher< T >::DataPoints::View

A view on a feature or descriptor.

Definition at line 210 of file PointMatcher.h.

Constructor & Destructor Documentation

◆ DataPoints() [1/6]

template<typename T >
PointMatcher< T >::DataPoints::DataPoints

Construct an empty point cloud.

Definition at line 97 of file pointmatcher/DataPoints.cpp.

◆ DataPoints() [2/6]

template<typename T >
PointMatcher< T >::DataPoints::DataPoints ( const Labels featureLabels,
const Labels descriptorLabels,
const size_t  pointCount 
)

Construct a point cloud from existing descriptions.

Definition at line 102 of file pointmatcher/DataPoints.cpp.

◆ DataPoints() [3/6]

template<typename T >
PointMatcher< T >::DataPoints::DataPoints ( const Labels featureLabels,
const Labels descriptorLabels,
const Labels timeLabels,
const size_t  pointCount 
)

Construct a point cloud from existing descriptions.

Definition at line 113 of file pointmatcher/DataPoints.cpp.

◆ DataPoints() [4/6]

template<typename T >
PointMatcher< T >::DataPoints::DataPoints ( const Matrix features,
const Labels featureLabels 
)

Construct a point cloud from existing features without any descriptor.

Definition at line 131 of file pointmatcher/DataPoints.cpp.

◆ DataPoints() [5/6]

template<typename T >
PointMatcher< T >::DataPoints::DataPoints ( const Matrix features,
const Labels featureLabels,
const Matrix descriptors,
const Labels descriptorLabels 
)

Construct a point cloud from existing features and descriptors.

Definition at line 138 of file pointmatcher/DataPoints.cpp.

◆ DataPoints() [6/6]

template<typename T >
PointMatcher< T >::DataPoints::DataPoints ( const Matrix features,
const Labels featureLabels,
const Matrix descriptors,
const Labels descriptorLabels,
const Int64Matrix times,
const Labels timeLabels 
)

Construct a point cloud from existing features, descriptors and times.

Definition at line 147 of file pointmatcher/DataPoints.cpp.

Member Function Documentation

◆ addDescriptor()

template<typename T >
void PointMatcher< T >::DataPoints::addDescriptor ( const std::string &  name,
const Matrix newDescriptor 
)

Add a descriptor by name, remove first if already exists.

Definition at line 533 of file pointmatcher/DataPoints.cpp.

◆ addFeature()

template<typename T >
void PointMatcher< T >::DataPoints::addFeature ( const std::string &  name,
const Matrix newFeature 
)

Add a feature by name, remove first if already exists. The 'pad' field will stay at the end for homogeneous transformation.

Definition at line 436 of file pointmatcher/DataPoints.cpp.

◆ addField()

template<typename T >
template<typename MatrixType >
void PointMatcher< T >::DataPoints::addField ( const std::string &  name,
const MatrixType &  newField,
Labels labels,
MatrixType &  data 
) const
private

Add a descriptor or feature by name, remove first if already exists.

Definition at line 828 of file pointmatcher/DataPoints.cpp.

◆ addTime()

template<typename T >
void PointMatcher< T >::DataPoints::addTime ( const std::string &  name,
const Int64Matrix newTime 
)

Add a time by name, remove first if already exists.

Definition at line 637 of file pointmatcher/DataPoints.cpp.

◆ allocateDescriptor()

template<typename T >
void PointMatcher< T >::DataPoints::allocateDescriptor ( const std::string &  name,
const unsigned  dim 
)

Makes sure a descriptor of a given name exists, if present, check its dimensions.

Definition at line 519 of file pointmatcher/DataPoints.cpp.

◆ allocateDescriptors()

template<typename T >
void PointMatcher< T >::DataPoints::allocateDescriptors ( const Labels newLabels)

Make sure a vector of descriptors of given names exist.

Definition at line 526 of file pointmatcher/DataPoints.cpp.

◆ allocateFeature()

template<typename T >
void PointMatcher< T >::DataPoints::allocateFeature ( const std::string &  name,
const unsigned  dim 
)

Makes sure a feature of a given name exists, if present, check its dimensions.

Definition at line 422 of file pointmatcher/DataPoints.cpp.

◆ allocateFeatures()

template<typename T >
void PointMatcher< T >::DataPoints::allocateFeatures ( const Labels newLabels)

Make sure a vector of features of given names exist.

Definition at line 429 of file pointmatcher/DataPoints.cpp.

◆ allocateField()

template<typename T >
template<typename MatrixType >
void PointMatcher< T >::DataPoints::allocateField ( const std::string &  name,
const unsigned  dim,
Labels labels,
MatrixType &  data 
) const
private

Make sure a field of a given name exists, if present, check its dimensions.

Definition at line 761 of file pointmatcher/DataPoints.cpp.

◆ allocateFields()

template<typename T >
template<typename MatrixType >
void PointMatcher< T >::DataPoints::allocateFields ( const Labels newLabels,
Labels labels,
MatrixType &  data 
) const
private

Make sure a vector of fields of given names exist.

Definition at line 786 of file pointmatcher/DataPoints.cpp.

◆ allocateTime()

template<typename T >
void PointMatcher< T >::DataPoints::allocateTime ( const std::string &  name,
const unsigned  dim 
)

Makes sure a time of a given name exists, if present, check its dimensions.

Definition at line 622 of file pointmatcher/DataPoints.cpp.

◆ allocateTimes()

template<typename T >
void PointMatcher< T >::DataPoints::allocateTimes ( const Labels newLabels)

Make sure a vector of time of given names exist.

Definition at line 629 of file pointmatcher/DataPoints.cpp.

◆ assertConsistency()

template<typename T >
void PointMatcher< T >::DataPoints::assertConsistency ( const std::string &  dataName,
const int  dataRows,
const int  dataCols,
const Labels labels 
) const
private

Assert if a matrix is not consistent with features.

Definition at line 723 of file pointmatcher/DataPoints.cpp.

◆ assertDescriptorConsistency()

template<typename T >
void PointMatcher< T >::DataPoints::assertDescriptorConsistency

Assert if descriptors are not consistent with features.

Definition at line 611 of file pointmatcher/DataPoints.cpp.

◆ assertTimesConsistency()

template<typename T >
void PointMatcher< T >::DataPoints::assertTimesConsistency

Assert if times are not consistent with features.

Definition at line 716 of file pointmatcher/DataPoints.cpp.

◆ concatenate()

template<typename T >
void PointMatcher< T >::DataPoints::concatenate ( const DataPoints dp)

Add another point cloud after the current one. Faster merge will be achieved if all descriptor and time labels are the same. If not, only the commun labels with be kept.

Definition at line 226 of file pointmatcher/DataPoints.cpp.

◆ concatenateLabelledMatrix()

template<typename T >
template<typename MatrixType >
void PointMatcher< T >::DataPoints::concatenateLabelledMatrix ( Labels labels,
MatrixType *  data,
const Labels  extraLabels,
const MatrixType  extraData 
)
private

Add another matrix after the current one. Faster merge will be achieved if all labels are the same. If not, only the commun labels with be kept.

Definition at line 258 of file pointmatcher/DataPoints.cpp.

◆ conservativeResize()

template<typename T >
void PointMatcher< T >::DataPoints::conservativeResize ( Index  pointCount)

Resize the cloud to pointCount points, conserving existing ones.

Definition at line 328 of file pointmatcher/DataPoints.cpp.

◆ createSimilarEmpty() [1/2]

template<typename T >
PointMatcher< T >::DataPoints PointMatcher< T >::DataPoints::createSimilarEmpty

Create an empty DataPoints of similar dimensions and labels for features, descriptors and times.

Definition at line 340 of file pointmatcher/DataPoints.cpp.

◆ createSimilarEmpty() [2/2]

template<typename T >
PointMatcher< T >::DataPoints PointMatcher< T >::DataPoints::createSimilarEmpty ( Index  pointCount) const

Create an empty DataPoints with pointCount points of similar dimensions and labels, both for features and descriptors.

Definition at line 367 of file pointmatcher/DataPoints.cpp.

◆ descriptorExists() [1/2]

template<typename T >
bool PointMatcher< T >::DataPoints::descriptorExists ( const std::string &  name) const

Look if a descriptor with a given name exist.

Definition at line 583 of file pointmatcher/DataPoints.cpp.

◆ descriptorExists() [2/2]

template<typename T >
bool PointMatcher< T >::DataPoints::descriptorExists ( const std::string &  name,
const unsigned  dim 
) const

Look if a descriptor with a given name and dimension exist.

Definition at line 590 of file pointmatcher/DataPoints.cpp.

◆ featureExists() [1/2]

template<typename T >
bool PointMatcher< T >::DataPoints::featureExists ( const std::string &  name) const

Look if a feature with a given name exist.

Definition at line 487 of file pointmatcher/DataPoints.cpp.

◆ featureExists() [2/2]

template<typename T >
bool PointMatcher< T >::DataPoints::featureExists ( const std::string &  name,
const unsigned  dim 
) const

Look if a feature with a given name and dimension exist.

Definition at line 494 of file pointmatcher/DataPoints.cpp.

◆ fieldExists()

template<typename T >
bool PointMatcher< T >::DataPoints::fieldExists ( const std::string &  name,
const unsigned  dim,
const Labels labels 
) const
private

Look if a descriptor or a feature with a given name and dimension exist.

Definition at line 974 of file pointmatcher/DataPoints.cpp.

◆ getConstViewByName()

template<typename T >
template<typename MatrixType >
const Eigen::Block< const MatrixType > PointMatcher< T >::DataPoints::getConstViewByName ( const std::string &  name,
const Labels labels,
const MatrixType &  data,
const int  viewRow = -1 
) const
private

Get a const view on a matrix by name, throw an exception if it does not exist. If viewRow is given, only return this row, otherwise return the full view

Definition at line 922 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorCopyByName()

template<typename T >
PointMatcher< T >::Matrix PointMatcher< T >::DataPoints::getDescriptorCopyByName ( const std::string &  name) const

Get descriptor by name, return a matrix containing a copy of the requested descriptor.

Definition at line 548 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorDim()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getDescriptorDim

Return the total number of descriptors.

Definition at line 187 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorDimension()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getDescriptorDimension ( const std::string &  name) const

Return the dimension of a descriptor with a given name. Return 0 if the name is not found.

Definition at line 597 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorRowViewByName() [1/2]

template<typename T >
PointMatcher< T >::DataPoints::View PointMatcher< T >::DataPoints::getDescriptorRowViewByName ( const std::string &  name,
const unsigned  row 
)

Get a view on a descriptor by row name and number, throw an exception if it does not exist.

Definition at line 576 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorRowViewByName() [2/2]

template<typename T >
const PointMatcher< T >::DataPoints::ConstView PointMatcher< T >::DataPoints::getDescriptorRowViewByName ( const std::string &  name,
const unsigned  row 
) const

Get a const view on a descriptor row by name and number, throw an exception if it does not exist.

Definition at line 569 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorStartingRow()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getDescriptorStartingRow ( const std::string &  name) const

Return the starting row of a descriptor with a given name. Return 0 if the name is not found.

Definition at line 604 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorViewByName() [1/2]

template<typename T >
PointMatcher< T >::DataPoints::View PointMatcher< T >::DataPoints::getDescriptorViewByName ( const std::string &  name)

Get a view on a descriptor by name, throw an exception if it does not exist.

Definition at line 562 of file pointmatcher/DataPoints.cpp.

◆ getDescriptorViewByName() [2/2]

template<typename T >
const PointMatcher< T >::DataPoints::ConstView PointMatcher< T >::DataPoints::getDescriptorViewByName ( const std::string &  name) const

Get a const view on a descriptor by name, throw an exception if it does not exist.

Definition at line 555 of file pointmatcher/DataPoints.cpp.

◆ getEuclideanDim()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getEuclideanDim

Return the dimension of the point cloud.

Definition at line 165 of file pointmatcher/DataPoints.cpp.

◆ getFeatureCopyByName()

template<typename T >
PointMatcher< T >::Matrix PointMatcher< T >::DataPoints::getFeatureCopyByName ( const std::string &  name) const

Get feature by name, return a matrix containing a copy of the requested feature.

Definition at line 452 of file pointmatcher/DataPoints.cpp.

◆ getFeatureDimension()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getFeatureDimension ( const std::string &  name) const

Return the dimension of a feature with a given name. Return 0 if the name is not found.

Definition at line 501 of file pointmatcher/DataPoints.cpp.

◆ getFeatureRowViewByName() [1/2]

template<typename T >
PointMatcher< T >::DataPoints::View PointMatcher< T >::DataPoints::getFeatureRowViewByName ( const std::string &  name,
const unsigned  row 
)

Get a view on a feature by row name and number, throw an exception if it does not exist.

Definition at line 480 of file pointmatcher/DataPoints.cpp.

◆ getFeatureRowViewByName() [2/2]

template<typename T >
const PointMatcher< T >::DataPoints::ConstView PointMatcher< T >::DataPoints::getFeatureRowViewByName ( const std::string &  name,
const unsigned  row 
) const

Get a const view on a feature row by name and number, throw an exception if it does not exist.

Definition at line 473 of file pointmatcher/DataPoints.cpp.

◆ getFeatureStartingRow()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getFeatureStartingRow ( const std::string &  name) const

Return the starting row of a feature with a given name. Return 0 if the name is not found.

Definition at line 508 of file pointmatcher/DataPoints.cpp.

◆ getFeatureViewByName() [1/2]

template<typename T >
PointMatcher< T >::DataPoints::View PointMatcher< T >::DataPoints::getFeatureViewByName ( const std::string &  name)

Get a view on a feature by name, throw an exception if it does not exist.

Definition at line 466 of file pointmatcher/DataPoints.cpp.

◆ getFeatureViewByName() [2/2]

template<typename T >
const PointMatcher< T >::DataPoints::ConstView PointMatcher< T >::DataPoints::getFeatureViewByName ( const std::string &  name) const

Get a const view on a feature by name, throw an exception if it does not exist.

Definition at line 459 of file pointmatcher/DataPoints.cpp.

◆ getFieldDimension()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getFieldDimension ( const std::string &  name,
const Labels labels 
) const
private

Return the dimension of a feature or a descriptor with a given name. Return 0 if the name is not found.

Definition at line 992 of file pointmatcher/DataPoints.cpp.

◆ getFieldStartingRow()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getFieldStartingRow ( const std::string &  name,
const Labels labels 
) const
private

Return the starting row of a feature or a descriptor with a given name. Return 0 if the name is not found.

Definition at line 1005 of file pointmatcher/DataPoints.cpp.

◆ getHomogeneousDim()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getHomogeneousDim

Return the dimension of the point cloud in homogeneous coordinates (one more than Euclidean dimension)

Definition at line 173 of file pointmatcher/DataPoints.cpp.

◆ getNbGroupedDescriptors()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getNbGroupedDescriptors

Return the number of grouped descriptors (e.g., normals can have 3 components but would count as only one)

Definition at line 180 of file pointmatcher/DataPoints.cpp.

◆ getNbPoints()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getNbPoints

Return the number of points contained in the point cloud.

Definition at line 158 of file pointmatcher/DataPoints.cpp.

◆ getTimeCopyByName()

template<typename T >
PointMatcher< T >::Int64Matrix PointMatcher< T >::DataPoints::getTimeCopyByName ( const std::string &  name) const

Get time by name, return a matrix containing a copy of the requested time.

Definition at line 651 of file pointmatcher/DataPoints.cpp.

◆ getTimeDim()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getTimeDim

Return the total number of times.

Definition at line 194 of file pointmatcher/DataPoints.cpp.

◆ getTimeDimension()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getTimeDimension ( const std::string &  name) const

Return the dimension of a time with a given name. Return 0 if the name is not found.

Definition at line 702 of file pointmatcher/DataPoints.cpp.

◆ getTimeRowViewByName() [1/2]

template<typename T >
PointMatcher< T >::DataPoints::TimeView PointMatcher< T >::DataPoints::getTimeRowViewByName ( const std::string &  name,
const unsigned  row 
)

Get a view on a time by row name and number, throw an exception if it does not exist.

Definition at line 680 of file pointmatcher/DataPoints.cpp.

◆ getTimeRowViewByName() [2/2]

template<typename T >
const PointMatcher< T >::DataPoints::TimeConstView PointMatcher< T >::DataPoints::getTimeRowViewByName ( const std::string &  name,
const unsigned  row 
) const

Get a const view on a time row by name and number, throw an exception if it does not exist.

Definition at line 673 of file pointmatcher/DataPoints.cpp.

◆ getTimeStartingRow()

template<typename T >
unsigned PointMatcher< T >::DataPoints::getTimeStartingRow ( const std::string &  name) const

Return the starting row of a time with a given name. Return 0 if the name is not found.

Definition at line 709 of file pointmatcher/DataPoints.cpp.

◆ getTimeViewByName() [1/2]

template<typename T >
PointMatcher< T >::DataPoints::TimeView PointMatcher< T >::DataPoints::getTimeViewByName ( const std::string &  name)

Get a view on a time by name, throw an exception if it does not exist.

Definition at line 666 of file pointmatcher/DataPoints.cpp.

◆ getTimeViewByName() [2/2]

template<typename T >
const PointMatcher< T >::DataPoints::TimeConstView PointMatcher< T >::DataPoints::getTimeViewByName ( const std::string &  name) const

Get a const view on a time by name, throw an exception if it does not exist.

Definition at line 659 of file pointmatcher/DataPoints.cpp.

◆ getViewByName()

template<typename T >
template<typename MatrixType >
Eigen::Block< MatrixType > PointMatcher< T >::DataPoints::getViewByName ( const std::string &  name,
const Labels labels,
MatrixType &  data,
const int  viewRow = -1 
) const
private

Get a view on a matrix by name, throw an exception if it does not exist If viewRow is given, only return this row, otherwise return the full view

Definition at line 949 of file pointmatcher/DataPoints.cpp.

◆ load()

template<typename T >
template PointMatcher< double >::DataPoints PointMatcher< T >::DataPoints::load ( const std::string &  fileName)
static

Load a point cloud from a file, determine format from extension.

Definition at line 375 of file pointmatcher/IO.cpp.

◆ operator==()

template<typename T >
bool PointMatcher< T >::DataPoints::operator== ( const DataPoints that) const

Return whether two point-clouds are identical (same data and same labels)

Definition at line 201 of file pointmatcher/DataPoints.cpp.

◆ removeDescriptor()

template<typename T >
void PointMatcher< T >::DataPoints::removeDescriptor ( const std::string &  name)

Remove a descriptor by name, the whole matrix will be copied.

Definition at line 540 of file pointmatcher/DataPoints.cpp.

◆ removeFeature()

template<typename T >
void PointMatcher< T >::DataPoints::removeFeature ( const std::string &  name)

Remove a feature by name, the whole matrix will be copied.

Definition at line 445 of file pointmatcher/DataPoints.cpp.

◆ removeField()

template<typename T >
template<typename MatrixType >
void PointMatcher< T >::DataPoints::removeField ( const std::string &  name,
Labels labels,
MatrixType &  data 
) const
private

Remove a descriptor or feature by name, no copy is done.

Definition at line 885 of file pointmatcher/DataPoints.cpp.

◆ removeTime()

template<typename T >
void PointMatcher< T >::DataPoints::removeTime ( const std::string &  name)

Remove a descriptor by name, the whole matrix will be copied.

Definition at line 644 of file pointmatcher/DataPoints.cpp.

◆ save()

template<typename T >
template void PointMatcher< T >::DataPoints::save ( const std::string &  fileName,
bool  binary = false,
unsigned  precision = 7 
) const

Save a point cloud to a file, determine format from extension.

Definition at line 809 of file pointmatcher/IO.cpp.

◆ setColFrom()

template<typename T >
void PointMatcher< T >::DataPoints::setColFrom ( Index  thisCol,
const DataPoints that,
Index  thatCol 
)

Set column thisCol equal to column thatCol of that, copy features and descriptors if any. Assumes sizes are similar.

Definition at line 393 of file pointmatcher/DataPoints.cpp.

◆ swapCols()

template<typename T >
void PointMatcher< T >::DataPoints::swapCols ( Index  iCol,
Index  jCol 
)

Swap column i and j in the point cloud, swap also features and descriptors if any. Assumes sizes are similar.

Definition at line 406 of file pointmatcher/DataPoints.cpp.

◆ timeExists() [1/2]

template<typename T >
bool PointMatcher< T >::DataPoints::timeExists ( const std::string &  name) const

Look if a time with a given name exist.

Definition at line 688 of file pointmatcher/DataPoints.cpp.

◆ timeExists() [2/2]

template<typename T >
bool PointMatcher< T >::DataPoints::timeExists ( const std::string &  name,
const unsigned  dim 
) const

Look if a time with a given name and dimension exist.

Definition at line 695 of file pointmatcher/DataPoints.cpp.

Member Data Documentation

◆ ConstView

template<typename T >
const typedef Eigen::Block<const Matrix> PointMatcher< T >::DataPoints::ConstView

A view on a const feature or const descriptor.

Definition at line 214 of file PointMatcher.h.

◆ descriptorLabels

template<typename T >
Labels PointMatcher< T >::DataPoints::descriptorLabels

labels of descriptors

Definition at line 334 of file PointMatcher.h.

◆ descriptors

template<typename T >
Matrix PointMatcher< T >::DataPoints::descriptors

descriptors of points in the cloud, might be empty

Definition at line 333 of file PointMatcher.h.

◆ featureLabels

template<typename T >
Labels PointMatcher< T >::DataPoints::featureLabels

labels of features

Definition at line 332 of file PointMatcher.h.

◆ features

template<typename T >
Matrix PointMatcher< T >::DataPoints::features

features of points in the cloud

Definition at line 331 of file PointMatcher.h.

◆ TimeConstView

template<typename T >
const typedef Eigen::Block<const Int64Matrix> PointMatcher< T >::DataPoints::TimeConstView

a view on a const time

Definition at line 216 of file PointMatcher.h.

◆ timeLabels

template<typename T >
Labels PointMatcher< T >::DataPoints::timeLabels

labels of times.

Definition at line 336 of file PointMatcher.h.

◆ times

template<typename T >
Int64Matrix PointMatcher< T >::DataPoints::times

time associated to each points, might be empty

Definition at line 335 of file PointMatcher.h.


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


libpointmatcher
Author(s):
autogenerated on Mon Sep 16 2024 02:24:11