Changesets: FreeCAD

master 169c975e

2019-07-06 19:52:58

yorik

Details Diff
Draft: Remember Offset copy mode separately from Move copy mode
mod - src/Mod/Draft/DraftGui.py Diff File
mod - src/Mod/Draft/DraftTools.py Diff File

master 122dfd4a

2019-07-06 17:05:31

yorik

Details Diff
Draft: Set global copy mode to False by default
mod - src/Mod/Draft/DraftGui.py Diff File
mod - src/Mod/Draft/Resources/ui/preferences-draft.ui Diff File

master 4bbee73f

2019-07-06 16:51:11

yorik

Details Diff
Arch: Bugfixes in IFC exporter

- Wrong colors of multi-solid cloned objects
- Wrong geometry for multilayer walls based on single lines
- Wrong geometry for rotated solids inside multi-solid objects
mod - src/Mod/Arch/importIFC.py Diff File

master b561190d

2019-07-06 15:44:55

wandererfan

Details Diff
[TD]Add restore invisible lines
mod - src/Mod/TechDraw/App/DrawViewPart.cpp Diff File
mod - src/Mod/TechDraw/App/DrawViewPart.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/TaskLineDecor.cpp Diff File
mod - src/Mod/TechDraw/Gui/TaskLineDecor.h Diff File
add - src/Mod/TechDraw/Gui/TaskRestoreLines.ui Diff File

master 4efa7c67

2019-07-06 10:08:51

carlopav


Committer: yorik Details Diff
[Draft] Bezcurve fix to display length

Added property Length to bezcurve objects.
mod - src/Mod/Draft/Draft.py Diff File

staging ff72f02d

2019-07-06 09:10:17

Zheng, Lei

Details Diff
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.
mod - src/Base/Interpreter.h Diff File
mod - src/Base/Matrix.cpp Diff File
mod - src/Base/Matrix.h Diff File
mod - src/Base/MatrixPy.xml Diff File
mod - src/Base/MatrixPyImp.cpp Diff File
mod - src/Base/PlacementPy.xml Diff File
mod - src/Base/PlacementPyImp.cpp Diff File
mod - src/Base/Rotation.cpp Diff File
mod - src/Base/Rotation.h Diff File
mod - src/Base/Tools.h Diff File
mod - src/Base/Tools2D.cpp Diff File
mod - src/Base/Tools2D.h Diff File

staging 6b47e81d

2019-07-06 09:10:17

Zheng, Lei

Details Diff
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.
mod - src/Base/Interpreter.h Diff File
mod - src/Base/Matrix.cpp Diff File
mod - src/Base/Matrix.h Diff File
mod - src/Base/MatrixPy.xml Diff File
mod - src/Base/MatrixPyImp.cpp Diff File
mod - src/Base/PlacementPy.xml Diff File
mod - src/Base/PlacementPyImp.cpp Diff File
mod - src/Base/Rotation.cpp Diff File
mod - src/Base/Rotation.h Diff File
mod - src/Base/Tools.h Diff File
mod - src/Base/Tools2D.cpp Diff File
mod - src/Base/Tools2D.h Diff File

master 3fcbf71f

2019-07-06 09:10:17

Zheng, Lei


Committer: wmayer Details Diff
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.
mod - src/Base/Interpreter.h Diff File
mod - src/Base/Matrix.cpp Diff File
mod - src/Base/Matrix.h Diff File
mod - src/Base/MatrixPy.xml Diff File
mod - src/Base/MatrixPyImp.cpp Diff File
mod - src/Base/PlacementPy.xml Diff File
mod - src/Base/PlacementPyImp.cpp Diff File
mod - src/Base/Rotation.cpp Diff File
mod - src/Base/Rotation.h Diff File
mod - src/Base/Tools.h Diff File
mod - src/Base/Tools2D.cpp Diff File
mod - src/Base/Tools2D.h Diff File

staging 7f58b7d1

2019-07-06 07:20:16

Zheng, Lei

