Commit 64461dd3 authored by Jan Möbius's avatar Jan Möbius
Browse files

Some Cleanup, functions to compute normals

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@11586 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 9dcc7786
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>459</width> <width>456</width>
<height>564</height> <height>710</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
...@@ -595,6 +595,67 @@ There is no automatic algorithm to fix these foldovers here. So you will have to ...@@ -595,6 +595,67 @@ There is no automatic algorithm to fix these foldovers here. So you will have to
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Normals</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="computeNormals">
<property name="toolTip">
<string>Recomputes Vertex and Face Normals on all Target Meshes</string>
</property>
<property name="statusTip">
<string>Recomputes Vertex and Face Normals on all Target Meshes</string>
</property>
<property name="whatsThis">
<string>Recomputes Vertex and Face Normals on all Target Meshes</string>
</property>
<property name="text">
<string>Compute Normals</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<widget class="QPushButton" name="computeVertexNormals">
<property name="toolTip">
<string>Recomputes Vertex Normals on all Target Meshes</string>
</property>
<property name="statusTip">
<string>Recomputes Vertex Normals on all Target Meshes</string>
</property>
<property name="whatsThis">
<string>Recomputes Vertex Normals on all Target Meshes</string>
</property>
<property name="text">
<string>Vertex</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="computeFaceNormals">
<property name="toolTip">
<string>Recomputes Face Normals on all Target Meshes</string>
</property>
<property name="statusTip">
<string>Recomputes Face Normals on all Target Meshes</string>
</property>
<property name="whatsThis">
<string>Recomputes Face Normals on all Target Meshes</string>
</property>
<property name="text">
<string>Face</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
......
This diff is collapsed.
...@@ -125,18 +125,11 @@ private slots: ...@@ -125,18 +125,11 @@ private slots:
/// Button slot /// Button slot
void slotRemoveSelectedVal3Vertices(); void slotRemoveSelectedVal3Vertices();
/// Button Slot
void slotDetectEdgesLonger();
/// Button Slot
void slotDetectEdgesShorter();
/// Button slot /// Button slot
void slotRemoveSelectedEdges(); void slotRemoveSelectedEdges();
/// Button slot
void slotFlipOrientation();
/// Button slot /// Button slot
void slotDetectSkinnyTriangleByAngle(); void slotDetectSkinnyTriangleByAngle();
...@@ -149,27 +142,71 @@ private slots: ...@@ -149,27 +142,71 @@ private slots:
/// Button slot /// Button slot
void slotDetectTriangleAspect(); void slotDetectTriangleAspect();
//Scripting functions:
public slots:
/// Selects all edges of an oobject which are shorter than the given length
void selectEdgesShorterThan(int _objectId,double _length);
/// Selects all edges of an oobject which are larger than the given length
void selectEdgesLongerThan(int _objectId,double _length);
/// Button slot
void slotFlipOrientation();
/// Button slot
void slotUpdateVertexNormals();
/// Button slot
void slotUpdateFaceNormals();
/// Button slot
void slotUpdateNormals();
/// Button Slot
void slotDetectEdgesLonger();
/// Button Slot
void slotDetectEdgesShorter();
//Scripting functions:
public slots:
/// Removes all selected edges /// Removes all selected edges
void removeSelectedEdges(int _objectId); void removeSelectedEdges(int _objectId);
/// Flips the normals of all faces by changing the vertex order
void flipOrientation(int _objectId);
/// Detect/Remove edges where neighbouring faces form angle > _angle degrees /// Detect/Remove edges where neighbouring faces form angle > _angle degrees
void detectSkinnyTriangleByAngle(int _objectId, double _angle, bool _remove); void detectSkinnyTriangleByAngle(int _objectId, double _angle, bool _remove);
/// Detect valence 3 triangles that lie in the plane of their adjacent triangles /// Detect valence 3 triangles that lie in the plane of their adjacent triangles
void detectFlatTriangles(int _objectId, double _angle); void detectFlatTriangles(int _objectId, double _angle);
/// Recomputes the face normals of an object
void updateFaceNormals(int _objectId);
/// Recomputes the vertex normals of an object
void updateVertexNormals(int _objectId);
/// Recomputes the face and vertex normals of an object
void updateNormals(int _objectId);
/// Flips the normals of all faces by changing the vertex order
void flipOrientation(int _objectId);
/// Selects all edges of an object which are shorter than the given length
void selectEdgesShorterThan(int _objectId,double _length);
/// Selects all edges of an object which are larger than the given length
void selectEdgesLongerThan(int _objectId,double _length);
private: private:
/** \brief select edges based on length /** \brief select edges based on length
* *
...@@ -180,13 +217,9 @@ private: ...@@ -180,13 +217,9 @@ private:
*/ */
void selectionEdgeLength(int _objectId, double _length, bool _larger); void selectionEdgeLength(int _objectId, double _length, bool _larger);
private:
typedef ACG::Vec3uc Color;
public slots: public slots:
QString version() { QString version() {
return QString("1.0"); return QString("1.2");
}; };
}; };
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment