mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Fix image reader peak height
CURA-7429
This commit is contained in:
parent
2ecd30d6a9
commit
5a3bcb6161
3 changed files with 8 additions and 4 deletions
|
@ -43,7 +43,7 @@ UM.Dialog
|
||||||
TextField {
|
TextField {
|
||||||
id: peak_height
|
id: peak_height
|
||||||
objectName: "Peak_Height"
|
objectName: "Peak_Height"
|
||||||
validator: RegExpValidator {regExp: /^-?\d{1,3}([\,|\.]\d*)?$/}
|
validator: RegExpValidator {regExp: /^\d{1,3}([\,|\.]\d*)?$/}
|
||||||
width: 180 * screenScaleFactor
|
width: 180 * screenScaleFactor
|
||||||
onTextChanged: { manager.onPeakHeightChanged(text) }
|
onTextChanged: { manager.onPeakHeightChanged(text) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ class ImageReader(MeshReader):
|
||||||
size = max(self._ui.getWidth(), self._ui.getDepth())
|
size = max(self._ui.getWidth(), self._ui.getDepth())
|
||||||
return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_transparency_model, self._ui.transmittance_1mm)
|
return self._generateSceneNode(file_name, size, self._ui.peak_height, self._ui.base_height, self._ui.smoothing, 512, self._ui.lighter_is_higher, self._ui.use_transparency_model, self._ui.transmittance_1mm)
|
||||||
|
|
||||||
def _generateSceneNode(self, file_name, xz_size, peak_height, base_height, blur_iterations, max_size, lighter_is_higher, use_transparency_model, transmittance_1mm):
|
def _generateSceneNode(self, file_name, xz_size, height_from_base, base_height, blur_iterations, max_size, lighter_is_higher, use_transparency_model, transmittance_1mm):
|
||||||
scene_node = SceneNode()
|
scene_node = SceneNode()
|
||||||
|
|
||||||
mesh = MeshBuilder()
|
mesh = MeshBuilder()
|
||||||
|
@ -68,8 +68,10 @@ class ImageReader(MeshReader):
|
||||||
if img.width() < 2 or img.height() < 2:
|
if img.width() < 2 or img.height() < 2:
|
||||||
img = img.scaled(width, height, Qt.IgnoreAspectRatio)
|
img = img.scaled(width, height, Qt.IgnoreAspectRatio)
|
||||||
|
|
||||||
|
height_from_base = max(height_from_base, 0)
|
||||||
base_height = max(base_height, 0)
|
base_height = max(base_height, 0)
|
||||||
peak_height = max(peak_height, -base_height)
|
peak_height = base_height + height_from_base
|
||||||
|
|
||||||
|
|
||||||
xz_size = max(xz_size, 1)
|
xz_size = max(xz_size, 1)
|
||||||
scale_vector = Vector(xz_size, peak_height, xz_size)
|
scale_vector = Vector(xz_size, peak_height, xz_size)
|
||||||
|
|
|
@ -155,8 +155,10 @@ class ImageReaderUI(QObject):
|
||||||
if len(value) > 0:
|
if len(value) > 0:
|
||||||
try:
|
try:
|
||||||
self.peak_height = float(value.replace(",", "."))
|
self.peak_height = float(value.replace(",", "."))
|
||||||
|
if self.peak_height < 0:
|
||||||
|
self.peak_height = 2.5
|
||||||
except ValueError: # Can happen with incomplete numbers, such as "-".
|
except ValueError: # Can happen with incomplete numbers, such as "-".
|
||||||
self._width = 0
|
self.peak_height = 2.5 # restore default
|
||||||
else:
|
else:
|
||||||
self.peak_height = 0
|
self.peak_height = 0
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue