Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Public Attributes
pcl::TfQuadraticXYZComparison< PointT > Class Template Reference

A comparison whether the (x,y,z) components of a given point satisfy (p'Ap + 2v'p + c [OP] 0). More...

#include <pcl/filters/conditional_removal.h>

Inheritance diagram for pcl::TfQuadraticXYZComparison< PointT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::TfQuadraticXYZComparison< PointT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef boost::shared_ptr
< const
TfQuadraticXYZComparison
< PointT > > 
ConstPtr

Public Member Functions

 TfQuadraticXYZComparison ()
 Constructor.
 TfQuadraticXYZComparison (const pcl::ComparisonOps::CompareOp op, const Eigen::Matrix3f &comparison_matrix, const Eigen::Vector3f &comparison_vector, const float &comparison_scalar, const Eigen::Affine3f &comparison_transform=Eigen::Affine3f::Identity())
 Constructor.
void setComparisonOperator (const pcl::ComparisonOps::CompareOp op)
 set the operator "[OP]" of the comparison "p'Ap + 2v'p + c [OP] 0".
void setComparisonMatrix (const Eigen::Matrix3f &matrix)
 set the matrix "A" of the comparison "p'Ap + 2v'p + c [OP] 0".
void setComparisonMatrix (const Eigen::Matrix4f &homogeneousMatrix)
 set the matrix "A" of the comparison "p'Ap + 2v'p + c [OP] 0".
void setComparisonVector (const Eigen::Vector3f &vector)
 set the vector "v" of the comparison "p'Ap + 2v'p + c [OP] 0".
void setComparisonVector (const Eigen::Vector4f &homogeneousVector)
 set the vector "v" of the comparison "p'Ap + 2v'p + c [OP] 0".
void setComparisonScalar (const float &scalar)
 set the scalar "c" of the comparison "p'Ap + 2v'p + c [OP] 0".
void transformComparison (const Eigen::Matrix4f &transform)
 transform the coordinate system of the comparison.
void transformComparison (const Eigen::Affine3f &transform)
 transform the coordinate system of the comparison.
virtual bool evaluate (const PointT &point) const
 Determine the result of this comparison.
bool isCapable () const
 Return if the comparison is capable.

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW
typedef boost::shared_ptr
< TfQuadraticXYZComparison
< PointT > > 
Ptr

Detailed Description

template<typename PointT>
class pcl::TfQuadraticXYZComparison< PointT >

A comparison whether the (x,y,z) components of a given point satisfy (p'Ap + 2v'p + c [OP] 0).

Here [OP] stands for the defined pcl::ComparisonOps, i.e. for GT, GE, LT, LE or EQ; p = (x,y,z) is a point of the point cloud; A is 3x3 matrix; v is the 3x1 vector; c is a scalar.

Author:
Julian Löchner

Definition at line 293 of file conditional_removal.h.


Member Typedef Documentation

template<typename PointT >
typedef boost::shared_ptr<const TfQuadraticXYZComparison<PointT> > pcl::TfQuadraticXYZComparison< PointT >::ConstPtr

Reimplemented from pcl::ComparisonBase< PointT >.

Definition at line 299 of file conditional_removal.h.


Constructor & Destructor Documentation

Constructor.

Definition at line 382 of file conditional_removal.hpp.

template<typename PointT >
pcl::TfQuadraticXYZComparison< PointT >::TfQuadraticXYZComparison ( const pcl::ComparisonOps::CompareOp  op,
const Eigen::Matrix3f &  comparison_matrix,
const Eigen::Vector3f &  comparison_vector,
const float &  comparison_scalar,
const Eigen::Affine3f &  comparison_transform = Eigen::Affine3f::Identity () 
)

Constructor.

Parameters:
opthe operator "[OP]" of the comparison "p'Ap + 2v'p + c [OP] 0".
comparison_matrixthe matrix "A" of the comparison "p'Ap + 2v'p + c [OP] 0".
comparison_vectorthe vector "v" of the comparison "p'Ap + 2v'p + c [OP] 0".
comparison_scalarthe scalar "c" of the comparison "p'Ap + 2v'p + c [OP] 0".
comparison_transformthe transformation of the comparison.

Definition at line 443 of file conditional_removal.hpp.


Member Function Documentation

template<typename PointT >
bool pcl::TfQuadraticXYZComparison< PointT >::evaluate ( const PointT point) const [virtual]

Determine the result of this comparison.

Parameters:
pointthe point to evaluate
Returns:
the result of this comparison.

Implements pcl::ComparisonBase< PointT >.

Definition at line 509 of file conditional_removal.hpp.

template<typename PointT >
bool pcl::ComparisonBase< PointT >::isCapable ( ) const [inline, inherited]

Return if the comparison is capable.

Definition at line 102 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonMatrix ( const Eigen::Matrix3f &  matrix) [inline]

set the matrix "A" of the comparison "p'Ap + 2v'p + c [OP] 0".

Definition at line 327 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonMatrix ( const Eigen::Matrix4f &  homogeneousMatrix) [inline]

set the matrix "A" of the comparison "p'Ap + 2v'p + c [OP] 0".

Definition at line 339 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonOperator ( const pcl::ComparisonOps::CompareOp  op) [inline]

set the operator "[OP]" of the comparison "p'Ap + 2v'p + c [OP] 0".

Definition at line 319 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonScalar ( const float &  scalar) [inline]

set the scalar "c" of the comparison "p'Ap + 2v'p + c [OP] 0".

Definition at line 366 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonVector ( const Eigen::Vector3f &  vector) [inline]

set the vector "v" of the comparison "p'Ap + 2v'p + c [OP] 0".

Definition at line 348 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::setComparisonVector ( const Eigen::Vector4f &  homogeneousVector) [inline]

set the vector "v" of the comparison "p'Ap + 2v'p + c [OP] 0".

Definition at line 357 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::transformComparison ( const Eigen::Matrix4f &  transform) [inline]

transform the coordinate system of the comparison.

If you think of the transformation to be a translation and rotation of the comparison in the same coordinate system, you have to provide the inverse transformation. This function does not change the original definition of the comparison. Thus, each call of this function will assume the original definition of the comparison as starting point for the transformation.

Parameters:
transformthe transformation (rotation and translation) as an affine matrix.

Definition at line 381 of file conditional_removal.h.

template<typename PointT >
void pcl::TfQuadraticXYZComparison< PointT >::transformComparison ( const Eigen::Affine3f &  transform) [inline]

transform the coordinate system of the comparison.

If you think of the transformation to be a translation and rotation of the comparison in the same coordinate system, you have to provide the inverse transformation. This function does not change the original definition of the comparison. Thus, each call of this function will assume the original definition of the comparison as starting point for the transformation.

Parameters:
transformthe transformation (rotation and translation) as an affine matrix.

Definition at line 397 of file conditional_removal.h.


Member Data Documentation

template<typename PointT >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef boost::shared_ptr<TfQuadraticXYZComparison<PointT> > pcl::TfQuadraticXYZComparison< PointT >::Ptr

Reimplemented from pcl::ComparisonBase< PointT >.

Definition at line 298 of file conditional_removal.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines