Previously it was using this 'peak_height' which is the total height of the model in scale_vector.y. However it was then multiplying the height map with that scale vector and adding the base height again a second time. So the scaling part was too thick and included the base height, and the total height of the mesh was also too big.
I also reduced an unnecessary re-calculation of the height_from_base parameter. And as a result we don't need the peak_height variable at all any more.
Fixes#8902.
The DoubleValidator depends on the system locale, requiring users with certain locales to enter floats with a comma instead of a dot (though confusingly floats are always represented with a decimal a dot). Instead of configuring the DoubleValidator with a locale that only accepts decimal dots, this commit uses a RegExpValidator, like other numeric fields in Cura does.
Things to note:
* Since there is no VersionUpgrader from 4.8 to 4.9, this versionUpgrader attempts to upgrade
files made in 4.8. This means that it touches files with setting_version = 16.
* The upgrade of the setting_version to 18 is currently commented out because we are not entirely
sure that 18 will be the setting_version in 5.0.
* This versionUpgrader removes the following three settings that were removed in libArachne
* "Compensate Wall Overlaps"
* "Compensate Outer Wall Overlaps"
* "Compensate Inner Wall Overlaps"
* The VersionUpgrader also disabled Fuzzy Skin from any profiles that may have it enabled, as fuzzy
skin currently doesn't work in libArachne.
* The printer definitions have NOT been updated to the new setting_version to avoid having to deal
with an enormous merge conflict in case the setting_version of 5.0 is something other than 18.
* Since the VersionUpgrader does not alter the setting_version, it will run every time Cura starts.
In short, this versionUpgrader runs and removes the deleted settings but it does not really change
the setting_version of any files.
Contributes to CURA-7683 and CURA-7656
Also adds a "show starts" option to the SimulationViewMenuComponent and corresponding logic
SimulationPass.py adds a prev_line_types attribute to the shader, which the shader uses to compare with its line_type to detect starts.