Commit Graph

12 Commits

Author SHA1 Message Date
wmayer
2ef7af2ead Part: include header with export macros 2022-03-24 21:02:01 +01:00
wmayer
1a16cde1f5 Coverity: Structurally/Logically dead code 2020-07-20 17:34:28 +02: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
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
wmayer
c1c4a90411 move vbo handling to private class 2017-02-19 19:40:37 +01:00
wmayer
69e027a607 fix rendering problems by using the cache context 2017-02-12 14:41:55 +01:00
wmayer
0700345049 make vboAvailable a static variable and extend interface of renderShape to avoid side effects 2017-02-12 14:41:55 +01:00
wmayer
8612c4f99f write custom action class to notify shape node about vbo changes 2017-02-12 14:41:55 +01:00
wmayer
56ff88ea46 cleanup experimental code, improve whitespaces 2017-02-12 14:41:55 +01:00
Jean-Marie Verdun
8383f7222f Accelerate 3D rendering with VBO support
*First step to move Part rendering using VBO instead of direct rendering
*Update comments inside the code
*Assume VBO is available if OpenGL > 3.0 is detected
*Add initial Color support to VBO rendering !
*Initial full feature VBO rendering implementation
*Modify some include issue for linux build
*Try to fix linux include header
*Reupdate header include for linux support
*Fix compilation on linux
*Fix linux and MacoOS build
*Fix glGetString definition
*Fix Windows build
*Add VBO support as an option into the Preference menu
*Fix crash while running FreeCAD test bench with new VBO rendering infrastructure (in both cases)
*Improve performances
*Compute material index only when a VBO update is required (improve frame rate by 10%)
*Clean the code
*Fix Travis compilation warning
*Try to fix Windows compilation issue
*Update include for Windows
2017-02-12 14:41:55 +01:00
wmayer
8e6bd39857 + Split SoBrepShape into three files 2013-11-09 13:16:42 +01:00
wmayer
d14d5cb2e4 #0001093: Improvements for Brep Inventor nodes (disabled atm) 2013-06-15 23:07:26 +02:00