50 #ifndef MESHREPAIRPLUGIN_HH
51 #define MESHREPAIRPLUGIN_HH
66 #include "MeshRepairToolbar.hh"
78 #if QT_VERSION >= 0x050000
79 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-MeshRepair")
87 void updatedObject(
int _identifier,
const UpdateType& _type);
88 void setSlotDescription(QString _slotName, QString _slotDescription,
89 QStringList _parameters, QStringList _descriptions);
92 void log(
Logtype _type, QString _message);
93 void log(QString _message);
96 void addToolbox( QString _name , QWidget* _widget, QIcon* _icon );
102 void pluginExists( QString _pluginName ,
bool& _exists ) ;
103 void functionExists( QString _pluginName , QString _functionName ,
bool& _exists );
106 void scriptInfo( QString _functionName );
110 void initializePlugin();
120 return (QString(
"Mesh Repair"));
123 return (QString(
"Functionality to repair meshes"));
320 void fixMesh(
int _objectId,
double _epsilon);
342 template<
typename MeshT>
347 QString version() {
return QString(
"1.3"); };
350 #if defined(INCLUDE_TEMPLATES) && !defined(MESHREPAIRPLUGINT_CC)
351 #define MESHREPAIRPLUGIN_TEMPLATES
352 #include "MeshRepairPluginT.cc"
355 #endif //MESHREPAIRPLUGIN_HH
Interface to call functions across plugins.
void flipOrientation(int _objectId)
Flips the normals of all selected faces by changing the vertex order.
void slotSnapBoundary()
Button slot.
QString description()
Return a description of what the plugin is doing.
void slotUpdateHalfedgeNormals()
Button slot.
void slotDetectFoldover()
Button slot.
void selectEdgesShorterThan(int _objectId, double _length)
Selects all edges of an object which are shorter than the given length.
void slotFlipOrientation()
Button slot.
Interface for all Plugins which provide scriptable Functions.
void slotRemoveSkinnyTriangleByAngle()
Button slot.
Plugins can add its own toolbox to the main widget's toolbox area by using this interface.
Interface class for backup handling.
Interface for all Plugins which do logging to the logging window of the framework.
void detectSkinnyTriangleByAngle(int _objectId, double _angle, bool _remove)
Detect/Remove edges where neighboring faces form angle > _angle degrees.
void slotFixNonManifoldVertices()
Button slot.
void slotUpdateNormals()
Button slot.
void slotRemoveSelectedEdges()
Button slot.
void slotDetectTriangleAspect()
Button slot.
void fixNonManifoldVertices(int _objectId)
remove non-manifold vertices by duplicating them
void slotDetectEdgesLonger()
Button Slot.
void detectTriangleAspect(int _objectId, float _aspect)
Detect triangles with aspect ratio greater than _aspect and select them.
void slotUpdateVertexNormals()
Button slot.
void selectEdgesLongerThan(int _objectId, double _length)
Selects all edges of an object which are larger than the given length.
void removeSelectedEdges(int _objectId)
Removes all selected edges.
void removeSelectedVal3Vertices(int _objectId)
Remove all selected valence 3 vertices.
Interface class from which all plugins have to be created.
Logtype
Log types for Message Window.
void slotDetectSkinnyTriangleByAngle()
Button slot.
void detectFoldover(int _objectId, float _angle)
Detect folded-over configurations by the dihedral angle.
MeshRepairToolbarWidget * tool_
Widget for Toolbox.
void slotUpdateFaceNormals()
Button slot.
void snapBoundary(int _objectId, double _eps)
Snaps selected vertices at boundaries.
void slotFixMesh()
Button slot.
void pluginsInitialized()
Initialization of the plugin when it is loaded by the core.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
void fixMesh(int _objectId, double _epsilon)
Fix a mesh.
void selectionEdgeLength(int _objectId, double _length, bool _larger)
select edges based on length
void detectFlatValence3Vertices(int _objectId, double _angle)
Detect valence 3 vertices with faces that lie in the plane of their adjacent triangles.
void updateVertexNormals(int _objectId)
Recomputes the vertex normals of an object.
void slotDetectFlatValence3Vertices()
Button slot.
void updateFaceNormals(int _objectId)
Recomputes the face normals of an object.
void updateNormals(int _objectId)
Recomputes the face and vertex normals of an object.
void slotRemoveSelectedVal3Vertices()
Button slot.
QString name()
Return a name for the plugin.
void slotDetectEdgesShorter()
Button Slot.
void updateHalfedgeNormals(int _objectId)
Recomputes the halfedge normals of an object.