Compare commits
1 Commits
feature/ht
...
fix/prewar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e42067171 |
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
2
.idea/OrcaSlicer.iml
generated
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module classpath="CMake" type="CPP_MODULE" version="4" />
|
||||
7
.idea/codeStyles/Project.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<clangFormatSettings>
|
||||
<option name="ENABLED" value="true" />
|
||||
</clangFormatSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||
</state>
|
||||
</component>
|
||||
4
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/OrcaSlicer.iml" filepath="$PROJECT_DIR$/.idea/OrcaSlicer.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -46,12 +46,3 @@ ctest --test-dir ./tests/fff_print
|
||||
- **Cross-platform** — all changes must work on Windows, macOS, and Linux
|
||||
- Profile/format changes need version migration handling
|
||||
- Dependencies built separately in `deps/build/`, then linked to main app
|
||||
|
||||
## Code review focus areas
|
||||
|
||||
- Changes must not cause regressions in existing functionality, defaults, profiles, or project compatibility.
|
||||
- Features gated by options must not affect existing behavior when those options are disabled.
|
||||
- Changes should follow the existing code style and architecture. Architectural changes should be justified in code comments and the PR description.
|
||||
- Add helper functions or utilities only when existing code cannot reasonably be reused. Avoid duplication.
|
||||
- Keep code concise and clear. Manually simplify AI generated bloated codes before review.
|
||||
- Include targeted tests or documented verification for behavior changes, especially in slicing logic, profiles, formats, and GUI defaults.
|
||||
|
||||
@@ -218,7 +218,7 @@ Open-source slicing has always been built on a tradition of collaboration and at
|
||||
|
||||
OrcaSlicer began in that same spirit, drawing from BambuStudio, PrusaSlicer, and ideas inspired by CuraSlicer and SuperSlicer. But it has since grown far beyond its origins. Through relentless innovation — introducing advanced calibration tools, precise wall and seam control, tree supports, adaptive slicing, and hundreds of other features — OrcaSlicer has become the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry.
|
||||
|
||||
The OrcaSlicer logo was designed by community member [Justin Levine](https://github.com/jal-co).
|
||||
The OrcaSlicer logo was designed by community member Justin Levine (@freejstnalxndr).
|
||||
|
||||
# License
|
||||
- **OrcaSlicer** is licensed under the GNU Affero General Public License, version 3.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon points=".5 .5 5.5 7.5 5.5 13.5 9.5 15.5 9.5 7.5 14.5 .5 .5 .5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/><line x1="8.64" y1="4.5" x2="10.19" y2="2.34" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 414 B |
|
Before Width: | Height: | Size: 353 B |
@@ -61,7 +61,7 @@
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 30 KiB |
@@ -97,7 +97,7 @@
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_ramming_volumetric_speed": [
|
||||
"-1"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 26 KiB |
@@ -14,7 +14,7 @@
|
||||
"15"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"8"
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"instantiation": "false",
|
||||
"fan_cooling_layer_time": "100",
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"30"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"3.6"
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"TPU"
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 5.3 KiB |
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 89 KiB |
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"15"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"8"
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"100"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_type": [
|
||||
"PLA"
|
||||
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 6.6 KiB |
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 10 KiB |
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 65 KiB |
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 7.2 KiB |
@@ -70,7 +70,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.8 KiB |
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 8.2 KiB |
@@ -67,7 +67,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"0"
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 6.0 KiB |
@@ -61,7 +61,7 @@
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"1.75"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
"nil"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"2.85"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
"0"
|
||||
],
|
||||
"filament_minimal_purge_on_wipe_tower": [
|
||||
"15"
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
#version 110
|
||||
|
||||
uniform sampler2D uniform_texture;
|
||||
uniform vec2 inv_tex_size;
|
||||
|
||||
varying vec2 tex_coord;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec3 rgbNW = texture2D(uniform_texture, tex_coord + vec2(-1.0, -1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbNE = texture2D(uniform_texture, tex_coord + vec2(1.0, -1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbSW = texture2D(uniform_texture, tex_coord + vec2(-1.0, 1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbSE = texture2D(uniform_texture, tex_coord + vec2(1.0, 1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbM = texture2D(uniform_texture, tex_coord).rgb;
|
||||
|
||||
vec3 luma_coeff = vec3(0.299, 0.587, 0.114);
|
||||
float lumaNW = dot(rgbNW, luma_coeff);
|
||||
float lumaNE = dot(rgbNE, luma_coeff);
|
||||
float lumaSW = dot(rgbSW, luma_coeff);
|
||||
float lumaSE = dot(rgbSE, luma_coeff);
|
||||
float lumaM = dot(rgbM, luma_coeff);
|
||||
|
||||
float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
|
||||
float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
|
||||
|
||||
vec2 dir;
|
||||
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
|
||||
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
|
||||
|
||||
const float FXAA_REDUCE_MIN = 1.0 / 128.0;
|
||||
const float FXAA_REDUCE_MUL = 1.0 / 8.0;
|
||||
const float FXAA_SPAN_MAX = 8.0;
|
||||
|
||||
float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
|
||||
float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);
|
||||
dir = min(vec2(FXAA_SPAN_MAX), max(vec2(-FXAA_SPAN_MAX), dir * rcpDirMin)) * inv_tex_size;
|
||||
|
||||
vec3 rgbA = 0.5 * (
|
||||
texture2D(uniform_texture, tex_coord + dir * (1.0 / 3.0 - 0.5)).rgb +
|
||||
texture2D(uniform_texture, tex_coord + dir * (2.0 / 3.0 - 0.5)).rgb
|
||||
);
|
||||
|
||||
vec3 rgbB = rgbA * 0.5 + 0.25 * (
|
||||
texture2D(uniform_texture, tex_coord + dir * -0.5).rgb +
|
||||
texture2D(uniform_texture, tex_coord + dir * 0.5).rgb
|
||||
);
|
||||
|
||||
float lumaB = dot(rgbB, luma_coeff);
|
||||
gl_FragColor = (lumaB < lumaMin || lumaB > lumaMax) ? vec4(rgbA, 1.0) : vec4(rgbB, 1.0);
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
#version 110
|
||||
|
||||
uniform mat4 view_model_matrix;
|
||||
uniform mat4 projection_matrix;
|
||||
|
||||
attribute vec3 v_position;
|
||||
attribute vec2 v_tex_coord;
|
||||
|
||||
varying vec2 tex_coord;
|
||||
|
||||
void main()
|
||||
{
|
||||
tex_coord = v_tex_coord;
|
||||
gl_Position = projection_matrix * view_model_matrix * vec4(v_position, 1.0);
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
#version 140
|
||||
|
||||
uniform sampler2D uniform_texture;
|
||||
uniform vec2 inv_tex_size;
|
||||
|
||||
in vec2 tex_coord;
|
||||
|
||||
out vec4 out_color;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec3 rgbNW = texture(uniform_texture, tex_coord + vec2(-1.0, -1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbNE = texture(uniform_texture, tex_coord + vec2(1.0, -1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbSW = texture(uniform_texture, tex_coord + vec2(-1.0, 1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbSE = texture(uniform_texture, tex_coord + vec2(1.0, 1.0) * inv_tex_size).rgb;
|
||||
vec3 rgbM = texture(uniform_texture, tex_coord).rgb;
|
||||
|
||||
vec3 luma_coeff = vec3(0.299, 0.587, 0.114);
|
||||
float lumaNW = dot(rgbNW, luma_coeff);
|
||||
float lumaNE = dot(rgbNE, luma_coeff);
|
||||
float lumaSW = dot(rgbSW, luma_coeff);
|
||||
float lumaSE = dot(rgbSE, luma_coeff);
|
||||
float lumaM = dot(rgbM, luma_coeff);
|
||||
|
||||
float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
|
||||
float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
|
||||
|
||||
vec2 dir;
|
||||
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
|
||||
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
|
||||
|
||||
const float FXAA_REDUCE_MIN = 1.0 / 128.0;
|
||||
const float FXAA_REDUCE_MUL = 1.0 / 8.0;
|
||||
const float FXAA_SPAN_MAX = 8.0;
|
||||
|
||||
float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
|
||||
float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);
|
||||
dir = min(vec2(FXAA_SPAN_MAX), max(vec2(-FXAA_SPAN_MAX), dir * rcpDirMin)) * inv_tex_size;
|
||||
|
||||
vec3 rgbA = 0.5 * (
|
||||
texture(uniform_texture, tex_coord + dir * (1.0 / 3.0 - 0.5)).rgb +
|
||||
texture(uniform_texture, tex_coord + dir * (2.0 / 3.0 - 0.5)).rgb
|
||||
);
|
||||
|
||||
vec3 rgbB = rgbA * 0.5 + 0.25 * (
|
||||
texture(uniform_texture, tex_coord + dir * -0.5).rgb +
|
||||
texture(uniform_texture, tex_coord + dir * 0.5).rgb
|
||||
);
|
||||
|
||||
float lumaB = dot(rgbB, luma_coeff);
|
||||
out_color = (lumaB < lumaMin || lumaB > lumaMax) ? vec4(rgbA, 1.0) : vec4(rgbB, 1.0);
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
#version 140
|
||||
|
||||
uniform mat4 view_model_matrix;
|
||||
uniform mat4 projection_matrix;
|
||||
|
||||
in vec3 v_position;
|
||||
in vec2 v_tex_coord;
|
||||
|
||||
out vec2 tex_coord;
|
||||
|
||||
void main()
|
||||
{
|
||||
tex_coord = v_tex_coord;
|
||||
gl_Position = projection_matrix * view_model_matrix * vec4(v_position, 1.0);
|
||||
}
|
||||
@@ -17,11 +17,11 @@ var LangText = {
|
||||
t15: "Printer",
|
||||
t16: "Filament type",
|
||||
t17: "Vendor",
|
||||
t18: "Error",
|
||||
t18: "error",
|
||||
t19: "At least one filament must be selected.",
|
||||
t20: "Do you want to use default filament ?",
|
||||
t21: "Yes",
|
||||
t22: "No",
|
||||
t21: "yes",
|
||||
t22: "no",
|
||||
t23: "Release note",
|
||||
t24: "Get Started",
|
||||
t25: "Finish",
|
||||
@@ -35,7 +35,7 @@ var LangText = {
|
||||
t33: "Open Project",
|
||||
t34: "hotspot",
|
||||
t35: "Recently opened",
|
||||
t36: "OK",
|
||||
t36: "ok",
|
||||
t37: "At least one printer must be selected.",
|
||||
t38: "Cancel",
|
||||
t39: "Confirm",
|
||||
@@ -107,7 +107,7 @@ var LangText = {
|
||||
t113: "You may change your choice in preference anytime.",
|
||||
t126: "Loading……",
|
||||
orca1: "Edit Project Info",
|
||||
orca2: "No model information",
|
||||
orca2: "no model information",
|
||||
orca3: "Stealth Mode",
|
||||
orca4: "This stops the transmission of data to Bambu's cloud services. Users who don't use BBL machines or use LAN mode only can safely turn on this function.",
|
||||
orca5: "Enable Stealth Mode.",
|
||||
@@ -131,7 +131,7 @@ var LangText = {
|
||||
t15: "Impressora",
|
||||
t16: "Tipus de filament",
|
||||
t17: "Proveïdor",
|
||||
t18: "Error",
|
||||
t18: "error",
|
||||
t19: "S'ha de seleccionar almenys un filament.",
|
||||
t20: "Vols utilitzar el filament per defecte?",
|
||||
t21: "sí",
|
||||
@@ -149,7 +149,7 @@ var LangText = {
|
||||
t33: "Obrir Projecte",
|
||||
t34: "hotspot",
|
||||
t35: "Obert recentment",
|
||||
t36: "D'acord",
|
||||
t36: "d'acord",
|
||||
t37: "S'ha de seleccionar almenys una impressora.",
|
||||
t38: "Cancel·lar",
|
||||
t39: "Confirmar",
|
||||
@@ -220,7 +220,7 @@ var LangText = {
|
||||
t112: "Unir-se al Programa",
|
||||
t113: "Pots canviar la teva elecció en les preferències en qualsevol moment.",
|
||||
orca1: "Editar Informació del Projecte",
|
||||
orca2: "No hi ha informació del model",
|
||||
orca2: "no hi ha informació del model",
|
||||
orca6: "Bambu Cloud",
|
||||
},
|
||||
es_ES: {
|
||||
@@ -241,11 +241,11 @@ var LangText = {
|
||||
t15: "Impresora",
|
||||
t16: "Tipo de filamento",
|
||||
t17: "Fabricante",
|
||||
t18: "Error",
|
||||
t18: "error",
|
||||
t19: "Al menos se debe seleccionar un filamento.",
|
||||
t20: "¿Desea usar el filamento por defecto?",
|
||||
t21: "Sí",
|
||||
t22: "No",
|
||||
t21: "sí",
|
||||
t22: "no",
|
||||
t23: "Notas de la versión",
|
||||
t24: "Comenzar",
|
||||
t25: "Finalizar",
|
||||
@@ -259,7 +259,7 @@ var LangText = {
|
||||
t33: "Abrir proyecto",
|
||||
t34: "punto de acceso",
|
||||
t35: "Abiertos recientemente",
|
||||
t36: "OK",
|
||||
t36: "ok",
|
||||
t37: "Al menos se debe seleccionar una impresora.",
|
||||
t38: "Cancelar",
|
||||
t39: "Confirmar",
|
||||
@@ -355,11 +355,11 @@ var LangText = {
|
||||
t15: "Stampante",
|
||||
t16: "Tipo di filamento",
|
||||
t17: "Produttore",
|
||||
t18: "Errore",
|
||||
t18: "errore",
|
||||
t19: "È necessario selezionare almeno un filamento.",
|
||||
t20: "Vuoi utilizzare il filamento predefinito?",
|
||||
t21: "Sì",
|
||||
t22: "No",
|
||||
t21: "sì",
|
||||
t22: "no",
|
||||
t23: "Note di rilascio",
|
||||
t24: "Inizia",
|
||||
t25: "Fine",
|
||||
@@ -373,7 +373,7 @@ var LangText = {
|
||||
t33: "Apri progetto",
|
||||
t34: "hotspot",
|
||||
t35: "Aperti di recente",
|
||||
t36: "OK",
|
||||
t36: "ok",
|
||||
t37: "È necessario selezionare almeno una stampante.",
|
||||
t38: "Annulla",
|
||||
t39: "Conferma",
|
||||
@@ -444,7 +444,7 @@ var LangText = {
|
||||
t112: "Unisciti al programma",
|
||||
t113: "Puoi modificare la tua scelta in 'Preferenze' in qualsiasi momento.",
|
||||
orca1: "Modifica informazioni progetto",
|
||||
orca2: "Nessuna informazione sul modello",
|
||||
orca2: "nessuna informazione sul modello",
|
||||
orca3: "Modalità invisibile",
|
||||
orca4: "Con questa modalità, la trasmissione dei dati ai servizi cloud di Bambu sarà interrotta. Gli utenti che non utilizzano macchine BBL o che usano solo la modalità LAN possono attivare questa funzione in modo sicuro.",
|
||||
orca5: "Abilita la modalità invisibile.",
|
||||
@@ -551,7 +551,7 @@ var LangText = {
|
||||
t106: "Profilbeschreibung",
|
||||
t126: "Laden……",
|
||||
orca1: "Edit Project Info",
|
||||
orca2: "No model information",
|
||||
orca2: "no model information",
|
||||
orca6: "Bambu Cloud",
|
||||
},
|
||||
cs_CZ: {
|
||||
@@ -655,7 +655,7 @@ var LangText = {
|
||||
t106: "Popis profilu",
|
||||
t126: "Načtení probíhá……",
|
||||
orca1: "Edit Project Info",
|
||||
orca2: "No model information",
|
||||
orca2: "no model information",
|
||||
orca6: "Bambu Cloud",
|
||||
},
|
||||
fr_FR: {
|
||||
@@ -676,11 +676,11 @@ var LangText = {
|
||||
t15: "Imprimante",
|
||||
t16: "Type de filament",
|
||||
t17: "Fournisseur",
|
||||
t18: "Erreur",
|
||||
t18: "erreur",
|
||||
t19: "Au moins un filament doit être sélectionné.",
|
||||
t20: "Voulez-vous utiliser le filament par défaut ?",
|
||||
t21: "Oui",
|
||||
t22: "Non",
|
||||
t21: "oui",
|
||||
t22: "non",
|
||||
t23: "Note de version",
|
||||
t24: "Commencer",
|
||||
t25: "Terminer",
|
||||
@@ -694,7 +694,7 @@ var LangText = {
|
||||
t33: "Ouvrir un Projet",
|
||||
t34: "hotspot",
|
||||
t35: "Récemment ouvert",
|
||||
t36: "OK",
|
||||
t36: "ok",
|
||||
t37: "Au moins une imprimante doit être sélectionnée.",
|
||||
t38: "Annuler",
|
||||
t39: "Confirmer",
|
||||
@@ -762,7 +762,7 @@ var LangText = {
|
||||
t111: "Créer un nouveau filament",
|
||||
t126: "Chargement en cours……",
|
||||
orca1: "Modifier les informations du projet",
|
||||
orca2: "Pas d'information sur le modèle",
|
||||
orca2: "pas d'information sur le modèle",
|
||||
wk1: "Démarrage rapide",
|
||||
wk2: "Cet article présente l'utilisation la plus basique de Orca Slicer. Il guide les utilisateurs pour configurer le logiciel, créer des projets et effectuer la première tâche d'impression étape par étape.",
|
||||
wk3: "Workflow basé sur des projets",
|
||||
@@ -1032,11 +1032,11 @@ var LangText = {
|
||||
t15: "Принтер",
|
||||
t16: "Тип материала",
|
||||
t17: "Производитель",
|
||||
t18: "Oшибка",
|
||||
t18: "ошибка",
|
||||
t19: "Должна быть выбрана хотя бы одна пластиковая нить.",
|
||||
t20: "Выбрать пластиковые нити по умолчанию?",
|
||||
t21: "Да",
|
||||
t22: "Нет",
|
||||
t21: "да",
|
||||
t22: "нет",
|
||||
t23: "Информация о версии",
|
||||
t24: "Начать",
|
||||
t25: "Закончить",
|
||||
@@ -1218,7 +1218,7 @@ var LangText = {
|
||||
t94: "장치를 보려면 프린터 연결을 설정하세요.",
|
||||
t126: "로딩 중……",
|
||||
orca1: "Edit Project Info",
|
||||
orca2: "No model information",
|
||||
orca2: "no model information",
|
||||
orca6: "Bambu Cloud",
|
||||
},
|
||||
tr_TR: {
|
||||
@@ -1257,7 +1257,7 @@ var LangText = {
|
||||
t33: "Projeyi Aç",
|
||||
t34: "Erişim noktası",
|
||||
t35: "Yakın zamanda açıldı",
|
||||
t36: "OK",
|
||||
t36: "Ok",
|
||||
t37: "En az bir yazıcı seçilmelidir.",
|
||||
t38: "İptal Et",
|
||||
t39: "Onayla",
|
||||
@@ -1329,7 +1329,7 @@ var LangText = {
|
||||
t113: "Tercihinizi istediğiniz zaman değiştirebilirsiniz.",
|
||||
t126: "Yükleme devam ediyor……",
|
||||
orca1: "Proje Bilgilerini Düzenle",
|
||||
orca2: "Model bilgisi yok",
|
||||
orca2: "model bilgisi yok",
|
||||
orca3: "Gizli Mod",
|
||||
orca4: "Bu, Bambu'nun bulut hizmetlerine veri iletimini durdurur. BBL makinelerini kullanmayan veya yalnızca LAN modunu kullanan kullanıcılar bu işlevi güvenle açabilir.",
|
||||
orca5: "Gizli Modu etkinleştirin.",
|
||||
@@ -1353,11 +1353,11 @@ var LangText = {
|
||||
t15: "Drukarka",
|
||||
t16: "Typ filamentu",
|
||||
t17: "Dostawca",
|
||||
t18: "Błąd",
|
||||
t18: "błąd",
|
||||
t19: "Przynajmniej jeden filament musi być wybrany.",
|
||||
t20: "Czy chcesz użyć domyślnego filamentu?",
|
||||
t21: "Tak",
|
||||
t22: "Nie",
|
||||
t21: "tak",
|
||||
t22: "nie",
|
||||
t23: "Informacje o wydaniu",
|
||||
t24: "Rozpocznij",
|
||||
t25: "Zakończ",
|
||||
@@ -1371,7 +1371,7 @@ var LangText = {
|
||||
t33: "Otwórz Projekt",
|
||||
t34: "hotspot",
|
||||
t35: "Ostatnio otwarte",
|
||||
t36: "OK",
|
||||
t36: "ok",
|
||||
t37: "Przynajmniej jedna drukarka musi być wybrana.",
|
||||
t38: "Anuluj",
|
||||
t39: "Potwierdź",
|
||||
@@ -1443,7 +1443,7 @@ var LangText = {
|
||||
t113: "Możesz zmienić swój wybór w preferencjach w dowolnym momencie.",
|
||||
t126: "Ładowanie trwa……",
|
||||
orca1: "Edytuj informacje o projekcie",
|
||||
orca2: "Brak informacji o modelu",
|
||||
orca2: "brak informacji o modelu",
|
||||
orca3: "Tryb «Niewidzialny»",
|
||||
orca4: "To wyłączy przesyłanie danych do usług chmurowych Bambu. Użytkownicy, którzy nie korzystają z maszyn BBL lub używają tylko trybu LAN, mogą bez obaw włączyć tę opcję.",
|
||||
orca5: "Włącz tryb «Niewidzialny»",
|
||||
@@ -1485,7 +1485,7 @@ var LangText = {
|
||||
t33: "Abrir Projeto",
|
||||
t34: "hotspot",
|
||||
t35: "Aberto Recentemente",
|
||||
t36: "OK",
|
||||
t36: "Ok",
|
||||
t37: "Pelo menos uma impressora deve ser selecionada.",
|
||||
t38: "Cancelar",
|
||||
t39: "Confirmar",
|
||||
@@ -1581,11 +1581,11 @@ var LangText = {
|
||||
t15: "Spausdintuvas",
|
||||
t16: "Gijos tipas",
|
||||
t17: "Gamintojas",
|
||||
t18: "Klaida",
|
||||
t18: "klaida",
|
||||
t19: "Turi būti pasirinkta bent viena gija.",
|
||||
t20: "Ar norite naudoti numatytąją giją?",
|
||||
t21: "Taip",
|
||||
t22: "Ne",
|
||||
t21: "taip",
|
||||
t22: "ne",
|
||||
t23: "Išleidimo pastabos",
|
||||
t24: "Pradėti",
|
||||
t25: "Pabaigti",
|
||||
@@ -1599,7 +1599,7 @@ var LangText = {
|
||||
t33: "Atverti projektą",
|
||||
t34: "Prieigos taškas",
|
||||
t35: "Neseniai atidaryti",
|
||||
t36: "Gerai",
|
||||
t36: "gerai",
|
||||
t37: "Turi būti pasirinktas bent vienas spausdintuvas.",
|
||||
t38: "Atšaukti",
|
||||
t39: "Patvirtinti",
|
||||
@@ -1670,7 +1670,7 @@ var LangText = {
|
||||
t112: "Prisijungti prie programos",
|
||||
t113: "Savo pasirinkimą galite bet kada pakeisti.",
|
||||
orca1: "Redaguoti projekto informaciją",
|
||||
orca2: "Nėra informacijos apie modelį",
|
||||
orca2: "nėra informacijos apie modelį",
|
||||
orca3: "Slaptas režimas",
|
||||
orca4: "Tai sustabdo duomenų perdavimą į Bambu debesijos paslaugas. Vartotojai, kurie nenaudoja BBL mašinų arba naudoja tik LAN režimą, gali drąsiai įjungti šią funkciją.",
|
||||
orca5: "Įjungti slaptą režimą.",
|
||||
|
||||
@@ -148,6 +148,29 @@
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 6px 9px;
|
||||
border: 1px solid #dbdbdb;
|
||||
border-radius: 3px;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
appearance: auto;
|
||||
background-color: white;
|
||||
color: black;
|
||||
}
|
||||
|
||||
select option {
|
||||
background-color: white;
|
||||
color: black;
|
||||
}
|
||||
|
||||
select:hover,
|
||||
select:focus {
|
||||
outline: none;
|
||||
border-color: #26A69A;
|
||||
background-color: #edfaf2;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
@@ -220,6 +243,11 @@
|
||||
position: sticky;
|
||||
z-index: 11;
|
||||
}
|
||||
body.dark-mode select {
|
||||
background-color: #2d2d31;
|
||||
color: white;
|
||||
border-color: #4c4c55;
|
||||
}
|
||||
|
||||
body.dark-mode .warning-text {
|
||||
color: #f44336;
|
||||
@@ -253,16 +281,13 @@
|
||||
>
|
||||
Re-Calculate
|
||||
</div>
|
||||
<div class="ComboBox">
|
||||
<div class="arrow-icon"></div>
|
||||
<select
|
||||
id="extruders"
|
||||
onchange="handleExtruderSelect(document.getElementById('extruders').value)"
|
||||
>
|
||||
<option value="left" id="extruder_label_0">Left Nozzle</option>
|
||||
<option value="right" id="extruder_label_1">Right Nozzle</option>
|
||||
</select>
|
||||
</div>
|
||||
<select
|
||||
id="extruders"
|
||||
onchange="handleExtruderSelect(document.getElementById('extruders').value)"
|
||||
>
|
||||
<option value="left" id="extruder_label_0">Left Nozzle</option>
|
||||
<option value="right" id="extruder_label_1">Right Nozzle</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="scroll-container">
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
<div id="EmptyArea">
|
||||
<div><img src="img/null.png"></div>
|
||||
<div class="Text_Title Text_Bold trans" tid='orca2'>No model information</div>
|
||||
<div class="Text_Title Text_Bold trans" tid='orca2'>no model information</div>
|
||||
<div id="AddModelInfoBtn" class="ButtonStyleConfirm ButtonTypeWindow trans" tid='orca1' onClick="OnClickEditProjectInfo()">Edit Project Info</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -380,5 +380,4 @@ body
|
||||
#AddModelInfoBtn
|
||||
{
|
||||
margin-top: 20px;
|
||||
margin-right:0;
|
||||
}
|
||||
@@ -4456,7 +4456,7 @@ int CLI::run(int argc, char **argv)
|
||||
size_t num_objects = model.objects.size();
|
||||
for (size_t i = 0; i < num_objects; ++ i) {
|
||||
ModelObjectPtrs new_objects;
|
||||
model.objects.front()->split(&new_objects, false); // TODO: add cli option to enable this?
|
||||
model.objects.front()->split(&new_objects);
|
||||
model.delete_object(size_t(0));
|
||||
}
|
||||
}
|
||||
@@ -6435,7 +6435,6 @@ int CLI::run(int argc, char **argv)
|
||||
glfwGetVersion(&gl_major, &gl_minor, &gl_verbos);
|
||||
BOOST_LOG_TRIVIAL(info) << boost::format("opengl version %1%.%2%.%3%")%gl_major %gl_minor %gl_verbos;
|
||||
|
||||
bool thumbnail_opengl_ready = false;
|
||||
glfwSetErrorCallback(glfw_callback);
|
||||
int ret = glfwInit();
|
||||
if (ret == GLFW_FALSE) {
|
||||
@@ -6464,22 +6463,13 @@ int CLI::run(int argc, char **argv)
|
||||
GLFWwindow* window = glfwCreateWindow(640, 480, "base_window", NULL, NULL);
|
||||
if (window == NULL)
|
||||
{
|
||||
BOOST_LOG_TRIVIAL(error) << "Failed to create GLFW window; skipping thumbnail rendering for CLI export" << std::endl;
|
||||
BOOST_LOG_TRIVIAL(error) << "Failed to create GLFW window" << std::endl;
|
||||
}
|
||||
else {
|
||||
else
|
||||
glfwMakeContextCurrent(window);
|
||||
thumbnail_opengl_ready = true;
|
||||
}
|
||||
}
|
||||
|
||||
//opengl manager related logic
|
||||
if (!thumbnail_opengl_ready) {
|
||||
BOOST_LOG_TRIVIAL(error) << "OpenGL context unavailable; skip thumbnail generating" << std::endl;
|
||||
need_create_thumbnail_group = false;
|
||||
need_create_no_light_group = false;
|
||||
need_create_top_group = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
GUI::OpenGLManager opengl_mgr;
|
||||
bool opengl_valid = opengl_mgr.init_gl(false);
|
||||
|
||||
@@ -31,11 +31,16 @@ function(encoding_check TARGET)
|
||||
# Define top-level encoding check target for this ${TARGET}
|
||||
add_custom_target(encoding-check-${TARGET}
|
||||
DEPENDS encoding-check ${T_SOURCES}
|
||||
COMMAND $<TARGET_FILE:encoding-check> ${TARGET} ${T_SOURCES}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "Checking source files encodings for target ${TARGET}"
|
||||
)
|
||||
|
||||
# Add checking of each source file as a subcommand of encoding-check-${TARGET}
|
||||
foreach(file ${T_SOURCES})
|
||||
add_custom_command(TARGET encoding-check-${TARGET} PRE_BUILD
|
||||
COMMAND $<TARGET_FILE:encoding-check> ${TARGET} ${file}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
endforeach()
|
||||
|
||||
# This adds dependency on encoding-check-${TARGET} to ${TARET}
|
||||
# via the global-encoding-check
|
||||
|
||||
@@ -69,24 +69,28 @@ unsigned char *utf8_check(unsigned char *s)
|
||||
}
|
||||
|
||||
|
||||
static const char* target;
|
||||
|
||||
void error_exit(const char* error, const char* filename)
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
std::cerr << "\n\tError: " << error << ": " << filename << "\n"
|
||||
<< "\tTarget: " << target << "\n"
|
||||
<< std::endl;
|
||||
std::exit(-2);
|
||||
}
|
||||
if (argc != 3) {
|
||||
std::cerr << "Usage: " << argv[0] << " <program/library> <file>" << std::endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
const char* target = argv[1];
|
||||
const char* filename = argv[2];
|
||||
|
||||
const auto error_exit = [=](const char* error) {
|
||||
std::cerr << "\n\tError: " << error << ": " << filename << "\n"
|
||||
<< "\tTarget: " << target << "\n"
|
||||
<< std::endl;
|
||||
std::exit(-2);
|
||||
};
|
||||
|
||||
void utf8_check_file(const char* filename)
|
||||
{
|
||||
std::ifstream file(filename, std::ios::binary | std::ios::ate);
|
||||
const auto size = file.tellg();
|
||||
|
||||
if (size == 0) {
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
file.seekg(0, std::ios::beg);
|
||||
@@ -97,7 +101,7 @@ void utf8_check_file(const char* filename)
|
||||
|
||||
// Check UTF-8 validity
|
||||
if (utf8_check(reinterpret_cast<unsigned char*>(buffer.data())) != nullptr) {
|
||||
error_exit("Source file does not contain (valid) UTF-8", filename);
|
||||
error_exit("Source file does not contain (valid) UTF-8");
|
||||
}
|
||||
|
||||
// Check against a BOM mark
|
||||
@@ -105,25 +109,10 @@ void utf8_check_file(const char* filename)
|
||||
&& buffer[0] == '\xef'
|
||||
&& buffer[1] == '\xbb'
|
||||
&& buffer[2] == '\xbf') {
|
||||
error_exit("Source file is valid UTF-8 but contains a BOM mark", filename);
|
||||
error_exit("Source file is valid UTF-8 but contains a BOM mark");
|
||||
}
|
||||
} else {
|
||||
error_exit("Could not read source file", filename);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
if (argc < 3) {
|
||||
std::cerr << "Usage: " << argv[0] << " <program/library> <file[s]>" << std::endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
target = argv[1];
|
||||
|
||||
for (int i = 2; i < argc; i++) {
|
||||
utf8_check_file(argv[i]);
|
||||
error_exit("Could not read source file");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -212,14 +212,8 @@ void AppConfig::set_defaults()
|
||||
if (get("camera_navigation_style").empty())
|
||||
set("camera_navigation_style", "0");
|
||||
|
||||
if (get("left_mouse_drag_action").empty())
|
||||
set("left_mouse_drag_action", "2");
|
||||
|
||||
if (get("middle_mouse_drag_action").empty())
|
||||
set("middle_mouse_drag_action", "1");
|
||||
|
||||
if (get("right_mouse_drag_action").empty())
|
||||
set("right_mouse_drag_action", "1");
|
||||
if (get("swap_mouse_buttons").empty())
|
||||
set_bool("swap_mouse_buttons", false);
|
||||
|
||||
if (get("reverse_mouse_wheel_zoom").empty())
|
||||
set_bool("reverse_mouse_wheel_zoom", false);
|
||||
@@ -236,29 +230,6 @@ void AppConfig::set_defaults()
|
||||
if (get("camera_orbit_mult").empty())
|
||||
set("camera_orbit_mult", "1.0");
|
||||
|
||||
if (get(SETTING_OPENGL_AA_SAMPLES).empty())
|
||||
set(SETTING_OPENGL_AA_SAMPLES, "4");
|
||||
|
||||
if (get(SETTING_OPENGL_FXAA_ENABLED).empty())
|
||||
set_bool(SETTING_OPENGL_FXAA_ENABLED, false);
|
||||
|
||||
if (get(SETTING_OPENGL_FPS_CAP).empty())
|
||||
set(SETTING_OPENGL_FPS_CAP, "0");
|
||||
else {
|
||||
int fps_cap = 0;
|
||||
try {
|
||||
fps_cap = std::stoi(get(SETTING_OPENGL_FPS_CAP));
|
||||
}
|
||||
catch (...) {
|
||||
fps_cap = 0;
|
||||
}
|
||||
fps_cap = std::max(0, std::min(fps_cap, 240));
|
||||
set(SETTING_OPENGL_FPS_CAP, std::to_string(fps_cap));
|
||||
}
|
||||
|
||||
if (get(SETTING_OPENGL_SHOW_FPS_OVERLAY).empty())
|
||||
set_bool(SETTING_OPENGL_SHOW_FPS_OVERLAY, false);
|
||||
|
||||
if (get("export_sources_full_pathnames").empty())
|
||||
set_bool("export_sources_full_pathnames", false);
|
||||
|
||||
@@ -863,10 +834,8 @@ std::string AppConfig::load()
|
||||
|
||||
void AppConfig::save()
|
||||
{
|
||||
if (!is_main_thread_active()) {
|
||||
BOOST_LOG_TRIVIAL(fatal) << "Calling AppConfig::save() from a worker thread!";
|
||||
if (! is_main_thread_active())
|
||||
throw CriticalException("Calling AppConfig::save() from a worker thread!");
|
||||
}
|
||||
|
||||
// The config is first written to a file with a PID suffix and then moved
|
||||
// to avoid race conditions with multiple instances of Slic3r
|
||||
|
||||
@@ -30,10 +30,6 @@ using namespace nlohmann;
|
||||
#define SETTING_NETWORK_PLUGIN_REMIND_LATER "network_plugin_remind_later"
|
||||
#define SETTING_USE_ENCRYPTED_TOKEN_FILE "use_encrypted_token_file"
|
||||
#define SETTING_CLOUD_PROVIDERS "cloud_providers"
|
||||
#define SETTING_OPENGL_AA_SAMPLES "opengl_antialiasing_samples"
|
||||
#define SETTING_OPENGL_FXAA_ENABLED "opengl_fxaa_enabled"
|
||||
#define SETTING_OPENGL_FPS_CAP "opengl_fps_cap"
|
||||
#define SETTING_OPENGL_SHOW_FPS_OVERLAY "opengl_show_fps_overlay"
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
#define BAMBU_NETWORK_AGENT_VERSION_LEGACY "01.10.01.09"
|
||||
|
||||