Status: draft for maintainer review
This proposal recommends two core document objects:
App::ClippingPlaneas the reusable spatial clipping primitiveApp::SavedViewas the higher-level persisted view-state object
| diff --git a/src/Mod/Import/Gui/AppImportGuiPy.cpp b/src/Mod/Import/Gui/AppImportGuiPy.cpp | |
| --- a/src/Mod/Import/Gui/AppImportGuiPy.cpp | |
| +++ b/src/Mod/Import/Gui/AppImportGuiPy.cpp | |
| @@ -61,8 +61,6 @@ | |
| #include <Gui/Command.h> | |
| #include <Gui/Document.h> | |
| #include <Gui/MainWindow.h> | |
| -#include <Gui/View3DInventor.h> | |
| -#include <Gui/View3DInventorViewer.h> | |
| #include <Gui/ViewProviderLink.h> |
| - Baseline behavior: a model with adjacent equal planar faces, cylindrical faces, and BSpline faces should refine to the same result as before the PR. | |
| - No false negatives: equal faces must still merge when their geometric values sit near quantization/grid boundaries. | |
| - No false positives: faces with the same structural hash/grid key but different actual geometry must not be merged. | |
| - Mixed bucket case: multiple BSpline faces in the same or neighboring grid cells, where only some are equal, should produce the right equality groups. | |
| - Plane/cylinder fallback: confirm planes and cylinders still use the old behavior effectively, since their structural hash/grid key now does not optimize them. | |
| - Performance regression/sanity case: a shape with many same-type faces, especially many BSpline faces, should run faster or at least not worse than the old pairwise path. | |
| #!/usr/bin/env python3 | |
| import csv | |
| import json | |
| import subprocess | |
| import sys | |
| from dataclasses import dataclass | |
| from datetime import datetime, timezone | |
| from typing import Any, Dict, Iterable, List, Optional, Tuple | |
| OWNER = "FreeCAD" |
| using System; | |
| using System.Collections.Generic; | |
| using System.Diagnostics; | |
| using System.IO; | |
| using System.Linq; | |
| using System.Runtime.CompilerServices; | |
| using CppSharp; | |
| using Microsoft.AspNetCore.Builder; | |
| using Microsoft.AspNetCore.Cors.Infrastructure; | |
| using Microsoft.AspNetCore.Http; |
| #include <string> | |
| #include <cctype> | |
| #include <stdexcept> | |
| #include <unordered_map> | |
| #include <sstream> | |
| #include <iomanip> | |
| #include <iostream> | |
| #include <algorithm> | |
| // Simple RGB color |
| static PyObject* createMyConstantsEnum() | |
| { | |
| // Import the Python 'enum' module. | |
| PyObject* enumModule = PyImport_ImportModule("enum"); | |
| if (!enumModule) { | |
| PyErr_SetString(PyExc_ImportError, "Failed to import the enum module"); | |
| return nullptr; | |
| } | |
| #include <Python.h> | |
| #include <thread> | |
| #include <future> | |
| #include <iostream> | |
| #include <chrono> | |
| // ----- Python-bound Function: execute ----- | |
| // | |
| // This function takes an integer, offloads a computation (here, squaring the number) | |
| // using std::async, and returns the result. |
| FEP00 | |
|---|---|
| Title | Evolution of FreeCAD's Rendering Subsystem |
| Status | Draft |
| Author(s) | Joao Matos (tritao) |
| Created | Mar 02, 2025 |
| Updated | Mar 02, 2025 |