Commit Graph

2200 Commits (90172fa5c36c64d4ff8a2baf828e8187e73786bf)

Author SHA1 Message Date
Torsten Paul 3a90fa12fa Merge pull request #1060 from openscad/qglformat-patch
Disable vertical refresh syncing.
2014-12-09 21:18:57 +01:00
Marius Kintel 2462799655 Handle a bunch of nullspace corner cases. Fixes #1029 2014-12-08 18:25:48 -05:00
Torsten Paul 342af594ad Disable vertical refresh syncing. 2014-12-08 18:54:39 +01:00
Marius Kintel 94aabb05b5 #1054 Fixed memory leak 2014-12-08 00:57:28 -05:00
Marius Kintel ccea6fdde9 Bugfix: 2D scale or mirror sometimes caused flipped normals which caused larger issues downstream. Fixes #1055 2014-12-07 20:09:45 -05:00
Marius Kintel 6c6882fb2e #1055 Doc: Clarify sanitized polygons 2014-12-07 19:54:31 -05:00
Torsten Paul 2f4171f506 Add optional target suffix for the binary / installation folder.
This is mainly intended to be used for building snapshot binaries that
are able to install in parallel to a release build. E.g. by using the
parameter "SUFFIX=-nightly" for qmake, the target binary will be called
openscad-nightly and the resource base folder /usr/share/openscad-nightly.
2014-12-06 19:23:19 +01:00
Torsten Paul 50e79a6817 Fix evaluation of ! expressions. 2014-12-05 20:54:01 +01:00
Torsten Paul 092b9eeddc Build with -DNOGDI by default to prevent name conflicts with windows.h. 2014-12-04 23:30:42 +01:00
Torsten Paul b6167b0b60 Merge branch 'master' into translation2
Conflicts:
	src/PlatformUtils.h
