Changesets: FreeCAD
master 94c22897 2019-07-05 00:39:54 Zheng, Lei Committer: wmayer Details Diff |
App: API changes for document recompute/save/restore/import/export This patch adds support of recomputation with external linked object, as well as external document auto loading and partial loading. Application: * Modified new/openDocument()/signalNewDocument to choose whether to signal GUI for creating a view for the document. This makes it possible to suppress view creation when opening external documents. * New API openDocuments() which does the actual job of loading the document together with any external dependencies. There are afew extra arguments to allow setting FileName property differently from the actual file path, which are required when auto loading dependencies during document recovery (with future patch to Gui::DocumentRecovery) * openDocumentPrivate() is an internal helper for opening individual document. * New signalStart/FinishOpenDocument to be signaled before and after opening a document. There may be multiple depending documents actually opened in between these two signals. * New signalBeforeRecomputeDocument signaled before recompute a document. * New API addPendingDocument() for use by external capable link properties' to queue up external documents. * isRestoring/isClosingAll(), for convenience status reporting. Document: * signalFinishImport/RestoreObjects, new signal triggered after imported or restored all input objects * signalBeforeRecompute, signaled before start recomputing this document * Modified signalRecomputed with additional recomputed objects, this is to make it more efficient for Gui::TreeWidget to check recomputation result. * signalSkipRecompute, signal to inform which objects are skipped during recomputation because of their owner document SkipRecompute setting. * restore/save/read/writeObjects() modified to suport partial loading. See [here](https://git.io/fj6PY) for more information. * afterRestore(), internal function called to finish restore. The function is separated from restore() because there is quite a few critical steps needed to fully restore a document with external linking. See [here](https://git.io/fj6P4) for more information. * DocumentP::_RecomputeLog is modified to store more accurate object recomputation error, including those happened during restore/import. * isExporting(), new API for checking if an object is exporting. External linking properties will use this function to decide how to export. * copyObject(), modified to support external linking objects, and accepts multiple input objects. * moveObject(), modified to support arbitary object moves. The original implementation may cause crash if undo/redo is enabled. Furthermore, because the original information fakes the object's deletion to break its dependency, it does not work for objects that may auto delete their children when being deleted. The new implementation copy the object, and than paste it to the other document. It then deletes the input objects from the original document. In case of recursive move, it only deletes the depending object if it has an empty in list. * importLinks(), new API to import any external object linked by the input objects into this document. It will auto correct all link references after importing. * getDependencyList/_rebuildDependencyList(), these two APIs are unified and implemented by an internal function _buildDependencyList() with a new algorithm to handle external objects. The returned dependency list will now include objects from external documents. In case of cyclic dependencies, getDpendencyList() will report the actual objects involved in dependency loops. * mustExecute(), new API to check if there are any object requires recomputation. This function will call _buildDependencyList() and check for external objects as well. * addRecomputeObject(), new API for marking changes during document restore. It only marks the object but does not actually recompute them for performance reason. One use case is for geo feature to request for recomputation to generate geometry topological names. * recompute(), support partial, external, and inverse dependency recomputation. Improve error handling during recomputation. See [here](https://git.io/fj6PO) for more information. * _recomputeFeature(), suppoert user abort. * getDependentDocuments/getInList(), new API to obtain an optional dependency sorted list of depending documents. DocumentObject: * Add various ObjectStatus flags * isExporting/getExportName(), return a safe name for exporting, in the form of <ObjName>@<DocName>, which is guarrenteed to be unique. Various link property will save linked object using this name if the the linked object is exported together with the owner object, see [PropertyLinkBase::restoreLabelReference()](https://git.io/fj6XO) for more information. * recomputeFeature(), add option to recompute this object together with all its dependent objects. * canLoadPartial(), new API for [partial document loading](https://git.io/fj6PY). MergeDocuments: * Move object name mapping logic to various link properties. See Base::Sequencer: * Add new API checkAbort() for checking user abort. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Application.h | Diff File | ||
mod - src/App/ApplicationPy.cpp | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/Document.h | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/DocumentPy.xml | Diff File | ||
mod - src/App/DocumentPyImp.cpp | Diff File | ||
mod - src/App/MergeDocuments.cpp | Diff File | ||
mod - src/App/MergeDocuments.h | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/Base/Sequencer.h | Diff File | ||
mod - src/Gui/MergeDocuments.cpp | Diff File | ||
master 5a352ea6 2019-07-04 16:02:30 Details Diff |
FEM: solver fenics, fix fenics import test | ||
mod - src/Mod/Fem/femsolver/fenics/fenics_tools.py | Diff File | ||
master 126cb432 2019-07-04 15:55:42 Details Diff |
FEM: element flow 1D, deactivate not supported fluid types | ||
mod - src/Mod/Fem/femguiobjects/_ViewProviderFemElementFluid1D.py | Diff File | ||
mod - src/Mod/Fem/femobjects/_FemElementFluid1D.py | Diff File | ||
mod - src/Mod/Fem/femsolver/calculix/writer.py | Diff File | ||
master 217d96e3 2019-07-04 15:43:33 Details Diff |
FEM: ccx writer, typo in var name | ||
mod - src/Mod/Fem/femsolver/calculix/writer.py | Diff File | ||
master efc6d4f8 2019-07-04 14:59:13 Committer: wandererfan Details Diff |
add zh_CN template sag files | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscape/A0_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscape/A1_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscape/A2_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscape/A3_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscape/A4_Landscape_CN.svg | Diff File | ||
master bbbab316 2019-07-04 14:58:01 Committer: wandererfan Details Diff |
create README file in TechDraw Template zh_CN create README file in TechDraw Mod Template directory . |
||
add - src/Mod/TechDraw/Templates/zh_CN/landscape/README | Diff File | ||
master 9152ca72 2019-07-04 14:57:08 Details Diff |
for standard meshing algorithm copy color from face to segment | ||
mod - src/Mod/MeshPart/App/Mesher.cpp | Diff File | ||
master 830ddc75 2019-07-04 14:56:02 Details Diff |
Add command to show mesh segments | ||
mod - src/Mod/Mesh/Gui/ViewProvider.cpp | Diff File | ||
mod - src/Mod/Mesh/Gui/ViewProvider.h | Diff File | ||
master 4c842f0e 2019-07-04 14:55:03 Details Diff |
Store color information per segment | ||
mod - src/Mod/Mesh/App/Mesh.cpp | Diff File | ||
mod - src/Mod/Mesh/App/Segment.cpp | Diff File | ||
mod - src/Mod/Mesh/App/Segment.h | Diff File | ||
master 4c63541a 2019-07-04 14:03:03 Details Diff |
Draft: Proper support for layers in DXF import/export (py exporter) | ||
mod - src/Mod/Draft/Resources/ui/preferences-dxf.ui | Diff File | ||
mod - src/Mod/Draft/importDXF.py | Diff File | ||
master 3d2edd0f 2019-07-04 13:47:53 Details Diff |
[TD]Add line appearance editor | ||
mod - src/Mod/TechDraw/App/Cosmetic.cpp | Diff File | ||
mod - src/Mod/TechDraw/App/Cosmetic.h | Diff File | ||
mod - src/Mod/TechDraw/App/DrawViewPart.cpp | Diff File | ||
mod - src/Mod/TechDraw/App/DrawViewPart.h | Diff File | ||
mod - src/Mod/TechDraw/App/DrawViewPartPy.xml | Diff File | ||
mod - src/Mod/TechDraw/App/DrawViewPartPyImp.cpp | Diff File | ||
mod - src/Mod/TechDraw/App/Geometry.h | Diff File | ||
mod - src/Mod/TechDraw/Gui/CMakeLists.txt | Diff File | ||
mod - src/Mod/TechDraw/Gui/CommandAnnotate.cpp | Diff File | ||
mod - src/Mod/TechDraw/Gui/QGIViewPart.cpp | Diff File | ||
mod - src/Mod/TechDraw/Gui/QGIViewPart.h | Diff File | ||
mod - src/Mod/TechDraw/Gui/Resources/TechDraw.qrc | Diff File | ||
add - src/Mod/TechDraw/Gui/Resources/icons/actions/techdraw-facedecor.svg | Diff File | ||
add - src/Mod/TechDraw/Gui/Resources/icons/actions/techdraw-linedecor.svg | Diff File | ||
mod - src/Mod/TechDraw/Gui/TaskCenterLine.cpp | Diff File | ||
add - src/Mod/TechDraw/Gui/TaskLineDecor.cpp | Diff File | ||
add - src/Mod/TechDraw/Gui/TaskLineDecor.h | Diff File | ||
add - src/Mod/TechDraw/Gui/TaskLineDecor.ui | Diff File | ||
mod - src/Mod/TechDraw/Gui/Workbench.cpp | Diff File | ||
master 7de89cf6 2019-07-04 12:49:51 Committer: yorik Details Diff |
improved import/export compatibility w prop cads thread related https://forum.freecadweb.org/viewtopic.php?f=3&t=37469#p318651 |
||
mod - src/Mod/Import/stepZ.py | Diff File | ||
staging 795a55b3 2019-07-04 11:14:30 Zheng, Lei Details Diff |
DocumentObject: API implementation change of In/OutList Added getInListEx() as a more efficient algorithm for recursive in list. Replacing the original getInListRecursive(). Added out list object and name cache to improve default implementation of getSubObject(). |
||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
staging 380947ef 2019-07-04 11:14:30 Zheng, Lei Details Diff |
DocumentObject: API implementation change of In/OutList Added getInListEx() as a more efficient algorithm for recursive in list. Replacing the original getInListRecursive(). Added out list object and name cache to improve default implementation of getSubObject(). |
||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
master b1964786 2019-07-04 11:14:30 Zheng, Lei Committer: wmayer Details Diff |
DocumentObject: API implementation change of In/OutList Added getInListEx() as a more efficient algorithm for recursive in list. Replacing the original getInListRecursive(). Added out list object and name cache to improve default implementation of getSubObject(). |
||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
staging 5ff5f783 2019-07-04 09:25:55 Zheng, Lei Details Diff |
DocumentObject: add allowDuplicateLabel/onBeforeChangeLabel() These two APIs allow an object to control its own labeling rules. The previous auto re-labeling for uniqueness logic is moved from ObjectLabelObserver (resides in Application.cpp) to PropertyString. DocumentObject::allowDuplicateLabel() is used to inform PropertyString that the object allows duplicate label regardless of application setting. onBeforeChangeLabel() is called before actual label change to give object a chance to override the new label. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/PropertyStandard.cpp | Diff File | ||
mod - src/App/PropertyStandard.h | Diff File | ||
staging 429c4846 2019-07-04 09:25:55 Zheng, Lei Details Diff |
DocumentObject: add allowDuplicateLabel/onBeforeChangeLabel() These two APIs allow an object to control its own labeling rules. The previous auto re-labeling for uniqueness logic is moved from ObjectLabelObserver (resides in Application.cpp) to PropertyString. DocumentObject::allowDuplicateLabel() is used to inform PropertyString that the object allows duplicate label regardless of application setting. onBeforeChangeLabel() is called before actual label change to give object a chance to override the new label. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/PropertyStandard.cpp | Diff File | ||
mod - src/App/PropertyStandard.h | Diff File | ||
master 161ad057 2019-07-04 09:25:55 Zheng, Lei Committer: wmayer Details Diff |
DocumentObject: add allowDuplicateLabel/onBeforeChangeLabel() These two APIs allow an object to control its own labeling rules. The previous auto re-labeling for uniqueness logic is moved from ObjectLabelObserver (resides in Application.cpp) to PropertyString. DocumentObject::allowDuplicateLabel() is used to inform PropertyString that the object allows duplicate label regardless of application setting. onBeforeChangeLabel() is called before actual label change to give object a chance to override the new label. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/PropertyStandard.cpp | Diff File | ||
mod - src/App/PropertyStandard.h | Diff File | ||
master 641d1072 2019-07-04 07:11:28 Details Diff |
FEM: gui commands, rename all classes: - delete Fem since we are in FEM workbench we only have FEM commands - delete Command since we are in Python command module we only have Command classes - this will simplify gui object creation |
||
mod - src/Mod/Fem/femcommands/commands.py | Diff File | ||
master d07c08c3 2019-07-04 07:07:44 Details Diff |
FEM: gui commands, rename some classes | ||
mod - src/Mod/Fem/femcommands/commands.py | Diff File | ||
master 325321b5 2019-07-04 05:37:11 Details Diff |
FEM: gui commands, get rid of duplicate code | ||
mod - src/Mod/Fem/femcommands/commands.py | Diff File | ||
mod - src/Mod/Fem/femcommands/manager.py | Diff File | ||
master a8d6bf70 2019-07-04 05:27:28 Committer: GitHub Details Diff |
Merge pull request 0002321 from sliptonic/feature/helixstart Path: add helix start radius |
||
mod - src/Mod/Path/PathScripts/PathHelix.py | Diff File | ||
master 9ba307ff 2019-07-04 03:00:49 Committer: wandererfan Details Diff |
Add files via upload | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscpae/A0_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscpae/A1_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscpae/A2_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscpae/A3_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscpae/A4_Landscape_CN.svg | Diff File | ||
add - src/Mod/TechDraw/Templates/zh_CN/landscpae/README | Diff File | ||
master b351b0fb 2019-07-04 02:58:10 Committer: GitHub Details Diff |
Merge pull request 0000014 from Russ4262/patch-1 Add new property to SetupProperties() |
||
mod - src/Mod/Path/PathScripts/PathHelix.py | Diff File | ||
master 8da553bd 2019-07-04 00:52:02 Committer: GitHub Details Diff |
Add new property to SetupProperties() StartRadius property addedd |
||
mod - src/Mod/Path/PathScripts/PathHelix.py | Diff File |