Commit Graph

53 Commits (dcb0b53d1155acfcdf5a9821dc8f21a1f5867c75)

Author SHA1 Message Date
Marius Kintel 6f4cf3ebec Fixed a bug failing to detect changes in underlying libraries. Should improve some of the issues reported in #181 2014-02-10 02:19:56 -05:00
Marius Kintel 603ce02420 Cleaned up some module cache misbehaviors. Fixes #535 2014-02-09 17:17:10 -05:00
Marius Kintel 0cacb434fc bugfix related to #460: removed duplicate initializeModule() 2013-10-08 23:40:16 -04:00
Marius Kintel b4e80581ca Merge branch 'bom-tree-std-stack' of git://github.com/steelman/openscad into steelman-bom-tree-std-stack
Conflicts:
	src/module.cc
2013-10-04 15:13:26 -07:00
Marius Kintel a7396cc36f Fixes two problems related to : lookup was dynamic rather than lexical, assignment was done after all local variables causing it not to be copyable 2013-08-21 01:40:21 -04:00
Łukasz Stelmach 400d28d753 Enable module stack introspection from within an SCAD script
The _current_module and _parent_module variables have been replaced
by a built-in function parent_module(n). It takes one numeric parameter n,
and returns n-th element from the module stack. If no argument provided,
n defaults to 1 and the function returns the name of the direct parent
module. If n is equal 0 current module name is returned.
2013-08-18 17:19:49 +02:00
Łukasz Stelmach d67e012916 Introduce '_current_module' and '_parent_module' variables
Add two built-in variables that provide access to the names
of the current and the previously instantiated modules.

Having these variables simplifies generation of BOMs and assembly
graphs (e.g. with GraphViz).