Details Diff
(GeoFeature)GroupExtension: track children visibility

The future patch will introduce Part::getTopoShape() to construct a
compound shape from a group. It will rely on the children visibility to
determine whether to include the child shape or not. This patch adds
children visibility tracking capability to group, and makes sure that
the group object will be marked for recomputation in case of any change
in group member, and their visibility status.

* Remove Prop_Output from 'Group' property.

* Added hidden property _GroupTouched to help propagate children change.

* Track children visibility change using signal

* GeoFeatureGroupExtension uses new PropertyLinkBase interface for
scope checking.
mod - src/App/GeoFeatureGroupExtension.cpp Diff File
mod - src/App/GroupExtension.cpp Diff File
mod - src/App/GroupExtension.h Diff File
mod - src/Gui/ViewProviderGroupExtension.cpp Diff File
mod - src/Gui/ViewProviderGroupExtension.h Diff File

staging b73fb1cf

2019-07-06 07:20:16

Zheng, Lei

Details Diff
(GeoFeature)GroupExtension: track children visibility

The future patch will introduce Part::getTopoShape() to construct a
compound shape from a group. It will rely on the children visibility to
determine whether to include the child shape or not. This patch adds
children visibility tracking capability to group, and makes sure that
the group object will be marked for recomputation in case of any change
in group member, and their visibility status.

* Remove Prop_Output from 'Group' property.

* Added hidden property _GroupTouched to help propagate children change.

* Track children visibility change using signal

* GeoFeatureGroupExtension uses new PropertyLinkBase interface for
scope checking.
mod - src/App/GeoFeatureGroupExtension.cpp Diff File
mod - src/App/GroupExtension.cpp Diff File
mod - src/App/GroupExtension.h Diff File
mod - src/Gui/ViewProviderGroupExtension.cpp Diff File
mod - src/Gui/ViewProviderGroupExtension.h Diff File

master c5112ecd

2019-07-06 07:20:16

Zheng, Lei


Committer: wmayer Details Diff
(GeoFeature)GroupExtension: track children visibility

The future patch will introduce Part::getTopoShape() to construct a
compound shape from a group. It will rely on the children visibility to
determine whether to include the child shape or not. This patch adds
children visibility tracking capability to group, and makes sure that
the group object will be marked for recomputation in case of any change
in group member, and their visibility status.

* Remove Prop_Output from 'Group' property.

* Added hidden property _GroupTouched to help propagate children change.

* Track children visibility change using signal

* GeoFeatureGroupExtension uses new PropertyLinkBase interface for
scope checking.
mod - src/App/GeoFeatureGroupExtension.cpp Diff File
mod - src/App/GroupExtension.cpp Diff File
mod - src/App/GroupExtension.h Diff File
mod - src/Gui/ViewProviderGroupExtension.cpp Diff File
mod - src/Gui/ViewProviderGroupExtension.h Diff File

master 07d3423a

2019-07-05 23:58:44

yorik

Details Diff
Arch: Misc bugfixes
mod - src/Mod/Arch/ArchCommands.py Diff File
mod - src/Mod/Arch/ArchWall.py Diff File
mod - src/Mod/Arch/ArchWindow.py Diff File
mod - src/Mod/Arch/importIFC.py Diff File
mod - src/Mod/Draft/DraftGui.py Diff File

master 20bdfee0

2019-07-05 23:57:22

yorik

