65 const double floatDigitsMultiplier =
pow(10., FLT_DIG+1);
68 for (
int c=0; c < 4; ++c){
69 for (
int r=0; r < 4; ++r){
73 modf(inputType.col(c)[r]*floatDigitsMultiplier, &intPart);
74 retMatrix[
static_cast<size_t>(c)][
static_cast<size_t>(r)] = intPart/floatDigitsMultiplier;
81 template <
typename PCL_FILTER>
91 template <
typename PCL_FILTER>
136 virtual void _filter() = 0;
Project global and OS specific declarations.
#define MLPCL_Registration_EXPORT
If included by external modules, exported symbols are declared as import symbols.
PCLModule(int numImageInputs=0, int numImageOutputs=0, int numPCLInputs=0, int numPCLOutputs=0, bool createEnumAndNotify=false)
void _addPCLRelatedFields()
Adds fields corresponding to the registration class covered with this class, already called by constr...
static Matrix4 _pclToMLType(Eigen::Matrix< float, 4, 4 > inputType)
PCLRegistration(int numInputs=2, int numOutputs=1)
void handleNotification(Field *field) override
Handles field changes of the field field.
BoolField & getHasConvergedFld() const
DoubleField & getTransformationEpsilonFld() const
void activateAttachments() override
Updates internal state after changes of fields without field notifications.
DoubleField & getEuclideanFitnessEpsilonFld() const
void _setFilterParameters(PCL_FILTER ®Object) const
Sets the filter parameters known from this class.
Matrix4Field & getLastIncrementalTransformationFld() const
void _retrieveFilterResultParameters(PCL_FILTER ®Object)
Retrieves output parameters from filter known in this class.
IntField & getMaximumIterationsFld() const
DoubleField & getFitnessScoreFld() const
Matrix4Field & getFinalTransformationFld() const
DoubleField & getMaxCorrespondenceDistanceFld() const
#define ML_ABSTRACT_MODULE_CLASS_HEADER(className)
ML Module base class for algorithms from the Point Cloud Library (PCL).
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
long double pow(__int64 i, int value)
Tmat4< MLdouble > Matrix4
The standard 4x4 matrix of type double.