Commit Graph

65 Commits

Author SHA1 Message Date
Markus Reitböck
8fa48b25b4 Part: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
 should be considered an optimization, not a requirement. In particular, do not explicitly include a
 precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
 generated precompile header on the compiler command line instead. This is more portable across
 the major compilers and is likely to be easier to maintain. It will also avoid warnings being
 generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-24 20:08:56 +02:00
PaddleStroke
c3a6d0b03a Part: Remove transparency cap at 50% for face color override 2025-09-08 10:49:56 -05:00
tetektoza
b55de1f9c1 Tests: Correct testcases after scene graph reordering in Clarify Select 2025-09-05 10:42:02 +02:00
tetektoza
6f0dd99819 Part/Gui: Rename Pick Geometry tool to Clarify Selection
Co-authored-by: realthunder <realthunder@users.noreply.github.com>
2025-09-03 01:24:58 +02:00
tetektoza
edfeff975e Core/Gui: Render primitives on top of the scene in PickGeometry
+ added some better grouping for items, which are assigned per object
  right now. For example, if we exceed 10 items per object it gets an
  additional group.

Co-authored-by: realthunder <realthunder@users.noreply.github.com>
2025-09-03 01:24:58 +02:00
Benjamin Nauck
d5447df72d Part: Add #include <limits> where used 2025-03-31 23:52:08 +02:00
Benjamin Nauck
aad5e58955 Part: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
Luz Paz
17102251e5 Fix various typos 2025-03-14 12:37:12 -04:00
Joao Matos
7ae14d6bd5 Base: Add build support and instrumentation for the Tracy profiler. 2025-03-14 03:41:30 +00:00
tritao
65466d580b Gui: Reorganize the selection files into a top Selection folder. 2025-02-03 17:56:57 +01:00
Rexbas
a3aeed8c03 Part: Use vector.data() to get data pointer 2023-12-03 12:35:15 +01:00
Rexbas
2d4409f710 Part: Use materialIndex.setValuesPointer() only if the new values are different 2023-12-03 12:35:15 +01:00
wmayer
a0d86224f3 Part: modernize C++: use equals default 2023-08-22 15:14:03 +02:00
wmayer
0af4990817 modernize C++: make unique 2023-08-07 19:51:30 -06:00
Andrew
b916c387fb Clean Mod/Part. remove old OCC <7.3 and #if 0 code. 2023-03-26 21:17:18 +02:00
luz paz
6e542b6fad Part: remove trailing whitespace 2022-11-15 14:19:30 -06:00
Uwe
42a19ab883 [Part] So*: remove unused includes
- also some sorting
2022-09-26 00:33:53 +02:00
marioalexis
34f070cf9b Part: Replace C cast 2022-09-18 11:06:51 -05:00
berniev
b796a0d376 Mod: use empty 2022-08-06 19:30:13 +02:00
Uwe
e491ba8d12 [Part] remove superfluous nullptr checks 2022-07-17 18:06:21 +02:00
Chris Hennes
0a65575c2c Part: PR6497 move return statement to new line 2022-03-29 12:37:00 -05:00
wmayer
97330443a2 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
wmayer
068c0e5a98 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
Uwe
8f894ebefe [Part] remove Python.h from headers
seems not to be necessary anymore
2022-03-20 14:16:55 +01:00
wmayer
e211b89cf8 port to MSYS2/clang 2021-09-19 19:49:44 +02:00
wmayer
b25dee58d5 Coverity: Uninitialized scalar/pointer field 2020-07-20 17:34:30 +02:00
wmayer
1a16cde1f5 Coverity: Structurally/Logically dead code 2020-07-20 17:34:28 +02:00
wmayer
b2f5a3bd90 [skip ci] avoid to redefine GL_GLEXT_PROTOTYPES if already defined 2020-06-12 14:07:45 +02:00
Zheng, Lei
5afd6a9641 Gui: fix screentshot 2020-01-14 15:59:38 +01:00
Zheng, Lei
20c85d9cc4 Gui: fix screenshot 2020-01-12 18:50:37 +01:00
Zheng, Lei
df0366a6f3 Part: reduce memory usage in SoBrepFaceSet
Can we further reduce it to num_triangles = num_indices/4*3?
2019-11-21 11:58:44 +01:00
Zheng, Lei
45fd865fc0 Gui: refactor bounding box selection style
Previously, box style selection is rendered using customized
SoBoxSelectionRenderAction, which does not support selection context,
i.e. it does not work with Link.

