Update for LibPack3 (#10337)
* cMake: Add base support for LibPack3 Minor changes to FreeCAD source code to support compiling with Qt 6.5 on MSVC, and changes to cMake setup to support the new Libpack. * NETGENPlugin: Fix compilation with MSVC and OCCT 7.8 * Material: Switch to Wrapped_ParseTupleAndKeywords for /fpermissive- on MSVC * Base: Prevent accidental definition of MIN and MAX by MSVC * cMake: Prevent accidentally finding an old LibPack * Material: Wrap another ParseTuple call * OCCT: Modify includes for 7.8.x * Part: Change TNP code to use Wrapped_ParseTupleAndArgs * Spreadsheet: Workaround for MSVC macro pollution * Mesh: Workaround for MSVC macro pollution * Base: Remove extra MSVC flag (moved to CMake) * Tests: Fix compiling with /permissive- * FEM: Fix Qt warnings about duplicate element names * cMake: Ensure major version numbers are set * Address review comments. * cMake: Further tweaks for LibPack3 * cMake: Modify specification of compiler flags for MSVC * Main: Remove QtQuick testing code * cmake: Find Boost before SMESH (which uses it) * Fixes for LibPack2 * cMake: Another try at importinhg VTK cleanly
This commit is contained in:
@@ -156,20 +156,24 @@ PyObject *TopoShapePy::PyMake(struct _typeobject *, PyObject *, PyObject *) //
|
||||
int TopoShapePy::PyInit(PyObject* args, PyObject* keywds)
|
||||
{
|
||||
#ifdef FC_USE_TNP_FIX
|
||||
static char* kwlist[] = {"shape", "op", "tag", "hasher", nullptr};
|
||||
static const std::array<const char*, 5> kwlist{ "shape",
|
||||
"op",
|
||||
"tag",
|
||||
"hasher",
|
||||
nullptr };
|
||||
long tag = 0;
|
||||
PyObject* pyHasher = nullptr;
|
||||
const char* op = nullptr;
|
||||
PyObject* pcObj = nullptr;
|
||||
if (!PyArg_ParseTupleAndKeywords(args,
|
||||
keywds,
|
||||
"|OsiO!",
|
||||
kwlist,
|
||||
&pcObj,
|
||||
&op,
|
||||
&tag,
|
||||
&App::StringHasherPy::Type,
|
||||
&pyHasher)) {
|
||||
if (!Base::Wrapped_ParseTupleAndKeywords(args,
|
||||
keywds,
|
||||
"|OsiO!",
|
||||
kwlist,
|
||||
&pcObj,
|
||||
&op,
|
||||
&tag,
|
||||
&App::StringHasherPy::Type,
|
||||
&pyHasher)) {
|
||||
return -1;
|
||||
}
|
||||
auto& self = *getTopoShapePtr();
|
||||
@@ -2476,14 +2480,14 @@ PyObject* TopoShapePy::makeEvolved(PyObject *args, PyObject *kwds)
|
||||
PyObject* ProfOnSpine = Py_False;
|
||||
auto JoinType = JoinType::arc;
|
||||
double Tolerance = 0.0000001;
|
||||
|
||||
static char* kwds_evolve[] = {"Profile", "Join", "AxeProf", "Solid", "ProfOnSpine", "Tolerance", nullptr};
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|iO!O!O!d", kwds_evolve,
|
||||
&TopoShapePy::Type, &Profile, &JoinType,
|
||||
&PyBool_Type, &AxeProf, &PyBool_Type, &Solid,
|
||||
&PyBool_Type, &ProfOnSpine, &Tolerance))
|
||||
|
||||
static const std::array<const char*, 7> kwds_evolve{"Profile", "Join", "AxeProf", "Solid", "ProfOnSpine", "Tolerance", nullptr};
|
||||
if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|iO!O!O!d", kwds_evolve,
|
||||
&TopoShapePy::Type, &Profile, &JoinType,
|
||||
&PyBool_Type, &AxeProf, &PyBool_Type, &Solid,
|
||||
&PyBool_Type, &ProfOnSpine, &Tolerance)) {
|
||||
return nullptr;
|
||||
|
||||
}
|
||||
try {
|
||||
return Py::new_reference_to(shape2pyshape(getTopoShapePtr()->makeElementEvolve(
|
||||
*static_cast<TopoShapePy*>(Profile)->getTopoShapePtr(), JoinType,
|
||||
@@ -3125,22 +3129,22 @@ PyObject* TopoShapePy::findSubShape(PyObject* args)
|
||||
|
||||
PyObject* TopoShapePy::findSubShapesWithSharedVertex(PyObject* args, PyObject* keywds)
|
||||
{
|
||||
static char* kwlist[] = {"shape", "needName", "checkGeometry", "tol", "atol", nullptr};
|
||||
static const std::array<const char*, 6> kwlist {"shape", "needName", "checkGeometry", "tol", "atol", nullptr};
|
||||
PyObject* pyobj;
|
||||
PyObject* needName = Py_False;
|
||||
PyObject* checkGeometry = Py_True;
|
||||
double tol = 1e-7;
|
||||
double atol = 1e-12;
|
||||
if (!PyArg_ParseTupleAndKeywords(args,
|
||||
keywds,
|
||||
"O!|OOdd",
|
||||
kwlist,
|
||||
&Type,
|
||||
&pyobj,
|
||||
&needName,
|
||||
&checkGeometry,
|
||||
&tol,
|
||||
&atol)) {
|
||||
if (!Base::Wrapped_ParseTupleAndKeywords(args,
|
||||
keywds,
|
||||
"O!|OOdd",
|
||||
kwlist,
|
||||
&Type,
|
||||
&pyobj,
|
||||
&needName,
|
||||
&checkGeometry,
|
||||
&tol,
|
||||
&atol)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user