Details Diff
Arch: Material improvements (dynamic icon + button to invert composition of multimaterials
mod - src/Mod/Arch/ArchMaterial.py Diff File
mod - src/Mod/Arch/Resources/ui/ArchMultiMaterial.ui Diff File

master 752e74c3

2019-07-05 22:45:11

Kunda1


Committer: wmayer Details Diff
Misc. typo fixes

Found via `codespell -q 2`
mod - src/Mod/Arch/OfflineRenderingUtils.py Diff File
mod - src/Mod/Path/PathScripts/PathAreaOp.py Diff File
mod - src/Mod/Path/PathScripts/PathCircularHoleBase.py Diff File
mod - src/Mod/TechDraw/Templates/zh_CN/landscape/README Diff File
mod - src/Mod/TechDraw/Templates/zh_CN/landscpae/README Diff File

master 8f0876c2

2019-07-05 21:06:45

berndhahnebach

Details Diff
FEM: code formating, unit tests, objs
mod - src/Mod/Fem/femtest/testobject.py Diff File

master 2a6aa3a9

2019-07-05 20:42:59

berndhahnebach

Details Diff
FEM: fluid 1D obj, typo
mod - src/Mod/Fem/femobjects/_FemElementFluid1D.py Diff File

master 87ff5881

2019-07-05 20:31:33

berndhahnebach

Details Diff
FEM: unit tests, result stats, fix principal and shear stats
mod - src/Mod/Fem/femtest/testfiles/ccx/cube_frequency_expected_values Diff File
mod - src/Mod/Fem/femtest/testfiles/ccx/cube_static_expected_values Diff File
mod - src/Mod/Fem/femtest/testfiles/ccx/spine_thermomech_expected_values Diff File
mod - src/Mod/Fem/femtest/utilstest.py Diff File

master 0bbb2b61

2019-07-05 20:24:00

berndhahnebach

Details Diff
FEM: unit tests, result stats, fix sabs for frequency results
mod - src/Mod/Fem/femtest/testfiles/ccx/cube_frequency_expected_values Diff File

master 7cd8d7d5

2019-07-05 20:23:06

berndhahnebach

Details Diff
FEM: unit tests, result stats, fix compare method and reactivate tests
mod - src/Mod/Fem/femtest/testccxtools.py Diff File
mod - src/Mod/Fem/femtest/utilstest.py Diff File

master 6e44433b

2019-07-05 16:53:35

wmayer

Details Diff
activate/create 3d view when setting or getting active objects
mod - src/Gui/CommandStructure.cpp Diff File
mod - src/Gui/ViewProviderPart.cpp Diff File
mod - src/Mod/PartDesign/Gui/CommandBody.cpp Diff File
mod - src/Mod/PartDesign/Gui/Utils.cpp Diff File
mod - src/Mod/PartDesign/Gui/ViewProviderBody.cpp Diff File
mod - src/Mod/PartDesign/Gui/ViewProviderDatum.cpp Diff File
mod - src/Mod/PartDesign/TestPartDesignGui.py Diff File

master e07fe637

2019-07-05 10:23:13

wmayer

Details Diff
Improve OBJ mesh export in case output format is not explicitly specified
mod - src/Mod/Mesh/App/Mesh.cpp Diff File

master be1cc9ca

2019-07-05 05:41:18

berndhahnebach

Details Diff
FEM: unit test, fix stats compare calls and method, temporary deactivate some stats tests
mod - src/Mod/Fem/femtest/testccxtools.py Diff File
mod - src/Mod/Fem/femtest/utilstest.py Diff File

master e56574f2

2019-07-05 05:25:51

berndhahnebach

Details Diff
FEM: unit test, delete not needed pass
mod - src/Mod/Fem/femtest/testccxtools.py Diff File
mod - src/Mod/Fem/femtest/testcommon.py Diff File
mod - src/Mod/Fem/femtest/testmaterial.py Diff File
mod - src/Mod/Fem/femtest/testmesh.py Diff File
mod - src/Mod/Fem/femtest/testobject.py Diff File
mod - src/Mod/Fem/femtest/testresult.py Diff File
mod - src/Mod/Fem/femtest/testsolverframework.py Diff File

staging f69c0e30

2019-07-05 00:39:54

Zheng, Lei

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

staging 7297695f

2019-07-05 00:39:54

Zheng, Lei

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
 First  Prev  1 2 3 ... 70 ... 140 ... 210 ... 280 ... 299 300 301 302 303 304 305 ... 350 ... 420 ... 490 ... 560 ... 630 ... 649 650 651  Next  Last