robnee
745a12c3c4
permit construction geometry toggle while drawing
2021-02-23 10:13:29 -05:00
ruevs
47c3209b48
Win32: If the main or text window is off-screen make it visible...
...
...by 1/40th of the scrreen width so that the user can notice it.
This can happen if the window was on a second monitor, which is
disconnected, or if the user knows about `Alt-Space | Move` and then
moving the window with the arrow keys.
Before this, if for example the left edge was off-screen it was moved
to 1920, which is just off-screen, so the window remained invisible.
Fixes : #938
2021-02-18 09:52:25 -05:00
robnee
04e872a61f
remember auto-removed constraints for undo
2021-02-16 11:49:32 -05:00
robnee
7795b0bc19
mark group dirty when toggling reference dimension
2021-02-07 18:18:50 -05:00
ruevs
1c5c4c048c
Fix a crash when opening an empty file.
...
Fixes: https://github.com/solvespace/solvespace/issues/918
The problem was that here:
11a8a0abd5/src/file.cpp (L480)
we cleared all groups. Then we tried to read an empty file and therefore this `while` exited immediately:
11a8a0abd5/src/file.cpp (L487)
and we came to here:
11a8a0abd5/src/file.cpp (L548)
where there was no `fileLoadError` and thus we were left with no groups, and so this assert failed:
11a8a0abd5/src/graphicswin.cpp (L394)
since is is not allowed to have no groups :-)
2021-02-03 18:14:29 -05:00
robnee
11a8a0abd5
do not Invalidate() when dragging new points to prevent refresh bugs on Windows
2021-01-30 21:36:54 -05:00
phkahler
ebb194eda6
Add version command to solvespace-cli
2021-01-26 16:57:48 -05:00
Ryan Pavlik
0404cd46ef
Standardize how we refer to the other javascript files we include, too.
2021-01-23 11:38:36 -05:00
Ryan Pavlik
d16e33ac48
Update to THREE.js revision 111 as found in Debian Testing
...
Required some small JavaScript changes to replace deprecated usage.
2021-01-23 11:38:36 -05:00
phkahler
d3951afb12
GTK: Fix a warning for file->open dialogs.
...
SetCurrentName only applies to save dialogs, so call it conditionally.
2021-01-17 18:07:52 -05:00
ruevs
0adb13c5e8
Change "Dim Solid for Sketch Groups" to "Darken Inactive Solids"
...
Discussion here:
https://github.com/solvespace/solvespace/issues/890
2021-01-17 13:47:14 -05:00
Jonathan Westhues
76589a8a87
Fix SpaceNavigator type 6DOF controllers on Windows.
...
We were creating the event but never dispatching it.
2021-01-15 16:50:38 -08:00
phkahler
41c81a71c1
Override minimum displayed digits as needed to avoid showing zero.
2021-01-13 19:56:06 -05:00
ruevs
bd41485ebe
Correct toolbar height calculation ( #885 )
...
The toolbar height is
`int fudge = 8;`
`int h = 32*18 + 3*16 + fudge;`
It means 18 icons 32 pixels each and 3 separators 16 pixels each.
`32*18 + 3*16 + 8 = 632`
`36*16 + 3*16 + 8 = 632`
See these correct increases of the toolbar height:
bf4de993cb/toolbar.cpp (L97)
fe2ea5d5e1/toolbar.cpp (L103)
ef5db2132e/src/toolbar.cpp (L112)
ca2aad7fea/src/toolbar.cpp (L145)
And then these incorrect ones:
3e3ccdca8d/src/toolbar.cpp (L156)
https://github.com/ruevs/solvespace/blame/master/src/toolbar.cpp#L160
In addition
https://github.com/ruevs/solvespace/blob/master/src/drawentity.cpp#L618
the point at which the XYZ axis are shifted right so that they do not
overlap with the toolbar is corrected.
The original discussion is here: d45e2c4c2e
2021-01-10 10:33:26 -05:00
ruevs
758095adb3
Win32: Avoid the "Default Beep" sound in "Еrror" and "Message" dialogs ( #881 )
...
On Windows SolveSpace 2.3 uses a plain dialog for `SolveSpace::Error` and
`SolveSpace::Message` with no icon and no system beep. After the GUI
abstraction was reworked this changed to the default system message boxes
(using MessageBoxIndirectW) that play the "Default Beep" sound and show
red "X" and blue "i" icons respectively.
The beep is annoying since the error and message dialogs are used often to
show required conditions for constraints, new groups and other behaviors.
This disables the beep and uses the SolveSpace icon.
Fixes: 719
2021-01-09 17:31:25 -05:00
ruevs
82698b19a3
Update the year in the About dialog
2021-01-09 23:37:31 +02:00
phkahler
d45e2c4c2e
Add toolbar icons for Revolve and Helix created by jkrei0 in issue #857 . ( #878 )
2021-01-09 12:27:27 -05:00
ruevs
3e3ccdca8d
Revert "Clean up paste transformed and constrain operations a bit."
...
This reverts commit 14e837a45f
.
Fixes a regression described here:
https://github.com/solvespace/solvespace/issues/875
2021-01-08 21:40:34 +02:00
Koen Schmeets
222c80e4c1
Add OpenMP debug information to conf screen ( #869 )
...
* Add OpenMP debug information to conf screen
* Revert casing and whitespace in CMakeLists.txt
* Remove unnecessary comment src/CMakeLists.txt
2020-12-29 14:09:10 -05:00
phkahler
440ea554c9
Add menu checkbox Dim Solid for Sketch Groups.
...
Makes shadowing the solid optional for sketch in 2d/3d groups. Handy for making dimensioned drawings by putting dims in their own group. #834
2020-12-29 14:08:45 -05:00
ruevs
14e837a45f
Clean up paste transformed and constrain operations a bit.
2020-12-22 20:40:50 +02:00
Koen Schmeets
96958f4663
Fix paste transformed not correcting tangent arcs when mirrored ( #833 )
2020-12-22 14:09:31 +01:00
Koen Schmeets
679e2b9202
Fix an off-by-one error that missed the last point when generating screen bounding boxes
2020-12-21 23:00:51 +02:00
Koen Schmeets
0e5a246a70
Fix normal selection with marquee
2020-12-21 23:00:51 +02:00
Koen Schmeets
f343bbc4f4
Fix marquee selection when the view is rotated away from the working plane
2020-12-21 23:00:51 +02:00
Koen Schmeets
4275fb1202
Fix snap to grid not working in some situations
2020-12-20 13:34:28 -05:00
Koen Schmeets
2939abf5f8
Improve zooming with trackpad and scrollwheel
...
On macOS actual scroll delta is used for the zoom amount.
On Windows WHEEL_DELTA is used to allow smooth scrolling if supported.
Shift+Scroll is added for 10x finer zooming.
2020-12-11 07:26:02 -05:00
phkahler
640a1b913a
Use good default filenames on Linux/GTK
2020-12-10 05:15:18 -05:00
наб
e59186a413
Suggest sensible defaults in file dialogs
...
Went through first the diff of the referenced commit,
then all instances of "Create(Open|Save)FileDialog";
added SuggestFilename() calls where a default exists
This has been previously removed in
6b5db58971
Closes #538
2020-12-09 20:42:13 -05:00
наб
a8b8a347c1
Make Path::SetExtension("") not include a dot
2020-12-09 20:42:13 -05:00
Koen Schmeets
f5086b62cc
Analyze | Stop Tracing (Ctrl+Shift+S) saves CSV only if a point is being traced
...
This avoids confusion with "Ctrl+Shift+S" being used as "Save As..." shortcut
on some platforms.
2020-12-09 18:57:31 +02:00
Koen Schmeets
b316a8863b
Use EXACT for checking theta
2020-11-30 08:50:06 -05:00
Koen Schmeets
6b91ab5778
Better rotating
2020-11-30 08:50:06 -05:00
Koen Schmeets
aa78043fa2
Swap vertical and horizontal constraints when rotating 90/270 degrees
2020-11-30 08:50:06 -05:00
ruevs
9390ab02d5
Set the default font for text objects correctly.
...
The default font is BitstreamVeraSans-Roman-builtin.ttf since 94b26ddfac
,
but on Win32 it needs to be `res://fonts/...` URI to work.
Fixes: https://github.com/solvespace/solvespace/issues/821
2020-11-27 18:24:49 +02:00
ruevs
a2b5d0d45c
Win32: Remove sscheck on IsWindowVisible and ShowWindow
...
The return value of these functions is not an error code and according to
the Win32 API documentation they can not affect `GetLastError`.
Calling sscheck on them normally does not fail since it does
SetLastError(0) before running the checked expression and only then
GetLastError(). However in issue 817 a user discovered that when running
"DisplayFusion" software GetLastError does return an error and SolveSpace
closes.
So while not a strict bug-fix this is a "correctness improvement" for
SolveSpace and works around a possible bug in DisplayFusion.
Similarly the return value of Reg*** functions is now compared to
ERROR_SUCCESS which is zero. Before the sschecks were strictly wrong but
did not cause problems for the same reason as above.
2020-11-25 16:43:39 -05:00
phkahler
22dea59077
"Edit newly added dimensions" is now turned on by default. issue826
2020-11-25 11:55:08 +02:00
ruevs
5d173694e7
Win32: Remove sscheck on SetScrollInfo - it returns the scrollbar position
...
...which can be zero.
Fixes: https://github.com/solvespace/solvespace/issues/817
2020-11-24 18:18:48 -05:00
ruevs
bb5994ed70
UI: Display "err" in the property browser only if "check sketch for closed contour"
...
... is enabled.
"err" was first introduced in c2c26e95ad
to indicate sketches that may cause
problems in the subsequent 3D groups. But is makes sense not to display the
error if the "check sketch for closed contour" option is turned off. The user
obviously does not want to be warned.
Based on a suggestion in https://github.com/solvespace/solvespace/issues/819
2020-11-24 18:18:11 -05:00
Koen Schmeets
f2850246fa
Move z-index of construction segments behind normal segments
2020-11-23 18:32:59 -05:00
phkahler
08f37deadd
Make better choices of SI units by considering order.
2020-11-22 18:33:36 -05:00
ruevs
5137da295a
Win32: Mouse wheel zooming always remains properly centered
...
On scroll wheel events convert the mouse coordinates from screen to client
area so that scroll wheel zooming remains centered irrespective of the
window position.
Fixes https://github.com/solvespace/solvespace/issues/806
2020-11-22 18:32:14 -05:00
ruevs
bdd2be6041
Translations: Add solvespace.cpp to the translations...
...
...since it currently contains many relevant strings.
2020-11-22 17:34:14 -05:00
ruevs
942bf3f354
Remove Q3DO export.
...
It was added in 3a3a2755b
as a potential way to export colorful meshes
to Horizon EDA but ended up being supported only by SolveSpace. Since no
software can consume the exported q3do files the feature is superfluous.
See https://github.com/solvespace/solvespace/issues/795 for details.
2020-11-21 13:02:39 -05:00
ruevs
bcb8cd2c03
Fix unsequenced modification and access warnings.
...
Found by clang 11. They are a potential problem.
[ 21%] Building CXX object src/CMakeFiles/solvespace-core.dir/exportstep.cpp.obj
.\src\exportstep.cpp:293:61: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=FILL_AREA_STYLE_COLOUR('',#%d);\n", ++id, id - 1);
^ ~~
.\src\exportstep.cpp:294:56: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=FILL_AREA_STYLE('',(#%d));\n", ++id, id - 1);
^ ~~
.\src\exportstep.cpp:295:59: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=SURFACE_STYLE_FILL_AREA(#%d);\n", ++id, id - 1);
^ ~~
.\src\exportstep.cpp:297:98: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=SURFACE_STYLE_RENDERING_WITH_PROPERTIES(.NORMAL_SHADING.,#%d,(#%d));\n", ++id, id - 5, id - 1);
^ ~~
.\src\exportstep.cpp:298:64: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=SURFACE_SIDE_STYLE('',(#%d, #%d));\n", ++id, id - 3, id - 1);
^ ~~
.\src\exportstep.cpp:300:62: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=SURFACE_STYLE_USAGE(.BOTH.,#%d);\n", ++id, id - 1);
^ ~~
.\src\exportstep.cpp:301:67: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=PRESENTATION_STYLE_ASSIGNMENT((#%d));\n", ++id, id - 1);
^ ~~
.\src\exportstep.cpp:302:56: warning: unsequenced modification and access to 'id' [-Wunsequenced]
fprintf(f, "#%d=STYLED_ITEM('',(#%d),#%d);\n", ++id, id - 1, advFaceId);
^ ~~
8 warnings generated.
2020-11-18 17:07:56 +02:00
phkahler
142252ddf8
Add z distance checking to entity picking. Fixes issue 521
2020-11-17 18:58:18 -05:00
phkahler
5945d556a6
Add end marker to text window and increase max rows.
2020-11-07 21:57:15 +01:00
phkahler
6ff8db93e8
Use zOrder for selections within the same group
2020-10-31 11:58:14 -04:00
phkahler
8a3e5b4d56
Don't do numeric surface intersections if an exact curve has been copied. We don't want 2 overlapping but different sets of PWLs.
2020-10-29 14:02:57 -04:00
phkahler
eadeac44f0
use VERY_NEGATIVE and VERY_POSITIVE instead of numeric values which is some cases were 1e-10 instead of -1e10
2020-10-28 13:37:54 -04:00