diff options
author | Christoph Moench-Tegeder <cmt@FreeBSD.org> | 2022-06-15 13:24:50 +0000 |
---|---|---|
committer | Christoph Moench-Tegeder <cmt@FreeBSD.org> | 2022-06-15 13:24:50 +0000 |
commit | 21a1b657eea111bc0864c10754fabc5e55728c39 (patch) | |
tree | daf87ccce3bac92af35f2e1b4753cff662d6bfb4 /cad/freecad | |
parent | e64dd94c22dc59ad474126f79c0e4374519c0618 (diff) | |
download | ports-21a1b657eea111bc0864c10754fabc5e55728c39.tar.gz ports-21a1b657eea111bc0864c10754fabc5e55728c39.zip |
cad/freecad: update to 0.20
Release Notes: https://wiki.freecad.org/Release_notes_0.20
Diffstat (limited to 'cad/freecad')
21 files changed, 390 insertions, 1990 deletions
diff --git a/cad/freecad/Makefile b/cad/freecad/Makefile index a7d73e106ed0..ae4ecbd4f147 100644 --- a/cad/freecad/Makefile +++ b/cad/freecad/Makefile @@ -1,6 +1,5 @@ PORTNAME= FreeCAD -DISTVERSION= 0.19.4 -PORTREVISION= 1 +DISTVERSION= 0.20 # use these for bugfixes/snapshots # DISTVERSION= 0.18-16093 # git rev-list --count # DISTVERSIONSUFFIX= -g690774c0e @@ -39,8 +38,9 @@ USES= dos2unix compiler:c++17-lang cmake cpe gl eigen:3 fortran jpeg \ USE_GITHUB= yes USE_XORG= ice sm x11 xext xt USE_GL= gl glu -USE_QT= buildtools concurrent core gui network opengl printsupport \ - qmake_build svg webkit widgets xml xmlpatterns +USE_QT= buildtools concurrent core declarative gui location network \ + opengl printsupport qmake_build svg webchannel webengine \ + widgets xml xmlpatterns USE_LDCONFIG= yes CPE_VENDOR= freecad_project diff --git a/cad/freecad/distinfo b/cad/freecad/distinfo index 4786748e1b59..0cefc5129d99 100644 --- a/cad/freecad/distinfo +++ b/cad/freecad/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1646236843 -SHA256 (FreeCAD-FreeCAD-0.19.4_GH0.tar.gz) = e40a1c343956e13c56cc8578d025ae83d68d9d20acda1732953bc8a3883e9722 -SIZE (FreeCAD-FreeCAD-0.19.4_GH0.tar.gz) = 296990652 +TIMESTAMP = 1655206018 +SHA256 (FreeCAD-FreeCAD-0.20_GH0.tar.gz) = c4d9ce782d3da0edfa16d6218db4ce8613e346124ee47b3fe6a6dae40c0a61d9 +SIZE (FreeCAD-FreeCAD-0.20_GH0.tar.gz) = 75452957 diff --git a/cad/freecad/files/patch-0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25 b/cad/freecad/files/patch-0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25 deleted file mode 100644 index 1a36b3eddc31..000000000000 --- a/cad/freecad/files/patch-0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25 +++ /dev/null @@ -1,820 +0,0 @@ -This is "Make smesh compile with vtk9" from -https://github.com/FreeCAD/FreeCAD/commit/0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25.patch -slightly adopted for "make patch". -We keep a local copy here as github's patch file is not stable (checksum -keeps changing due to different commit hash representations). - -From 0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25 Mon Sep 17 00:00:00 2001 -From: wmayer <wmayer@users.sourceforge.net> -Date: Mon, 12 Oct 2020 17:56:03 +0200 -Subject: [PATCH] Make smesh compile with vtk9 - ---- - .../salomesmesh/inc/SMDS_MeshElement.hxx | 9 +++- - .../salomesmesh/inc/SMDS_UnstructuredGrid.hxx | 4 ++ - .../salomesmesh/src/SMDS/SMDS_BallElement.cpp | 9 +++- - .../salomesmesh/src/SMDS/SMDS_Downward.cpp | 44 +++++++++---------- - .../salomesmesh/src/SMDS/SMDS_Mesh.cpp | 6 ++- - .../src/SMDS/SMDS_Mesh0DElement.cpp | 12 +++++ - .../salomesmesh/src/SMDS/SMDS_MeshNode.cpp | 10 ++--- - .../src/SMDS/SMDS_UnstructuredGrid.cpp | 35 +++++++++++++-- - .../src/SMDS/SMDS_VtkCellIterator.cpp | 7 +-- - .../salomesmesh/src/SMDS/SMDS_VtkEdge.cpp | 19 +++++++- - .../salomesmesh/src/SMDS/SMDS_VtkFace.cpp | 29 ++++++++++-- - .../salomesmesh/src/SMDS/SMDS_VtkVolume.cpp | 38 +++++++++++----- - .../src/SMESH/SMESH_MeshEditor.cpp | 8 ++-- - 13 files changed, 173 insertions(+), 57 deletions(-) - -diff --git src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx b/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx -index 14a6d9a763f..0e9b9e6c905 100644 ---- src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx -+++ src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx -@@ -40,11 +40,16 @@ - - #include <vtkType.h> - #include <vtkCellType.h> -+#include <vtkCellArray.h> - - //typedef unsigned short UShortType; - typedef short ShortType; - typedef int LongType; -- -+#ifdef VTK_CELL_ARRAY_V2 -+typedef const vtkIdType* vtkIdTypePtr; -+#else -+typedef vtkIdType* vtkIdTypePtr; -+#endif - class SMDS_MeshNode; - class SMDS_MeshEdge; - class SMDS_MeshFace; -@@ -192,7 +197,7 @@ protected: - //! Element index in vector SMDS_Mesh::myNodes or SMDS_Mesh::myCells - int myID; - //! index in vtkUnstructuredGrid -- int myVtkID; -+ vtkIdType myVtkID; - //! SMDS_Mesh identification in SMESH - ShortType myMeshId; - //! SubShape and SubMesh identification in SMESHDS -diff --git src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx b/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx -index 9e4a23eddfb..77465814541 100644 ---- src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx -+++ src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx -@@ -95,7 +95,11 @@ public: - std::map<int, std::map<long,int> >& nodeQuadDomains); - vtkCellLinks* GetLinks() - { -+#ifdef VTK_CELL_ARRAY_V2 -+ return static_cast<vtkCellLinks*>(GetCellLinks()); -+#else - return Links; -+#endif - } - SMDS_Downward* getDownArray(unsigned char vtkType) - { -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp -index 299093c94f6..2680c217305 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp -@@ -67,10 +67,16 @@ void SMDS_BallElement::SetDiameter(double diameter) - bool SMDS_BallElement::ChangeNode (const SMDS_MeshNode * node) - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkNew<vtkIdList> cellPoints; -+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer()); -+ cellPoints->SetId(0, node->getVtkId()); -+#else - vtkIdType npts = 0; - vtkIdType* pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); - pts[0] = node->getVtkId(); -+#endif - SMDS_Mesh::_meshList[myMeshId]->setMyModified(); - return true; - } -@@ -83,7 +89,8 @@ void SMDS_BallElement::Print (std::ostream & OS) const - const SMDS_MeshNode* SMDS_BallElement::GetNode (const int ind) const - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -- vtkIdType npts, *pts; -+ vtkIdType npts; -+ vtkIdTypePtr pts; - grid->GetCellPoints( myVtkID, npts, pts ); - return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ 0 ]); - } -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp -index d6049c0bd19..a41f5c18e78 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp -@@ -303,7 +303,7 @@ int SMDS_Down1D::getNodeSet(int cellId, int* nodeSet) - void SMDS_Down1D::setNodes(int cellId, int vtkId) - { - vtkIdType npts = 0; -- vtkIdType *pts; // will refer to the point id's of the face -+ vtkIdTypePtr pts; // will refer to the point id's of the face - _grid->GetCellPoints(vtkId, npts, pts); - // MESSAGE(vtkId << " " << npts << " " << _nbDownCells); - //ASSERT(npts == _nbDownCells); -@@ -357,7 +357,7 @@ int SMDS_Down1D::computeVtkCells(int *pts, std::vector<int>& vtkIds) - { - vtkIdType point = pts[i]; - int numCells = _grid->GetLinks()->GetNcells(point); -- vtkIdType *cells = _grid->GetLinks()->GetCells(point); -+ vtkIdTypePtr cells = _grid->GetLinks()->GetCells(point); - for (int j = 0; j < numCells; j++) - { - int vtkCellId = cells[j]; -@@ -532,7 +532,7 @@ int SMDS_Down2D::computeVolumeIds(int cellId, int* ids) - // --- find point id's of the face - - vtkIdType npts = 0; -- vtkIdType *pts; // will refer to the point id's of the face -+ vtkIdTypePtr pts; // will refer to the point id's of the face - _grid->GetCellPoints(cellId, npts, pts); - vector<int> nodes; - for (int i = 0; i < npts; i++) -@@ -577,7 +577,7 @@ int SMDS_Down2D::computeVolumeIdsFromNodesFace(int* pts, int npts, int* ids) - vtkIdType point = pts[i]; - int numCells = _grid->GetLinks()->GetNcells(point); - //MESSAGE("cells pour " << i << " " << numCells); -- vtkIdType *cells = _grid->GetLinks()->GetCells(point); -+ vtkIdTypePtr cells = _grid->GetLinks()->GetCells(point); - for (int j = 0; j < numCells; j++) - { - int vtkCellId = cells[j]; -@@ -627,7 +627,7 @@ int SMDS_Down2D::computeVolumeIdsFromNodesFace(int* pts, int npts, int* ids) - void SMDS_Down2D::setTempNodes(int cellId, int vtkId) - { - vtkIdType npts = 0; -- vtkIdType *pts; // will refer to the point id's of the face -+ vtkIdTypePtr pts; // will refer to the point id's of the face - _grid->GetCellPoints(vtkId, npts, pts); - // MESSAGE(vtkId << " " << npts << " " << _nbNodes); - //ASSERT(npts == _nbNodes); -@@ -795,7 +795,7 @@ void SMDS_Down3D::getNodeIds(int cellId, std::set<int>& nodeSet) - { - int vtkId = this->_vtkCellIds[cellId]; - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(vtkId, npts, nodes); - for (int i = 0; i < npts; i++) - nodeSet.insert(nodes[i]); -@@ -1126,7 +1126,7 @@ void SMDS_DownTetra::getOrderedNodesOfFace(int cellId, std::vector<vtkIdType>& o - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -1178,7 +1178,7 @@ void SMDS_DownTetra::computeFacesWithNodes(int cellId, ListElemByNodesType& face - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -@@ -1234,7 +1234,7 @@ void SMDS_DownQuadTetra::getOrderedNodesOfFace(int cellId, std::vector<vtkIdType - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -1288,7 +1288,7 @@ void SMDS_DownQuadTetra::computeFacesWithNodes(int cellId, ListElemByNodesType& - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -@@ -1357,7 +1357,7 @@ void SMDS_DownPyramid::getOrderedNodesOfFace(int cellId, std::vector<vtkIdType>& - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -1435,7 +1435,7 @@ void SMDS_DownPyramid::computeFacesWithNodes(int cellId, ListElemByNodesType& fa - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -@@ -1500,7 +1500,7 @@ void SMDS_DownQuadPyramid::getOrderedNodesOfFace(int cellId, std::vector<vtkIdTy - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -1580,7 +1580,7 @@ void SMDS_DownQuadPyramid::computeFacesWithNodes(int cellId, ListElemByNodesType - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -@@ -1660,7 +1660,7 @@ void SMDS_DownPenta::getOrderedNodesOfFace(int cellId, std::vector<vtkIdType>& o - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -1744,7 +1744,7 @@ void SMDS_DownPenta::computeFacesWithNodes(int cellId, ListElemByNodesType& face - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -@@ -1810,7 +1810,7 @@ void SMDS_DownQuadPenta::getOrderedNodesOfFace(int cellId, std::vector<vtkIdType - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -1896,7 +1896,7 @@ void SMDS_DownQuadPenta::computeFacesWithNodes(int cellId, ListElemByNodesType& - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -@@ -1981,7 +1981,7 @@ void SMDS_DownHexa::getOrderedNodesOfFace(int cellId, std::vector<vtkIdType>& or - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -2036,7 +2036,7 @@ void SMDS_DownHexa::computeFacesWithNodes(int cellId, ListElemByNodesType& faces - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -@@ -2112,7 +2112,7 @@ void SMDS_DownQuadHexa::getOrderedNodesOfFace(int cellId, std::vector<vtkIdType> - //MESSAGE("cellId = " << cellId); - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes); - - set<int> tofind; -@@ -2167,7 +2167,7 @@ void SMDS_DownQuadHexa::computeFacesWithNodes(int cellId, ListElemByNodesType& f - // --- find point id's of the volume - - vtkIdType npts = 0; -- vtkIdType *nodes; // will refer to the point id's of the volume -+ vtkIdTypePtr nodes; // will refer to the point id's of the volume - _grid->GetCellPoints(cellId, npts, nodes); - - // --- create all the ordered list of node id's for each face -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp -index 61c8e751d94..1eac2907d3d 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp -@@ -4768,7 +4768,11 @@ void SMDS_Mesh::dumpGrid(string ficdump) - ficcon << endl; - } - ficcon << "-------------------------------- connectivity " << nbPoints << endl; -- vtkCellLinks *links = myGrid->GetCellLinks(); -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkCellLinks *links = static_cast<vtkCellLinks*>(myGrid->GetCellLinks()); -+#else -+ vtkCellLinks *links = myGrid->GetCellLinks(); -+#endif - for (int i=0; i<nbPoints; i++) - { - int ncells = links->GetNcells(i); -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp -index 95438eab064..0df32e3b97c 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp -@@ -146,6 +146,17 @@ bool SMDS_Mesh0DElement::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbN - if ( nbNodes == 1 ) - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkNew<vtkIdList> cellPoints; -+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer()); -+ if (nbNodes != cellPoints->GetNumberOfIds()) -+ { -+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes); -+ return false; -+ } -+ myNode = nodes[0]; -+ cellPoints->SetId(0, myNode->getVtkId()); -+#else - vtkIdType npts = 0; - vtkIdType* pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); -@@ -156,6 +167,7 @@ bool SMDS_Mesh0DElement::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbN - } - myNode = nodes[0]; - pts[0] = myNode->getVtkId(); -+#endif - - SMDS_Mesh::_meshList[myMeshId]->setMyModified(); - return true; -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp -index f647a5f1b8f..5b903c8fb55 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp -@@ -191,7 +191,7 @@ class SMDS_MeshNode_MyInvIterator: public SMDS_ElemIterator - SMDS_ElemIteratorPtr SMDS_MeshNode:: - GetInverseElementIterator(SMDSAbs_ElementType type) const - { -- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID); -+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID); - //MESSAGE("myID " << myID << " ncells " << l.ncells); - return SMDS_ElemIteratorPtr(new SMDS_MeshNode_MyInvIterator(SMDS_Mesh::_meshList[myMeshId], l.cells, l.ncells, type)); - } -@@ -251,7 +251,7 @@ elementsIterator(SMDSAbs_ElementType type) const - return SMDS_MeshElement::elementsIterator(SMDSAbs_Node); - else - { -- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID); -+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID); - return SMDS_ElemIteratorPtr(new SMDS_MeshNode_MyIterator(SMDS_Mesh::_meshList[myMeshId], l.cells, l.ncells, type)); - } - } -@@ -350,7 +350,7 @@ void SMDS_MeshNode::AddInverseElement(const SMDS_MeshElement* ME) - const SMDS_MeshCell *cell = dynamic_cast<const SMDS_MeshCell*> (ME); - assert(cell); - SMDS_UnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -- vtkCellLinks *Links = grid->GetCellLinks(); -+ vtkCellLinks *Links = static_cast<vtkCellLinks*>(grid->GetCellLinks()); - Links->ResizeCellList(myVtkID, 1); - Links->AddCellReference(cell->getVtkId(), myVtkID); - } -@@ -366,7 +366,7 @@ void SMDS_MeshNode::ClearInverseElements() - - bool SMDS_MeshNode::emptyInverseElements() - { -- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID); -+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID); - return (l.ncells == 0); - } - -@@ -378,7 +378,7 @@ bool SMDS_MeshNode::emptyInverseElements() - - int SMDS_MeshNode::NbInverseElements(SMDSAbs_ElementType type) const - { -- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID); -+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID); - - if ( type == SMDSAbs_All ) - return l.ncells; -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp -index fbd903b1e74..ff2b81e9694 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp -@@ -139,8 +139,8 @@ int SMDS_UnstructuredGrid::InsertNextLinkedCell(int type, int npts, vtkIdType *p - for (; it != setOfNodes.end(); ++it) - { - //MESSAGE("reverse link for node " << *it << " cell " << cellid); -- this->Links->ResizeCellList(*it, 1); -- this->Links->AddCellReference(cellid, *it); -+ this->GetLinks()->ResizeCellList(*it, 1); -+ this->GetLinks()->AddCellReference(cellid, *it); - } - - return cellid; -@@ -332,9 +332,13 @@ void SMDS_UnstructuredGrid::copyBloc(vtkUnsignedCharArray *newTypes, - { - newTypes->SetValue(alreadyCopied, this->Types->GetValue(j)); - idCellsOldToNew[j] = alreadyCopied; // old vtkId --> new vtkId -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkIdType oldLoc = this->GetCellLocationsArray()->GetValue(j); -+#else - vtkIdType oldLoc = this->Locations->GetValue(j); -+#endif - vtkIdType nbpts; -- vtkIdType *oldPtsCell = 0; -+ vtkIdTypePtr oldPtsCell = 0; - this->Connectivity->GetCell(oldLoc, nbpts, oldPtsCell); - assert(nbpts < NBMAXNODESINCELL); - //MESSAGE(j << " " << alreadyCopied << " " << (int)this->Types->GetValue(j) << " " << oldLoc << " " << nbpts ); -@@ -952,6 +956,21 @@ void SMDS_UnstructuredGrid::GetNodeIds(std::set<int>& nodeSet, int downId, unsig - */ - void SMDS_UnstructuredGrid::ModifyCellNodes(int vtkVolId, std::map<int, int> localClonedNodeIds) - { -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkNew<vtkIdList> cellPoints; -+ this->GetCellPoints(vtkVolId, cellPoints.GetPointer()); -+ for (vtkIdType i = 0; i < cellPoints->GetNumberOfIds(); i++) -+ { -+ if (localClonedNodeIds.count(cellPoints->GetId(i))) -+ { -+ vtkIdType oldpt = cellPoints->GetId(i); -+ cellPoints->SetId(i, localClonedNodeIds[oldpt]); -+ //MESSAGE(oldpt << " --> " << pts[i]); -+ //this->RemoveReferenceToCell(oldpt, vtkVolId); -+ //this->AddReferenceToCell(pts[i], vtkVolId); -+ } -+ } -+#else - vtkIdType npts = 0; - vtkIdType *pts; // will refer to the point id's of the face - this->GetCellPoints(vtkVolId, npts, pts); -@@ -966,6 +985,7 @@ void SMDS_UnstructuredGrid::ModifyCellNodes(int vtkVolId, std::map<int, int> loc - //this->AddReferenceToCell(pts[i], vtkVolId); - } - } -+#endif - } - - /*! reorder the nodes of a face -@@ -995,11 +1015,20 @@ void SMDS_UnstructuredGrid::BuildLinks() - this->Links->UnRegister(this); - } - -+#ifdef VTK_CELL_ARRAY_V2 -+ this->Links = SMDS_CellLinks::New(); -+ GetLinks()->Allocate(this->GetNumberOfPoints()); -+ GetLinks()->Register(this); -+//FIXME: vtk9 -+ GetLinks()->BuildLinks(this); -+ GetLinks()->Delete(); -+#else - this->Links = SMDS_CellLinks::New(); - this->Links->Allocate(this->GetNumberOfPoints()); - this->Links->Register(this); - this->Links->BuildLinks(this, this->Connectivity); - this->Links->Delete(); -+#endif - } - - /*! Create a volume (prism or hexahedron) by duplication of a face. -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp -index deb05985f00..63b6eabb704 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp -@@ -33,7 +33,8 @@ SMDS_VtkCellIterator::SMDS_VtkCellIterator(SMDS_Mesh* mesh, int vtkCellId, SMDSA - } - else - { -- vtkIdType npts, *pts; -+ vtkIdType npts; -+ vtkIdTypePtr pts; - grid->GetCellPoints( _cellId, npts, pts ); - _vtkIdList->SetNumberOfIds( _nbNodes = npts ); - for (int i = 0; i < _nbNodes; i++) -@@ -67,7 +68,7 @@ SMDS_VtkCellIteratorToUNV::SMDS_VtkCellIteratorToUNV(SMDS_Mesh* mesh, int vtkCel - //MESSAGE("SMDS_VtkCellInterlacedIterator (UNV)" << _type); - - _vtkIdList = vtkIdList::New(); -- vtkIdType* pts; -+ vtkIdTypePtr pts; - vtkIdType npts; - vtkUnstructuredGrid* grid = _mesh->getGrid(); - grid->GetCellPoints((vtkIdType)_cellId, npts, pts); -@@ -182,7 +183,7 @@ SMDS_VtkCellIteratorPolyH::SMDS_VtkCellIteratorPolyH(SMDS_Mesh* mesh, int vtkCel - { - //MESSAGE("SMDS_VtkCellIterator Polyhedra"); - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(_cellId, nFaces, ptIds); - int id = 0; - _nbNodesInFaces = 0; -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp -index 9786abf9aae..6d772a3cd4a 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp -@@ -67,6 +67,19 @@ bool SMDS_VtkEdge::ChangeNodes(const SMDS_MeshNode * node1, const SMDS_MeshNode - bool SMDS_VtkEdge::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes) - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkNew<vtkIdList> cellPoints; -+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer()); -+ if (nbNodes != cellPoints->GetNumberOfIds()) -+ { -+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes); -+ return false; -+ } -+ for (int i = 0; i < nbNodes; i++) -+ { -+ cellPoints->SetId(i, nodes[i]->getVtkId()); -+ } -+#else - vtkIdType npts = 0; - vtkIdType* pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); -@@ -79,6 +92,7 @@ bool SMDS_VtkEdge::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes) - { - pts[i] = nodes[i]->getVtkId(); - } -+#endif - SMDS_Mesh::_meshList[myMeshId]->setMyModified(); - return true; - } -@@ -87,7 +101,7 @@ bool SMDS_VtkEdge::IsMediumNode(const SMDS_MeshNode* node) const - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); - vtkIdType npts = 0; -- vtkIdType* pts = 0; -+ vtkIdTypePtr pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); - //MESSAGE("IsMediumNode " << npts << " " << (node->getVtkId() == pts[npts-1])); - return ((npts == 3) && (node->getVtkId() == pts[2])); -@@ -137,7 +151,8 @@ const SMDS_MeshNode* - SMDS_VtkEdge::GetNode(const int ind) const - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -- vtkIdType npts, *pts; -+ vtkIdType npts; -+ vtkIdTypePtr pts; - grid->GetCellPoints( this->myVtkID, npts, pts ); - return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ ind ]); - } -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp -index 1389e0d3585..cb981bfb18e 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp -@@ -101,6 +101,19 @@ void SMDS_VtkFace::initQuadPoly(const std::vector<vtkIdType>& nodeIds, SMDS_Mesh - bool SMDS_VtkFace::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes) - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkNew<vtkIdList> cellPoints; -+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer()); -+ if (nbNodes != cellPoints->GetNumberOfIds()) -+ { -+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes); -+ return false; -+ } -+ for (int i = 0; i < nbNodes; i++) -+ { -+ cellPoints->SetId(i, nodes[i]->getVtkId()); -+ } -+#else - vtkIdType npts = 0; - vtkIdType* pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); -@@ -113,6 +126,7 @@ bool SMDS_VtkFace::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes) - { - pts[i] = nodes[i]->getVtkId(); - } -+#endif - SMDS_Mesh::_meshList[myMeshId]->setMyModified(); - return true; - } -@@ -173,7 +187,8 @@ const SMDS_MeshNode* - SMDS_VtkFace::GetNode(const int ind) const - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -- vtkIdType npts, *pts; -+ vtkIdType npts; -+ vtkIdTypePtr pts; - grid->GetCellPoints( this->myVtkID, npts, pts ); - return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ ind ]); - } -@@ -186,7 +201,8 @@ SMDS_VtkFace::GetNode(const int ind) const - int SMDS_VtkFace::GetNodeIndex( const SMDS_MeshNode* node ) const - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -- vtkIdType npts, *pts; -+ vtkIdType npts; -+ vtkIdTypePtr pts; - grid->GetCellPoints( this->myVtkID, npts, pts ); - for ( vtkIdType i = 0; i < npts; ++i ) - if ( pts[i] == node->getVtkId() ) -@@ -251,7 +267,7 @@ bool SMDS_VtkFace::IsMediumNode(const SMDS_MeshNode* node) const - return false; - } - vtkIdType npts = 0; -- vtkIdType* pts = 0; -+ vtkIdTypePtr pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); - vtkIdType nodeId = node->getVtkId(); - for (int rank = 0; rank < npts; rank++) -@@ -356,11 +372,18 @@ SMDS_NodeIteratorPtr SMDS_VtkFace::interlacedNodesIterator() const - void SMDS_VtkFace::ChangeApex(SMDS_MeshNode* node) - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkNew<vtkIdList> cellPoints; -+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer()); -+ grid->RemoveReferenceToCell(cellPoints->GetId(0), myVtkID); -+ cellPoints->SetId(0, node->getVtkId()); -+#else - vtkIdType npts = 0; - vtkIdType* pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); - grid->RemoveReferenceToCell(pts[0], myVtkID); - pts[0] = node->getVtkId(); -+#endif - node->AddInverseElement(this), - SMDS_Mesh::_meshList[myMeshId]->setMyModified(); - } -diff --git src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp -index 015edf75fd2..19ebd0746c8 100644 ---- src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp -+++ src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp -@@ -133,6 +133,19 @@ void SMDS_VtkVolume::initPoly(const std::vector<vtkIdType>& nodeIds, - bool SMDS_VtkVolume::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes) - { - vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); -+#ifdef VTK_CELL_ARRAY_V2 -+ vtkNew<vtkIdList> cellPoints; -+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer()); -+ if (nbNodes != cellPoints->GetNumberOfIds()) -+ { -+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes); -+ return false; -+ } -+ for (int i = 0; i < nbNodes; i++) -+ { -+ cellPoints->SetId(i, nodes[i]->getVtkId()); -+ } -+#else - vtkIdType npts = 0; - vtkIdType* pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); -@@ -145,6 +158,7 @@ bool SMDS_VtkVolume::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes - { - pts[i] = nodes[i]->getVtkId(); - } -+#endif - SMDS_Mesh::_meshList[myMeshId]->setMyModified(); - return true; - } -@@ -207,7 +221,7 @@ int SMDS_VtkVolume::NbFaces() const - case VTK_POLYHEDRON: - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - nbFaces = nFaces; - break; -@@ -236,7 +250,7 @@ int SMDS_VtkVolume::NbNodes() const - else - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - int id = 0; - for (int i = 0; i < nFaces; i++) -@@ -276,7 +290,7 @@ int SMDS_VtkVolume::NbEdges() const - case VTK_POLYHEDRON: - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - nbEdges = 0; - int id = 0; -@@ -312,7 +326,7 @@ int SMDS_VtkVolume::NbFaceNodes(const int face_ind) const - if (aVtkType == VTK_POLYHEDRON) - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - int id = 0; - for (int i = 0; i < nFaces; i++) -@@ -342,7 +356,7 @@ const SMDS_MeshNode* SMDS_VtkVolume::GetFaceNode(const int face_ind, const int n - if (aVtkType == VTK_POLYHEDRON) - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - int id = 0; - for (int i = 0; i < nFaces; i++) -@@ -372,7 +386,7 @@ std::vector<int> SMDS_VtkVolume::GetQuantities() const - if (aVtkType == VTK_POLYHEDRON) - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - int id = 0; - for (int i = 0; i < nFaces; i++) -@@ -430,7 +444,7 @@ const SMDS_MeshNode* SMDS_VtkVolume::GetNode(const int ind) const - if ( aVtkType == VTK_POLYHEDRON) - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - int id = 0, nbPoints = 0; - for (int i = 0; i < nFaces; i++) -@@ -443,7 +457,8 @@ const SMDS_MeshNode* SMDS_VtkVolume::GetNode(const int ind) const - } - return 0; - } -- vtkIdType npts, *pts; -+ vtkIdType npts; -+ vtkIdTypePtr pts; - grid->GetCellPoints( this->myVtkID, npts, pts ); - const std::vector<int>& interlace = SMDS_MeshCell::fromVtkOrder( VTKCellType( aVtkType )); - return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ interlace.empty() ? ind : interlace[ind]] ); -@@ -460,7 +475,7 @@ int SMDS_VtkVolume::GetNodeIndex( const SMDS_MeshNode* node ) const - if ( aVtkType == VTK_POLYHEDRON) - { - vtkIdType nFaces = 0; -- vtkIdType* ptIds = 0; -+ vtkIdTypePtr ptIds = 0; - grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - int id = 0; - for (int iF = 0; iF < nFaces; iF++) -@@ -473,7 +488,8 @@ int SMDS_VtkVolume::GetNodeIndex( const SMDS_MeshNode* node ) const - } - return -1; - } -- vtkIdType npts, *pts; -+ vtkIdType npts; -+ vtkIdTypePtr pts; - grid->GetCellPoints( this->myVtkID, npts, pts ); - for ( vtkIdType i = 0; i < npts; ++i ) - if ( pts[i] == node->getVtkId() ) -@@ -534,7 +550,7 @@ bool SMDS_VtkVolume::IsMediumNode(const SMDS_MeshNode* node) const - return false; - } - vtkIdType npts = 0; -- vtkIdType* pts = 0; -+ vtkIdTypePtr pts = 0; - grid->GetCellPoints(myVtkID, npts, pts); - vtkIdType nodeId = node->getVtkId(); - for (int rank = 0; rank < npts; rank++) -diff --git src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp b/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp -index fcd044b00f2..f54c24f8618 100644 ---- src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp -+++ src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp -@@ -11348,7 +11348,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector<TIDSorted - { - int oldId = *itn; - //MESSAGE(" node " << oldId); -- vtkCellLinks::Link l = grid->GetCellLinks()->GetLink(oldId); -+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(grid->GetCellLinks())->GetLink(oldId); - for (int i=0; i<l.ncells; i++) - { - int vtkId = l.cells[i]; -@@ -11527,7 +11527,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector<TIDSorted - //MESSAGE(" domain " << idom << " volume " << elem->GetID()); - double values[3]; - vtkIdType npts = 0; -- vtkIdType* pts = 0; -+ vtkIdTypePtr pts = 0; - grid->GetCellPoints(vtkVolIds[ivol], npts, pts); - SMDS_VtkVolume::gravityCenter(grid, pts, npts, values); - if (id ==0) -@@ -11708,7 +11708,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector<TIDSorted - { - int oldId = itnod->first; - //MESSAGE(" node " << oldId); -- vtkCellLinks::Link l = grid->GetCellLinks()->GetLink(oldId); -+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(grid->GetCellLinks())->GetLink(oldId); - for (int i = 0; i < l.ncells; i++) - { - int vtkId = l.cells[i]; -@@ -12165,7 +12165,7 @@ void SMESH_MeshEditor::CreateHoleSkin(double radius, - MESSAGE("volume to check, vtkId " << vtkId << " smdsId " << meshDS->fromVtkToSmds(vtkId)); - bool volInside = false; - vtkIdType npts = 0; -- vtkIdType* pts = 0; -+ vtkIdTypePtr pts = 0; - grid->GetCellPoints(vtkId, npts, pts); - for (int i=0; i<npts; i++) - { diff --git a/cad/freecad/files/patch-6f3b00d67ec0bd0072b7b493e2a38d2a2e3af27d b/cad/freecad/files/patch-6f3b00d67ec0bd0072b7b493e2a38d2a2e3af27d deleted file mode 100644 index 433498c0f55e..000000000000 --- a/cad/freecad/files/patch-6f3b00d67ec0bd0072b7b493e2a38d2a2e3af27d +++ /dev/null @@ -1,133 +0,0 @@ -commit 6f3b00d67ec0bd0072b7b493e2a38d2a2e3af27d -Author: wmayer <wmayer@users.sourceforge.net> -Date: Mon Oct 11 00:30:22 2021 +0200 - - SMESH: port to OCCT 7.6 - -diff --git src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp -index cd6f0b2b07..ea83984b97 100644 ---- src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp -+++ src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp -@@ -56,6 +56,7 @@ - #include <NCollection_Map.hxx> - #include <Standard_ErrorHandler.hxx> - #include <Standard_ProgramError.hxx> -+#include <Standard_Version.hxx> - #include <TColStd_MapOfInteger.hxx> - #include <TopExp.hxx> - #include <TopExp_Explorer.hxx> -@@ -700,7 +701,13 @@ double NETGENPlugin_Mesher::GetDefaultMinSize(const TopoDS_Shape& geom, - BRep_Tool::Triangulation ( TopoDS::Face( fExp.Current() ), loc); - if ( triangulation.IsNull() ) continue; - const double fTol = BRep_Tool::Tolerance( TopoDS::Face( fExp.Current() )); -+#if OCC_VERSION_HEX < 0x070600 - const TColgp_Array1OfPnt& points = triangulation->Nodes(); -+#else -+ auto points = [&triangulation](Standard_Integer index) { -+ return triangulation->Node(index); -+ }; -+#endif - const Poly_Array1OfTriangle& trias = triangulation->Triangles(); - for ( int iT = trias.Lower(); iT <= trias.Upper(); ++iT ) - { -diff --git src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp -index 5a07308310..fbb1b25008 100644 ---- src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp -+++ src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp -@@ -38,10 +38,13 @@ - #include <GC_MakeSegment.hxx> - #include <GeomAPI_ExtremaCurveCurve.hxx> - #include <Geom_Line.hxx> --#include <IntAna_IntConicQuad.hxx> --#include <IntAna_Quadric.hxx> -+#include <gp_Cone.hxx> -+#include <gp_Cylinder.hxx> - #include <gp_Lin.hxx> - #include <gp_Pln.hxx> -+#include <gp_Sphere.hxx> -+#include <IntAna_IntConicQuad.hxx> -+#include <IntAna_Quadric.hxx> - - #include <limits> - #include <numeric> -diff --git src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp -index 88970f36b5..7c51601c7b 100644 ---- src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp -+++ src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp -@@ -46,6 +46,7 @@ - #include <Poly_Array1OfTriangle.hxx> - #include <Poly_PolygonOnTriangulation.hxx> - #include <Poly_Triangulation.hxx> -+#include <Standard_Version.hxx> - #include <TColgp_Array1OfPnt.hxx> - #include <TopExp.hxx> - #include <TopExp_Explorer.hxx> -@@ -318,13 +319,26 @@ namespace // internal utils - { - myFaceTol = SMESH_MesherHelper::MaxTolerance( face ); - myTree = triaTree; -+#if OCC_VERSION_HEX < 0x070600 - myNodes = & tr->Nodes(); -+#else -+ TColgp_Array1OfPnt* trNodes = new TColgp_Array1OfPnt( 1, tr->NbNodes() ); -+ for (Standard_Integer i = myNodes->Lower(); i <= myNodes->Upper(); i++) -+ { -+ trNodes->SetValue(i, tr->Node(i)); -+ } -+ myNodes = trNodes; -+ myOwnNodes = true; -+#endif - myPolyTrias = & tr->Triangles(); - myTriasDeflection = tr->Deflection(); - if ( !loc.IsIdentity() ) // transform nodes if necessary - { - TColgp_Array1OfPnt* trsfNodes = new TColgp_Array1OfPnt( myNodes->Lower(), myNodes->Upper() ); - trsfNodes->Assign( *myNodes ); -+#if OCC_VERSION_HEX >= 0x070600 -+ delete myNodes; // it's already a copy -+#endif - myNodes = trsfNodes; - myOwnNodes = true; - const gp_Trsf& trsf = loc; -diff --git src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp -index f7ac411d9a..5d5c15c366 100644 ---- src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp -+++ src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp -@@ -50,7 +50,7 @@ - #include <Geom_Surface.hxx> - #include <NCollection_DefineArray2.hxx> - #include <Precision.hxx> --#include <Quantity_Parameter.hxx> -+#include <Standard_Real.hxx> - #include <TColStd_SequenceOfInteger.hxx> - #include <TColStd_SequenceOfReal.hxx> - #include <TColgp_SequenceOfXY.hxx> -diff --git src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp -index 8ee0e26832..e9f4618305 100644 ---- src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp -+++ src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp -@@ -44,7 +44,10 @@ - #include "SMESH_subMeshEventListener.hxx" - #include "StdMeshers_FaceSide.hxx" - -+#include <Standard_Version.hxx> -+#if OCC_VERSION_HEX < 0x070600 - #include <Adaptor3d_HSurface.hxx> -+#endif - #include <BRepAdaptor_Curve2d.hxx> - #include <BRepAdaptor_Surface.hxx> - #include <BRepLProp_SLProps.hxx> -@@ -1340,8 +1343,13 @@ namespace VISCOUS_3D - //case GeomAbs_SurfaceOfExtrusion: - case GeomAbs_OffsetSurface: - { -+#if OCC_VERSION_HEX < 0x070600 - Handle(Adaptor3d_HSurface) base = surface.BasisSurface(); - return getRovolutionAxis( base->Surface(), axis ); -+#else -+ Handle(Adaptor3d_Surface) base = surface.BasisSurface(); -+ return getRovolutionAxis( *base, axis ); -+#endif - } - default: return false; - } diff --git a/cad/freecad/files/patch-74639da997d5f2e53f001d9f256be86ceee901f5 b/cad/freecad/files/patch-74639da997d5f2e53f001d9f256be86ceee901f5 deleted file mode 100644 index dcd1a2d81116..000000000000 --- a/cad/freecad/files/patch-74639da997d5f2e53f001d9f256be86ceee901f5 +++ /dev/null @@ -1,477 +0,0 @@ -commit 74639da997d5f2e53f001d9f256be86ceee901f5 -Author: wmayer <wmayer@users.sourceforge.net> -Date: Sat Oct 9 13:49:02 2021 +0200 - - OCCT: port FreeCAD sources to version 7.6 - SMESH is not yet ported - Although FreeCAD code compiles with OCCT 7.6 it doesn't work at the moment - -diff --git src/Mod/Drawing/App/DrawingExport.cpp src/Mod/Drawing/App/DrawingExport.cpp -index b87891ed50..7572be417c 100644 ---- src/Mod/Drawing/App/DrawingExport.cpp -+++ src/Mod/Drawing/App/DrawingExport.cpp -@@ -64,10 +64,7 @@ - #include <BRep_Tool.hxx> - - #include <BRepAdaptor_CompCurve.hxx> --#include <BRepAdaptor_HCompCurve.hxx> - #include <Approx_Curve3d.hxx> --#include <BRepAdaptor_HCurve.hxx> --#include <BRepAdaptor_HCurve.hxx> - #include <Geom_BSplineCurve.hxx> - #include <Geom_BezierCurve.hxx> - #include <GeomConvert_BSplineCurveToBezierCurve.hxx> -@@ -75,11 +72,19 @@ - #include <Geom2d_BSplineCurve.hxx> - #include <BRepLProp_CLProps.hxx> - #include <Standard_Failure.hxx> -+#include <Standard_Version.hxx> -+#if OCC_VERSION_HEX < 0x070600 -+#include <BRepAdaptor_HCurve.hxx> -+#endif - - #include "DrawingExport.h" - #include <Base/Tools.h> - #include <Base/Vector3D.h> - -+#if OCC_VERSION_HEX >= 0x070600 -+using BRepAdaptor_HCurve = BRepAdaptor_Curve; -+#endif -+ - using namespace Drawing; - using namespace std; - -diff --git src/Mod/Drawing/App/ProjectionAlgos.cpp src/Mod/Drawing/App/ProjectionAlgos.cpp -index 9afae7e9c0..da03d49057 100644 ---- src/Mod/Drawing/App/ProjectionAlgos.cpp -+++ src/Mod/Drawing/App/ProjectionAlgos.cpp -@@ -61,10 +61,7 @@ - #include <BRepMesh_IncrementalMesh.hxx> - #include <BRepLib.hxx> - #include <BRepAdaptor_CompCurve.hxx> --#include <BRepAdaptor_HCompCurve.hxx> - #include <Approx_Curve3d.hxx> --#include <BRepAdaptor_HCurve.hxx> --#include <BRepAdaptor_HCurve.hxx> - #include <Geom_BSplineCurve.hxx> - #include <Geom_BezierCurve.hxx> - #include <GeomConvert_BSplineCurveToBezierCurve.hxx> -diff --git src/Mod/Import/App/ImpExpDxf.cpp src/Mod/Import/App/ImpExpDxf.cpp -index 09827bd928..dcd88ef138 100644 ---- src/Mod/Import/App/ImpExpDxf.cpp -+++ src/Mod/Import/App/ImpExpDxf.cpp -@@ -29,7 +29,6 @@ - - #include <Approx_Curve3d.hxx> - #include <BRepAdaptor_Curve.hxx> --#include <BRepAdaptor_HCurve.hxx> - #include <BRep_Builder.hxx> - #include <BRepBuilderAPI_MakeEdge.hxx> - #include <BRepBuilderAPI_MakeVertex.hxx> -@@ -47,6 +46,7 @@ - #include <gp_Pnt.hxx> - #include <gp_Dir.hxx> - #include <gp_Vec.hxx> -+#include <Standard_Version.hxx> - #include <TopoDS.hxx> - #include <TopoDS_Edge.hxx> - #include <TopoDS_Vertex.hxx> -@@ -55,6 +55,9 @@ - #include <TopExp_Explorer.hxx> - #include <TopoDS_Edge.hxx> - #include <TColgp_Array1OfPnt.hxx> -+#if OCC_VERSION_HEX < 0x070600 -+#include <BRepAdaptor_HCurve.hxx> -+#endif - - #include <Base/Console.h> - #include <Base/Parameter.h> -@@ -68,6 +71,10 @@ - - using namespace Import; - -+#if OCC_VERSION_HEX >= 0x070600 -+using BRepAdaptor_HCurve = BRepAdaptor_Curve; -+#endif -+ - - //****************************************************************************** - // reading -diff --git src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp -index 3271f3651a..b63227d537 100644 ---- src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp -+++ src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp -@@ -24,10 +24,13 @@ - #include "PreCompiled.h" - #ifndef _PreComp_ - # include <GeomAdaptor_Curve.hxx> --# include <GeomAdaptor_HCurve.hxx> - # include <Geom2dAdaptor_Curve.hxx> --# include <Geom2dAdaptor_HCurve.hxx> - # include <Standard_Failure.hxx> -+# include <Standard_Version.hxx> -+# if OCC_VERSION_HEX < 0x070600 -+# include <GeomAdaptor_HCurve.hxx> -+# include <Geom2dAdaptor_HCurve.hxx> -+# endif - #endif - - #include "GeomPlate/CurveConstraintPy.h" -@@ -76,6 +79,16 @@ int CurveConstraintPy::PyInit(PyObject* args, PyObject* kwds) - return -1; - } - -+#if OCC_VERSION_HEX >= 0x070600 -+ Handle(Adaptor3d_Curve) hCurve; -+ if (curve->getTypeId().isDerivedFrom(GeomTrimmedCurve::getClassTypeId())) { -+ GeomTrimmedCurve* trim = static_cast<GeomTrimmedCurve*>(curve); -+ hCurve = new GeomAdaptor_Curve(handle, trim->getFirstParameter(), trim->getLastParameter()); -+ } -+ else { -+ hCurve = new GeomAdaptor_Curve(handle); -+ } -+#else - Handle(Adaptor3d_HCurve) hCurve; - if (curve->getTypeId().isDerivedFrom(GeomTrimmedCurve::getClassTypeId())) { - GeomTrimmedCurve* trim = static_cast<GeomTrimmedCurve*>(curve); -@@ -86,6 +99,7 @@ int CurveConstraintPy::PyInit(PyObject* args, PyObject* kwds) - GeomAdaptor_Curve adapt(handle); - hCurve = new GeomAdaptor_HCurve(adapt); - } -+#endif - - ptr.reset(new GeomPlate_CurveConstraint(hCurve, order, nbPts, tolDist, tolAng, tolCurv)); - } -@@ -212,11 +226,15 @@ PyObject* CurveConstraintPy::curve3d(PyObject *args) - return nullptr; - - try { -- Handle(Adaptor3d_HCurve) hAdapt = getGeomPlate_CurveConstraintPtr()->Curve3d(); -+ auto hAdapt = getGeomPlate_CurveConstraintPtr()->Curve3d(); - if (hAdapt.IsNull()) - Py_Return; - -+#if OCC_VERSION_HEX >= 0x070600 -+ const Adaptor3d_Curve& a3d = *hAdapt; -+#else - const Adaptor3d_Curve& a3d = hAdapt->Curve(); -+#endif - std::unique_ptr<GeomCurve> ptr(Part::makeFromCurveAdaptor(a3d)); - return ptr->getPyObject(); - } -@@ -282,6 +300,16 @@ PyObject* CurveConstraintPy::setProjectedCurve(PyObject *args) - return nullptr; - } - -+#if OCC_VERSION_HEX >= 0x070600 -+ Handle(Adaptor2d_Curve2d) hCurve; -+ if (handle->IsKind(STANDARD_TYPE(Geom2d_TrimmedCurve))) { -+ Handle(Geom2d_TrimmedCurve) aTC (Handle(Geom2d_TrimmedCurve)::DownCast (handle)); -+ hCurve = new Geom2dAdaptor_Curve(handle, aTC->FirstParameter(), aTC->LastParameter()); -+ } -+ else { -+ hCurve = new Geom2dAdaptor_Curve(handle); -+ } -+#else - Handle(Adaptor2d_HCurve2d) hCurve; - if (handle->IsKind(STANDARD_TYPE(Geom2d_TrimmedCurve))) { - Handle(Geom2d_TrimmedCurve) aTC (Handle(Geom2d_TrimmedCurve)::DownCast (handle)); -@@ -292,6 +320,7 @@ PyObject* CurveConstraintPy::setProjectedCurve(PyObject *args) - Geom2dAdaptor_Curve adapt(handle); - hCurve = new Geom2dAdaptor_HCurve(adapt); - } -+#endif - - getGeomPlate_CurveConstraintPtr()->SetProjectedCurve(hCurve, tolU, tolV); - Py_Return; -@@ -308,11 +337,15 @@ PyObject* CurveConstraintPy::projectedCurve(PyObject *args) - return nullptr; - - try { -- Handle(Adaptor2d_HCurve2d) hAdapt = getGeomPlate_CurveConstraintPtr()->ProjectedCurve(); -+ auto hAdapt = getGeomPlate_CurveConstraintPtr()->ProjectedCurve(); - if (hAdapt.IsNull()) - Py_Return; - -+#if OCC_VERSION_HEX >= 0x070600 -+ const Adaptor2d_Curve2d& a2d = *hAdapt; -+#else - const Adaptor2d_Curve2d& a2d = hAdapt->Curve2d(); -+#endif - std::unique_ptr<Geom2dCurve> ptr(Part::makeFromCurveAdaptor2d(a2d)); - return ptr->getPyObject(); - } -diff --git src/Mod/Part/App/Geometry.cpp src/Mod/Part/App/Geometry.cpp -index e6d6396ca9..1d1d67d4f0 100644 ---- src/Mod/Part/App/Geometry.cpp -+++ src/Mod/Part/App/Geometry.cpp -@@ -51,7 +51,6 @@ - # include <Geom_RectangularTrimmedSurface.hxx> - # include <Geom_SurfaceOfRevolution.hxx> - # include <Geom_SurfaceOfLinearExtrusion.hxx> --# include <GeomAdaptor_HCurve.hxx> - # include <GeomAPI_Interpolate.hxx> - # include <GeomConvert.hxx> - # include <GeomConvert_CompCurveToBSplineCurve.hxx> -@@ -101,6 +100,9 @@ - # include <GeomAPI_ExtremaCurveCurve.hxx> - # include <ShapeConstruct_Curve.hxx> - # include <LProp_NotDefined.hxx> -+# if OCC_VERSION_HEX < 0x070600 -+# include <GeomAdaptor_HCurve.hxx> -+# endif - - # include <ctime> - # include <cmath> -@@ -144,6 +146,9 @@ - - #include "Geometry.h" - -+#if OCC_VERSION_HEX >= 0x070600 -+using GeomAdaptor_HCurve = GeomAdaptor_Curve; -+#endif - - using namespace Part; - -diff --git src/Mod/Part/App/PartFeatures.cpp src/Mod/Part/App/PartFeatures.cpp -index 2dc503bdf2..4d9e1fc0f9 100644 ---- src/Mod/Part/App/PartFeatures.cpp -+++ src/Mod/Part/App/PartFeatures.cpp -@@ -25,9 +25,7 @@ - #ifndef _PreComp_ - # include <BRepFill.hxx> - # include <BRepAdaptor_Curve.hxx> --# include <BRepAdaptor_HCurve.hxx> - # include <BRepAdaptor_CompCurve.hxx> --# include <BRepAdaptor_HCompCurve.hxx> - # include <BRepLib_MakeWire.hxx> - # include <Geom_BSplineSurface.hxx> - # include <TopoDS.hxx> -@@ -43,7 +41,7 @@ - # include <TopExp_Explorer.hxx> - # include <TopoDS.hxx> - # include <Precision.hxx> --# include <Adaptor3d_HCurve.hxx> -+# include <memory> - #endif - - -@@ -170,22 +168,18 @@ App::DocumentObjectExecReturn *RuledSurface::execute(void) - - if (Orientation.getValue() == 0) { - // Automatic -- Handle(Adaptor3d_HCurve) a1; -- Handle(Adaptor3d_HCurve) a2; -+ std::unique_ptr<Adaptor3d_Curve> a1; -+ std::unique_ptr<Adaptor3d_Curve> a2; - if (!isWire) { -- BRepAdaptor_Curve adapt1(TopoDS::Edge(S1)); -- BRepAdaptor_Curve adapt2(TopoDS::Edge(S2)); -- a1 = new BRepAdaptor_HCurve(adapt1); -- a2 = new BRepAdaptor_HCurve(adapt2); -+ a1 = std::make_unique<BRepAdaptor_Curve>(TopoDS::Edge(S1)); -+ a2 = std::make_unique<BRepAdaptor_Curve>(TopoDS::Edge(S2)); - } - else { -- BRepAdaptor_CompCurve adapt1(TopoDS::Wire(S1)); -- BRepAdaptor_CompCurve adapt2(TopoDS::Wire(S2)); -- a1 = new BRepAdaptor_HCompCurve(adapt1); -- a2 = new BRepAdaptor_HCompCurve(adapt2); -+ a1 = std::make_unique<BRepAdaptor_CompCurve>(TopoDS::Wire(S1)); -+ a2 = std::make_unique<BRepAdaptor_CompCurve>(TopoDS::Wire(S2)); - } - -- if (!a1.IsNull() && !a2.IsNull()) { -+ if (a1 && a2) { - // get end points of 1st curve - Standard_Real first, last; - first = a1->FirstParameter(); -diff --git src/Mod/Part/App/TopoShapeFacePyImp.cpp src/Mod/Part/App/TopoShapeFacePyImp.cpp -index ea6cd98bdf..63e8bead74 100644 ---- src/Mod/Part/App/TopoShapeFacePyImp.cpp -+++ src/Mod/Part/App/TopoShapeFacePyImp.cpp -@@ -493,6 +493,15 @@ PyObject* TopoShapeFacePy::getUVNodes(PyObject *args) - return Py::new_reference_to(list); - } - -+#if OCC_VERSION_HEX >= 0x070600 -+ for (int i=1; i<=mesh->NbNodes(); i++) { -+ gp_Pnt2d pt2d = mesh->UVNode(i); -+ Py::Tuple uv(2); -+ uv.setItem(0, Py::Float(pt2d.X())); -+ uv.setItem(1, Py::Float(pt2d.Y())); -+ list.append(uv); -+ } -+#else - const TColgp_Array1OfPnt2d& aNodesUV = mesh->UVNodes(); - for (int i=aNodesUV.Lower(); i<=aNodesUV.Upper(); i++) { - gp_Pnt2d pt2d = aNodesUV(i); -@@ -501,6 +510,7 @@ PyObject* TopoShapeFacePy::getUVNodes(PyObject *args) - uv.setItem(1, Py::Float(pt2d.Y())); - list.append(uv); - } -+#endif - - return Py::new_reference_to(list); - } -diff --git src/Mod/Part/App/TopoShapeWirePyImp.cpp src/Mod/Part/App/TopoShapeWirePyImp.cpp -index 95c1aff681..a1f32d6d03 100644 ---- src/Mod/Part/App/TopoShapeWirePyImp.cpp -+++ src/Mod/Part/App/TopoShapeWirePyImp.cpp -@@ -344,9 +344,9 @@ PyObject* TopoShapeWirePy::approximate(PyObject *args, PyObject *kwds) - return 0; - try { - BRepAdaptor_CompCurve adapt(TopoDS::Wire(getTopoShapePtr()->getShape())); -- Handle(Adaptor3d_HCurve) hcurve = adapt.Trim(adapt.FirstParameter(), -- adapt.LastParameter(), -- tol2d); -+ auto hcurve = adapt.Trim(adapt.FirstParameter(), -+ adapt.LastParameter(), -+ tol2d); - Approx_Curve3d approx(hcurve, tol3d, GeomAbs_C0, maxseg, maxdeg); - if (approx.IsDone()) { - return new BSplineCurvePy(new GeomBSplineCurve(approx.Curve())); -diff --git src/Mod/Part/Gui/TaskCheckGeometry.cpp src/Mod/Part/Gui/TaskCheckGeometry.cpp -index 5de7c16920..aaef13d9d0 100644 ---- src/Mod/Part/Gui/TaskCheckGeometry.cpp -+++ src/Mod/Part/Gui/TaskCheckGeometry.cpp -@@ -711,8 +711,10 @@ int TaskCheckGeometryResults::goBOPSingleCheck(const TopoDS_Shape& shapeIn, Resu - #if OCC_VERSION_HEX >= 0x060900 - #if OCC_VERSION_HEX < 0x070500 - BOPCheck.SetProgressIndicator(theProgress); --#else -+#elif OCC_VERSION_HEX < 0x070600 - BOPCheck.SetProgressIndicator(theScope); -+#else -+ Q_UNUSED(theScope) - #endif // 0x070500 - #else - Q_UNUSED(theProgress); -@@ -740,7 +742,7 @@ int TaskCheckGeometryResults::goBOPSingleCheck(const TopoDS_Shape& shapeIn, Resu - Base::TimeInfo start_time; - #endif - --BOPCheck.Perform(); -+ BOPCheck.Perform(); - - #ifdef FC_DEBUG - float bopAlgoTime = Base::TimeInfo::diffTimeF(start_time,Base::TimeInfo()); -diff --git src/Mod/Part/Gui/ViewProviderExt.cpp src/Mod/Part/Gui/ViewProviderExt.cpp -index 77cefbe3e0..8a52f1701b 100644 ---- src/Mod/Part/Gui/ViewProviderExt.cpp -+++ src/Mod/Part/Gui/ViewProviderExt.cpp -@@ -1150,16 +1150,25 @@ - - - // cycling through the poly mesh -+#if OCC_VERSION_HEX < 0x070600 - const Poly_Array1OfTriangle& Triangles = mesh->Triangles(); - const TColgp_Array1OfPnt& Nodes = mesh->Nodes(); - TColgp_Array1OfDir Normals (Nodes.Lower(), Nodes.Upper()); -+#else -+ int numNodes = mesh->NbNodes(); -+ TColgp_Array1OfDir Normals (1, numNodes); -+#endif - if (NormalsFromUV) - getNormals(actFace, mesh, Normals); - - for (int g=1;g<=nbTriInFace;g++) { - // Get the triangle - Standard_Integer N1,N2,N3; -+#if OCC_VERSION_HEX < 0x070600 - Triangles(g).Get(N1,N2,N3); -+#else -+ mesh->Triangle(g).Get(N1,N2,N3); -+#endif - - // change orientation of the triangle if the face is reversed - if ( orient != TopAbs_FORWARD ) { -@@ -1169,7 +1178,11 @@ - } - - // get the 3 points of this triangle -+#if OCC_VERSION_HEX < 0x070600 - gp_Pnt V1(Nodes(N1)), V2(Nodes(N2)), V3(Nodes(N3)); -+#else -+ gp_Pnt V1(mesh->Node(N1)), V2(mesh->Node(N2)), V3(mesh->Node(N3)); -+#endif - - // get the 3 normals of this triangle - gp_Vec NV1, NV2, NV3; -@@ -1246,7 +1259,11 @@ - // rare cases where some points are only referenced by the polygon - // but not by any triangle. Thus, we must apply the coordinates to - // make sure that everything is properly set. -+#if OCC_VERSION_HEX < 0x070600 - gp_Pnt p(Nodes(nodeIndex)); -+#else -+ gp_Pnt p(mesh->Node(nodeIndex)); -+#endif - if (!identity) - p.Transform(myTransf); - verts[index].setValue((float)(p.X()),(float)(p.Y()),(float)(p.Z())); -diff --git src/Mod/Path/App/AppPathPy.cpp src/Mod/Path/App/AppPathPy.cpp -index 6e0c72d2f5..ce912b4474 100644 ---- src/Mod/Path/App/AppPathPy.cpp -+++ src/Mod/Path/App/AppPathPy.cpp -@@ -49,10 +49,7 @@ - #include <TopExp_Explorer.hxx> - #include <gp_Lin.hxx> - #include <BRep_Tool.hxx> --#include <BRepAdaptor_CompCurve.hxx> --#include <BRepAdaptor_HCompCurve.hxx> --#include <Approx_Curve3d.hxx> --#include <BRepAdaptor_HCurve.hxx> -+#include <BRepAdaptor_Curve.hxx> - - #include "CommandPy.h" - #include "PathPy.h" -diff --git src/Mod/TechDraw/App/Geometry.cpp src/Mod/TechDraw/App/Geometry.cpp -index b6c3637137..59a92d7e51 100644 ---- src/Mod/TechDraw/App/Geometry.cpp -+++ src/Mod/TechDraw/App/Geometry.cpp -@@ -28,13 +28,13 @@ - #include <BRepAdaptor_Curve.hxx> - #include <BRep_Tool.hxx> - #include <BRepTools.hxx> --#include <BRepAdaptor_HCurve.hxx> - #include <BRepLib.hxx> - #include <BRepBuilderAPI_MakeVertex.hxx> - #include <BRepBuilderAPI_MakeEdge.hxx> - #include <BRepBuilderAPI_MakeWire.hxx> - #include <BRepBuilderAPI_MakeFace.hxx> - #include <BRepExtrema_DistShapeShape.hxx> -+#include <BRepLProp_CLProps.hxx> - #include <Precision.hxx> - #include <GCPnts_AbscissaPoint.hxx> - #include <gce_MakeCirc.hxx> -@@ -58,14 +58,16 @@ - #include <GeomLProp_CLProps.hxx> - #include <GeomAPI_ProjectPointOnCurve.hxx> - #include <Poly_Polygon3D.hxx> -+#include <Standard_Version.hxx> - #include <TopoDS.hxx> - #include <TopoDS_Edge.hxx> - #include <TopExp.hxx> - #include <TopExp_Explorer.hxx> - #include <TColgp_Array1OfPnt2d.hxx> - #include <TColgp_Array1OfPnt.hxx> --#include <BRepLProp_CLProps.hxx> -- -+#if OCC_VERSION_HEX < 0x070600 -+#include <BRepAdaptor_HCurve.hxx> -+#endif - #include <cmath> - #endif // #ifndef _PreComp_ - -@@ -86,6 +88,10 @@ - using namespace TechDraw; - using namespace std; - -+#if OCC_VERSION_HEX >= 0x070600 -+using BRepAdaptor_HCurve = BRepAdaptor_Curve; -+#endif -+ - #define GEOMETRYEDGE 0 - #define COSMETICEDGE 1 - #define CENTERLINE 2 diff --git a/cad/freecad/files/patch-cMake_FindPySide2Tools.cmake b/cad/freecad/files/patch-cMake_FindPySide2Tools.cmake deleted file mode 100644 index 63ab4c74b770..000000000000 --- a/cad/freecad/files/patch-cMake_FindPySide2Tools.cmake +++ /dev/null @@ -1,20 +0,0 @@ ---- cMake/FindPySide2Tools.cmake.orig 2021-03-12 22:05:53 UTC -+++ cMake/FindPySide2Tools.cmake -@@ -58,7 +58,7 @@ - # we follow the tool command with in-place sed. - ADD_CUSTOM_COMMAND(OUTPUT ${outfile} - COMMAND "${PYSIDE2UICBINARY}" ${UICOPTIONS} "${infile}" -o "${outfile}" -- COMMAND sed -i "/^# /d" "${outfile}" -+ COMMAND sed -i \"\" "/^# /d" "${outfile}" - MAIN_DEPENDENCY "${infile}" - ) - endif() -@@ -85,7 +85,7 @@ - # we follow the tool command with in-place sed. - ADD_CUSTOM_COMMAND(OUTPUT "${outfile}" - COMMAND "${PYSIDE2RCCBINARY}" ${RCCOPTIONS} "${infile}" ${PY_ATTRIBUTE} -o "${outfile}" -- COMMAND sed -i "/^# /d" "${outfile}" -+ COMMAND sed -i \"\" "/^# /d" "${outfile}" - MAIN_DEPENDENCY "${infile}" - ) - endif() diff --git a/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake b/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake index 2b3bc745c000..2d20cbb7e033 100644 --- a/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake +++ b/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake @@ -1,40 +1,11 @@ ---- cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake.orig 2021-04-15 09:17:08 UTC +--- cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake.orig 2022-06-14 23:16:43 +0200 +++ cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake -@@ -12,24 +12,24 @@ macro(SetupSalomeSMESH) - - #if we use smesh we definitely also need vtk, no matter of external or internal smesh - set (VTK_COMPONENTS -- vtkCommonCore -- vtkCommonDataModel -- vtkFiltersVerdict -- vtkIOXML -- vtkFiltersCore -- vtkFiltersGeneral -- vtkIOLegacy -- vtkFiltersExtraction -- vtkFiltersSources -- vtkFiltersGeometry -+ CommonCore -+ tkCommonDataModel -+ tkFiltersVerdict -+ tkIOXML -+ tkFiltersCore -+ tkFiltersGeneral -+ tkIOLegacy -+ tkFiltersExtraction -+ tkFiltersSources -+ tkFiltersGeometry - ) +@@ -26,7 +26,7 @@ # check which modules are available if(UNIX OR WIN32) - find_package(VTK COMPONENTS vtkCommonCore REQUIRED NO_MODULE) -- list(APPEND VTK_COMPONENTS vtkIOMPIParallel vtkParallelMPI vtkhdf5 vtkFiltersParallelDIY2 vtkRenderingCore vtkInteractionStyle vtkRenderingFreeType vtkRenderingOpenGL2) + find_package(VTK COMPONENTS CommonCore REQUIRED NO_MODULE) -+ list(APPEND VTK_COMPONENTS IOMPIParallel ParallelMPI hdf5 FiltersParallelDIY2 RenderingCore InteractionStyle RenderingFreeType RenderingOpenGL2) - foreach(_module ${VTK_COMPONENTS}) -- list (FIND VTK_MODULES_ENABLED ${_module} _index) -+ list (FIND VTK_AVAILABLE_COMPONENTS ${_module} _index) - if (${_index} GREATER -1) - list(APPEND AVAILABLE_VTK_COMPONENTS ${_module}) - endif() + if(${VTK_MAJOR_VERSION} LESS 9) + list(APPEND VTK_COMPONENTS vtkIOMPIParallel vtkParallelMPI vtkhdf5 vtkFiltersParallelDIY2 vtkRenderingCore vtkInteractionStyle vtkRenderingFreeType vtkRenderingOpenGL2) + foreach(_module ${VTK_COMPONENTS}) diff --git a/cad/freecad/files/patch-src_3rdParty_libE57Format_src_CheckedFile.cpp b/cad/freecad/files/patch-src_3rdParty_libE57Format_src_CheckedFile.cpp new file mode 100644 index 000000000000..bb6f490be2a9 --- /dev/null +++ b/cad/freecad/files/patch-src_3rdParty_libE57Format_src_CheckedFile.cpp @@ -0,0 +1,34 @@ +--- src/3rdParty/libE57Format/src/CheckedFile.cpp.orig 2022-06-14 16:52:22 +0200 ++++ src/3rdParty/libE57Format/src/CheckedFile.cpp +@@ -25,6 +25,11 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++// convenience for all the BSDs ++#if defined( __FreeBSD__) || defined( __NetBSD__) || defined( __OpenBSD__) ++#define __BSD ++#endif ++ + #if defined( _WIN32 ) + #if defined( _MSC_VER ) + #include <codecvt> +@@ -47,6 +52,10 @@ + #elif defined( __APPLE__ ) + #include <sys/types.h> + #include <unistd.h> ++#elif defined( __BSD ) ++#include <sys/stat.h> ++#include <sys/types.h> ++#include <unistd.h> + #else + #error "no supported OS platform defined" + #endif +@@ -483,7 +492,7 @@ + #endif + #elif defined( __linux__ ) + int64_t result = ::lseek64( fd_, offset, whence ); +-#elif defined( __APPLE__ ) ++#elif defined( __APPLE__ ) || defined ( __BSD ) + int64_t result = ::lseek( fd_, offset, whence ); + #else + #error "no supported OS platform defined" diff --git a/cad/freecad/files/patch-src_3rdParty_salomesmesh_src_SMESH_SMESH_Mesh.cpp b/cad/freecad/files/patch-src_3rdParty_salomesmesh_src_SMESH_SMESH_Mesh.cpp deleted file mode 100644 index f88315cbaeb4..000000000000 --- a/cad/freecad/files/patch-src_3rdParty_salomesmesh_src_SMESH_SMESH_Mesh.cpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp.orig 2022-01-30 21:22:20.383703000 +0100 -+++ src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp 2022-01-30 21:22:56.240456000 +0100 -@@ -64,7 +64,6 @@ - - #include <GEOMUtils.hxx> - --#undef _Precision_HeaderFile - #include <BRepBndLib.hxx> - #include <BRepPrimAPI_MakeBox.hxx> - #include <Bnd_Box.hxx> diff --git a/cad/freecad/files/patch-src_App_PropertyExpressionEngine.h b/cad/freecad/files/patch-src_App_PropertyExpressionEngine.h new file mode 100644 index 000000000000..ed1096e7b835 --- /dev/null +++ b/cad/freecad/files/patch-src_App_PropertyExpressionEngine.h @@ -0,0 +1,11 @@ +--- src/App/PropertyExpressionEngine.h.orig 2022-06-14 21:47:38 +0200 ++++ src/App/PropertyExpressionEngine.h +@@ -179,7 +179,7 @@ + typedef boost::adjacency_list< boost::listS, boost::vecS, boost::directedS > DiGraph; + typedef std::pair<int, int> Edge; + // Note: use std::map instead of unordered_map to keep the binding order stable +- #ifdef FC_OS_MACOSX ++ #if defined(FC_OS_MACOSX) || defined(FC_OS_BSD) + typedef std::map<App::ObjectIdentifier, ExpressionInfo> ExpressionMap; + #else + typedef std::map<const App::ObjectIdentifier, ExpressionInfo> ExpressionMap; diff --git a/cad/freecad/files/patch-src_Mod_Fem_App_FemConstraint.cpp b/cad/freecad/files/patch-src_Mod_Fem_App_FemConstraint.cpp deleted file mode 100644 index 88d9de1b36e6..000000000000 --- a/cad/freecad/files/patch-src_Mod_Fem_App_FemConstraint.cpp +++ /dev/null @@ -1,22 +0,0 @@ ---- src/Mod/Fem/App/FemConstraint.cpp.orig 2022-02-04 00:04:15.767125000 +0100 -+++ src/Mod/Fem/App/FemConstraint.cpp 2022-02-04 00:04:38.270409000 +0100 -@@ -36,8 +36,6 @@ - # include <BRepAdaptor_Curve.hxx> - # include <GCPnts_AbscissaPoint.hxx> - # include <Adaptor3d_IsoCurve.hxx> --# include <Adaptor3d_HSurface.hxx> --# include <BRepAdaptor_HSurface.hxx> - # include <BRepAdaptor_Surface.hxx> - # include <GProp_GProps.hxx> - # include <BRepGProp.hxx> -@@ -248,8 +246,8 @@ - gp_Pnt center; - - // Get an estimate for the number of arrows by finding the average length of curves -- Handle(Adaptor3d_HSurface) hsurf; -- hsurf = new BRepAdaptor_HSurface(surface); -+ Handle(Adaptor3d_Surface) hsurf; -+ hsurf = new BRepAdaptor_Surface(surface); - - Adaptor3d_IsoCurve isoc(hsurf); - try { diff --git a/cad/freecad/files/patch-src_Mod_Fem_App_FemConstraintFixed.cpp b/cad/freecad/files/patch-src_Mod_Fem_App_FemConstraintFixed.cpp deleted file mode 100644 index 319300cae57e..000000000000 --- a/cad/freecad/files/patch-src_Mod_Fem_App_FemConstraintFixed.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/Mod/Fem/App/FemConstraintFixed.cpp.orig 2022-02-03 23:52:01.569143000 +0100 -+++ src/Mod/Fem/App/FemConstraintFixed.cpp 2022-02-03 23:52:36.672029000 +0100 -@@ -32,8 +32,6 @@ - #include <BRepAdaptor_Surface.hxx> - #include <GCPnts_AbscissaPoint.hxx> - #include <Adaptor3d_IsoCurve.hxx> --#include <Adaptor3d_HSurface.hxx> --#include <BRepAdaptor_HSurface.hxx> - #include <GProp_GProps.hxx> - #include <BRepGProp.hxx> - #include <TopoDS_Vertex.hxx> diff --git a/cad/freecad/files/patch-src_Mod_MeshPart_App_MeshFlattening.cpp b/cad/freecad/files/patch-src_Mod_MeshPart_App_MeshFlattening.cpp deleted file mode 100644 index b68142a11254..000000000000 --- a/cad/freecad/files/patch-src_Mod_MeshPart_App_MeshFlattening.cpp +++ /dev/null @@ -1,52 +0,0 @@ ---- src/Mod/MeshPart/App/MeshFlattening.cpp.orig 2022-02-03 23:13:33.919226000 +0100 -+++ src/Mod/MeshPart/App/MeshFlattening.cpp 2022-02-03 23:30:59.747315000 +0100 -@@ -141,37 +141,37 @@ - if (triangulation.IsNull()) - throw std::runtime_error("null triangulation in face construction"); - -+ Standard_Integer numNodes = triangulation->NbNodes(); -+ Standard_Integer numTriangles = triangulation->NbTriangles(); -+ - // compute uv coordinates - if (triangulation->HasUVNodes()) - { -- const TColgp_Array1OfPnt2d &_uv_nodes = triangulation->UVNodes(); -- this->uv_nodes.resize(triangulation->NbNodes(), 2); -+ this->uv_nodes.resize(numNodes, 2); - i = 0; -- for (Standard_Integer index = _uv_nodes.Lower(); index <= _uv_nodes.Upper(); ++index) -+ for (Standard_Integer index = 1; index <= numNodes; ++index) - { -- const gp_Pnt2d& _uv_node = _uv_nodes.Value(index); -+ const gp_Pnt2d& _uv_node = triangulation->UVNode(index); - this->uv_nodes.row(i) << _uv_node.X(), _uv_node.Y(); - i++; - } - } - // -- const TColgp_Array1OfPnt &_nodes = triangulation->Nodes(); -- this->xyz_nodes.resize(triangulation->NbNodes(), 3); -+ this->xyz_nodes.resize(numNodes, 3); - i = 0; -- for (Standard_Integer index = _nodes.Lower(); index <= _nodes.Upper(); ++index) -+ for (Standard_Integer index = 1; index <= numNodes; ++index) - { -- gp_Pnt _node = _nodes.Value(index); -+ gp_Pnt _node = triangulation->Node(index); - this->xyz_nodes.row(i) << _node.X(), _node.Y(), _node.Z(); - i++; - } - -- const Poly_Array1OfTriangle &_tris = triangulation->Triangles(); -- this->tris.resize(triangulation->NbTriangles(), 3); -+ this->tris.resize(numTriangles, 3); - i = 0; -- for (Standard_Integer index = _tris.Lower(); index <= _tris.Upper(); ++index) -+ for (Standard_Integer index = 1; index <= numTriangles; ++index) - { - int n1, n2, n3; -- Poly_Triangle _tri = _tris.Value(index); -+ Poly_Triangle _tri = triangulation->Triangle(index); - _tri.Get(n1, n2, n3); - this->tris.row(i) << n1-1, n2-1, n3-1; - i++; diff --git a/cad/freecad/files/patch-src_Mod_PartDesign_Gui_ViewProviderAddSub.cpp b/cad/freecad/files/patch-src_Mod_PartDesign_Gui_ViewProviderAddSub.cpp deleted file mode 100644 index 7c7c3c09accd..000000000000 --- a/cad/freecad/files/patch-src_Mod_PartDesign_Gui_ViewProviderAddSub.cpp +++ /dev/null @@ -1,21 +0,0 @@ ---- src/Mod/PartDesign/Gui/ViewProviderAddSub.cpp.orig 2022-03-03 20:43:05.599798000 +0100 -+++ src/Mod/PartDesign/Gui/ViewProviderAddSub.cpp 2022-03-03 21:06:11.466643000 +0100 -@@ -194,8 +194,7 @@ - - // cycling through the poly mesh - const Poly_Array1OfTriangle& Triangles = mesh->Triangles(); -- const TColgp_Array1OfPnt& Nodes = mesh->Nodes(); -- TColgp_Array1OfDir Normals (Nodes.Lower(), Nodes.Upper()); -+ TColgp_Array1OfDir Normals (1, nbNodesInFace); - getNormals(actFace, mesh, Normals); - - for (int g=1;g<=nbTriInFace;g++) { -@@ -211,7 +210,7 @@ - } - - // get the 3 points of this triangle -- gp_Pnt V1(Nodes(N1)), V2(Nodes(N2)), V3(Nodes(N3)); -+ gp_Pnt V1(mesh->Node(N1)), V2(mesh->Node(N2)), V3(mesh->Node(N3)); - - // get the 3 previewNormals of this triangle - gp_Dir NV1(Normals(N1)), NV2(Normals(N2)), NV3(Normals(N3)); diff --git a/cad/freecad/files/patch-src_Mod_PartDesign_Gui_ViewProviderTransformed.cpp b/cad/freecad/files/patch-src_Mod_PartDesign_Gui_ViewProviderTransformed.cpp deleted file mode 100644 index 2e2c02a95065..000000000000 --- a/cad/freecad/files/patch-src_Mod_PartDesign_Gui_ViewProviderTransformed.cpp +++ /dev/null @@ -1,19 +0,0 @@ ---- src/Mod/PartDesign/Gui/ViewProviderTransformed.cpp.orig 2022-03-03 21:21:36.816245000 +0100 -+++ src/Mod/PartDesign/Gui/ViewProviderTransformed.cpp 2022-03-03 21:22:41.559121000 +0100 -@@ -285,7 +285,6 @@ - - // cycling through the poly mesh - const Poly_Array1OfTriangle& Triangles = mesh->Triangles(); -- const TColgp_Array1OfPnt& Nodes = mesh->Nodes(); - for (int g=1; g <= nbTriInFace; g++) { - // Get the triangle - Standard_Integer N1,N2,N3; -@@ -299,7 +298,7 @@ - } - - // get the 3 points of this triangle -- gp_Pnt V1(Nodes(N1)), V2(Nodes(N2)), V3(Nodes(N3)); -+ gp_Pnt V1(mesh->Node(N1)), V2(mesh->Node(N2)), V3(mesh->Node(N3)); - - // transform the vertices to the place of the face - if (!identity) { diff --git a/cad/freecad/files/patch-src_Mod_Part_App_AppPartPy.cpp b/cad/freecad/files/patch-src_Mod_Part_App_AppPartPy.cpp deleted file mode 100644 index dc95388b984e..000000000000 --- a/cad/freecad/files/patch-src_Mod_Part_App_AppPartPy.cpp +++ /dev/null @@ -1,29 +0,0 @@ ---- src/Mod/Part/App/AppPartPy.cpp.orig 2022-01-30 22:29:02.026790000 +0100 -+++ src/Mod/Part/App/AppPartPy.cpp 2022-01-30 22:50:54.044159000 +0100 -@@ -804,14 +804,26 @@ - const TopAbs_Orientation anOrientation = currentFace.Orientation(); - bool flip = (anOrientation == TopAbs_REVERSED); - if (!facets.IsNull()) { -+#if OCC_VERSION_HEX < 0x070600 - const TColgp_Array1OfPnt& nodes = facets->Nodes(); - const Poly_Array1OfTriangle& triangles = facets->Triangles(); - for (int i = 1; i <= triangles.Length(); i++) { -+#else -+ int nbtri = facets->NbTriangles(); -+ for (int i = 1; i <= nbtri; i++) { -+#endif - Standard_Integer n1,n2,n3; -+#if OCC_VERSION_HEX < 0x070600 - triangles(i).Get(n1, n2, n3); - gp_Pnt p1 = nodes(n1); - gp_Pnt p2 = nodes(n2); - gp_Pnt p3 = nodes(n3); -+#else -+ facets->Triangle(i).Get(n1, n2, n3); -+ gp_Pnt p1 = facets->Node(n1); -+ gp_Pnt p2 = facets->Node(n2); -+ gp_Pnt p3 = facets->Node(n3); -+#endif - p1.Transform(loc.Transformation()); - p2.Transform(loc.Transformation()); - p3.Transform(loc.Transformation()); diff --git a/cad/freecad/files/patch-src_Mod_Part_App_Tools.cpp b/cad/freecad/files/patch-src_Mod_Part_App_Tools.cpp deleted file mode 100644 index 191d1c081f35..000000000000 --- a/cad/freecad/files/patch-src_Mod_Part_App_Tools.cpp +++ /dev/null @@ -1,45 +0,0 @@ ---- src/Mod/Part/App/Tools.cpp.orig 2022-02-03 20:59:16.862252000 +0100 -+++ src/Mod/Part/App/Tools.cpp 2022-02-03 21:43:13.008464000 +0100 -@@ -25,10 +25,9 @@ - # include <cassert> - # include <gp_Pln.hxx> - # include <gp_Lin.hxx> --# include <Adaptor3d_HCurveOnSurface.hxx> - # include <Geom_BSplineSurface.hxx> - # include <Geom_Plane.hxx> --# include <GeomAdaptor_HCurve.hxx> -+# include <GeomAdaptor_Curve.hxx> - # include <GeomAPI_IntSS.hxx> - # include <Geom_Line.hxx> - # include <Geom_Point.hxx> -@@ -98,8 +97,8 @@ - return found; - } - --/*! The objects in \a theBoundaries must be of the type Adaptor3d_HCurveOnSurface or --GeomAdaptor_HCurve or Geom_Point indicating type of a constraint. Otherwise an exception -+/*! The objects in \a theBoundaries must be of the type Adaptor3d_CurveOnSurface or -+GeomAdaptor_Curve or Geom_Point indicating type of a constraint. Otherwise an exception - Standard_TypeMismatch is thrown. - - If the \a theBoundaries list is empty then Standard_ConstructionError is thrown. -@@ -138,15 +137,15 @@ - assert (0); - Standard_ConstructionError::Raise ("Tools::makeSurface()"); - } -- else if (aCur->IsKind (STANDARD_TYPE (Adaptor3d_HCurveOnSurface))) { -+ else if (aCur->IsKind (STANDARD_TYPE (Adaptor3d_CurveOnSurface))) { - //G1 constraint -- Handle(Adaptor3d_HCurveOnSurface) aHCOS (Handle(Adaptor3d_HCurveOnSurface)::DownCast (aCur)); -+ Handle(Adaptor3d_CurveOnSurface) aHCOS (Handle(Adaptor3d_CurveOnSurface)::DownCast (aCur)); - Handle (GeomPlate_CurveConstraint) aConst = new GeomPlate_CurveConstraint (aHCOS, 1 /*GeomAbs_G1*/,aNbPnts, aTol3d, anAngTol, aCurvTol); - aPlateBuilder.Add (aConst); - } -- else if (aCur->IsKind (STANDARD_TYPE (GeomAdaptor_HCurve))) { -+ else if (aCur->IsKind (STANDARD_TYPE (GeomAdaptor_Curve))) { - //G0 constraint -- Handle(GeomAdaptor_HCurve) aHC (Handle(GeomAdaptor_HCurve)::DownCast (aCur)); -+ Handle(GeomAdaptor_Curve) aHC (Handle(GeomAdaptor_Curve)::DownCast (aCur)); - Handle (GeomPlate_CurveConstraint) aConst = new GeomPlate_CurveConstraint (aHC, 0 /*GeomAbs_G0*/, aNbPnts, aTol3d); - aPlateBuilder.Add (aConst); - } diff --git a/cad/freecad/files/patch-src_Mod_Part_App_TopoShape.cpp b/cad/freecad/files/patch-src_Mod_Part_App_TopoShape.cpp deleted file mode 100644 index 51285e1c05f4..000000000000 --- a/cad/freecad/files/patch-src_Mod_Part_App_TopoShape.cpp +++ /dev/null @@ -1,146 +0,0 @@ ---- src/Mod/Part/App/TopoShape.cpp.orig 2022-02-03 21:51:04.000000000 +0100 -+++ src/Mod/Part/App/TopoShape.cpp 2022-02-03 22:55:05.882488000 +0100 -@@ -38,8 +38,6 @@ - # include <BRep_Tool.hxx> - # include <BRepAdaptor_Curve.hxx> - # include <BRepAdaptor_CompCurve.hxx> --# include <BRepAdaptor_HCurve.hxx> --# include <BRepAdaptor_HCompCurve.hxx> - # include <BRepAdaptor_Surface.hxx> - # include <BRepAlgoAPI_Common.hxx> - # include <BRepAlgoAPI_Cut.hxx> -@@ -1122,10 +1120,10 @@ - // check orientation - TopAbs_Orientation orient = aFace.Orientation(); - -+ nbTriInFace = aPoly->NbTriangles(); - // cycling through the poly mesh - const Poly_Array1OfTriangle& Triangles = aPoly->Triangles(); -- const TColgp_Array1OfPnt& Nodes = aPoly->Nodes(); -- for (int i=1;i<=nbTriInFace;i++) { -+ for (int i=1; i<=nbTriInFace; i++) { - // Get the triangle - Standard_Integer N1,N2,N3; - Triangles(i).Get(N1,N2,N3); -@@ -1137,9 +1135,9 @@ - N2 = tmp; - } - -- gp_Pnt V1 = Nodes(N1); -- gp_Pnt V2 = Nodes(N2); -- gp_Pnt V3 = Nodes(N3); -+ gp_Pnt V1 = aPoly->Node(N1); -+ gp_Pnt V2 = aPoly->Node(N2); -+ gp_Pnt V3 = aPoly->Node(N3); - - // transform the vertices to the place of the face - if (!identity) { -@@ -1193,6 +1191,7 @@ - - std::vector<Base::Vector3f> vertices; - Standard_Integer nbNodesInFace; -+ Standard_Integer nbNodesInTria; - - // triangulation succeeded? - if (!aPoly.IsNull()) { -@@ -1233,16 +1232,14 @@ - - // getting size and create the array - nbNodesInFace = aPoly->NbNodes(); -+ nbNodesInTria = aPolyTria->NbNodes(); - vertices.resize(nbNodesInFace); - -- const TColStd_Array1OfInteger& indices = aPoly->Nodes(); -- const TColgp_Array1OfPnt& Nodes = aPolyTria->Nodes(); -- - gp_Pnt V; - int pos = 0; - // go through the index array -- for (Standard_Integer i=indices.Lower();i <= indices.Upper();i++) { -- V = Nodes(indices(i)); -+ for (Standard_Integer i=1; i<=nbNodesInTria; i++) { -+ V = aPolyTria->Node(i); - V.Transform(myTransf); - vertices[pos++].Set((float)(V.X()),(float)(V.Y()),(float)(V.Z())); - } -@@ -2215,12 +2212,20 @@ - if (this->_Shape.IsNull()) - Standard_Failure::Raise("Cannot sweep along empty spine"); - -+#if OCC_VERSION_HEX >= 0x070600 -+ Handle(Adaptor3d_Curve) myPath; -+ if (this->_Shape.ShapeType() == TopAbs_EDGE) { -+ const TopoDS_Edge& path_edge = TopoDS::Edge(this->_Shape); -+ myPath = new BRepAdaptor_Curve(path_edge); -+ } -+#else - Handle(Adaptor3d_HCurve) myPath; - if (this->_Shape.ShapeType() == TopAbs_EDGE) { - const TopoDS_Edge& path_edge = TopoDS::Edge(this->_Shape); - BRepAdaptor_Curve path_adapt(path_edge); - myPath = new BRepAdaptor_HCurve(path_adapt); - } -+#endif - //else if (this->_Shape.ShapeType() == TopAbs_WIRE) { - // const TopoDS_Wire& path_wire = TopoDS::Wire(this->_Shape); - // BRepAdaptor_CompCurve path_adapt(path_wire); -@@ -3401,10 +3406,10 @@ - - Domain domain; - // copy the points -- const TColgp_Array1OfPnt& points = theTriangulation->Nodes(); -- domain.points.reserve(points.Length()); -- for (int i = 1; i <= points.Length(); i++) { -- gp_Pnt p = points(i); -+ int nbptintria = theTriangulation->NbNodes(); -+ domain.points.reserve(nbptintria); -+ for (int i = 1; i <= nbptintria; i++) { -+ gp_Pnt p = theTriangulation->Node(i); - p.Transform(loc.Transformation()); - Standard_Real X, Y, Z; - p.Coord (X, Y, Z); -@@ -3414,11 +3419,11 @@ - // copy the triangles - const TopAbs_Orientation anOrientation = face.Orientation(); - bool flip = (anOrientation == TopAbs_REVERSED); -- const Poly_Array1OfTriangle& faces = theTriangulation->Triangles(); -- domain.facets.reserve(faces.Length()); -- for (int i = 1; i <= faces.Length(); i++) { -+ int nbtri = theTriangulation->NbTriangles(); -+ domain.facets.reserve(nbtri); -+ for (int i = 1; i <= nbtri; i++) { - Standard_Integer N1, N2, N3; -- faces(i).Get(N1, N2, N3); -+ theTriangulation->Triangle(i).Get(N1, N2, N3); - - Facet tria; - tria.I1 = N1-1; tria.I2 = N2-1; tria.I3 = N3-1; -@@ -3774,8 +3779,8 @@ - const TColgp_Array1OfPnt& Nodes = aPoly->Nodes(); - - gp_Pnt V; -- for (Standard_Integer i=0;i < nbNodesInFace;i++) { -- V = Nodes(i+1); -+ for (Standard_Integer i=1; i <= nbNodesInFace; i++) { -+ V = Nodes(i); - V.Transform(myTransf); - vertices.emplace_back(V.X(),V.Y(),V.Z()); - } -@@ -3808,14 +3813,12 @@ - - // getting size and create the array - nbNodesInFace = aPoly->NbNodes(); -+ int nbNodesInTria = aPolyTria->NbNodes(); - -- const TColStd_Array1OfInteger& indices = aPoly->Nodes(); -- const TColgp_Array1OfPnt& Nodes = aPolyTria->Nodes(); -- - gp_Pnt V; - // go through the index array -- for (Standard_Integer i=indices.Lower();i <= indices.Upper();i++) { -- V = Nodes(indices(i)); -+ for (Standard_Integer i=1 ;i <= nbNodesInTria; i++) { -+ V = aPolyTria->Node(i); - V.Transform(myTransf); - vertices.emplace_back(V.X(),V.Y(),V.Z()); - } diff --git a/cad/freecad/files/patch-src_Mod_Part_Gui_ViewProviderExt.cpp b/cad/freecad/files/patch-src_Mod_Part_Gui_ViewProviderExt.cpp deleted file mode 100644 index 197253155500..000000000000 --- a/cad/freecad/files/patch-src_Mod_Part_Gui_ViewProviderExt.cpp +++ /dev/null @@ -1,81 +0,0 @@ ---- src/Mod/Part/Gui/ViewProviderExt.cpp.orig 2022-03-02 17:15:16.283319000 +0100 -+++ src/Mod/Part/Gui/ViewProviderExt.cpp 2022-03-02 23:49:04.036080000 +0100 -@@ -137,26 +137,17 @@ - const Handle(Poly_Triangulation)& aPolyTri, - TColgp_Array1OfDir& theNormals) - { -- const TColgp_Array1OfPnt& aNodes = aPolyTri->Nodes(); -- - if(aPolyTri->HasNormals()) - { - // normals pre-computed in triangulation structure -- const TShort_Array1OfShortReal& aNormals = aPolyTri->Normals(); -- const Standard_ShortReal* aNormArr = &(aNormals.Value(aNormals.Lower())); -- -- for(Standard_Integer aNodeIter = aNodes.Lower(); aNodeIter <= aNodes.Upper(); ++aNodeIter) -+ for(Standard_Integer aNodeIter = 1; aNodeIter <= aPolyTri->NbNodes(); ++aNodeIter) - { -- const Standard_Integer anId = 3 * (aNodeIter - aNodes.Lower()); -- const gp_Dir aNorm(aNormArr[anId + 0], -- aNormArr[anId + 1], -- aNormArr[anId + 2]); -- theNormals(aNodeIter) = aNorm; -+ theNormals(aNodeIter) = aPolyTri->Normal(aNodeIter); - } - - if(theFace.Orientation() == TopAbs_REVERSED) - { -- for(Standard_Integer aNodeIter = aNodes.Lower(); aNodeIter <= aNodes.Upper(); ++aNodeIter) -+ for(Standard_Integer aNodeIter = 1; aNodeIter <= aPolyTri->NbNodes(); ++aNodeIter) - { - theNormals.ChangeValue(aNodeIter).Reverse(); - } -@@ -172,16 +163,13 @@ - const Standard_Real aTol = Precision::Confusion(); - Handle(TShort_HArray1OfShortReal) aNormals = new TShort_HArray1OfShortReal(1, aPolyTri->NbNodes() * 3); - const Poly_Array1OfTriangle& aTriangles = aPolyTri->Triangles(); -- const TColgp_Array1OfPnt2d* aNodesUV = aPolyTri->HasUVNodes() && !aSurf.IsNull() -- ? &aPolyTri->UVNodes() -- : NULL; -+ const Standard_Boolean hasUV = aPolyTri->HasUVNodes() && !aSurf.IsNull(); - Standard_Integer aTri[3]; - -- for(Standard_Integer aNodeIter = aNodes.Lower(); aNodeIter <= aNodes.Upper(); ++aNodeIter) -+ for(Standard_Integer aNodeIter = 1; aNodeIter <= aPolyTri->NbNodes(); ++aNodeIter) - { - // try to retrieve normal from real surface first, when UV coordinates are available -- if(aNodesUV == NULL -- || GeomLib::NormEstim(aSurf, aNodesUV->Value(aNodeIter), aTol, theNormals(aNodeIter)) > 1) -+ if(hasUV || GeomLib::NormEstim(aSurf, aPolyTri->UVNode(aNodeIter), aTol, theNormals(aNodeIter)) > 1) - { - // compute flat normals - gp_XYZ eqPlan(0.0, 0.0, 0.0); -@@ -189,8 +177,8 @@ - for(thePolyConnect.Initialize(aNodeIter); thePolyConnect.More(); thePolyConnect.Next()) - { - aTriangles(thePolyConnect.Value()).Get(aTri[0], aTri[1], aTri[2]); -- const gp_XYZ v1(aNodes(aTri[1]).Coord() - aNodes(aTri[0]).Coord()); -- const gp_XYZ v2(aNodes(aTri[2]).Coord() - aNodes(aTri[1]).Coord()); -+ const gp_XYZ v1(aPolyTri->Node(aTri[1]).Coord() - aPolyTri->Node(aTri[0]).Coord()); -+ const gp_XYZ v2(aPolyTri->Node(aTri[2]).Coord() - aPolyTri->Node(aTri[1]).Coord()); - const gp_XYZ vv = v1 ^ v2; - const Standard_Real aMod = vv.Modulus(); - -@@ -204,7 +192,7 @@ - theNormals(aNodeIter) = (aModMax > aTol) ? gp_Dir(eqPlan) : gp::DZ(); - } - -- const Standard_Integer anId = (aNodeIter - aNodes.Lower()) * 3; -+ const Standard_Integer anId = (aNodeIter - 1) * 3; - aNormals->SetValue(anId + 1, (Standard_ShortReal)theNormals(aNodeIter).X()); - aNormals->SetValue(anId + 2, (Standard_ShortReal)theNormals(aNodeIter).Y()); - aNormals->SetValue(anId + 3, (Standard_ShortReal)theNormals(aNodeIter).Z()); -@@ -214,7 +202,7 @@ - - if(theFace.Orientation() == TopAbs_REVERSED) - { -- for(Standard_Integer aNodeIter = aNodes.Lower(); aNodeIter <= aNodes.Upper(); ++aNodeIter) -+ for(Standard_Integer aNodeIter = 1; aNodeIter <= aPolyTri->NbNodes(); ++aNodeIter) - { - theNormals.ChangeValue(aNodeIter).Reverse(); - } diff --git a/cad/freecad/files/patch-src_Mod_Raytracing_App_PovTools.cpp b/cad/freecad/files/patch-src_Mod_Raytracing_App_PovTools.cpp deleted file mode 100644 index c96ce988fc2d..000000000000 --- a/cad/freecad/files/patch-src_Mod_Raytracing_App_PovTools.cpp +++ /dev/null @@ -1,23 +0,0 @@ ---- src/Mod/Raytracing/App/PovTools.cpp.orig 2022-02-03 23:01:51.000000000 +0100 -+++ src/Mod/Raytracing/App/PovTools.cpp 2022-02-03 23:03:51.000000000 +0100 -@@ -402,7 +402,6 @@ - - // cycling through the poly mesh - const Poly_Array1OfTriangle& Triangles = aPoly->Triangles(); -- const TColgp_Array1OfPnt& Nodes = aPoly->Nodes(); - for (i=1; i<=nbTriInFace; i++) { - // Get the triangle - Standard_Integer N1,N2,N3; -@@ -416,9 +415,9 @@ - N2 = tmp; - } - -- gp_Pnt V1 = Nodes(N1); -- gp_Pnt V2 = Nodes(N2); -- gp_Pnt V3 = Nodes(N3); -+ gp_Pnt V1 = aPoly->Node(N1); -+ gp_Pnt V2 = aPoly->Node(N2); -+ gp_Pnt V3 = aPoly->Node(N3); - - // transform the vertices to the place of the face - if (!identity) { diff --git a/cad/freecad/pkg-plist b/cad/freecad/pkg-plist index 94bf76ac6e6a..e8821e95206d 100644 --- a/cad/freecad/pkg-plist +++ b/cad/freecad/pkg-plist @@ -3,22 +3,62 @@ FreeCAD/Ext/PySide/QtGui.py FreeCAD/Ext/PySide/QtSvg.py FreeCAD/Ext/PySide/QtUiTools.py FreeCAD/Ext/PySide/__init__.py +FreeCAD/Ext/freecad/UiTools.py FreeCAD/Ext/freecad/__init__.py FreeCAD/Ext/freecad/gui/RemoteDebugger.py FreeCAD/Ext/freecad/gui/RemoteDebugger.ui FreeCAD/Ext/lazy_loader/__init__.py FreeCAD/Ext/lazy_loader/lazy_loader.py +FreeCAD/Mod/AddonManager/ALLOWED_PYTHON_PACKAGES.txt +FreeCAD/Mod/AddonManager/Addon.py FreeCAD/Mod/AddonManager/AddonManager.py FreeCAD/Mod/AddonManager/AddonManager.ui FreeCAD/Mod/AddonManager/AddonManagerOptions.ui +FreeCAD/Mod/AddonManager/AddonManagerTest/__init__.py +FreeCAD/Mod/AddonManager/AddonManagerTest/app/__init__.py +FreeCAD/Mod/AddonManager/AddonManagerTest/app/test_addon.py +FreeCAD/Mod/AddonManager/AddonManagerTest/app/test_macro.py +FreeCAD/Mod/AddonManager/AddonManagerTest/app/test_utilities.py +FreeCAD/Mod/AddonManager/AddonManagerTest/data/DoNothing.FCMacro +FreeCAD/Mod/AddonManager/AddonManagerTest/data/__init__.py +FreeCAD/Mod/AddonManager/AddonManagerTest/data/bad_macro_metadata.FCStd +FreeCAD/Mod/AddonManager/AddonManagerTest/data/combination.xml +FreeCAD/Mod/AddonManager/AddonManagerTest/data/depends_on_all_workbenches.xml +FreeCAD/Mod/AddonManager/AddonManagerTest/data/good_macro_metadata.FCStd +FreeCAD/Mod/AddonManager/AddonManagerTest/data/good_package.xml +FreeCAD/Mod/AddonManager/AddonManagerTest/data/macro_only.xml +FreeCAD/Mod/AddonManager/AddonManagerTest/data/macro_template.FCStd +FreeCAD/Mod/AddonManager/AddonManagerTest/data/missing_macro_metadata.FCStd +FreeCAD/Mod/AddonManager/AddonManagerTest/data/prefpack_only.xml +FreeCAD/Mod/AddonManager/AddonManagerTest/data/test_version_detection.xml +FreeCAD/Mod/AddonManager/AddonManagerTest/data/workbench_only.xml +FreeCAD/Mod/AddonManager/AddonManagerTest/gui/__init__.py +FreeCAD/Mod/AddonManager/AddonManagerTest/gui/test_gui.py +FreeCAD/Mod/AddonManager/AddonManagerTest/test_information.md FreeCAD/Mod/AddonManager/AddonManager_rc.py FreeCAD/Mod/AddonManager/Init.py FreeCAD/Mod/AddonManager/InitGui.py +FreeCAD/Mod/AddonManager/NetworkManager.py +FreeCAD/Mod/AddonManager/TestAddonManagerApp.py +FreeCAD/Mod/AddonManager/TestAddonManagerGui.py +FreeCAD/Mod/AddonManager/add_toolbar_button_dialog.ui FreeCAD/Mod/AddonManager/addonmanager_macro.py FreeCAD/Mod/AddonManager/addonmanager_utilities.py FreeCAD/Mod/AddonManager/addonmanager_workers.py +FreeCAD/Mod/AddonManager/change_branch.py +FreeCAD/Mod/AddonManager/change_branch.ui +FreeCAD/Mod/AddonManager/compact_view.py +FreeCAD/Mod/AddonManager/dependency_resolution_dialog.ui +FreeCAD/Mod/AddonManager/expanded_view.py +FreeCAD/Mod/AddonManager/first_run.ui +FreeCAD/Mod/AddonManager/install_to_toolbar.py +FreeCAD/Mod/AddonManager/loading.html +FreeCAD/Mod/AddonManager/package_details.py +FreeCAD/Mod/AddonManager/package_list.py +FreeCAD/Mod/AddonManager/select_toolbar_dialog.ui FreeCAD/Mod/Arch/Arch.py FreeCAD/Mod/Arch/ArchAxis.py +FreeCAD/Mod/Arch/ArchAxisSystem.py FreeCAD/Mod/Arch/ArchBuilding.py FreeCAD/Mod/Arch/ArchBuildingPart.py FreeCAD/Mod/Arch/ArchCommands.py @@ -29,6 +69,7 @@ FreeCAD/Mod/Arch/ArchEquipment.py FreeCAD/Mod/Arch/ArchFence.py FreeCAD/Mod/Arch/ArchFloor.py FreeCAD/Mod/Arch/ArchFrame.py +FreeCAD/Mod/Arch/ArchGrid.py FreeCAD/Mod/Arch/ArchIFC.py FreeCAD/Mod/Arch/ArchIFCSchema.py FreeCAD/Mod/Arch/ArchIFCView.py @@ -155,11 +196,11 @@ FreeCAD/Mod/Draft/draftguitools/gui_facebinders.py FreeCAD/Mod/Draft/draftguitools/gui_fillets.py FreeCAD/Mod/Draft/draftguitools/gui_grid.py FreeCAD/Mod/Draft/draftguitools/gui_groups.py +FreeCAD/Mod/Draft/draftguitools/gui_hatch.py FreeCAD/Mod/Draft/draftguitools/gui_heal.py FreeCAD/Mod/Draft/draftguitools/gui_join.py FreeCAD/Mod/Draft/draftguitools/gui_labels.py FreeCAD/Mod/Draft/draftguitools/gui_layers.py -FreeCAD/Mod/Draft/draftguitools/gui_lineops.py FreeCAD/Mod/Draft/draftguitools/gui_lines.py FreeCAD/Mod/Draft/draftguitools/gui_lineslope.py FreeCAD/Mod/Draft/draftguitools/gui_mirror.py @@ -210,6 +251,7 @@ FreeCAD/Mod/Draft/draftmake/make_drawingview.py FreeCAD/Mod/Draft/draftmake/make_ellipse.py FreeCAD/Mod/Draft/draftmake/make_facebinder.py FreeCAD/Mod/Draft/draftmake/make_fillet.py +FreeCAD/Mod/Draft/draftmake/make_hatch.py FreeCAD/Mod/Draft/draftmake/make_label.py FreeCAD/Mod/Draft/draftmake/make_layer.py FreeCAD/Mod/Draft/draftmake/make_line.py @@ -242,6 +284,7 @@ FreeCAD/Mod/Draft/draftobjects/drawingview.py FreeCAD/Mod/Draft/draftobjects/ellipse.py FreeCAD/Mod/Draft/draftobjects/facebinder.py FreeCAD/Mod/Draft/draftobjects/fillet.py +FreeCAD/Mod/Draft/draftobjects/hatch.py FreeCAD/Mod/Draft/draftobjects/label.py FreeCAD/Mod/Draft/draftobjects/layer.py FreeCAD/Mod/Draft/draftobjects/patharray.py @@ -269,6 +312,7 @@ FreeCAD/Mod/Draft/drafttests/auxiliary.py FreeCAD/Mod/Draft/drafttests/draft_test_objects.py FreeCAD/Mod/Draft/drafttests/test_airfoildat.py FreeCAD/Mod/Draft/drafttests/test_creation.py +FreeCAD/Mod/Draft/drafttests/test_draftgeomutils.py FreeCAD/Mod/Draft/drafttests/test_dwg.py FreeCAD/Mod/Draft/drafttests/test_dxf.py FreeCAD/Mod/Draft/drafttests/test_import.py @@ -302,12 +346,14 @@ FreeCAD/Mod/Draft/draftviewproviders/view_draft_annotation.py FreeCAD/Mod/Draft/draftviewproviders/view_draftlink.py FreeCAD/Mod/Draft/draftviewproviders/view_facebinder.py FreeCAD/Mod/Draft/draftviewproviders/view_fillet.py +FreeCAD/Mod/Draft/draftviewproviders/view_hatch.py FreeCAD/Mod/Draft/draftviewproviders/view_label.py FreeCAD/Mod/Draft/draftviewproviders/view_layer.py FreeCAD/Mod/Draft/draftviewproviders/view_orthoarray.py FreeCAD/Mod/Draft/draftviewproviders/view_point.py FreeCAD/Mod/Draft/draftviewproviders/view_polararray.py FreeCAD/Mod/Draft/draftviewproviders/view_rectangle.py +FreeCAD/Mod/Draft/draftviewproviders/view_shapestring.py FreeCAD/Mod/Draft/draftviewproviders/view_text.py FreeCAD/Mod/Draft/draftviewproviders/view_wire.py FreeCAD/Mod/Draft/draftviewproviders/view_wpproxy.py @@ -325,6 +371,7 @@ FreeCAD/Mod/Drawing/README.md FreeCAD/Mod/Fem/Init.py FreeCAD/Mod/Fem/InitGui.py FreeCAD/Mod/Fem/ObjectsFem.py +FreeCAD/Mod/Fem/Resources/ui/ConstraintCentrif.ui FreeCAD/Mod/Fem/Resources/ui/ConstraintSectionPrint.ui FreeCAD/Mod/Fem/Resources/ui/ConstraintTie.ui FreeCAD/Mod/Fem/Resources/ui/ElectrostaticPotential.ui @@ -351,38 +398,72 @@ FreeCAD/Mod/Fem/femcommands/__init__.py FreeCAD/Mod/Fem/femcommands/commands.py FreeCAD/Mod/Fem/femcommands/manager.py FreeCAD/Mod/Fem/femexamples/__init__.py +FreeCAD/Mod/Fem/femexamples/boxanalysis_base.py FreeCAD/Mod/Fem/femexamples/boxanalysis_frequency.py FreeCAD/Mod/Fem/femexamples/boxanalysis_static.py +FreeCAD/Mod/Fem/femexamples/buckling_lateraltorsionalbuckling.py +FreeCAD/Mod/Fem/femexamples/buckling_platebuckling.py +FreeCAD/Mod/Fem/femexamples/ccx_buckling_flexuralbuckling.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_base_edge.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_base_face.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_base_solid.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_beam_circle.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_beam_pipe.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_beam_rect.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py +FreeCAD/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py FreeCAD/Mod/Fem/femexamples/ccx_cantilever_faceload.py -FreeCAD/Mod/Fem/femexamples/ccx_cantilever_hexa20faceload.py FreeCAD/Mod/Fem/femexamples/ccx_cantilever_nodeload.py FreeCAD/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py +FreeCAD/Mod/Fem/femexamples/constraint_centrif.py FreeCAD/Mod/Fem/femexamples/constraint_contact_shell_shell.py FreeCAD/Mod/Fem/femexamples/constraint_contact_solid_solid.py FreeCAD/Mod/Fem/femexamples/constraint_section_print.py FreeCAD/Mod/Fem/femexamples/constraint_selfweight_cantilever.py FreeCAD/Mod/Fem/femexamples/constraint_tie.py FreeCAD/Mod/Fem/femexamples/constraint_transform_beam_hinged.py +FreeCAD/Mod/Fem/femexamples/constraint_transform_torque.py +FreeCAD/Mod/Fem/femexamples/elmer_nonguitutorial01_eigenvalue_of_elastic_beam.py FreeCAD/Mod/Fem/femexamples/equation_electrostatics_capacitance_two_balls.py FreeCAD/Mod/Fem/femexamples/equation_electrostatics_electricforce_elmer_nongui6.py FreeCAD/Mod/Fem/femexamples/examplesgui.py +FreeCAD/Mod/Fem/femexamples/frequency_beamsimple.py FreeCAD/Mod/Fem/femexamples/manager.py FreeCAD/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py FreeCAD/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py FreeCAD/Mod/Fem/femexamples/material_multiple_tensionrod_twoboxes.py FreeCAD/Mod/Fem/femexamples/material_nl_platewithhole.py FreeCAD/Mod/Fem/femexamples/meshes/__init__.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_beamsimple_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_boxanalysis_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_boxes_2_vertikal_tetra10.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_buckling_ibeam_tria6.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_buckling_plate_tria6.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_hexa20.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_quad4.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_quad8.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_seg2.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_seg3.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_tetra10.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_tria3.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_canticcx_tria6.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_capacitance_two_balls_tetra10.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_constraint_centrif_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_constraint_tie_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_contact_box_halfcylinder_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_contact_tube_tube_tria3.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_eigenvalue_of_elastic_beam_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_electricforce_elmer_nongui6_tetra10.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_flexural_buckling.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_multibodybeam_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_multibodybeam_tria6.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_plate_mystran_quad4.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_platewithhole_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_rc_wall_2d_tria6.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_section_print_tetra10.py @@ -392,12 +473,18 @@ FreeCAD/Mod/Fem/femexamples/meshes/mesh_thermomech_bimetall_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_thermomech_flow1d_seg3.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_thermomech_spine_tetra10.py FreeCAD/Mod/Fem/femexamples/meshes/mesh_transform_beam_hinged_tetra10.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_transform_torque_tetra10.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_truss_crane_seg2.py +FreeCAD/Mod/Fem/femexamples/meshes/mesh_truss_crane_seg3.py +FreeCAD/Mod/Fem/femexamples/mystran_plate.py FreeCAD/Mod/Fem/femexamples/rc_wall_2d.py FreeCAD/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py FreeCAD/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py FreeCAD/Mod/Fem/femexamples/thermomech_bimetall.py FreeCAD/Mod/Fem/femexamples/thermomech_flow1d.py FreeCAD/Mod/Fem/femexamples/thermomech_spine.py +FreeCAD/Mod/Fem/femexamples/truss_3d_cs_circle_ele_seg2.py +FreeCAD/Mod/Fem/femexamples/truss_3d_cs_circle_ele_seg3.py FreeCAD/Mod/Fem/femguiobjects/__init__.py FreeCAD/Mod/Fem/femguiobjects/readme.md FreeCAD/Mod/Fem/femguiutils/__init__.py @@ -405,6 +492,7 @@ FreeCAD/Mod/Fem/femguiutils/migrate_gui.py FreeCAD/Mod/Fem/femguiutils/selection_widgets.py FreeCAD/Mod/Fem/feminout/__init__.py FreeCAD/Mod/Fem/feminout/convert2TetGen.py +FreeCAD/Mod/Fem/feminout/exportNastranMesh.py FreeCAD/Mod/Fem/feminout/importCcxDatResults.py FreeCAD/Mod/Fem/feminout/importCcxFrdResults.py FreeCAD/Mod/Fem/feminout/importFenicsMesh.py @@ -422,11 +510,13 @@ FreeCAD/Mod/Fem/feminout/writeFenicsXML.py FreeCAD/Mod/Fem/femmesh/__init__.py FreeCAD/Mod/Fem/femmesh/femmesh2mesh.py FreeCAD/Mod/Fem/femmesh/gmshtools.py +FreeCAD/Mod/Fem/femmesh/meshsetsgetter.py FreeCAD/Mod/Fem/femmesh/meshtools.py FreeCAD/Mod/Fem/femobjects/__init__.py FreeCAD/Mod/Fem/femobjects/base_fempythonobject.py FreeCAD/Mod/Fem/femobjects/constant_vacuumpermittivity.py FreeCAD/Mod/Fem/femobjects/constraint_bodyheatsource.py +FreeCAD/Mod/Fem/femobjects/constraint_centrif.py FreeCAD/Mod/Fem/femobjects/constraint_electrostaticpotential.py FreeCAD/Mod/Fem/femobjects/constraint_flowvelocity.py FreeCAD/Mod/Fem/femobjects/constraint_initialflowvelocity.py @@ -453,6 +543,28 @@ FreeCAD/Mod/Fem/femsolver/__init__.py FreeCAD/Mod/Fem/femsolver/calculix/__init__.py FreeCAD/Mod/Fem/femsolver/calculix/solver.py FreeCAD/Mod/Fem/femsolver/calculix/tasks.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_centrif.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_contact.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_displacement.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_fixed.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_fluidsection.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_force.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_heatflux.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_initialtemperature.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_planerotation.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_pressure.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_sectionprint.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_selfweight.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_temperature.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_tie.py +FreeCAD/Mod/Fem/femsolver/calculix/write_constraint_transform.py +FreeCAD/Mod/Fem/femsolver/calculix/write_femelement_geometry.py +FreeCAD/Mod/Fem/femsolver/calculix/write_femelement_material.py +FreeCAD/Mod/Fem/femsolver/calculix/write_femelement_matgeosets.py +FreeCAD/Mod/Fem/femsolver/calculix/write_footer.py +FreeCAD/Mod/Fem/femsolver/calculix/write_mesh.py +FreeCAD/Mod/Fem/femsolver/calculix/write_step_equation.py +FreeCAD/Mod/Fem/femsolver/calculix/write_step_output.py FreeCAD/Mod/Fem/femsolver/calculix/writer.py FreeCAD/Mod/Fem/femsolver/elmer/__init__.py FreeCAD/Mod/Fem/femsolver/elmer/equations/__init__.py @@ -472,6 +584,16 @@ FreeCAD/Mod/Fem/femsolver/elmer/writer.py FreeCAD/Mod/Fem/femsolver/equationbase.py FreeCAD/Mod/Fem/femsolver/fenics/__init__.py FreeCAD/Mod/Fem/femsolver/fenics/fenics_tools.py +FreeCAD/Mod/Fem/femsolver/mystran/__init__.py +FreeCAD/Mod/Fem/femsolver/mystran/add_con_fixed.py +FreeCAD/Mod/Fem/femsolver/mystran/add_con_force.py +FreeCAD/Mod/Fem/femsolver/mystran/add_femelement_geometry.py +FreeCAD/Mod/Fem/femsolver/mystran/add_femelement_material.py +FreeCAD/Mod/Fem/femsolver/mystran/add_mesh.py +FreeCAD/Mod/Fem/femsolver/mystran/add_solver_control.py +FreeCAD/Mod/Fem/femsolver/mystran/solver.py +FreeCAD/Mod/Fem/femsolver/mystran/tasks.py +FreeCAD/Mod/Fem/femsolver/mystran/writer.py FreeCAD/Mod/Fem/femsolver/report.py FreeCAD/Mod/Fem/femsolver/reportdialog.py FreeCAD/Mod/Fem/femsolver/run.py @@ -486,6 +608,7 @@ FreeCAD/Mod/Fem/femsolver/z88/solver.py FreeCAD/Mod/Fem/femsolver/z88/tasks.py FreeCAD/Mod/Fem/femsolver/z88/writer.py FreeCAD/Mod/Fem/femtaskpanels/__init__.py +FreeCAD/Mod/Fem/femtaskpanels/task_constraint_centrif.py FreeCAD/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py FreeCAD/Mod/Fem/femtaskpanels/task_constraint_flowvelocity.py FreeCAD/Mod/Fem/femtaskpanels/task_constraint_initialflowvelocity.py @@ -516,6 +639,7 @@ FreeCAD/Mod/Fem/femtest/app/test_open.py FreeCAD/Mod/Fem/femtest/app/test_result.py FreeCAD/Mod/Fem/femtest/app/test_solver_calculix.py FreeCAD/Mod/Fem/femtest/app/test_solver_elmer.py +FreeCAD/Mod/Fem/femtest/app/test_solver_mystran.py FreeCAD/Mod/Fem/femtest/app/test_solver_z88.py FreeCAD/Mod/Fem/femtest/data/__init__.py FreeCAD/Mod/Fem/femtest/data/calculix/__init__.py @@ -530,10 +654,22 @@ FreeCAD/Mod/Fem/femtest/data/calculix/box_static.dat FreeCAD/Mod/Fem/femtest/data/calculix/box_static.frd FreeCAD/Mod/Fem/femtest/data/calculix/box_static.inp FreeCAD/Mod/Fem/femtest/data/calculix/box_static_expected_values -FreeCAD/Mod/Fem/femtest/data/calculix/ccxcantilever_faceload.inp -FreeCAD/Mod/Fem/femtest/data/calculix/ccxcantilever_hexa20.inp -FreeCAD/Mod/Fem/femtest/data/calculix/ccxcantilever_nodeload.inp -FreeCAD/Mod/Fem/femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_buckling_flexuralbuckling.dat +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_buckling_flexuralbuckling.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_beam_circle.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_beam_pipe.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_beam_rect.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_hexa20.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad4.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad8.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg2.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg3.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria3.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria6.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_faceload.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_nodeload.inp +FreeCAD/Mod/Fem/femtest/data/calculix/ccx_cantilever_prescribeddisplacement.inp +FreeCAD/Mod/Fem/femtest/data/calculix/constraint_centrif.inp FreeCAD/Mod/Fem/femtest/data/calculix/constraint_contact_shell_shell.FCStd FreeCAD/Mod/Fem/femtest/data/calculix/constraint_contact_shell_shell.inp FreeCAD/Mod/Fem/femtest/data/calculix/constraint_contact_solid_solid.FCStd @@ -541,6 +677,9 @@ FreeCAD/Mod/Fem/femtest/data/calculix/constraint_contact_solid_solid.inp FreeCAD/Mod/Fem/femtest/data/calculix/constraint_sectionprint.inp FreeCAD/Mod/Fem/femtest/data/calculix/constraint_selfweight_cantilever.inp FreeCAD/Mod/Fem/femtest/data/calculix/constraint_tie.inp +FreeCAD/Mod/Fem/femtest/data/calculix/constraint_transform_beam_hinged.inp +FreeCAD/Mod/Fem/femtest/data/calculix/constraint_transform_torque.inp +FreeCAD/Mod/Fem/femtest/data/calculix/frequency_beamsimple.inp FreeCAD/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fiveboxes.inp FreeCAD/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fivefaces.inp FreeCAD/Mod/Fem/femtest/data/calculix/material_multiple_tensionrod_twoboxes.inp @@ -573,39 +712,56 @@ FreeCAD/Mod/Fem/femtest/data/mesh/tetra10_mesh.unv FreeCAD/Mod/Fem/femtest/data/mesh/tetra10_mesh.vtk FreeCAD/Mod/Fem/femtest/data/mesh/tetra10_mesh.yml FreeCAD/Mod/Fem/femtest/data/mesh/tetra10_mesh.z88 +FreeCAD/Mod/Fem/femtest/data/mystran/__init__.py +FreeCAD/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_quad4.bdf +FreeCAD/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_seg2.bdf +FreeCAD/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_tria3.bdf +FreeCAD/Mod/Fem/femtest/data/mystran/ccx_cantilever_faceload.bdf +FreeCAD/Mod/Fem/femtest/data/mystran/ccx_cantilever_nodeload.bdf +FreeCAD/Mod/Fem/femtest/data/mystran/mystran_plate.bdf FreeCAD/Mod/Fem/femtest/data/open/__init__.py FreeCAD/Mod/Fem/femtest/data/open/all_objects_de9b3fb438.FCStd FreeCAD/Mod/Fem/femtest/data/z88/__init__.py -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/51.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/__init__.py -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88.dyn -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88elp.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i1.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i2.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i5.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88int.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88man.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88mat.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/51.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/__init__.py -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88.dyn -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88elp.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i1.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i2.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i5.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88int.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88man.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88mat.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/51.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/__init__.py -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88.dyn -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88elp.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i1.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i2.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i5.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88int.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88man.txt -FreeCAD/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88mat.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/51.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/__init__.py +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88.dyn +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88elp.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i1.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i2.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i5.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88int.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88man.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88mat.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/51.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/__init__.py +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88.dyn +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88elp.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i1.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i2.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i5.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88int.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88man.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88mat.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/51.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/__init__.py +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88.dyn +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88elp.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i1.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i2.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i5.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88int.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88man.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88mat.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/51.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/__init__.py +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88.dyn +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88elp.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i1.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i2.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i5.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88int.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88man.txt +FreeCAD/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88mat.txt FreeCAD/Mod/Fem/femtest/gui/__init__.py FreeCAD/Mod/Fem/femtest/gui/test_open.py FreeCAD/Mod/Fem/femtest/test_commands.sh @@ -625,6 +781,7 @@ FreeCAD/Mod/Fem/femviewprovider/view_base_femconstraint.py FreeCAD/Mod/Fem/femviewprovider/view_base_femobject.py FreeCAD/Mod/Fem/femviewprovider/view_constant_vacuumpermittivity.py FreeCAD/Mod/Fem/femviewprovider/view_constraint_bodyheatsource.py +FreeCAD/Mod/Fem/femviewprovider/view_constraint_centrif.py FreeCAD/Mod/Fem/femviewprovider/view_constraint_electrostaticpotential.py FreeCAD/Mod/Fem/femviewprovider/view_constraint_flowvelocity.py FreeCAD/Mod/Fem/femviewprovider/view_constraint_initialflowvelocity.py @@ -702,6 +859,10 @@ FreeCAD/Mod/Material/materials-editor.ui FreeCAD/Mod/Material/materialtools/__init__.py FreeCAD/Mod/Material/materialtools/cardutils.py FreeCAD/Mod/Measure/Init.py +FreeCAD/Mod/Mesh/App/TestData/NASTRAN_Test_Delimited_GRID_CQUAD4.bdf +FreeCAD/Mod/Mesh/App/TestData/NASTRAN_Test_GRIDSTAR_CQUAD4.bdf +FreeCAD/Mod/Mesh/App/TestData/NASTRAN_Test_GRID_CQUAD4.bdf +FreeCAD/Mod/Mesh/App/TestData/NASTRAN_Test_GRID_CTRIA3.bdf FreeCAD/Mod/Mesh/BuildRegularGeoms.py FreeCAD/Mod/Mesh/Init.py FreeCAD/Mod/Mesh/InitGui.py @@ -714,8 +875,24 @@ FreeCAD/Mod/OpenSCAD/InitGui.py FreeCAD/Mod/OpenSCAD/OpenSCAD2Dgeom.py FreeCAD/Mod/OpenSCAD/OpenSCADCommands.py FreeCAD/Mod/OpenSCAD/OpenSCADFeatures.py +FreeCAD/Mod/OpenSCAD/OpenSCADTest/__init__.py +FreeCAD/Mod/OpenSCAD/OpenSCADTest/app/__init__.py +FreeCAD/Mod/OpenSCAD/OpenSCADTest/app/test_importCSG.py +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/CSG.csg +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/CSG.scad +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/Cube.stl +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/Square.dxf +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/Surface.dat +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/Surface.png +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/Surface2.dat +FreeCAD/Mod/OpenSCAD/OpenSCADTest/data/__init__.py +FreeCAD/Mod/OpenSCAD/OpenSCADTest/gui/__init__.py +FreeCAD/Mod/OpenSCAD/OpenSCADTest/gui/test_dummy.py +FreeCAD/Mod/OpenSCAD/OpenSCADTest/test_information.md FreeCAD/Mod/OpenSCAD/OpenSCADUtils.py FreeCAD/Mod/OpenSCAD/OpenSCAD_rc.py +FreeCAD/Mod/OpenSCAD/TestOpenSCADApp.py +FreeCAD/Mod/OpenSCAD/TestOpenSCADGui.py FreeCAD/Mod/OpenSCAD/colorcodeshapes.py FreeCAD/Mod/OpenSCAD/expandplacements.py FreeCAD/Mod/OpenSCAD/exportCSG.py @@ -736,6 +913,7 @@ FreeCAD/Mod/Part/BOPTools/SplitFeatures.py FreeCAD/Mod/Part/BOPTools/Utils.py FreeCAD/Mod/Part/BOPTools/__init__.py FreeCAD/Mod/Part/BasicShapes/CommandShapes.py +FreeCAD/Mod/Part/BasicShapes/ShapeContent.py FreeCAD/Mod/Part/BasicShapes/Shapes.py FreeCAD/Mod/Part/BasicShapes/TaskTube.ui FreeCAD/Mod/Part/BasicShapes/ViewProviderShapes.py @@ -749,6 +927,7 @@ FreeCAD/Mod/Part/Init.py FreeCAD/Mod/Part/InitGui.py FreeCAD/Mod/Part/JoinFeatures.py FreeCAD/Mod/Part/MakeBottle.py +FreeCAD/Mod/Part/PartEnums.py FreeCAD/Mod/Part/TestPartApp.py FreeCAD/Mod/Part/TestPartGui.py FreeCAD/Mod/Part/parttests/__init__.py @@ -764,6 +943,7 @@ FreeCAD/Mod/PartDesign/PartDesignTests/TestDatum.py FreeCAD/Mod/PartDesign/PartDesignTests/TestDraft.py FreeCAD/Mod/PartDesign/PartDesignTests/TestFillet.py FreeCAD/Mod/PartDesign/PartDesignTests/TestHole.py +FreeCAD/Mod/PartDesign/PartDesignTests/TestInvoluteGear.py FreeCAD/Mod/PartDesign/PartDesignTests/TestLinearPattern.py FreeCAD/Mod/PartDesign/PartDesignTests/TestLoft.py FreeCAD/Mod/PartDesign/PartDesignTests/TestMirrored.py @@ -807,8 +987,18 @@ FreeCAD/Mod/PartDesign/fcsprocket/__init__.py FreeCAD/Mod/PartDesign/fcsprocket/fcsprocket.py FreeCAD/Mod/PartDesign/fcsprocket/fcsprocketdialog.py FreeCAD/Mod/PartDesign/fcsprocket/sprocket.py -FreeCAD/Mod/Path/Data/Threads/imperial-internal.csv -FreeCAD/Mod/Path/Data/Threads/metric-internal.csv +FreeCAD/Mod/Path/Data/Threads/imperial-external-2A.csv +FreeCAD/Mod/Path/Data/Threads/imperial-external-3A.csv +FreeCAD/Mod/Path/Data/Threads/imperial-internal-2B.csv +FreeCAD/Mod/Path/Data/Threads/imperial-internal-3B.csv +FreeCAD/Mod/Path/Data/Threads/metric-external-4G6G.csv +FreeCAD/Mod/Path/Data/Threads/metric-external-6G.csv +FreeCAD/Mod/Path/Data/Threads/metric-internal-6H.csv +FreeCAD/Mod/Path/Generators/drill_generator.py +FreeCAD/Mod/Path/Generators/helix_generator.py +FreeCAD/Mod/Path/Generators/rotation_generator.py +FreeCAD/Mod/Path/Generators/threadmilling_generator.py +FreeCAD/Mod/Path/Generators/toolchange_generator.py FreeCAD/Mod/Path/Images/Ops/chamfer.svg FreeCAD/Mod/Path/Images/Tools/drill.svg FreeCAD/Mod/Path/Images/Tools/endmill.svg @@ -816,13 +1006,16 @@ FreeCAD/Mod/Path/Images/Tools/v-bit.svg FreeCAD/Mod/Path/Init.py FreeCAD/Mod/Path/InitGui.py FreeCAD/Mod/Path/PathCommands.py +FreeCAD/Mod/Path/PathFeedRate.py +FreeCAD/Mod/Path/PathMachineState.py +FreeCAD/Mod/Path/PathPythonGui/__init__.py +FreeCAD/Mod/Path/PathPythonGui/simple_edit_panel.py FreeCAD/Mod/Path/PathScripts/PathAdaptive.py FreeCAD/Mod/Path/PathScripts/PathAdaptiveGui.py FreeCAD/Mod/Path/PathScripts/PathAreaOp.py FreeCAD/Mod/Path/PathScripts/PathArray.py FreeCAD/Mod/Path/PathScripts/PathCircularHoleBase.py FreeCAD/Mod/Path/PathScripts/PathCircularHoleBaseGui.py -FreeCAD/Mod/Path/PathScripts/PathCommands.py FreeCAD/Mod/Path/PathScripts/PathComment.py FreeCAD/Mod/Path/PathScripts/PathCopy.py FreeCAD/Mod/Path/PathScripts/PathCustom.py @@ -847,6 +1040,8 @@ FreeCAD/Mod/Path/PathScripts/PathDrillingGui.py FreeCAD/Mod/Path/PathScripts/PathEngrave.py FreeCAD/Mod/Path/PathScripts/PathEngraveBase.py FreeCAD/Mod/Path/PathScripts/PathEngraveGui.py +FreeCAD/Mod/Path/PathScripts/PathFeatureExtensions.py +FreeCAD/Mod/Path/PathScripts/PathFeatureExtensionsGui.py FreeCAD/Mod/Path/PathScripts/PathFixture.py FreeCAD/Mod/Path/PathScripts/PathGeom.py FreeCAD/Mod/Path/PathScripts/PathGetPoint.py @@ -930,42 +1125,59 @@ FreeCAD/Mod/Path/PathScripts/PathWaterline.py FreeCAD/Mod/Path/PathScripts/PathWaterlineGui.py FreeCAD/Mod/Path/PathScripts/PostUtils.py FreeCAD/Mod/Path/PathScripts/__init__.py +FreeCAD/Mod/Path/PathScripts/drillableLib.py +FreeCAD/Mod/Path/PathScripts/post/KineticNCBeamicon2_post.py FreeCAD/Mod/Path/PathScripts/post/__init__.py FreeCAD/Mod/Path/PathScripts/post/centroid_post.py FreeCAD/Mod/Path/PathScripts/post/comparams_post.py FreeCAD/Mod/Path/PathScripts/post/dxf_post.py FreeCAD/Mod/Path/PathScripts/post/dynapath_post.py FreeCAD/Mod/Path/PathScripts/post/example_pre.py +FreeCAD/Mod/Path/PathScripts/post/fablin_post.py +FreeCAD/Mod/Path/PathScripts/post/fanuc_post.py FreeCAD/Mod/Path/PathScripts/post/gcode_pre.py FreeCAD/Mod/Path/PathScripts/post/grbl_post.py +FreeCAD/Mod/Path/PathScripts/post/heidenhain_post.py FreeCAD/Mod/Path/PathScripts/post/jtech_post.py FreeCAD/Mod/Path/PathScripts/post/linuxcnc_post.py FreeCAD/Mod/Path/PathScripts/post/mach3_mach4_post.py +FreeCAD/Mod/Path/PathScripts/post/marlin_post.py FreeCAD/Mod/Path/PathScripts/post/nccad_post.py FreeCAD/Mod/Path/PathScripts/post/opensbp_post.py FreeCAD/Mod/Path/PathScripts/post/opensbp_pre.py FreeCAD/Mod/Path/PathScripts/post/philips_post.py FreeCAD/Mod/Path/PathScripts/post/rml_post.py +FreeCAD/Mod/Path/PathScripts/post/rrf_post.py FreeCAD/Mod/Path/PathScripts/post/slic3r_pre.py FreeCAD/Mod/Path/PathScripts/post/smoothie_post.py +FreeCAD/Mod/Path/PathScripts/post/uccnc_post.py +FreeCAD/Mod/Path/PathTests/Drilling_1.FCStd FreeCAD/Mod/Path/PathTests/PathTestUtils.py +FreeCAD/Mod/Path/PathTests/TestPathAdaptive.py FreeCAD/Mod/Path/PathTests/TestPathCore.py FreeCAD/Mod/Path/PathTests/TestPathDeburr.py FreeCAD/Mod/Path/PathTests/TestPathDepthParams.py FreeCAD/Mod/Path/PathTests/TestPathDressupDogbone.py FreeCAD/Mod/Path/PathTests/TestPathDressupHoldingTags.py +FreeCAD/Mod/Path/PathTests/TestPathDrillGenerator.py +FreeCAD/Mod/Path/PathTests/TestPathDrillable.py FreeCAD/Mod/Path/PathTests/TestPathGeom.py FreeCAD/Mod/Path/PathTests/TestPathHelix.py +FreeCAD/Mod/Path/PathTests/TestPathHelixGenerator.py +FreeCAD/Mod/Path/PathTests/TestPathHelpers.py FreeCAD/Mod/Path/PathTests/TestPathLog.py FreeCAD/Mod/Path/PathTests/TestPathOpTools.py FreeCAD/Mod/Path/PathTests/TestPathPost.py FreeCAD/Mod/Path/PathTests/TestPathPreferences.py FreeCAD/Mod/Path/PathTests/TestPathPropertyBag.py +FreeCAD/Mod/Path/PathTests/TestPathRotationGenerator.py FreeCAD/Mod/Path/PathTests/TestPathSetupSheet.py FreeCAD/Mod/Path/PathTests/TestPathStock.py FreeCAD/Mod/Path/PathTests/TestPathThreadMilling.py +FreeCAD/Mod/Path/PathTests/TestPathThreadMillingGenerator.py FreeCAD/Mod/Path/PathTests/TestPathTool.py FreeCAD/Mod/Path/PathTests/TestPathToolBit.py +FreeCAD/Mod/Path/PathTests/TestPathToolChangeGenerator.py FreeCAD/Mod/Path/PathTests/TestPathToolController.py FreeCAD/Mod/Path/PathTests/TestPathTooltable.py FreeCAD/Mod/Path/PathTests/TestPathUtil.py @@ -979,6 +1191,7 @@ FreeCAD/Mod/Path/PathTests/boxtest.fcstd FreeCAD/Mod/Path/PathTests/test-path-tool-bit-bit-00.fctb FreeCAD/Mod/Path/PathTests/test-path-tool-bit-library-00.fctl FreeCAD/Mod/Path/PathTests/test-path-tool-bit-shape-00.fcstd +FreeCAD/Mod/Path/PathTests/test_adaptive.fcstd FreeCAD/Mod/Path/PathTests/test_centroid_00.ngc FreeCAD/Mod/Path/PathTests/test_geomop.fcstd FreeCAD/Mod/Path/PathTests/test_holes00.fcstd @@ -994,6 +1207,7 @@ FreeCAD/Mod/Path/Tools/Bit/6mm_Bullnose.fctb FreeCAD/Mod/Path/Tools/Bit/probe.fctb FreeCAD/Mod/Path/Tools/Bit/slittingsaw.fctb FreeCAD/Mod/Path/Tools/Library/Default.fctl +FreeCAD/Mod/Path/Tools/README.md FreeCAD/Mod/Path/Tools/Shape/ballend.fcstd FreeCAD/Mod/Path/Tools/Shape/bullnose.fcstd FreeCAD/Mod/Path/Tools/Shape/chamfer.fcstd @@ -1003,6 +1217,7 @@ FreeCAD/Mod/Path/Tools/Shape/probe.fcstd FreeCAD/Mod/Path/Tools/Shape/slittingsaw.fcstd FreeCAD/Mod/Path/Tools/Shape/thread-mill.fcstd FreeCAD/Mod/Path/Tools/Shape/v-bit.fcstd +FreeCAD/Mod/Plot/Plot.py FreeCAD/Mod/Points/Init.py FreeCAD/Mod/Points/InitGui.py FreeCAD/Mod/Raytracing/Init.py @@ -1038,6 +1253,7 @@ FreeCAD/Mod/Sketcher/ProfileLib/RegularPolygon.py FreeCAD/Mod/Sketcher/ProfileLib/__init__.py FreeCAD/Mod/Sketcher/Profiles.py FreeCAD/Mod/Sketcher/SketcherExample.py +FreeCAD/Mod/Sketcher/SketcherTests/TestSketchExpression.py FreeCAD/Mod/Sketcher/SketcherTests/TestSketchFillet.py FreeCAD/Mod/Sketcher/SketcherTests/TestSketcherSolver.py FreeCAD/Mod/Sketcher/SketcherTests/__init__.py @@ -1052,9 +1268,9 @@ FreeCAD/Mod/Start/InitGui.py FreeCAD/Mod/Start/StartPage/StartPage.py FreeCAD/Mod/Start/StartPage/TranslationTexts.py FreeCAD/Mod/Start/StartPage/__init__.py -FreeCAD/Mod/Start/TestStartGui.py FreeCAD/Mod/Start/TestStart/TestStartPage.py FreeCAD/Mod/Start/TestStart/__init__.py +FreeCAD/Mod/Start/TestStartGui.py FreeCAD/Mod/Surface/Init.py FreeCAD/Mod/Surface/InitGui.py FreeCAD/Mod/TechDraw/Init.py @@ -1071,13 +1287,28 @@ FreeCAD/Mod/TechDraw/TDTest/TestImage.png FreeCAD/Mod/TechDraw/TDTest/TestSymbol.svg FreeCAD/Mod/TechDraw/TDTest/TestTemplate.svg FreeCAD/Mod/TechDraw/TDTest/__init__.py +FreeCAD/Mod/TechDraw/TechDrawTools/CommandMoveView.py +FreeCAD/Mod/TechDraw/TechDrawTools/CommandShareView.py +FreeCAD/Mod/TechDraw/TechDrawTools/Gui/DlgPageChooser.ui +FreeCAD/Mod/TechDraw/TechDrawTools/Gui/TaskMoveView.ui +FreeCAD/Mod/TechDraw/TechDrawTools/TDToolsMovers.py +FreeCAD/Mod/TechDraw/TechDrawTools/TDToolsUtil.py +FreeCAD/Mod/TechDraw/TechDrawTools/TaskMoveView.py +FreeCAD/Mod/TechDraw/TechDrawTools/TaskShareView.py +FreeCAD/Mod/TechDraw/TechDrawTools/__init__.py FreeCAD/Mod/TechDraw/TestTechDrawApp.py FreeCAD/Mod/Test/BaseTests.py FreeCAD/Mod/Test/Document.py FreeCAD/Mod/Test/Init.py FreeCAD/Mod/Test/InitGui.py FreeCAD/Mod/Test/Menu.py +FreeCAD/Mod/Test/Metadata.py FreeCAD/Mod/Test/TestApp.py +FreeCAD/Mod/Test/TestData/bad_root_node.xml +FreeCAD/Mod/Test/TestData/bad_version.xml +FreeCAD/Mod/Test/TestData/bad_xml.xml +FreeCAD/Mod/Test/TestData/basic_metadata.xml +FreeCAD/Mod/Test/TestData/content_items.xml FreeCAD/Mod/Test/TestGui.py FreeCAD/Mod/Test/TestPythonSyntax.py FreeCAD/Mod/Test/UnicodeTests.py @@ -1097,6 +1328,7 @@ FreeCAD/Mod/Web/InitGui.py FreeCAD/Mod/Web/TestWebGui.py FreeCAD/bin/FreeCAD FreeCAD/bin/FreeCADCmd +FreeCAD/include/E57Format/E57Export.h FreeCAD/lib/DraftUtils.so FreeCAD/lib/Drawing.so FreeCAD/lib/DrawingGui.so @@ -1149,6 +1381,7 @@ FreeCAD/lib/libDriver.so FreeCAD/lib/libDriverDAT.so FreeCAD/lib/libDriverSTL.so FreeCAD/lib/libDriverUNV.so +FreeCAD/lib/libE57Format.a FreeCAD/lib/libFreeCADApp.so FreeCAD/lib/libFreeCADBase.so FreeCAD/lib/libFreeCADGui.so @@ -1159,6 +1392,19 @@ FreeCAD/lib/libSMESHDS.so FreeCAD/lib/libStdMeshers.so FreeCAD/lib/libarea-native.so FreeCAD/share/3Dconnexion/3DConnexion.xml +FreeCAD/share/Gui/PreferencePackTemplates/Arch_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Console_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Draft_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Editor_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Editor_Font.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Main_window_layout.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Path_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Sketcher_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Start_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/TechDraw_Colors.cfg +FreeCAD/share/Gui/PreferencePackTemplates/Window_Colors.cfg +FreeCAD/share/Gui/PreferencePacks/FreeCAD Classic Colors/FreeCAD Classic Colors.cfg +FreeCAD/share/Gui/PreferencePacks/package.xml FreeCAD/share/Gui/Stylesheets/Behave-dark.qss FreeCAD/share/Gui/Stylesheets/Dark-blue.qss FreeCAD/share/Gui/Stylesheets/Dark-contrast.qss @@ -1312,6 +1558,8 @@ FreeCAD/share/Mod/Import/DxfPlate/tables212.rub FreeCAD/share/Mod/Import/DxfPlate/tables214.rub FreeCAD/share/Mod/Inspection/Resources/icons/InspectionWorkbench.svg FreeCAD/share/Mod/Material/FluidMaterial/Air.FCMat +FreeCAD/share/Mod/Material/FluidMaterial/Argon.FCMat +FreeCAD/share/Mod/Material/FluidMaterial/Nitrogen.FCMat FreeCAD/share/Mod/Material/FluidMaterial/None.FCMat FreeCAD/share/Mod/Material/FluidMaterial/Water.FCMat FreeCAD/share/Mod/Material/StandardMaterial/ABS-Generic.FCMat @@ -1326,6 +1574,7 @@ FreeCAD/share/Mod/Material/StandardMaterial/Concrete-Generic.FCMat FreeCAD/share/Mod/Material/StandardMaterial/Glass-E-GlassFibre.FCMat FreeCAD/share/Mod/Material/StandardMaterial/Glass-Generic.FCMat FreeCAD/share/Mod/Material/StandardMaterial/Glass-S2-GlassFibre.FCMat +FreeCAD/share/Mod/Material/StandardMaterial/Graphite.FCMat FreeCAD/share/Mod/Material/StandardMaterial/None.FCMat FreeCAD/share/Mod/Material/StandardMaterial/PA6-Generic.FCMat FreeCAD/share/Mod/Material/StandardMaterial/PET-Generic.FCMat @@ -1565,6 +1814,49 @@ FreeCAD/share/Mod/TechDraw/Symbols/gd-and-t/profile-tolerance-of-plane.svg FreeCAD/share/Mod/TechDraw/Symbols/gd-and-t/roundness.svg FreeCAD/share/Mod/TechDraw/Symbols/gd-and-t/symmetry.svg FreeCAD/share/Mod/TechDraw/Symbols/gd-and-t/totalrunout.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/1st_Angle_Projection.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/3rd_Angle_Projection.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Arrow_Long_Filled.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Arrow_Long_Open.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Arrow_Medium_Filled.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Arrow_Medium_Open.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Arrow_Short_Filled.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Arrow_Short_Open.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Balloon_Editable_Text.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Balloon_Long.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Balloon_Medium.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Balloon_Short.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/CallOut.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/CallOut_Left.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/CallOut_Right.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Centre_Justified_Text_10_Lines.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cloud.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cosmetic_Break_Long.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cosmetic_Break_Medium.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cosmetic_Break_Small.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cosmetic_Round_Section_End.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cosmetic_Round_Section_End_Large.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cosmetic_Round_Section_Middle.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Cosmetic_Round_Section_Middle_Large.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Left.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Point.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Right.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Target_Left.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Target_Plain.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Target_Right.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Target_Up.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Datum_Up.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Feature_Left.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Feature_Right.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Feature_Up.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Left_Justified_Text_10_Lines.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/North.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Revision_Triangle.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Right_Justified_Text_10_Lines.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Whiteout_Rectangle_Long.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Whiteout_Rectangle_Medium.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Whiteout_Rectangle_Short.svg +FreeCAD/share/Mod/TechDraw/Symbols/misc/Whiteout_Square.svg FreeCAD/share/Mod/TechDraw/Symbols/other/CutLine.svg FreeCAD/share/Mod/TechDraw/Symbols/other/Diameter.svg FreeCAD/share/Mod/TechDraw/Symbols/other/Envelope.svg @@ -1599,6 +1891,7 @@ FreeCAD/share/Mod/TechDraw/Templates/A3_Landscape_ISO7200TD.svg FreeCAD/share/Mod/TechDraw/Templates/A3_Landscape_ISO7200_Pep.svg FreeCAD/share/Mod/TechDraw/Templates/A3_Landscape_IT_m52.svg FreeCAD/share/Mod/TechDraw/Templates/A3_Landscape_blank.svg +FreeCAD/share/Mod/TechDraw/Templates/A4_IRAM4504.svg FreeCAD/share/Mod/TechDraw/Templates/A4_LandscapeTD.svg FreeCAD/share/Mod/TechDraw/Templates/A4_Landscape_ISO7200TD.svg FreeCAD/share/Mod/TechDraw/Templates/A4_Landscape_ISO7200_Pep.svg |