69 throw InvalidField(
"ShadowDataPointsFilter, Error: cannot find normals in descriptors");
73 const int featDim(cloud.
features.cols());
78 for(
int i=0; i < featDim; ++i)
80 const Vector normal = normals.col(i).normalized();
83 const T value =
anyabs(normal.dot(point));
Matrix descriptors
descriptors of points in the cloud, might be empty
ConstView getDescriptorViewByName(const std::string &name) const
Get a const view on a descriptor by name, throw an exception if it does not exist.
Shadow filter, remove ghost points appearing on edges.
virtual void inPlaceFilter(DataPoints &cloud)
Apply these filters to a point cloud without copying.
Functions and classes that are not dependant on scalar type are defined in this namespace.
Parametrizable::Parameters Parameters
Functions and classes that are dependant on scalar type are defined in this templatized class...
bool descriptorExists(const std::string &name) const
Look if a descriptor with a given name exist.
const M::mapped_type & get(const M &m, const typename M::key_type &k)
virtual DataPoints filter(const DataPoints &input)
Apply filters to input point cloud. This is the non-destructive version and returns a copy...
The superclass of classes that are constructed using generic parameters. This class provides the para...
void conservativeResize(Index pointCount)
Resize the cloud to pointCount points, conserving existing ones.
ShadowDataPointsFilter(const Parameters ¶ms=Parameters())
Constructor, uses parameter interface.
PointMatcher< T >::Vector Vector
PointMatcher< T >::DataPoints::InvalidField InvalidField
Matrix features
features of points in the cloud
PM::DataPointsFilter DataPointsFilter
static T anyabs(const T &v)