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 void updateFaceNormals(int _objectId)
Recomputes the face normals of an object.
void slotDetectSkinnyTriangleByAngle()
Button slot.
void slotDetectFlatValence3Vertices()
Button slot.
void slotRemoveSkinnyTriangleByAngle()
Button slot.
void fixNonManifoldVertices(int _objectId)
remove non-manifold vertices by duplicating them
void slotSnapBoundary()
Button slot.
void detectFoldover(int _objectId, float _angle)
Detect folded-over configurations by the dihedral angle.
Logtype
Log types for Message Window.
void detectSkinnyTriangleByAngle(int _objectId, double _angle, bool _remove)
Detect/Remove edges where neighboring faces form angle > _angle degrees.
void selectEdgesLongerThan(int _objectId, double _length)
Selects all edges of an object which are larger than the given length.
void slotFixMesh()
Button slot.
void detectTriangleAspect(int _objectId, float _aspect)
Detect triangles with aspect ratio greater than _aspect and select them.
void pluginsInitialized()
Initialization of the plugin when it is loaded by the core.
void flipOrientation(int _objectId)
Flips the normals of all selected faces by changing the vertex order.
QString description()
Return a description of what the plugin is doing.
void slotFlipOrientation()
Button slot.
Interface for all Plugins which provide scriptable Functions.
void selectEdgesShorterThan(int _objectId, double _length)
Selects all edges of an object which are shorter than the given length.
void slotUpdateNormals()
Button slot.
Interface class from which all plugins have to be created.
QString name()
Return a name for the plugin.
void detectFlatValence3Vertices(int _objectId, double _angle)
Detect valence 3 vertices with faces that lie in the plane of their adjacent triangles.
Plugins can add its own toolbox to the main widget's toolbox area by using this interface.
void selectionEdgeLength(int _objectId, double _length, bool _larger)
select edges based on length
Interface for all Plugins which do logging to the logging window of the framework.
void slotRemoveSelectedEdges()
Button slot.
void updateHalfedgeNormals(int _objectId)
Recomputes the halfedge normals of an object.
void slotUpdateFaceNormals()
Button slot.
void updateNormals(int _objectId)
Recomputes the face and vertex normals of an object.
void slotFixNonManifoldVertices()
Button slot.
void fixMesh(int _objectId, double _epsilon)
Fix a mesh.
void slotDetectEdgesShorter()
Button Slot.
void slotDetectFoldover()
Button slot.
void removeSelectedEdges(int _objectId)
Removes all selected edges.
void removeSelectedVal3Vertices(int _objectId)
Remove all selected valence 3 vertices.
void updateVertexNormals(int _objectId)
Recomputes the vertex normals of an object.
void slotUpdateVertexNormals()
Button slot.
void slotUpdateHalfedgeNormals()
Button slot.
void snapBoundary(int _objectId, double _eps)
Snaps selected vertices at boundaries.
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
MeshRepairToolbarWidget * tool_
Widget for Toolbox.
void slotRemoveSelectedVal3Vertices()
Button slot.
void slotDetectTriangleAspect()
Button slot.
Interface to call functions across plugins.
void slotDetectEdgesLonger()
Button Slot.
Interface class for backup handling.