Commit Graph

32 Commits

Author SHA1 Message Date
wmayer
c7a17468e7 modernize C++: use noexcept 2023-08-07 16:06:58 +02:00
berniev
8aff4a7503 Base: Modernise ctors dtors defs etc 2022-08-02 12:37:46 +02:00
berniev
4043d049bc remove redundant void from Base 2022-07-31 14:10:34 +02:00
marioalexis
82da0065c4 Base: Add function to get Python object types for SWIG interfaces 2022-06-21 21:01:37 -04:00
wmayer
882e34f2ce Base: modernize C++11
* use nullptr
2022-03-23 16:57:25 +01:00
wmayer
a22608b7b5 Base: let interpreter keep track of created modules 2022-03-13 22:34:01 +01:00
Uwe
6afab502ca [Base] Geometry etc.: remove unused includes 2022-03-01 13:56:02 +01:00
Uwe
d11d00cb70 [Base] fix typo to silence spellchecker CI 2022-02-22 02:31:51 +01:00
wmayer
4d87039635 Base: modernize C++11
* remove redundant void-arg
* use nullptr
* replace deprecated headers
2022-01-25 20:21:30 +01:00
wmayer
31e2e95203 Base: Exception handling:
* Harmonize FreeCAD with Python exception types
* Implement AbortException::getPyExceptionType() to avoid handling it in client code
* Remove catch block for plain C strings
2022-01-19 18:00:04 +01:00
luz paz
d5f6c096b8 Base: Fix header uniformity, whitespace, and doxygen
[skip ci]
2020-11-22 18:12:16 +01:00
mwganson
a4e38baeb3 [CheckGeometry] add new shapecontent builder instead of OCCT's to correct some errors in OCCT's values and to add for some more advanced information, e.g. volume or area, add new method to Base::Interpreter runStringWithKey() -- allows to run a python script and get a string return value 2020-09-03 12:09:38 +02:00
wmayer
3b0eeb63e8 LGTM: [skip ci] fix: Inconsistent definition of copy constructor and assignment ('Rule of Two')
Remove user-defined copy constructor of Exception classes without assignment operator
2020-07-27 13:47:41 +02:00
wmayer
49bfbf73f8 Base: [skip ci] add method to more easily set the Python error indicator from a Base::Exception 2020-03-18 17:53:13 +01:00
luz.paz
6f11ed298a src/Base: [skip ci] fix header uniformity
This PR fixes header uniformity across all `src/Base` files
2019-12-25 11:38:58 +01:00
Zheng, Lei
69268ce7f4 Base: fix pyCall() exception
This function is wildly used in FeaturePython and
ViewProviderPythonFeature, which explicitly catches Py::Exception, not
Base::Exception. So pyCall() should throw Py::Exception, too.
2019-08-30 15:47:04 +02:00
wmayer
7e70438ae3 fix -Winconsistent-missing-override 2019-08-17 19:51:33 +02:00
Zheng, Lei
3fcbf71fb5 Base: misc patches
Convenience macros/function (in Interpreter.h)

* FC_PY_GetObject/Callable(), look for callables in a python object,
  which will be used in future patch to improve performance in various
  python observer/features.

* pyCall(WithKeywords)(), helper function to invoke the callable

Matrix4D:

* hasScale(), check if there is any scale in the transformation. If so,
  further check if the scale is uniform or not. This will be used in
  future patch for Part::TopoShape to decide which type of transform to
  apply.

Placement:

* translate/rotate(), new convenience API

Rotation:

* isSame/multiVec(), new convenience API

Polygon2d:

* Intersect(), GetCenter(), new convenience API.

FlagToggler:

* New class for exception safe flag toggling, similar to StateLocker
  but with template (actually, FlagToggler is added earlier by me).

BitsetLocker:

* New class for exception manipulation of a std::bitset variable.
2019-08-17 14:52:08 +02:00
Zheng, Lei
59417068f5 Base: improve exception
For better FC and Python exception mapping.
2019-08-17 14:52:08 +02:00
Abdullah Tahiri
db8511883c Enable PyException to reconstruct the original exception 2017-05-13 15:27:57 +02:00
Kunda
19f8fd4c10 source typo fixes pt5
+ cleaning up some more non-short-URLs
Issue #2914
2017-03-04 13:07:13 -03:00
wmayer
f408f3180b fix -Wextra in FreeCADBase 2016-09-21 15:02:02 +02:00
wmayer
c81aca0902 + unify method names 2016-05-18 23:43:58 +02:00
DeepSOIC
7f5197695d Attacher: add general purpose editor UI (python)
Added as PartGui.AttachmentEditor, and Part_EditAttachment gui command
2016-05-18 23:05:51 +02:00
Bruce Lacey
9816e48b07 Propagate sys.exit(code) up the call stack to the shell
SystemExitException is instantiated and thrown by Base::Interpreter
whenever the python interpreter executes a sys.exit(<exitCode>) call.
However, in the current implementation, the SystemExitException
effectively swallows the <exitCode> hence under this change,
SystemExitException has been extended to save the <exitCode> passed to
the sys.exit() call when it is instantiated and provides a new
getExitCode() accessor method to retrieve the <exitCode> in a
try/catch block.  MainGui.cpp was change to pass the corresponding
<exitCode> to the system exit() call so it is accessible in the shell.
2016-03-21 18:28:29 +01:00
Mateusz Skowroński
43a4a5938c Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
Eivind Kvedalen
75dab66916 Added InterpreterSingleton::getValue(...) function. 2015-02-13 21:53:57 +01:00
wmayer
a96f390097 + fix build problems with Python & MacOSX 2014-10-13 22:02:57 +02:00
wmayer
946bd02df4 Improve reporting of Python exceptions 2013-05-04 14:23:53 +02:00
wmayer
95de7d19cf Replace Python std output only for GUI application and not for CLI 2012-10-01 16:38:43 +02:00
wmayer
1884ee3881 0000528: Need a way to reset the Python instance
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5250 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-12-10 13:42:32 +00:00
wmayer
120ca87015 + unify DLL export defines to namespace names
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-10-10 13:44:52 +00:00