[std::stack]
2013-08-17 16:22:00 +02:00
Marius Kintel bd0248e109 Fixed a bug where changing a file during a large automatic reload could cause a crash 2013-06-13 01:16:26 -04:00
Marius Kintel 626047f26d Minor refactoring of include checks 2013-06-05 22:25:58 -04:00
Marius Kintel 3bb22f9c53 Increase recursion limit to 1000 2013-06-05 20:28:10 -04:00
Marius Kintel 362d689305 Don't auto-reload missing files, reduce warning output from periodically called functions 2013-06-05 20:25:57 -04:00
Marius Kintel e4197c1b58 Dump the else part of if-else blocks if it has any content. Part of #384 2013-06-01 16:05:09 -04:00
Marius Kintel 0967a26bff Support locating previously missing modules. yet another part of #364 2013-05-26 21:55:00 -04:00
Marius Kintel ce11fb2ea2 Fixed remaining issue. We now correctly detect removal of files as changes. Removed temporary debug output. Fixes #364 2013-05-26 15:08:23 -04:00
Marius Kintel cc6ac10e47 Search paths when looking for previously missing includes. Should provide most of what's needed for #364 2013-05-25 17:45:13 -04:00
Don Bright 8a83e334ab try to refactor the 'is_modified( includefile )' code 2013-05-19 23:31:18 -05:00
Don Bright 24e726fb58 first refactoring towards fixing issue364 2013-05-19 15:14:05 -05:00
Marius Kintel ee6f149dd0 bugfix: Fixed recursion crash (#346) 2013-05-13 16:27:17 -04:00
Marius Kintel 14e1ad2363 Forgot to actually add most files in previous commit (#217) 2013-05-09 12:12:58 +02:00
Marius Kintel ba20c0e800 Modified parse to allow overloading of variables in local blocks. Also did some minor cleanups while at it. Test cases missing 2013-04-26 18:32:19 -04:00
Marius Kintel 9b740b558d Further refactoring of scope/context mechanisms. Mostly related to the new FileContext class. Not quite there yet, but almost 2013-04-26 17:45:03 -04:00
Marius Kintel 9a297ecee5 Refactoring: Split out FileModule from Module, Added LocalScope renamed some confusing 'evaluate' methods to 'instantiate', added FileContext (not yet used) 2013-04-26 17:45:03 -04:00
Marius Kintel b4568a09df Refactored assignments and assignments_var into one component 2013-04-26 17:43:40 -04:00
Marius Kintel 64ed1eb9fe Experiment: Lazy evaluation of argument lists in evaluation context. Allows e.g. for loop variables to be dependent on each other 2013-04-26 17:42:32 -04:00
Marius Kintel 58bd9c9e3f Cleaned up argument list handling, related to #116 2013-04-18 18:34:14 -04:00
Marius Kintel 151593705f Disable context debug output 2013-04-09 01:04:36 -04:00
Marius Kintel a37813a899 Refactored context handling into using separate Module contexts and Eval contexts. This allows for recursive module calls, and cascading children. I believe this fixes issue #116 2013-04-09 00:28:16 -04:00
Marius Kintel 1b8b7aa5fa I think this should fix issue #217 2013-04-05 01:30:09 -04:00
Marius Kintel 40d9ffe6a4 Changed redeclaration of assignment so that the last declaration defines the order. This hopefully fixes the confusing error message discussed on the mailing list nov 27-30 (Variable bug) 2013-03-11 17:54:49 -04:00
Marius Kintel 502ecbb6ca Block recursion on circular or recursive inclusions. Fixes #187 2012-09-02 13:17:14 -04:00
Marius Kintel 3019295737 Less debug output 2012-03-28 03:53:09 +02:00
Marius Kintel 2316127e62 Handle include dependencies 2012-02-17 23:05:36 +01:00
Marius Kintel eaeec7aa9a Comment out some debug info to let tests pass 2012-02-15 01:32:37 +01:00
Marius Kintel b9d218e137 Initial implementation of ModuleCache and dependency tracking of used modules 2012-02-15 01:32:37 +01:00
Marius Kintel eff1f7f8c9 Ported printutils away from Qt 2012-01-25 03:11:12 +01:00
Marius Kintel 4ff2d1af44 Some light refactoring attempts, didn't get very far.. 2011-12-26 16:34:47 +01:00
Marius Kintel 45161d4356 Slight refactoring of builtin function and module handling 2011-11-06 18:37:12 +01:00
Marius Kintel a376c0b1f7 bugfix: context mixup after last foreach fix 2011-09-04 20:56:22 +02:00
Marius Kintel 5417b4fa65 Ported use for Qt's foreach to BOOST_FOREACH 2011-09-04 20:35:23 +02:00
Marius Kintel f58c0a3eb5 Some cleanup of the Context class 2011-09-03 18:51:29 +02:00
Marius Kintel 6f632190a0 Ported a bunch of stuff from Qt to STL 2011-09-03 06:10:36 +02:00
Marius Kintel ed8a99ed55 Refactoring: Moved color functionality into separate module and node 2011-09-02 23:35:10 +02:00
Marius Kintel cf4821c589 De-Qt-ified AbstractNode 2011-08-04 04:58:17 +02:00
Marius Kintel d24b3cc84d Ported recent changes to master into the visitor branch 2011-04-12 20:35:44 +02:00
Marius Kintel 91c640fb5e Copyright updates 2011-01-21 02:21:09 +01:00
Marius Kintel e0a068a0e8 Refactored some QString usage in the backend to std::string 2010-11-07 16:29:34 -05:00
clifford d3329838b4 Clifford Wolf:
Implemented 'use' statement



git-svn-id: http://svn.clifford.at/openscad/trunk@459 b57f626f-c46c-0410-a088-ec61d464b74c
2010-02-28 13:48:04 +00:00
clifford 332e835f87 Clifford Wolf:
Added cgaladv.cc with advanced transformations via CGAL
	(as of now only 3d minkowksi sum is implemented but more is planned)



git-svn-id: http://svn.clifford.at/openscad/trunk@446 b57f626f-c46c-0410-a088-ec61d464b74c
2010-02-20 14:37:20 +00:00
kintel 5726317461 Support for if-else statements
git-svn-id: http://svn.clifford.at/openscad/trunk@436 b57f626f-c46c-0410-a088-ec61d464b74c
2010-02-12 13:20:15 +00:00
clifford 07bc7dbecd Clifford Wolf:
Added CGAL exception to all copyright notes, as it is suggested on:
	http://www.cgal.org/license.html
	http://www.fsf.org/licensing/licenses/index_html



git-svn-id: http://svn.clifford.at/openscad/trunk@405 b57f626f-c46c-0410-a088-ec61d464b74c
2010-02-01 09:34:18 +00:00