Commit Graph

1069 Commits (08c787f74981670ad2c5fdbe5721cb99e7cf6a3c)

Author SHA1 Message Date
Simon Wells 2a722c16b8 add gdk.h for GDK_WINDOWING_ defines 2021-10-23 20:59:52 -04:00
Simon Wells 267c002975 modify the spaceware code to also work on wayland
use the recommended compile-time and run-time checks for x11 and wayland
2021-10-23 20:59:52 -04:00
MX_Master a45e84a2ff + safe height gcode parameter 2021-10-23 20:01:29 -04:00
phkahler 0eab7f783b move perspective, lighting, and explode distance from configuration screen to view screen. 2021-08-29 13:54:38 -04:00
tomsci 8cfe1d4bd7
mac: Remove spurious view menu items (#1101)
Which are either not applicable for SolveSpace (the tabs ones) or are
already handled in the platform-independent code (the fullscreen item).
2021-08-28 22:09:48 +02:00
tomsci e1b0784b31
mac: Support for pan, zoom and rotate trackpad gestures (#1093)
* mac: Support for pan, zoom and rotate trackpad gestures

Currently SolveSpace is nearly unusable on a mac if you only have a
buttonless trackpad and not a mouse, because there's no way to pan
(ie right-click-drag) or rotate (ie middle-click-drag). You can zoom,
but only by using two-finger-drag up and down, which ends up getting
interpreted as a scrollwheel event.

This change makes the app behave much more like any other mac app, by
adding 2-finger-drag pan gesture support and pinch-gesture zooming, and
3D rotate using shift-2-finger-drag.

I've also added support for the rotate two-finger trackpad gesture,
which rotates directly around the screen Z axis (rather than in all 3
dimensions) which is actually something I've found myself wanting to do
with the mouse but afaik there's no equivalent way of achieving that.

While I was there, I fixed a bugette in convertMouseEvent which was
incorrectly translating the NSEvent coordinates, and then fixing up the
fact that the sign of the y-coordinate was wrong as a result. Using the
convertPoint API correctly means that fixup is not required because
convertPoint handles it for you.

* Don't do trackpad gestures on anything except the toplevel window

* mac: Fix non-functional scrollbar on text window

Which has not worked quite right since the last major refactor.

* Don't pass right-button drags to the toolbar

This improves the behaviour of trackpad pan/rotate on mac which uses
simulated right-button events.

* Don't pass cmd/ctrl modifier through on trackpad pan/rotate MouseEvents
2021-08-27 01:58:33 +02:00
tomsci 31a709e2c8
mac: Support external quit requests (#1099)
By no longer always returning NSTerminateCancel in
applicationShouldTerminate.

And implement applicationWillTerminate to ensure the cleanup code in
SolveSpaceUI::Exit() is always called.
2021-08-26 14:03:28 +02:00
Tom Sutcliffe 7e823df94a Correct which group is forced to mesh when linking an STL file
By making IsForcedToMesh() always return true for STL link groups,
rather than trying to set forceToMesh=true during the import phase.

STL link groups are now always shown as "model already forced to
triangle mesh" in the details screen, but also (unlike when the model
is forced to mesh by a parent group) show the '∆' icon in the group
list.
2021-08-24 13:09:19 -07:00
Tom Sutcliffe f71c527e23 Add a "∆" suffix to groups which have "force to triangle mesh" ticked. 2021-08-24 13:09:19 -07:00
Tom Sutcliffe b87987922f Darken disabled gray to 50% and document it. 2021-08-21 20:19:30 -04:00
Tom Sutcliffe 4db3e90b81 Show suppressed groups in gray in the text window 2021-08-21 20:19:30 -04:00
Tom Sutcliffe 5edb2eebf6 Add "Show Exploded View" menu option
Where each entity in the active workplane sketch is projected a
different amount normal to the workplane, to allow inspection and
easier selection of entities that entirely overlap each other and are
thus otherwise difficult to see or select.

The distance between the exploded "layers" can be controlled in the
configuration page. Negative distances mean the layers are projected in
the opposite direction, relative to the workplane normal.
2021-08-17 17:48:25 +03:00
Tom Sutcliffe e86eb65985 Update feet and inches format to match architectural convention 2021-08-15 18:18:41 -04:00
Tom Sutcliffe 959cf5ba75 Fix MmToString calls that should have editable=true set 2021-08-15 18:18:41 -04:00
Tom Sutcliffe 41e3668f89 Make feet and inches show fractions of an inch, rounded to nearest 1/64
Taking care to round appropriately so you don't end up with things like
35.999 coming out as 2' 12" and similar.
2021-08-15 18:18:41 -04:00
Tom Sutcliffe 2fb6119de8 Add option for displaying dimensions in feet and inches 2021-08-15 18:18:41 -04:00
Tom Sutcliffe c19bd8cc99 Remove unused variable 2021-08-14 20:34:26 -04:00
Tom Sutcliffe b65a0be3d6 Fix/silence mac build warnings
As per Xcode 12.4 you can at least do a warning-free incremental build
with these changes. There are still plenty of warnings in a full build
(mostly from thirdparty components) but with these changes you can at
least develop on mac and see if/when you've added any new warnings when
doing incremental builds.
2021-08-14 20:34:26 -04:00
Tom Sutcliffe 56719415de Don't reset showFaces every time a group is activated
Instead store the state separately for drawing and non-drawing group
types, and set showFaces to one of those, whenever a group is activated.
2021-08-08 13:24:47 -04:00
phkahler 06a1f8031d Add optional helix pitch constraint. 2021-07-31 13:15:19 -04:00
phkahler f6bb0a2d35 Add an ALL filter for linking files that includes slvs, emn, and stl 2021-07-28 21:15:33 -04:00
phkahler 2afd6103d9 Add STL linking with bounding box and edge verticies. Experimental. 2021-07-28 20:36:20 -04:00
luz paz 37da0f3341 Fix various typos
Found via `codespell -q 3 -S ./res/locales,./extlib -L asign,ba,hsi,mata,tothe`
2021-07-06 10:37:58 -04:00
Eric Chan 37de364257 Addition of ArcLength Ratio and ArcLength Difference constraints to Constraints list 2021-06-28 11:31:53 -04:00
Maxipaille 4308dc136b Fix "Sketch in New Workplane" point & normal to set correct orientation of workplane
Temporary disable other ways because of wrong implementation
2021-06-27 13:17:09 -04:00
Olivier JANIN 3ccf7845f5 Improve "Sketch in New Workplane" by adding two way of construction
- point and normal
- point and face
2021-06-27 13:17:09 -04:00
phkahler b5fb1dd429 Show IDF keepout regions as construction entities. 2021-05-17 14:55:38 -04:00
phkahler e74e202465 fix a compiler warning on GTK builds 2021-05-12 20:02:21 -04:00
ruevs 3e01afa3ae Remove all unused methods from IdList and its iterator
Fix gcc warning -Wreorder-ctor
 https://stackoverflow.com/questions/1828037/whats-the-point-of-g-wreorder
2021-05-12 19:50:23 -04:00
ruevs 034d9213f1 IdList: Remove Unused IndexOf, First, Last and NextAfter Methods 2021-05-12 19:50:23 -04:00
Přemysl Eric Janouch 9dd67c7ba0 Use Range-based for Loops Instead of NextAfter for all IdList Objects
Based on commit '3b395bb5a7' by pjanx

Resolves a performance regression of iteration being O(n * log n)
rather than O(n).
2021-05-12 19:50:23 -04:00
ruevs 7674be791e IdList: Optimize IdList by Using an Index and Add a Proper Iterator
- Use `std::vector<T> elemstore` to store elements. Avoids manual memory management.
- Add and index (`std::vector<int> elemidx`) that avoids moving large objects
  when adding elements.
- Add a free element list (`std::vector<int> freelist`) that speeds up element removal by
  avoiding rearranging the element storage. It also avoids reallocations when adding
  elements later.
- Add a proper iterator. It will be used to remove NextAfter - which is a performance bottleneck.
2021-05-12 19:50:23 -04:00
ruevs 7e08b02de1 Allow comments to be associated with point entities
If a single point is selected when a "Constrain | Comment" (`;`) is added
then the comment is associated with the point and its position becomes
relative to the point. In this way the comment will move with the point.

If nothing is selected or more than a single point is selected then
the behaviour is as before and the comment is "floating".

Closes #1032
2021-05-12 19:22:46 -04:00
robnee e15ccdd477 Update property browser display live when dragging
Keep items in selected state while dragging so that property browser
will track them until the left mouse button is released.  Also, trigger
a property browser update on mouse move while dragging to make the
display "live"
2021-05-02 19:51:00 -04:00
robnee 709dc31f78 Fix lookup of stipple pattern before config is available
Fix a bug with the lookup of stipple pattern for default styles when the
config settings are not yet available (install/upgrade/first run). This
caused hidden lines to display as continuous rather than dashed.
2021-04-28 15:59:21 +03:00
Ryan Pavlik 8a4d84e85e Add comment about asan warnings. 2021-04-21 12:13:26 -04:00
Tom Sutcliffe e2bf722fec Copy path to avoid it being invalidated by OkayToStartNewFile() 2021-04-04 11:52:19 -04:00
Koen Schmeets 8105699d5e Add apple arm64 support 2021-04-04 11:40:10 -04:00
robnee 3ed151bf90 Skip image rendering in CLI rather than hard abort 2021-04-03 22:58:05 +03:00
robnee cc52eb237d Allow right click to end sketching of all entities 2021-04-03 12:53:04 -04:00
robnee 2e88c5e0da Clamp lighting value on export to fix flat colors
Also, this fixes the Printf format for the ambient lighting entry on the
configuration screen.  This was causing string behavior when attempting
to edit the ambient lighting value on Windows.  Oddly this didn't seem
to affect Linux.
2021-04-02 18:13:31 -04:00
dustinhartlyn 6b94af0765
minor fix open/save dialogue on windows (#983)
* minor fix open/save dialogue on windows 

On windows 10 the open/save dialogue box has an minor error, and I believe I fixed it. 

When "Open" is selected from the menu, the title of the dialogue box says "SolveSpace - Save File" and the entered file name is "united". My fix correctly titles the dialoged box, and leaves the address bar blank when a file is being opened because "united" is only needed as a default name when a file being saved. 

I found that class FileDialogImplWin32 from guiwin.cpp contains two if statements for "isSaveDialog". This is redundant. I removed the first where the title was originally set, but not working. I then set the title in the second if statement and moved the 'if isEmpty'' to this section.

* Update guiwin.cpp

replaced tabs with spaces
2021-04-01 09:24:04 -04:00
Přemysl Eric Janouch 5c3ce9bfc2 GTK: make spacenavd work through its socket, too
E.g. for when you have more than one user logged in, in which case
spacenavd works only for the first of those X11 displays.

We try to do it the old way first, so there should be no regressions.

Also fixes storing non-booleans in bool variables.
2021-03-30 10:22:05 -04:00
robnee 1628097037 Save stipple settings for default styles to config 2021-03-29 14:43:29 -04:00
Přemysl Eric Janouch 5e42275b1a Fix pathologically slow translate groups on Linux
Major performance improvement on GCC with libstdc++.
2021-03-27 12:03:01 -04:00
robnee d511ce4acc Trigger redraw on load factory default styles 2021-03-27 12:00:22 -04:00
robnee 53f5e4e7e5 export style for construction entities for edges 2021-03-25 21:29:41 -04:00
robnee 10ca307d98 Add exportable option to default styles
Primarily, this enables the user to export of construction entities in 2D
views such as SVG. Previously constuction entities were always skipped.
The "export these objects" is now available for all default styles.
One may turn off export of constraints or the inactive groups for example.
This also adds the exportable flag to the factory settings and
support for saving the exportable option for default styles in the
configuration. Construction entities with custom styles respect this
option as well.  NOTE:  Running this version will add new entries to the
configuration (Registry, .config etc.) on exit when testing this code.
2021-03-17 12:01:58 -04:00
robnee 979a9f084e Hide editor window when user hits Esc 2021-03-10 19:44:54 -05:00
robnee bef6bc3b77 Use better pointer cursor for link text in GTK
Gdk::Cursor::create(Gdk::HAND1) yields a hand cursor more appropriate
for "grabbing" vs. pointing.  Use the recommended create by name API
to get a "pointing hand" cursor.
2021-03-07 10:11:17 -05:00
ruevs 8c101d5f28 Fix tangent constraints of curves.
This fixes a regression introduced in  96958f4663
(https://github.com/solvespace/solvespace/pull/833.)
Three `return` statements got "swallowed" by the newly created functions.
(e.g .96958f4663 (diff-49abc03ed071148c0ebae0c64aafb625fa6223135f77aeecdb47dab4cf8b940cL638) )

Because of this it was possible to constrain arcs and cubics tangent to
each other or line segments, without them sharing an endpoint.

This kind of worked, but always chose the "starting" points of the curves
and lines. In the future this can be turned into a feature. See the
discussion in #937.
2021-03-06 14:16:33 -05:00
ruevs 697ffdd731 UI: Show XYZ distance components in the text window for two points
When two points are selected in addition to their distance show the X, Y
and Z components of it in the text window.

Implements #936
2021-03-06 14:15:28 -05:00
robnee 3309181773 fix problems with ctrl/shift key drag modifiers
When dragging points we must always update position and mark them dirty
through all code paths.
Ensure the ctrl and shift modifier rotation quarternion is always set to
something reasonable.
separate extraLine tracking code from drag tracking code
2021-03-01 21:09:36 -05:00
robnee 60dca4cb79 Fix incorrect styling on svg export
export Style::NO_STYLE which was missing
styles should be set on export at the SBezierLoop-level vs the
SBezierLoopSet-level
2021-02-28 17:37:34 -05:00
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