Commit Graph

72 Commits

Author SHA1 Message Date
luz.paz
8624564469 [skip ci] Fix typos
Found via `codespell`
2020-03-09 16:23:26 +01:00
wmayer
eb4e2d2c56 Gui: add virtual method containsViewProvider to MDIView and re-implement it in some sub-classes
Improve Document::setActiveView to not always switch to the first 3D view but check the currently active view before
2019-12-29 15:00:35 +01:00
luz.paz
f11783a498 src/Gui: [skip ci] fix header uniformity
This PR fixes header uniformity across all `src/Gui` files
2019-12-25 11:39:17 +01:00
wmayer
dd120ef507 add convenience method to 3d viewer to disable selection 2019-11-07 17:13:20 +01:00
wmayer
f4bc889b4d fixes #0004103: Black screen when using rubberband selection 2019-09-17 15:55:05 +02:00
Zheng, Lei
00bcef0619 Gui: support in-place editing
The link support means that an object can now appear in more than one
places, and even inside a document different from its own. This patch
adds support for in-place editing, meaning that the object can be edited
at correct place regardless where it is.

See [here](https://git.io/fjPIk) for more info about the relavent APIs.

This patch includes two example of modifications to support in-place
editing. One is the ViewProviderDragger, which simply adds the dragger
node to editing root node by calling
View3DInventorViewer::setupEditingRoot(dragger). The other much more
complex one is ViewProviderSketch which calls setupEditingRoot(0) to
transfer all its children node into editing root. ViewProviderSketch
also includes various modifications to command invocation, because we
can no longer assume the active document is the owner of the editing
object.

This patch also includes necessary modification of the 'Show' module to
support in-place editing.
2019-08-17 15:08:32 +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
luz.paz
050ac16f1c Fix misc. typos
Found via `codespell -q 3 -I ../fc-word-whitelist.txt -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller -L od,orign,orginx,orginy`
2019-08-14 14:36:53 -03:00
wmayer
8678f74dc6 allow to access NaviCube of 3d viewer 2018-10-23 12:47:11 +02:00
wmayer
0c63ab4234 remove unused shiboken wrapper for Base::Quantity 2018-10-16 19:31:33 +02:00
wmayer
ff6ed27ba9 replace boolean to check for inside/outside cutting with enum values 2018-09-18 18:25:51 +02:00
wmayer
7c010ab9a4 implement option to change corner of navi cube 2018-05-26 18:51:53 +02:00
wmayer
d15c7d0673 + option to disable navi cube
+ handle destruction of GL context in 3d viewer class
+ fix for OpenGL error message: 'Texture is not valid in the current context. Texture has not been destroyed'
2018-05-26 15:33:45 +02:00
wmayer
ba99fff1d9 fix Qt5 build failure 2018-05-26 15:33:45 +02:00
Kustaa Nyholm
13a4f84145 First Qt5 compatible NaviCube attempt 2018-05-26 15:33:45 +02:00
luz.paz
6e64b4f75d Misc. typos 2018-05-19 12:06:34 -04:00
wmayer
22ed0bce51 code reduction w.r.t offscreen rendering 2018-01-07 17:12:50 +01:00
wmayer
868d9cc6c2 improve whitespaces 2017-11-24 15:43:28 +01:00
wmayer
39e4020bdf Various fixes:
+ disable VBO rendering in split views
+ activate multi-sampling in split view for manual alignment
+ share GL widget in case a document has multiple views to make VBO rendering work correctly
2017-09-23 11:14:41 +02:00
wmayer
e1c5597a5e Qt5OpenGL: implement grabFramebuffer 2017-03-21 20:37:03 +01:00
wmayer
27d76f3a47 Qt5OpenGL: port Image rendering mode to make box zoom & selection and cutting work again 2017-03-21 20:37:03 +01:00
wmayer
a1dd462de9 move QuarterWidget to QOpenGLWidget 2017-03-21 20:37:03 +01:00
Kunda
19f8fd4c10 source typo fixes pt5
+ cleaning up some more non-short-URLs
Issue #2914
2017-03-04 13:07:13 -03:00
wmayer
adca327b34 add 'no shading' and 'hidden line' styles 2017-03-03 16:41:38 +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
549236f517 add method to get view that contains a given node 2016-08-14 18:01:10 +02:00
wmayer
dfb460d3bd + add getter method to return current render mode 2016-07-30 15:45:36 +02:00
wmayer
b3abd0d4dd + fix drag and drop of Quarter viewer 2016-05-25 14:13:57 +02:00
Stefan Tröger
4d09c09dc0 FEM Post: Move post processing to fem objects 2016-05-18 21:35:15 +02:00
Stefan Tröger
8805cab27c FEM Post: Proof of concept 2016-05-18 21:35:15 +02:00
Stefan Tröger
666a5968cb Override mode works with non-toplevel viewprovider
And adopt the part design body to handle the override mode correctly
2016-04-12 18:12:23 +02:00
jriegel
117238da50 make SoFCUnifiedSelection work with nested children in 3DView 2016-04-12 18:11:45 +02:00
wmayer
3af29639c6 + various minor fixes, whitespaces improvements 2016-03-23 23:28:56 +01:00
Mateusz Skowroński
7d0e892d36 Qt4's qglobal.h defined TRUE and FALSE. Qt5 does not do it anymore. Replace it with true and false.
158f39ec78

This change is Qt4/Qt5 neutral.
2016-01-05 16:43:33 +01:00
wmayer
9431d301d3 + for VRML and OpenInventor export only selection, fix whitespaces 2015-05-17 13:53:22 +02:00
DeepSOIC
963b993abc Gestures: fix running on win XP
Potential fix, by dynamically linking SetGestureConfig
2015-04-07 00:57:22 +03:00
wmayer
8e0110a18e + fix various things 2015-03-31 23:08:12 +02:00
DeepSOIC
c0d15db47c Gestures: subscribe 3d view to recieve gestures 2015-03-31 21:49:00 +02:00
wmayer
99caf6d015 + support of arbitrary background colors in snapshot function 2014-11-08 18:23:41 +01:00
wmayer
97696aadfa + fix gradient background issue when creating snapshot, remove superfluous signal from FileOptionsDialog 2014-11-08 14:50:27 +01:00
wmayer
a7157ce6a9 + add new render type to 3d viewer 2014-11-03 23:09:38 +01:00
wmayer
7422f073ea + share GL widgets when creating further 3d views of a document 2014-10-15 12:04:06 +02:00
Stefan Tröger
71e0793493 fix framerate rendering 2014-09-23 10:11:12 +02:00
Stefan Tröger
ad1bfc32fb fix reported bugs
- compile on windows
- fix cursors
2014-09-23 10:11:12 +02:00
Stefan Tröger
cf167ec60a add View3DInventorViewer python interface
As quarter is not wrapped by SWIG we need to expose our own python interface class.
This is a start with the most important functions to access the render and event
manager. Furthermore all extra functions available next to the swig wrapper functions
are exposed. Everything else can be added when needed.
2014-09-23 10:11:12 +02:00
Stefan Tröger
72cab0c002 Adaption of FreeCAD to QuarterWidget
-removes all soqtviewer references
-create a quarter adaptor class which implements missing functionality
-adopts freecad code to make use of SoRenderManager and changed View3DInventorViewer  interface
2014-09-23 10:11:11 +02:00
Stefan Tröger
e1265c874d add default quarter files 2014-09-23 10:11:11 +02:00
jriegel
c0152eeb68 FreeCAD-VR: command integration 2014-09-13 10:18:52 +02:00
wmayer
a252471625 + fix author notes, fix memory leak, fix build failure under Windows 2014-07-30 10:05:13 +02:00