<rect>
<x>0</x>
<y>0</y>
- <width>799</width>
- <height>602</height>
+ <width>800</width>
+ <height>400</height>
</rect>
</property>
<property name="windowTitle">
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <spacer name="horizontalSpacer_xx">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Minimum</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>10</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
<item>
<widget class="QPushButton" name="PB_OK">
<property name="text">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeType">
- <enum>QSizePolicy::Minimum</enum>
- </property>
<property name="sizeHint" stdset="0">
<size>
- <width>60</width>
+ <width>30</width>
<height>20</height>
</size>
</property>
</property>
<property name="sizeHint" stdset="0">
<size>
- <width>338</width>
- <height>25</height>
+ <width>30</width>
+ <height>20</height>
</size>
</property>
</spacer>
</property>
</widget>
</item>
+ <item>
+ <spacer name="horizontalSpacer_xx">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Minimum</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>10</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</item>
<item row="1" column="0">
<property name="title">
<string>Optimisation</string>
</property>
- <widget class="QGroupBox" name="mesRB">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>611</width>
- <height>209</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" name="monRBLayout">
+
+ <layout class="QHBoxLayout" name="RBLayoutopt">
+
<item>
- <widget class="QRadioButton" name="RB_0">
+ <spacer name="horizontalSpacer_xx">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Minimum</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>30</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+
+ <item>
+ <layout class="QVBoxLayout" name="RBLayout1">
+ <item>
+ <widget class="QRadioButton" name="RB_Check">
<property name="toolTip">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
-<table style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Quality improvement</span> is done by point smoothing and edge swapping</p></td></tr></table></body></html></string>
+ <string>Performs checks only (no fixing).
+Writes diagnostics into the output file.
+Default is to fix with two passes.</string>
</property>
<property name="text">
- <string>Quality improvement Only (0)</string>
+ <string>Only checking</string>
</property>
<property name="checked">
- <bool>true</bool>
+ <bool>false</bool>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="RB_G">
+ <widget class="QRadioButton" name="RB_Fix1">
<property name="toolTip">
- <string>the given surface triangulation is enriched (no coarsening at all) in such away that the distance
-between the elements in the final mesh and those of the initial one is bounded by auser specified tolerance value.
-One should use this option, to enrich the mesh where purely
-geometrical features may be insuficiently fine, i.e. the resulting mesh will be least as fine as the input.
-Mesh and the geometric features will be refined if needed as specified by the other program parameters.
-The meshes obtained with those settings may not be suitable for computation.</string>
+ <string>Analyses and fixes mesh with only the first stage of the cleaning procedure.
+Does not write diagnostics into the output file.
+Default is to fix with two passes.</string>
</property>
<property name="text">
- <string>Pure Geometry Enrichment (G)</string>
+ <string>Fix problems with one pass</string>
</property>
<property name="checked">
<bool>false</bool>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="RB_U">
+ <widget class="QRadioButton" name="RB_Fix2">
<property name="toolTip">
- <string>a uniform subdivision of the given surface triangulation is performed :
-each triangle of the given surface triangulation is considered at and
-is divided into identical triangles.</string>
+ <string>Analyses and fixes mesh with the two stage cleaning procedure.
+Does not write diagnostics into the output file.
+Default is to fix with two passes.</string>
</property>
<property name="text">
- <string>Uniform Subdivision (U)</string>
+ <string>Fix problems with two passes</string>
</property>
<property name="checked">
- <bool>false</bool>
+ <bool>true</bool>
</property>
</widget>
</item>
- <item>
- <widget class="QRadioButton" name="RB_S">
+
+ <item>
+ <widget class="QCheckBox" name="CB_Preserve">
<property name="toolTip">
- <string>a surface sandpapering without shrinkage of the given surface
-triangulation is performed, i.e., the high curvature variations of the
-given surface will be smoothed out without shrinking the volume in
-doing so. If ridges are defined, they will be kept as they are in the
-resulting mesh.
-This option modifies the geometry.</string>
+ <string>Disables fixing operations which induce topology modifications.
+Default is enable topology modifications.
+(argument --topology)</string>
</property>
<property name="text">
- <string>Smoothing (S)</string>
+ <string>Preserve topology</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
- </item>
- <item>
- <widget class="QRadioButton" name="RB__2">
+ </item>
+ <item>
+ <widget class="QCheckBox" name="CB_FillHoles">
<property name="toolTip">
- <string>The given surface triangulation is modified in such a way that the distance between
-the elements in the final mesh and those of the initial one is bounded by a user specfied tolerance value.
-One should use this option, to coarsen when a purely geometrical mesh is needed. (a mesh that keeps
-and obeys its geometric features only.) The meshes obtained with this option are usually not suitable
-for computation because anisotropic elements may be generated</string>
+ <string>Default is not to fill holes.
+if set: see 'surface size threshold of holes' in 'Advanced remeshing options'.</string>
</property>
<property name="text">
- <string>Geometrical Mesh : Coarsening (-2)</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="RB_2">
- <property name="toolTip">
- <string>The given surface triangulation is modified in such a way that the distance between
-the elements in the final mesh and those of the initial one is bounded by a user specfied tolerance value.
-One should use this option, to coarsen and enrich when a purely geometrical mesh is needed. (a mesh that keeps
-and obeys its geometric features only.) The meshes obtained with this setting are usually not suitable
-for computation because anisotropic elements may be generated</string>
+ <string>Fill holes</string>
</property>
- <property name="text">
- <string>Geometrical Mesh : Coarsening and Enrichment (2)</string>
+ <property name="checked">
+ <bool>false</bool>
</property>
</widget>
- </item>
- <item>
- <widget class="QRadioButton" name="RB__1">
+ </item>
+ <item>
+
+ <widget class="QCheckBox" name="CB_RemeshPlanes">
<property name="toolTip">
- <string>The given surface triangulation is modified in accordance to a size map.
-The latter can be either the intrinsic size map (computed automatically
-and based on the surface properties, i.e. the local curvatures),
-or on a given size map (which is then combined to the intrinsic size map).
-One should use this option to coarsen the mesh, when a regular mesh
-for computation purposes is desired, i.e. a mesh with good aspect ratios or
-good quality elements.</string>
+ <string>Inserts vertices on planes to improve mesh quality .
+May be useful for poor quality triangulations (eg .STL or .DXF triangulations).
+Default is not to mesh planes.</string>
</property>
<property name="text">
- <string>Mesh for finite element computation : Coarsening (-1)</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="RB_1">
- <property name="toolTip">
- <string>The given surface triangulation is modified in accordance to a size map.
-The latter can be either the intrinsic size map (computed automatically
-and based on the surface properties, i.e. the local curvatures),
-or on a given size map (which is then combined to the intrinsic size map).
-One should use this option to coarsen and enrich the mesh, when a regular mesh
-for computation purposes is desired, i.e. a mesh with good aspect ratios or
-good quality elements</string>
+ <string>Remesh planes</string>
</property>
- <property name="text">
- <string>Mesh for finite element computation : Coarsening and Enrichment (1)</string>
+ <property name="checked">
+ <bool>false</bool>
</property>
- </widget>
+ </widget>
+ </item>
+
+ </layout>
+
</item>
+
</layout>
- </widget>
- </widget>
- <widget class="QGroupBox" name="GBUnit">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>420</y>
- <width>300</width>
- <height>70</height>
- </rect>
- </property>
- <property name="toolTip">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></td></tr></table></body></html></string>
- </property>
- <property name="title">
- <string>Units</string>
- </property>
- <widget class="QRadioButton" name="RB_Absolute">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>30</y>
- <width>110</width>
- <height>24</height>
- </rect>
- </property>
- <property name="toolTip">
- <string>Values are expressed in the model units.</string>
- </property>
- <property name="text">
- <string>Absolute</string>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="QRadioButton" name="RB_Relative">
- <property name="geometry">
- <rect>
- <x>160</x>
- <y>30</y>
- <width>110</width>
- <height>24</height>
- </rect>
- </property>
- <property name="toolTip">
- <string>Values are relative to the bounding box size.</string>
- </property>
- <property name="text">
- <string>Relative</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </widget>
- <widget class="QGroupBox" name="GBTolerance_2">
- <property name="geometry">
- <rect>
- <x>410</x>
- <y>420</y>
- <width>350</width>
- <height>70</height>
- </rect>
- </property>
- <property name="toolTip">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Set chordal deviation tolerance:</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This parameter enables the user to bound the maximal chordal deviation allowed,</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">that is, the maximal distance allowed between the detected curve and the plane P</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">of the corresponding mesh face.</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">In other words, it avoids having faces too far away from the curve </p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">they represent (or should represent).</p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></td></tr></table></body></html></string>
- </property>
- <property name="title">
- <string>Chordal deviation Tolerance</string>
- </property>
- <widget class="QDoubleSpinBox" name="SP_Tolerance">
- <property name="geometry">
- <rect>
- <x>40</x>
- <y>30</y>
- <width>81</width>
- <height>23</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <stylestrategy>PreferDefault</stylestrategy>
- </font>
- </property>
- <property name="mouseTracking">
- <bool>true</bool>
- </property>
- <property name="toolTip">
- <string>If the Units parameter is relative epsilon max correspond to 0.0001x s x tolerance parameter where s is the size of the bounding box of the domain.
-If the Units parameter is absolute, the tolerance parameter is expressed in model units :
-if P=2 and point coordinaters are givin in millimetre, it menas that the maximal chordal deviation is 2 mm </string>
- </property>
- <property name="maximum">
- <double>100000.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>1.000000000000000</double>
- </property>
- <property name="value">
- <double>0.100000000000000</double>
- </property>
- </widget>
+
</widget>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
</property>
</widget>
</widget>
- <zorder>GBUnit</zorder>
- <zorder>GBTolerance_2</zorder>
<zorder>groupBox</zorder>
<zorder>GBOptim</zorder>
</widget>
<widget class="QWidget" name="advanced">
<attribute name="title">
- <string>Advanced Remeshing Options</string>
+ <string>Advanced Remeshing Options</string>
</attribute>
- <widget class="QGroupBox" name="groupBox_2">
+ <widget class="QGroupBox" name="groupBox_5">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>750</width>
- <height>70</height>
+ <height>400</height>
</rect>
</property>
<property name="title">
- <string>You can disable :</string>
+ <string>You can control </string>
</property>
- <widget class="QCheckBox" name="CB_Ridge">
+#1
+ <widget class="QDoubleSpinBox" name="SP_minHoleSize">
<property name="geometry">
<rect>
- <x>100</x>
- <y>20</y>
- <width>271</width>
- <height>23</height>
+ <x>20</x>
+ <y>30</y>
+ <width>100</width>
+ <height>25</height>
</rect>
</property>
- <property name="toolTip">
- <string>if not set (ridge detection disabled), Yams will not try to detect any new ridge edge by its own mechanism :
-it will consider as ridge only the ridges given in the mesh.
-All non-ridge edges that would have been detected as ridge by the Ridge angle paramaeter
-(see below) will be considered as part of the same continuous patch.
-This option should not be checked when all the known ridges of the mesh are given and
-when all other possible ridges are not geometric ridges to take into account.</string>
+ <property name="maximum">
+ <double>10000</double>
</property>
- <property name="text">
- <string>ridge detection</string>
+ <property name="minimum">
+ <double>0</double>
+ </property>
+ <property name="singleStep">
+ <double>0.01</double>
</property>
- <property name="checked">
- <bool>true</bool>
+ <property name="value">
+ <double>0.01</double>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QCheckBox" name="CB_Point">
+ <widget class="QLabel" name="LA_minHoleSize">
<property name="geometry">
<rect>
- <x>100</x>
- <y>40</y>
- <width>271</width>
- <height>23</height>
+ <x>130</x>
+ <y>30</y>
+ <width>600</width>
+ <height>30</height>
</rect>
</property>
<property name="toolTip">
- <string>When not set (point smoothing is disabled), Yams will not try to move the initial given vertices
-(along an edge, a ridge or onto the surface), hence Yams will only swap edges, remove vertices
-or add vertices (refines) to change the mesh.</string>
+ <string>sets the surface size threshold below which holes are filled.
+Set 'Fill holes' in 'Simple Remeshing Options'.</string>
</property>
<property name="text">
- <string>point smoothing</string>
- </property>
- <property name="checked">
- <bool>true</bool>
+ <string>Surface size threshold of holes to fill (--min_hole_size)</string>
</property>
</widget>
- </widget>
- <widget class="QGroupBox" name="groupBox_5">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>100</y>
- <width>750</width>
- <height>320</height>
- </rect>
- </property>
- <property name="title">
- <string>You can control </string>
- </property>
- <widget class="QDoubleSpinBox" name="SP_Geomapp">
+#2
+ <widget class="QDoubleSpinBox" name="SP_toleranceDisplacement">
<property name="geometry">
<rect>
- <x>10</x>
- <y>30</y>
- <width>91</width>
- <height>23</height>
+ <x>20</x>
+ <y>70</y>
+ <width>100</width>
+ <height>25</height>
</rect>
</property>
<property name="maximum">
- <double>0.890000000000000</double>
+ <double>10000</double>
+ </property>
+ <property name="minimum">
+ <double>0</double>
</property>
<property name="singleStep">
- <double>0.010000000000000</double>
+ <double>0.01</double>
</property>
<property name="value">
- <double>0.040000000000000</double>
+ <double>0.01</double>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QLabel" name="label_2">
+ <widget class="QLabel" name="LA_toleranceDisplacement">
<property name="geometry">
<rect>
- <x>120</x>
- <y>20</y>
- <width>631</width>
- <height>61</height>
+ <x>130</x>
+ <y>70</y>
+ <width>600</width>
+ <height>30</height>
</rect>
</property>
<property name="toolTip">
- <string>This field (as well as tolerance) enables the user to control the accuracy of the
-piecewise linear approximation of the surface. This parameter enables the user to
-control the maximal angle allowed between two adjacent faces. It can be used to
-bound the maximal deviation of the mesh faces from the tangent planes at mesh vertices.
-In other words, it avoids having sharp angles between faces representing a smooth curve.
-This parameter enables the user to specify the maximal chordal deviation "max relatively to the curvature.
-Following that criterion:
-- if the chordal deviation epsilon is smaller than epsilon max *r, it is acceptable to remove the considered point;
-- if the chordal deviation epsilon is greater than epsiolon max*r, the considered mesh face should be redefined
-by adding a point on the curve.
-One can see that the smaller the radius r, the harder it is to satisfy this criterion:
-epsilon max is a real value corresponding to a percentage, the ratio between the chordal deviation to
-the local curvature. This field is used only for optimisation style -O values of -1, 0 and 1.
-The default value for "max is set to 0:04 which leads to angles of less than 33 degrees between two adjacent
-faces .</string>
+ <string>Sets the displacement threshold below which modification is allowed.
+Unused in collision resolution .
+'Tolerance displacement' is set to resolution_length if it is lower.</string>
</property>
<property name="text">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Geometrical approximation : Maximum angle allowed between a face and a curve </p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">(not separated by a ridge).</span>)</p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></td></tr></table></body></html></string>
+ <string>Tolerance displacement threshold of points for modification
+(--tolerance_displacement)</string>
</property>
</widget>
- <widget class="QLabel" name="label_4">
+
+ <widget class="QCheckBox" name="CB_computedToleranceDisplacement">
<property name="geometry">
<rect>
- <x>120</x>
+ <x>650</x>
<y>70</y>
- <width>581</width>
- <height>71</height>
+ <width>100</width>
+ <height>30</height>
</rect>
</property>
- <property name="text">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ridge angle:</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">if the angle between the normal vectors of two adjacent faces exceeds</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">this value, the edge common to the faces is a ridge</p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></td></tr></table></body></html></string>
- </property>
- </widget>
- <widget class="QDoubleSpinBox" name="SP_Ridge">
+ <property name="toolTip">
+ <string>If set default value is computed from model.</string>
+ </property>
+ <property name="text">
+ <string>Computed</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+
+#3
+ <widget class="QDoubleSpinBox" name="SP_resolutionLength">
<property name="geometry">
<rect>
- <x>10</x>
- <y>90</y>
- <width>91</width>
- <height>23</height>
+ <x>20</x>
+ <y>110</y>
+ <width>100</width>
+ <height>25</height>
</rect>
</property>
<property name="maximum">
- <double>90.000000000000000</double>
+ <double>10000</double>
+ </property>
+ <property name="minimum">
+ <double>0</double>
+ </property>
+ <property name="singleStep">
+ <double>0.01</double>
</property>
<property name="value">
- <double>45.000000000000000</double>
+ <double>0.01</double>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QLabel" name="label_5">
+ <widget class="QLabel" name="LA_resolutionLength">
<property name="geometry">
<rect>
- <x>120</x>
- <y>140</y>
- <width>521</width>
- <height>41</height>
+ <x>130</x>
+ <y>110</y>
+ <width>600</width>
+ <height>30</height>
</rect>
</property>
<property name="toolTip">
- <string>This parameter allows the user to prescribe a maximal size hmax
-for the mesh elements i.e., the lengths of the edges with respect to the specified
- size map. The corresponding values are either relative or absolute depending on the choosen parameter.
-The default values are automatically set based on the surface geometry (curvature dependent) and its
-bounding box size.
-Please note that, as it is not strictly possible to obey the given or computed size map, the actual maximal
-size may be slightly bigger than the prescribed ones.</string>
+ <string>sets the distance threshold above which 2 points are considered distinct.
+Sets the tolerance displacement to 1/5 of this size.
+Default is computed from model.</string>
</property>
<property name="text">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maximal size allowed around vertices:</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">the lengths of the edges with respect to the specified size map.</p></td></tr></table></body></html></string>
+ <string>Distance threshold for two points distinct (--resolution_length)</string>
</property>
</widget>
- <widget class="QLabel" name="label_3">
+ <widget class="QCheckBox" name="CB_computedResolutionLength">
<property name="geometry">
<rect>
- <x>120</x>
- <y>240</y>
- <width>591</width>
- <height>61</height>
+ <x>650</x>
+ <y>110</y>
+ <width>100</width>
+ <height>30</height>
</rect>
</property>
- <property name="toolTip">
- <string>This parameter enables the user to control the element size variation in the triangulation.
-Yams will avoid getting two adjacent edges which sizes differ by a factor bigger than this parameter.
-To avoid rapid size variations, a size correction procedure is applied to the size map.
-In other words: if two adjacent edges are respectively e1 and e2 long
-if e2 > parameter * e1 then e02 the new size for the second edge will be set to parameter* e1.
-This procedure is de-activated if yams computes a mesh for finite element with only coarsening.
-The default value is 1.3, which is the usual value set for computational meshes.</string>
- </property>
- <property name="text">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Mesh Gradation ie the element size variation in the triangulation:</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Yams will avoid having two adjacent edges which sizes </p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">vary more than the given gradation.</p></td></tr></table></body></html></string>
- </property>
- </widget>
- <widget class="QDoubleSpinBox" name="SP_Gradation">
+ <property name="toolTip">
+ <string>If set default value is computed from model.</string>
+ </property>
+ <property name="text">
+ <string>Computed</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+#4
+ <widget class="QDoubleSpinBox" name="SP_foldingAngle">
<property name="geometry">
<rect>
- <x>10</x>
- <y>250</y>
- <width>91</width>
- <height>23</height>
+ <x>20</x>
+ <y>150</y>
+ <width>100</width>
+ <height>25</height>
</rect>
</property>
+ <property name="maximum">
+ <double>10000</double>
+ </property>
+ <property name="minimum">
+ <double>0</double>
+ </property>
<property name="singleStep">
- <double>0.010000000000000</double>
+ <double>0.01</double>
</property>
<property name="value">
- <double>1.300000000000000</double>
+ <double>15</double>
</property>
</widget>
- <widget class="QDoubleSpinBox" name="SP_MaxSize">
+ <widget class="QLabel" name="LA_foldingAngle">
<property name="geometry">
<rect>
- <x>10</x>
+ <x>130</x>
<y>150</y>
- <width>91</width>
- <height>23</height>
+ <width>600</width>
+ <height>30</height>
</rect>
</property>
- <property name="minimum">
- <double>0.010000000000000</double>
+ <property name="toolTip">
+ <string>Sets the threshold angle below which 2 connected triangles are considered overlapping .
+Reduce this value if model contains sharp angles below this threshold that must be kept.
+Overlap_angle is set to this angle if it is higher.
+Default is 15 degrees.</string>
+ </property>
+ <property name="text">
+ <string>Angle threshold for two connected triangles overlapping (--folding_angle)</string>
+ </property>
+ </widget>
+#5
+ <widget class="QDoubleSpinBox" name="SP_overlapdistance">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>190</y>
+ <width>100</width>
+ <height>25</height>
+ </rect>
</property>
<property name="maximum">
- <double>100.000000000000000</double>
+ <double>10000</double>
+ </property>
+ <property name="minimum">
+ <double>0</double>
</property>
<property name="singleStep">
- <double>0.100000000000000</double>
+ <double>0.01</double>
</property>
<property name="value">
- <double>100.000000000000000</double>
+ <double>0.01</double>
</property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QLabel" name="label_9">
+ <widget class="QLabel" name="LA_overlapdistance">
<property name="geometry">
<rect>
- <x>120</x>
+ <x>130</x>
<y>190</y>
- <width>521</width>
- <height>41</height>
+ <width>600</width>
+ <height>30</height>
</rect>
</property>
<property name="toolTip">
- <string>This parameter allows the user to prescribe a maximal size hmax
-for the mesh elements i.e., the lengths of the edges with respect to the specified
- size map. The corresponding values are either relative or absolute depending on the choosen parameter.
-The default values are automatically set based on the surface geometry (curvature dependent) and its
-bounding box size.
-Please note that, as it is not strictly possible to obey the given or computed size map, the actual maximal
-size may be slightly bigger than the prescribed ones.</string>
+ <string>sets the distance below which 2 unconnected triangles are considered overlapping.
+Reduce this value if too many overlaps are detected.
+Default is computed from model.</string>
</property>
<property name="text">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimal size allowed around vertices:</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">the lengths of the edges with respect to the specified size map.</p></td></tr></table></body></html></string>
+ <string>Distance threshold for two unconnected triangles overlapping
+(--overlap_distance)</string>
</property>
</widget>
- <widget class="QDoubleSpinBox" name="SP_MinSize">
+ <widget class="QCheckBox" name="CB_computedOverlapDistance">
<property name="geometry">
<rect>
- <x>10</x>
- <y>200</y>
- <width>91</width>
- <height>23</height>
+ <x>650</x>
+ <y>190</y>
+ <width>100</width>
+ <height>30</height>
</rect>
</property>
- <property name="minimum">
- <double>0.000000000000000</double>
+ <property name="toolTip">
+ <string>If set default value is computed from model.</string>
+ </property>
+ <property name="text">
+ <string>Computed</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+#6
+ <widget class="QDoubleSpinBox" name="SP_overlapAngle">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>230</y>
+ <width>100</width>
+ <height>25</height>
+ </rect>
</property>
<property name="maximum">
- <double>100.000000000000000</double>
+ <double>10000</double>
+ </property>
+ <property name="minimum">
+ <double>0</double>
</property>
<property name="singleStep">
- <double>0.100000000000000</double>
+ <double>1</double>
</property>
<property name="value">
- <double>5.000000000000000</double>
+ <double>15</double>
</property>
</widget>
- </widget>
- <widget class="QGroupBox" name="groupBox_3">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>440</y>
- <width>750</width>
- <height>60</height>
- </rect>
- </property>
- <property name="title">
- <string>You can enable :</string>
- </property>
- <widget class="QCheckBox" name="CB_SplitEdge">
+ <widget class="QLabel" name="LA_overlapAngle">
<property name="geometry">
<rect>
- <x>100</x>
- <y>20</y>
- <width>271</width>
- <height>23</height>
+ <x>130</x>
+ <y>230</y>
+ <width>600</width>
+ <height>30</height>
</rect>
</property>
<property name="toolTip">
- <string>if set, Yams creates new vertices placed on the curved surface and adds them to elements.
-It means one extra vertex on edge (P2 or quadratic triangles).
-New created vertices are saved in the .mesh file under keyword section Vertices</string>
+ <string>Sets the angle below which 2 unconnected triangles are considered overlapping.
+'Folding angle' is set to this angle if it is lower.
+Default is 15 degrees.</string>
</property>
<property name="text">
- <string>split edge</string>
- </property>
- <property name="checked">
- <bool>false</bool>
+ <string>Angle threshold for two unconnected triangles overlapping (--overlap_angle)</string>
</property>
</widget>
</widget>
<property name="geometry">
<rect>
<x>10</x>
- <y>30</y>
+ <y>10</y>
<width>750</width>
<height>130</height>
</rect>
</size>
</property>
<property name="text">
- <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
-<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
-<tr>
-<td style="border: none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory size (in Mbytes)</p></td></tr></table></body></html></string>
+ <string>zzz21</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="SP_Memory">
<property name="toolTip">
- <string>The program requires roughly about 370 bytes per point. It is thus possible to estimate a priori
-the required memory size to complete a job. As an example of memory space needed, a mesh
-of 543,652 points (1,087,716 triangles) requires 182 Mbytes (about 351 bytes per point). Conversely,
-a workstation having 512 Mbytes of memory can handle a mesh of about 2,750,000 points.
-The memory needed for mesh modification is allocated dynamically at the beginning of the procedure
-(data reading), based on the initial triangulation size. When the program reaches the amount of maximal
-memory allowed, it will stop inserting points and, if possible, the current mesh will be saved as it is,
-valid and conformal, provided the input mesh was valid and conformal.
-Specify the memory if:
-- the automatically allocated memory reveals insufficient when the user asked to enrich the given mesh;
-- you want to limit the amount of memory used by the program.
-If the input mesh size requires more memory than requested or if the allocated memory (user defined or not)
-exceeds the machine capabilities, the tool will stop because of insufficient memory.</string>
+ <string>zzz22</string>
</property>
<property name="maximum">
<number>100000</number>
<property name="geometry">
<rect>
<x>10</x>
- <y>230</y>
+ <y>150</y>
<width>750</width>
<height>140</height>
</rect>