Zheng, Lei
a1417c5ffa
App: extend Expression syntax
...
* Support sub-object reference syntax using the following syntax,
Part.<<Box.>>.Placement
or, with sub-object label referencing
Part.<<$Cube.>>.Placement
* Extend indexing support, including range based indexing, e.g.
A1[B2+1][C3][D4:-1]
* Add new constants, None, True, true, False, false.
2019-09-28 15:31:24 +02:00
Zheng, Lei
22fede14d8
App: add list/tuple() function to Expression
...
For easy creation of Python list/tuple using expression. Range
expression can now be expanded into list or tuple.
2019-09-28 15:30:55 +02:00
Zheng, Lei
ea7eee8061
Expression: split Expression.h to ExpressionParser.h
...
Split Expression details into a separate header to reduce recompilation
time on changes.
2019-09-28 15:30:41 +02:00
Zheng, Lei
d141975701
App: use Python number protocol in Expression
...
This adds support to do mul/div with matrix and vector, as well as
Python formated string with operator %.
2019-09-28 15:30:34 +02:00
wmayer
b50b21576e
core system
...
force strict ISO C++ (-Wpedantic)
TODO: still a lot of variadic macros are not valid ISO C++
2019-09-18 01:01:14 +02:00
wmayer
3e6ae0d027
Fix clang compiler warnings:
...
+ fix -Winconsistent-missing-override
+ fix -Wunused-private-field
+ suppress -Woverloaded-virtual but fix later
2019-08-17 19:51:51 +02:00
Zheng, Lei
ce30645b39
Fix typos pathes -> paths
2019-08-17 15:32:49 +02:00
Zheng, Lei
e0799e2bb3
Expression: fix python object evaluation
2019-08-17 15:32:48 +02:00
Zheng, Lei
93e60caa35
PropertyExpressionEngine: convert to link type property
...
PropertyExpressionEngine is changed to derived from a new class
PropertyExpressionContainer, which is in turn derives from
PropertyXLinkContainer. This makes PropertyExpressionEngine a link type
property that is capable of external linking. It now uses the unified
link property APIs for dependency management and tracking of object
life time, re-labeling, etc.
ObjectIdentifier is modified to support sub-object reference, but is
not exposed to end-user, because expression syntax is kept mostly
unchanged, which will be submitted in future PR. There is, however,
one small change in expression syntax (ExpressionParser.y) to introduce
local property reference to avoid ambiguity mentioned in
FreeCAD/FreeCAD#1619
Modified Expression/ExpressionModifier interface to support various link
property API for link modification.
2019-08-17 14:52:09 +02:00
Yorik van Havre
057c79c11c
Doxygen tweaks
2019-07-17 18:01:56 -03:00
wmayer
85270f5cd3
Fix a couple of clang compiler warnings:
...
-Wunused-variable
-Winconsistent-missing-override
-Wdelete-non-virtual-dtor
-Wunused-private-field
-Wformat
2019-06-23 15:19:12 +02:00
luz.paz
c985f9ee79
Misc typos and whitespace fixes
...
Found via `codespell -q 3 -I ../fc-word-whitelist.txt -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*`
2019-03-31 11:42:36 +02:00
wmayer
183cd16263
Fix precision of NumberExpression when writing to a string (reverts a3af2902ef)
...
See also: https://forum.freecadweb.org/viewtopic.php?f=3&t=34392
2019-02-23 14:34:14 +01:00
luz.paz
6e64b4f75d
Misc. typos
2018-05-19 12:06:34 -04:00
luz.paz
505488c4f9
Misc. typos
...
Found via `codespell`
2018-04-25 09:41:33 -03:00
Eivind Kvedalen
ae7bef9978
Expressions: Fixed issue #3432 ; aggregate functions sometimes ignore some of their arguments.
...
Also updated regression tests in Spreadsheet module.
2018-04-21 22:33:54 +02:00
Eivind Kvedalen
0574ac37ed
Spreadsheet/Expressions: Fixed issue #3363 .
2018-03-25 11:53:35 +02:00
wmayer
7480544967
fix typo
2018-03-11 18:34:18 +01:00
luz.paz
bbfbb0e7d3
Misc. comment typos
2018-01-14 12:11:35 -02:00
Unknown
a8ecffb652
Misc. typo fixes
...
Various workbenches
2017-12-23 14:30:30 +01:00
wmayer
532d9b230b
fix coverity issue
2017-11-18 16:30:27 +01:00
Eivind Kvedalen
2e96d9bf95
Fixed issue #2877 : Added hypot() and catet() functions to expression framework.
2017-07-20 18:57:31 +02:00
Eivind Kvedalen
72dd6dfd9a
Expressions: Fixed issue #3128 ; mod(x;y) should support arbitrary units for both arguments.
2017-07-13 12:20:31 +02:00
wmayer
1673ab801e
use specialized exception classes
2017-04-28 18:49:11 +02:00
Eivind Kvedalen
338ca55622
Spreadsheet: Fixed issue #2894 : Unit strings could be used as aliases.
2017-03-07 13:45:53 -03:00
Kunda
3017173c9a
source typo fixes pt6
2017-03-07 13:43:46 -03:00
wmayer
33e0bc3a46
fix various warnings
2017-02-02 20:42:56 +01:00
Eivind Kvedalen
4750bd40dd
Expressions: Generalized FunctionExpression::simplify(...) function.
2017-02-02 10:27:29 +01:00
Eivind Kvedalen
0d6f777099
Expressions: Fixed issue #2879 .
2017-02-02 10:27:29 +01:00
wmayer
efe14610b7
fix & suppress warnings of generated code
2016-12-30 13:31:31 +01:00
Eivind Kvedalen
25c56b7864
Spreadsheet: Fix for issue #2646 : Spreadsheet-Sum-Function does not work with units
...
This fix also fixes the other aggregates.
2016-12-15 17:27:18 +01:00
Eivind Kvedalen
de27adbefa
Spreadsheet: Fix for issue #2647 , stddev does not work with arrays.
2016-12-15 17:27:18 +01:00
Eivind Kvedalen
a3af2902ef
Spreadsheet: Save numbers with one more digit.
2016-12-15 17:27:18 +01:00
Eivind Kvedalen
eb32b3d831
Spreadsheet: Fixed for issue #2767 : In some instances, needed parentheses are dropped from the expression. Fixed and updated unit tests.
2016-12-15 17:27:18 +01:00
wmayer
9fe82bfbb9
fixes #0002460 : Use keyword 'explicit' for Quantity constructor
2016-11-05 23:21:42 +01:00
wmayer
f944ab3846
replace deprecated auto_ptr with unique_ptr
2016-09-22 13:01:20 +02:00
wmayer
71df967fdf
fix -Wextra in FreeCADApp
2016-09-21 16:05:36 +02:00
wmayer
1c8045756f
Coverity issues:
...
129727: Structurally dead code
151979, 133461: Uninitialized scalar field
129785, 129786, 129787: Use after free
2016-08-16 12:23:12 +02:00
Eivind Kvedalen
c506881614
Expressions: Simpified parser, fixed precedence (parentheses)
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
909727ade8
Expressions: Fixed parsing of unit expressions similar to 1/unit.
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
1626c69494
Expressions: Moved Expression::priority to cpp file.
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
b37e6ece98
Expressions: Refactored aggregate functions.
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
08692f811b
Expressions: Added support for aggregate functions and ranges.
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
8ce2f16759
Expressions: Added code to throw under/overflow exceptions.
2016-03-08 16:09:29 +01:00
Eivind Kvedalen
ac79af0289
Expressions: Use BooleanExpression class for EQ, NE, LT, GT, LTE, and GTE operators.
2016-03-08 16:09:27 +01:00
Eivind Kvedalen
26f4d1ae8e
Expressions: Added App::BooleanExpression class.
2016-03-08 16:09:27 +01:00
Eivind Kvedalen
34135e5d2e
Expressions: Turned off debug output/tracing for expression parser.
2016-03-08 16:09:26 +01:00
Eivind Kvedalen
1da5d33996
Expression class: Improved error message when resolving a variable fails.
2016-02-18 16:54:44 +01:00
Eivind Kvedalen
810135fad4
PropertyExpressionEngine: Refactored and moved visitor code to separate file.
2016-02-18 16:54:41 +01:00
Eivind Kvedalen
22d77b784a
VariableExpression: Add converters for long and bool data types.
2016-01-26 11:49:50 +01:00