2014-12-04 20:51:44 +01:00
Marius Kintel 8bd04b1417 Merge pull request #1030 from openscad/issue409
Optimize stack usage (#409)
2014-12-04 14:05:15 -05:00
Torsten Paul 407da2ea8c Move catch for function recursion detection.
Catching this at ModuleInstantiation::evaluate() should ensure the whole
function call is terminated with the first exception. Otherwise function
calls with multiple recursion points (e.g. function f(x) = f(x) + f(x);)
will still descent into the recursion multiple times.
2014-12-04 19:40:15 +01:00
Marius Kintel 87f532493e #1047 Some more cleanup for NULLGL 2014-12-03 10:58:44 -05:00
Marius Kintel 88713b01cf Merge branch 'nullglfix' of git://github.com/bmcage/openscad into bmcage-nullglfix 2014-12-03 10:13:12 -05:00
Benny Malengier 3e0ef9dd68 Needed changes to have NULLGL compiling.
Resulting prog compiles to output stl
2014-12-02 12:31:59 +01:00
Marius Kintel 0067aafbb0 Forgot to commit Value -> ValuePtr fix to header 2014-12-01 17:34:47 -05:00
Marius Kintel be595efd31 Merge remote-tracking branch 'origin/master' into issue409
Conflicts:
	src/mainwin.cc
	src/module.cc
2014-12-01 17:07:01 -05:00
Marius Kintel a59e7d658e Merge branch 'master' of github.com:openscad/openscad 2014-12-01 17:06:30 -05:00
Marius Kintel 582d5dde8c #1030 bugfix: contexts need a parent, or it may crash 2014-12-01 16:52:04 -05:00
Marius Kintel 1e2b28ac2f Merge remote-tracking branch 'origin/master' into translation2 2014-12-01 16:47:36 -05:00
Marius Kintel 57974baa13 Silence verbose debug output 2014-12-01 16:47:00 -05:00
Marius Kintel d6d814586c Merge pull request #1037 from openscad/issue949
Use FileContext when evaluating $vp{rtd} variables (fixes #949).
2014-12-01 10:56:32 -05:00
Marius Kintel 80050e94db merge fixes 2014-12-01 02:51:56 -05:00
Marius Kintel 5743064d56 Merge remote-tracking branch 'origin/master' into translation2 2014-12-01 02:34:28 -05:00
Marius Kintel a05fe72c6b Rewrote tessellation used for NefPolyhedron to PolySet conversion. Should fix #1033 2014-12-01 00:54:01 -05:00
Torsten Paul ef9f2f3289 Retain FileContext to lookup $vp{rtd} variables after compilation (fixes #949). 2014-11-30 16:37:17 +01:00
Torsten Paul 6263bfd269 Render crosshair a bit less intrusive. 2014-11-30 03:22:14 +01:00
Torsten Paul fcbd9fc024 Fix crosshair at the center of the display (fixes #1025). 2014-11-30 03:04:15 +01:00
Torsten Paul 3992cc547b Update drawing logic (fixes #1035).
- Draw negative part of the axis with stippled lines
- Calculate contrast color for axis based on background color
- Disable lighting for axis / crosshair
2014-11-30 03:04:01 +01:00
Marius Kintel 75b57cd9b5 Added some malformed polyhedron tests and fixed an assertion bug 2014-11-27 21:00:23 -05:00
Marius Kintel fac2340989 More correct handling of empty geometry. Should fix a few crash bugs 2014-11-27 20:40:37 -05:00
Marius Kintel c2775d4541 doc 2014-11-27 20:38:53 -05:00
Marius Kintel 91139402ea toPolygon2d() should never return NULL 2014-11-27 20:38:09 -05:00
Marius Kintel defb486a64 createGeometry() should never return NULL 2014-11-27 20:37:40 -05:00
Marius Kintel 4d6db2caa7 fixes crash when intersecting 3 or more 2d objects which results in an empty polygon 2014-11-27 15:27:09 -05:00
Torsten Paul a820487032 Simple implementation of tail-recursion elimination. 2014-11-26 22:53:10 +01:00
Marius Kintel 819f5d085f Moved Polygon typedef out of PolySet class 2014-11-26 15:22:15 -05:00
Marius Kintel 0b58b7d2b3 Compile fix: Don't include Carbon as it pollutes the global namespace with e.g. 'Polygon' 2014-11-26 15:02:44 -05:00
Marius Kintel ecbaec0849 Updated ClipperLib to 6.2.1 2014-11-25 17:41:08 -05:00
Marius Kintel b621287610 C++11 build fix 2014-11-25 17:40:49 -05:00
Marius Kintel 2e8d93d5be Some Expression refactoring 2014-11-25 17:08:14 -05:00
Marius Kintel b03345ec18 bugfix: dump of list comprehension if expression was buggy 2014-11-25 17:01:10 -05:00
Marius Kintel d99dea1db2 bugfix after merging master - dynamic memory caused contexts not to be destructed 2014-11-25 15:53:44 -05:00
Marius Kintel 32bc6ae516 inlined stack pointer retrieval to silence compiler warning 2014-11-25 15:06:20 -05:00
Marius Kintel 2644b19ce7 Reimplemented serialization of expression to string after last refactoring 2014-11-25 15:05:36 -05:00
Marius Kintel be9b0ee925 indentation 2014-11-25 11:26:14 -05:00
Marius Kintel 4cd712d24d Merge remote-tracking branch 'origin/master' into stack-size-hack
Conflicts:
	src/context.h
	src/control.cc
	src/evalcontext.h
	src/localscope.cc
	src/module.cc
2014-11-25 11:25:37 -05:00
Marius Kintel 23c9dee265 bugfix: Correctly handle else scopes, handle overrides inside assign scopes 2014-11-25 00:45:00 -05:00
Marius Kintel 3612db6a2f Fixes crash during the second run of a failing recursive module 2014-11-24 20:44:39 -05:00
Marius Kintel f1b29e1db9 Removed old stack measurement code 2014-11-24 18:54:51 -05:00
Marius Kintel 15835271c2 Implemented stackLimit() for Mac OS X 2014-11-24 18:29:13 -05:00
Marius Kintel d8010a0659 Take a copy of the name of the recursive component, don't use a pointer to a temporary string 2014-11-24 18:25:38 -05:00
Marius Kintel e0fbeb8d95 Use StackCheck to detect module recursion 2014-11-24 18:12:58 -05:00
Torsten Paul aa586136ae Remove duplicate warning message. 2014-11-24 23:52:07 +01:00
Torsten Paul c206fab087 Merge branch 'stack-size-hack' of github.com:openscad/openscad into stack-size-hack 2014-11-24 23:46:57 +01:00
Torsten Paul 241723dd8f Merge branch 'stack-size-hack' of github.com:openscad/openscad into stack-size-hack
Conflicts:
	src/expr.cc
2014-11-24 23:46:39 +01:00
Marius Kintel 5debac7de0 Throw and catch RecursionException on module recursion 2014-11-24 17:44:39 -05:00
Marius Kintel edc64bdbe9 forgot exceptions.h 2014-11-24 17:43:13 -05:00
Torsten Paul dc8f559b85 Use class hierarchy for the different types of expressions. 2014-11-24 23:37:42 +01:00
Torsten Paul 756f8079d8 Add class to determine the current stack size. 2014-11-24 23:36:29 +01:00
Torsten Paul ba4c50c631 Add function to retrieve the maximum stack size. 2014-11-24 23:34:57 +01:00
Marius Kintel ab96a82629 Minor cleanup of recursion exception handling 2014-11-24 17:30:05 -05:00
Marius Kintel 54a111472f Initial experiment with using exceptions to handle stack overflows 2014-11-24 12:54:14 -05:00
Torsten Paul 6ed14dafb0 Remove big switch statement from expression evaluation.
The switch statement causes a huge stack overhead that is very bad for
evaluating recursive functions.
2014-11-24 00:53:46 +01:00
Torsten Paul 69451af578 Use heap for Context object. 2014-11-24 00:53:46 +01:00
Torsten Paul 609f665406 Extract PRINTB() from recursion stack. 2014-11-24 00:53:46 +01:00
Torsten Paul 1f73807097 Hack to track stack size in function evaluation. 2014-11-24 00:53:41 +01:00
Marius Kintel 406e6e1bac #409 Pass Value objects as shared_ptr instances instead of by Value to battle excess stack usage 2014-11-23 00:59:17 -05:00
Marius Kintel d381ec8bcf #347 Deprecated assign() 2014-11-20 18:31:24 -05:00
Marius Kintel 6a1bc270fd Removed unused member variable 2014-11-20 18:30:58 -05:00
Marius Kintel b2c205ba4c Merge remote-tracking branch 'origin/master' into translation2
Conflicts:
	tests/csgtexttest.cc
2014-11-17 21:56:53 -05:00
Marius Kintel 1afb706461 Merge remote-tracking branch 'origin/master' into translation2 2014-11-17 21:55:19 -05:00
Marius Kintel b83bf31ac4 Merge branch 'master' into issue347 2014-11-17 01:00:41 -05:00
Marius Kintel ea1d561c46 Support variable assignment in local blocks. This should fix #347 but more testing is needed 2014-11-17 00:57:36 -05:00
Torsten Paul 8cf85e0987 Fix MDI issues. 2014-11-16 19:35:16 +01:00
Torsten Paul 66b22b24a5 Add path information to info output. 2014-11-15 22:44:46 +01:00
Torsten Paul e1db572688 Fix application path initialization for --info. 2014-11-15 22:44:46 +01:00
Torsten Paul 7761c0887b Postpone color scheme initialization after the application path is set. 2014-11-15 22:44:46 +01:00
Torsten Paul 635bf29308 Throw an error if the application path is accessed before it's initialized. 2014-11-15 22:44:46 +01:00
Torsten Paul ce16eb5ce0 Lookup resource folder only once and add some debug output. 2014-11-15 22:44:46 +01:00
Torsten Paul 650a0d2d21 Add debug output for color scheme enumeration. 2014-11-15 18:39:17 +01:00
mermerico 85a91d62a5 Improved DXF output compatibility
Changed coordinate order from [X1 X2 Y1 Y2] to [X1 Y1 X2 Y2]. Both orders are standard compliant but [X1 Y1 X2 Y2] is far more common and can be parsed linearly. Some libraries, like the python libraries dxfgrabber and ezdxf, cannot open [X1 X2 Y1 Y2] order.
2014-11-14 09:49:06 -05:00
Torsten Paul 99c617562c Remove obsolete LOCALE_PREFIX and update documentation. 2014-11-13 00:39:17 +01:00
Torsten Paul ca3672b19c Move translation files to locale folder instead of po.
While this is not the standard name for the files, this makes the
resource handling easier as the PlatformUtils code already handles
lookup for both installed and dev layouts. At least for Linux the
installed name would be /usr/share/locale, so we use that in source
too for now.
2014-11-13 00:24:44 +01:00
Torsten Paul 59c4dec623 Merge branch 'master' into translation2 2014-11-12 23:21:42 +01:00
Marius Kintel 40aae17c0e Move software update menu handling to AutoUpdater. This should fix #714 2014-11-10 15:01:34 -05:00
Marius Kintel e518cb9089 bugfix: Correct order of recent files on splash screen 2014-11-08 23:00:56 -05:00
Marius Kintel 31b90d1acb Merge pull request #1008 from openscad/externalize-colorschemes2
Externalize colorschemes
2014-11-08 20:49:15 -05:00
Marius Kintel 28d7d54502 Issue warning if trying to export previous F6 state. Fixes #48 2014-11-06 08:14:04 +01:00
Marius Kintel 92389b8589 Merge pull request #1003 from openscad/configure-window-reorder
Add option to disable window reordering by removing the dock window title bar
2014-11-05 21:28:13 +04:00
Marius Kintel 90f58ced7d Allow preview of designs with only background or highlight objects. Fixes #1005 2014-11-05 21:24:09 +04:00
Marius Kintel a3a6b66061 Ignore background nodes when checking for mixed 2D and 3D objects. Fixes #1004 2014-11-05 19:35:00 +04:00
Marius Kintel 7086f5fc37 Fixed build issue related to https://svn.boost.org/trac/boost/ticket/6455 2014-11-05 18:58:45 +04:00
Marius Kintel 162b453981 Merge remote-tracking branch 'origin/master' into externalize-colorschemes2 2014-11-05 18:26:10 +04:00
Marius Kintel 26da9ca983 Include debug objects in View All 2014-11-05 18:22:08 +04:00
Marius Kintel 3fd7d9da3c Unify resource path location, correctly find resources for the test suite on Mac 2014-11-05 16:45:14 +04:00
Marius Kintel 9205a378c4 Added ~/Library/Application Support as user config path on Mac 2014-11-05 16:14:14 +04:00
Torsten Paul a9cbabdbc2 Remove some obsolete dependencies to colormap.h. 2014-11-02 23:42:24 +01:00
Torsten Paul 46bffd3f4c Move default color scheme back into code. 2014-11-02 23:36:23 +01:00
Torsten Paul 34981284fc Use local AppData folder for user config on Windows. 2014-11-02 16:39:51 +01:00
Torsten Paul 7c3077b0f2 Read color schemes from additional user config path. 2014-11-01 23:06:36 +01:00
Torsten Paul e59a2f035e Handle color scheme lookup in test cases. 2014-11-01 20:51:36 +01:00
Torsten Paul 2ee58893f5 Move render color schemes to separate files. 2014-11-01 20:51:36 +01:00
Torsten Paul df119fec75 Add solarized render color map to match the editor color scheme. 2014-11-01 20:51:36 +01:00
Torsten Paul 0886944fcd Handle setting of additional color schemes. 2014-11-01 20:51:36 +01:00
Torsten Paul 23275dc927 Get color schemes from editor; Enumerate from resource folder for scintilla. 2014-11-01 20:51:36 +01:00
Torsten Paul 395795949e Move color scheme values into resource files. 2014-11-01 20:51:36 +01:00
Torsten Paul 63201e25fd Add option to disable window reordering by removing the dock window title bar. 2014-11-01 18:55:48 +01:00
Torsten Paul 5078f401e9 Change console minimum size to 10x10. 2014-11-01 17:24:28 +01:00
Marius Kintel a68b39ead7 Fix regression related to intersection with empty shapes. Fixes #996 2014-10-31 15:28:26 +04:00
Marius Kintel a93196eb7e Update settings for show/hide toolbars. Fixes #1001 2014-10-31 11:45:04 +04:00
Torsten Paul 7ad0a86b02 Fix crash in hull() with empty CGAL child geometry (fixes #990). 2014-10-21 20:57:18 +02:00
Torsten Paul ea39c70471 Ensure window is visible after restoring the window state (fixes #976). 2014-10-20 00:22:22 +02:00
Torsten Paul ebb7dde012 Fix status handling for docked windows.
Especially for the case where the windows are docked as tabs in the
same position, the "visibility-changed" signal does not work as close
indicator. The window is also treated as invisible when just the tab
is invisible, not only in case the window is closed.
2014-10-20 00:21:06 +02:00
Torsten Paul 6cd441e0f1 Port translation code to use resource path from PlatformUtils. 2014-10-19 01:43:45 +02:00
Torsten Paul e4071472ad Rename for easier translation. 2014-10-19 01:25:23 +02:00
Torsten Paul baf49d107f Add translations. 2014-10-19 01:25:23 +02:00
Torsten Paul 9e52f2fc1b Add N_() to allow adding translation keys without direct gettext() call. 2014-10-19 01:25:23 +02:00
Torsten Paul 05c3c3e76c Add gettext to new dialogs. 2014-10-19 01:25:23 +02:00
Torsten Paul c8a24971b6 Add preferences option to enable/disable localization. 2014-10-19 01:25:23 +02:00
Torsten Paul 929d909947 Set Qt text encoding to UTF-8. 2014-10-19 01:25:23 +02:00
Torsten Paul 8f2491cd0a Support linux packaging structure with shared locale folder. 2014-10-19 01:25:23 +02:00
Torsten Paul cfe14254d4 Handle resource layout on linux and add translation files to openscad.pro. 2014-10-19 01:25:23 +02:00
Torsten Paul afd52b3075 Fix compilation of test cases. 2014-10-19 01:25:23 +02:00
Torsten Paul a512a6442e Handle the MacOS application layout when finding resources. 2014-10-19 01:25:23 +02:00
Torsten Paul d620c8f40b Allow localization to be enabled/disabled by configuration settings.
This is only the logic to check the settings, no GUI.
Changing the setting requires a restart as disabling localization simply
skips the call to bindtextdomain() at the application start.
2014-10-19 01:25:23 +02:00
Torsten Paul ae2d19241e Use application resource path to locate the translation files. 2014-10-19 01:25:23 +02:00
Torsten Paul a7e3c8639c Fix compile problem on MinGW and force UTF-8 as encoding. 2014-10-19 01:25:23 +02:00
Torsten Paul 17244af2f9 Add more gettext calls. 2014-10-19 01:25:23 +02:00
don bright c559be20e1 Create basic gettext infrastructure and French language stub. 2014-10-19 01:25:14 +02:00
Torsten Paul 32874b6d92 Retain selection after comment/uncomment (fixes #986). 2014-10-17 23:42:34 +02:00
Marius Kintel f7b15e92a5 #244 Escape spaces in filenames 2014-10-14 16:31:09 -04:00
Marius Kintel a7eab14c29 Proper fix of the save-saveas problem 2014-10-13 15:34:47 -04:00
Marius Kintel 1ab34dc9d0 bugfix: Attempted to assign temporary variable to a const&, broke in debug mode. Fixes #980 2014-10-13 15:13:17 -04:00
Marius Kintel c577c7e501 Calling signals from outside is only possible with Qt5. This is probably the wrong hack anyway 2014-10-12 23:13:15 -04:00
Marius Kintel 1cc4f6be53 update the previous fix: SCN_SAVEPOINTLEFT() is only accessible in QScintilla >= 2.8, always save the file on actionSave() 2014-10-11 18:59:27 -04:00
Marius Kintel d064b9238f bugfix: When saving an unmodified file using Save As, the file wasn't actually saved 2014-10-11 18:38:34 -04:00
Marius Kintel 3dca2873e0 Handle arriving FileOpen events while the launchscreen is active, cleaned up some code, make static MainWindow handling more robust. Fixes #972 2014-10-09 22:13:18 -04:00
Marius Kintel a4b999e0d4 Use same UI inheritance style for launchingscreen as other components, indentation fixes 2014-10-09 17:21:15 -04:00
Marius Kintel 428cf27a03 Merge pull request #957 from openscad/restore_selection_for_find
Editor: Restore lost 'use selection for find' functionality
2014-10-02 02:11:43 -04:00
Marius Kintel 0993d5c9c2 Merge branch 'master' into scintilla-updates
Conflicts:
	src/MainWindow.ui
2014-10-02 02:10:55 -04:00
Marius Kintel 253b57f747 #964 Implemented a more robust polygon triangulator which will now handle intersecting edges properly. Should output more sane corner-case meshes, although they're not perfectly manifold 2014-10-02 01:38:05 -04:00
Marius Kintel 8eff7ed37b #964 Catch precondition exception for malformed (self-intersecting) polygons to avoid a crash 2014-10-01 00:43:34 -04:00
Marius Kintel 7343290ffc Removed empty toolbar subtypes 2014-09-30 17:25:01 -04:00
Marius Kintel a8e9f63928 Improved some variable naming 2014-09-30 17:18:40 -04:00
Marius Kintel bc86312997 bugfix: Font list was connected to wrong slot 2014-09-30 16:48:36 -04:00
Marius Kintel 7a1737c09f toolBar -> viewerToolBar, indendation fixes 2014-09-30 16:47:14 -04:00
Marius Kintel 6ed2acf791 Merge remote-tracking branch 'origin/master' into Toolbar2 2014-09-29 11:46:45 -04:00
Torsten Paul 1776bcd460 Add menu entry to convert tabs to spaces. 2014-09-19 23:25:49 +02:00
Torsten Paul cdb4120dcb Set indentation defaults. 2014-09-19 23:25:03 +02:00