0027919: Visualization - support multiple transformation persistence groups within single presentation

Added transform persistence property to Graphic3d_Group and Select3D_SensitiveEntity.
SelectMgr_ViewerSelector, Graphic3d_Layer and OpenGl_Structure have been updated
to process per-group transform persistence within picking, ZFit and rendering.

Added zoomable state to Prs3d_ArrowAspect supported by PrsDim_Dimension.

Added gp_GTrsf::SetMat4(), opposite to gp_GTrsf::GetMat4().
This commit is contained in:
nds
2021-07-19 13:31:05 +03:00
committed by bugmaster
parent ad3f20c684
commit 4e993e4d0d
27 changed files with 544 additions and 195 deletions

View File

@@ -0,0 +1,37 @@
puts "============="
puts "0027919: Visualization - support multiple transformation persistence groups within single presentation"
puts "============="
pload VISUALIZATION
vinit
vtrihedron t1
vpoint p11 -25 50 0
vpoint p12 25 50 0
vdimension dim -length -plane xoy -shapes p11 p12
vdimparam dim -flyout 1 -arrowlength 30 -arrow internal -label hcenter -zoomablearrow 0
vpoint p21 -100 0 0
vpoint p22 0 0 0
vpoint p23 100 0 0
vdimension angle -angle -shapes p21 p22 p23 -arrowlength 30 -zoomablearrow 0
vtop
vfit
vzoom 1.5
if {[vreadpixel 182 119 rgb name] != "BLACK"} { puts "ERROR: the arrow of the dimension should not be zoomable" }
if {[vreadpixel 149 195 rgb name] != "BLACK"} { puts "ERROR: the arrow of the angle dimension should not be zoomable" }
vdump $imagedir/${casename}_def.png
vseldump $imagedir/${casename}_def_selowner.png -type owner
vlocation angle -reset -setlocation 10 0 0 -rotate 0 0 0 1 0 0 40
vdump $imagedir/${casename}_rot1.png
vseldump $imagedir/${casename}_rot1_selowner.png -type owner
vzoom 0.25
vlocation angle -reset -setlocation 30 0 0 -rotate 0 0 0 1 0 0 40
vdump $imagedir/${casename}_rot2.png
vseldump $imagedir/${casename}_rot2_selowner.png -type owner