This patch implements context aware bound box rendering inside
SoFCSelectionRoot, SoFCSelection and SoFCPathAnnotation (for always on
top rendering). The box rendering in SoBoxSelectionRenderAction is
disabled on construction. Box style selection can be enabled for
individual object through property SelectionStyle (moved from
ViewProviderGeometryObject to ViewProviderDocumentObject), or globally
through Parameter BaseApp/Preferences/View/ShowSelectionBoundingBox.

In addition, the parameter BaseApp/Preferences/View/UseNewSelection is
used to override selection model reported from
ViewProvider::useNewSelectionModel(). The reason being that, the same
parameter is already used to toggle selection model inside
SoFCSelection. This avoids inconsistency of selection model choice
between view provider and the SoFCSelection node inside. Note that if
the parameter 'UseNewSelection' is set to false, those view providers
that choose old selection model will not work with Link.
2019-10-08 09:56:09 +02:00
wmayer
a247b7e6a5 force strict ISO C++ (-Wpedantic)
for Drawing, Image, Inspection, Mesh, MeshPart, Part, Path, Points, Raytracing, ReverseEngineering, Spreadsheet, Start, Surface, Web

TODO: fix several -Woverflow in area
2019-09-18 11:32:42 +02:00
Zheng, Lei
d2c5bcb949 Part: fix VBO update on multiple gl context
Multiple OpenGL context is caused by linking some shape object from
external documents. The VBO update must be triggered for all contexts.
2019-08-30 14:55:14 +02:00
luz.paz
039d6eac01 Fix typos in various src/Mod directories 2019-08-17 15:32:49 +02:00
Zheng, Lei
c744157e9a Gui: add support of selection context
The patch implements context-aware selection and rendering in 3D view.

Please check [here](https://git.io/fjiY5) for more details, including
the following 'Render Caching' section.

The patch also includes modification of View3DInventorViewer to support
always-on-top selection rendering using the secondary selection context
and the new coin node SoFCPathAnnotation.

Another small change in SoQtQuarterAdaptor for more responsive frame
rate display. The original implementation reports skewed frame rate
in the presence of long idle period.
2019-08-17 14:52:10 +02:00
Abdullah Tahiri
df38102017 PCH: Part GUI 2019-05-03 23:15:25 +02:00
wmayer
c582b069ba fix compiler warnings with py3 and msvc 2018-04-16 18:24:53 +02:00
wmayer
57128dd7ad fix -Wsign-compare 2017-06-19 12:50:55 +02:00
Jean-Marie Verdun
d940bdc89e Accelerate VBO rendering (bareleye model goes from about 18fps to 34fps on a Macbook Pro)
Fix crashes related to VBO buffer expansion by reallocating the buffers when needed
2017-06-19 12:40:04 +02:00
wmayer
e02db451dd fix crash when Part model changes with VBO activated 2017-05-16 06:03:22 +02:00
wmayer
b0cd0a5163 Qt5OpenGL: release context when finished 2017-03-21 20:37:03 +01:00
wmayer
2c9d5e3010 render full selection of huge part models in real time 2017-03-20 20:36:31 +01:00
wmayer
84ac526f62 fallback handling if in VBO rendering no normals are set 2017-03-06 19:18:47 +01:00
wmayer
ed0727a606 move VBO rendering code into its own method 2017-03-06 18:36:11 +01:00
wmayer
b1347ec12b support of highlighting and selection if shading is disabled 2017-03-06 09:29:26 +01:00
wmayer
97c9174840 fix various warnings 2017-02-21 22:51:26 +01:00
Jean-Marie Verdun
4a3252e445 Fix Face color display issue with Vbo turned on 2017-02-20 18:54:07 +01:00
wmayer
399cdd803a use Coin API to deal with vbo and add methods to cleanup GL resources on destruction 2017-02-20 13:16:30 +01:00
wmayer
c1c4a90411 move vbo handling to private class 2017-02-19 19:40:37 +01:00