Zheng, Lei
38c47d6e95
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
8cbdc3ad5d
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
53e597a5d6
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
b6834155cf
Expression: fix python object evaluation
2019-08-17 15:32:48 +02:00
Zheng, Lei
ced27a69c6
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
wmayer
98e13aa048
PVS: V730 Not all members of a class are initialized inside the constructor
2019-02-17 11:49:51 +01:00
Eivind Kvedalen
653da7efb7
Fixed issue #2877 : Added hypot() and catet() functions to expression framework.
2017-07-20 18:57:31 +02:00
Eivind Kvedalen
2714dd82c8
Spreadsheet: Fixed issue #2894 : Unit strings could be used as aliases.
2017-03-07 13:45:53 -03:00
wmayer
c636974ec8
fix -Wextra in FreeCADApp
2016-09-21 16:05:36 +02:00
wmayer
fb892d35de
fix Coverity issues
2016-09-03 14:51:28 +02:00
Eivind Kvedalen
4f7470c5e8
Expressions: Simpified parser, fixed precedence (parentheses)
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
97aa0a1c6d
Expressions: Fixed parsing of unit expressions similar to 1/unit.
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
8f511322bc
Expressions: Moved Expression::priority to cpp file.
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
b5e44436f1
Expressions: Added support for aggregate functions and ranges.
2016-04-02 12:01:04 +02:00
Eivind Kvedalen
4eb3af633f
Expressions: ints should be 64 bit.
2016-03-08 16:09:28 +01:00
Eivind Kvedalen
778abe9072
Expressions: Added App::BooleanExpression class.
2016-03-08 16:09:27 +01:00
Eivind Kvedalen
452650440b
PropertyExpressionEngine: Refactored and moved visitor code to separate file.
2016-02-18 16:54:41 +01:00
Eivind Kvedalen
fa8b7bfb45
Expression: Added ExpressionModifier class, used as base class for visitors that may modify its expressions.
2016-02-18 16:54:41 +01:00
Eivind Kvedalen
ca0c9de886
Expression/ObjectIdentifier: changed return type of renameDocumentObject and renameDocument,
...
to be able to signal that a rename actually took place.
2015-12-21 14:11:12 +01:00
Eivind Kvedalen
5fa6bc714e
App: Removed VariableExpression::setName(), and replace call by setPath(); it's use caused a crash ( #2352 ).
2015-12-09 12:15:12 +01:00
Eivind Kvedalen
ae388d26ea
Added Expression classes to App directory. Added Expression interface to Property base class.
2015-09-21 14:51:02 +02:00