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

berndhahnebach

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

berndhahnebach

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

berndhahnebach

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

FelixLee868


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

FelixLee868


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

wmayer

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

wmayer

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

wmayer

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

yorik

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

wandererfan

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

easyw


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

berndhahnebach

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

berndhahnebach

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

berndhahnebach

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

sliptonic


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

FelixLee868


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

sliptonic


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

russ4262


Committer: GitHub Details Diff
Add new property to SetupProperties()

StartRadius property addedd
mod - src/Mod/Path/PathScripts/PathHelix.py Diff File
 First  Prev  1 2 3 ... 70 ... 140 ... 210 ... 280 ... 300 301 302 303 304 305 306 ... 350 ... 420 ... 490 ... 560 ... 630 ... 649 650 651  Next  Last