mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0032886: Visualization, V3d_View - introduce interface for creating a subview
V3d_View/Graphic3d_CView pair has been extended to define subview within the other V3d_View instance. The initialization is done in form of V3d_View::SetWindow() taking parent V3d_View instance on input. Subview definition includes dimensions defined as a fraction of a parent view and offset from a corner. This scheme allows splitting window into several subviews automatically occupying entire viewport, like splitting window into two vertial subviews (100%x50% + 100%x50%), three horizontal subviews (33%x100% + 30%x100% + 30%x100%), 1 + 2 stacked subviews (50%x100% + 50%x50% + 50%x50%), as well as thumbnail-alike subviews displayed on top of another larger view. OpenGl_View::Redraw() blits content of subviews into the window within immediate redraw step. AIS_ViewController::FlushViewEvents() has been extended to re-calculate mouse input into local subview coordinates. AIS_ViewController::handleViewRedraw() first redraws subviews and then parent views. Introduced new callback AIS_ViewController::OnSubviewChanged() to switch input focus to another subview on mouse click, implemented by ViewerTest_EventManager (has to be done at application level). vinit command has been extended with parameters -subview and -parent to create a subview. In addition, view dimension arguments now can be defined as a fraction of screen size instead of pixels.
This commit is contained in:
26
tests/opengl/data/general/multiview5
Normal file
26
tests/opengl/data/general/multiview5
Normal file
@@ -0,0 +1,26 @@
|
||||
puts "========"
|
||||
puts "0032886: Visualization, V3d_View - introduce interface for creating a subview"
|
||||
puts "V1/CompView + V1/ThumbView at corner"
|
||||
puts "========"
|
||||
|
||||
pload MODELING VISUALIZATION
|
||||
vinit V1/CompView -width 380 -height 520 -composer 1
|
||||
vbackground GRAY20
|
||||
vaxo
|
||||
vcamera -persp
|
||||
box b 1 2 3
|
||||
vdisplay -dispMode 1 b
|
||||
vaspects b -faceBoundaryDraw 1
|
||||
vfit
|
||||
vzbufftrihedron
|
||||
|
||||
vinit V1/ThumbView -parent V1/CompView -width 0.25 -height 0.25 -corner bottomRight -top 10 -left 10
|
||||
vbackground GRAY40
|
||||
vaxo
|
||||
vfit
|
||||
|
||||
vactivate V1/CompView
|
||||
vdump $::imagedir/${::casename}.png
|
||||
|
||||
vactivate V1/ThumbView
|
||||
vdump $::imagedir/${::casename}_thumb.png
|
Reference in New Issue
Block a user