55#include <Eigen/Eigenvalues>
57#include "ICPToolbarWidget.hh"
58#include "VertexList.hh"
59#include <ACG/Geometry/Algorithms.hh>
67 double errorThreshold_;
68 double distanceThreshold_;
69 double normalDotThreshold_;
72 bool interpolateNormals_;
75typedef struct ICPParameter ICPParameter;
100 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-ICP")
105 void updatedObject(
int _id,
const UpdateType& _type);
108 void log(
Logtype _type, QString _message);
109 void log(QString _message);
112 void addToolbox( QString _name , QWidget* _widget, QIcon* _icon);
115 void scriptInfo(QString _functionName);
121 void addEmptyObject(
DataType _type,
int& _id);
122 void deleteObject(
int _id);
123 void deleteAllObjects();
136 QString
name() {
return (QString(
"ICP")); }
137 QString
description( ) {
return (QString(
"Implementation of the ICP algorithm")); }
142 void initializePlugin();
144 void pluginsInitialized();
159 void icp(
int _maxIterations,
double _errorThreshold,
double _distanceThreshold,
double _normalDotThreshold,
bool _debugOutput,
bool _doResize,
bool _interpolateNormals,
int _sourceObjectID,
int _targetObjectID);
165 QString version() {
return QString(
"1.0"); }
Logtype
Log types for Message Window.
Interface class for backup handling.
Interface class from which all plugins have to be created.
QString description()
Return a description of what the plugin is doing.
QString name()
Return a name for the plugin.
void icp(int _maxIterations, double _errorThreshold, double _distanceThreshold, double _normalDotThreshold, bool _debugOutput, bool _doResize, bool _interpolateNormals, int _sourceObjectID, int _targetObjectID)
void doICP(ICPContext *_context)
Interface for all plugins which want to Load or Save files and create Objects.
Interface for all Plugins which do logging to the logging window of the framework.
Interface class for exporting functions to python.
Interface for all Plugins which provide scriptable Functions.
Type for a MeshObject containing a triangle mesh.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.