1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
occt/tests/vselect/bugs/bug26413
kgv 0d828ac838 0032208: Tests - refactor visualization tests to cover several graphic drivers
Removed testgrids 'bugs/vis' and '3rdparty'; tests have been redistributed across other grids.
Moved testgrid 'v3d/ivtk' into dedicated 'vtk/ivtk'.

Added testgrid 'vselect' dedicated to 3D viewer picking/selection functionality
and filled with tests from 'v3d/vertex', 'v3d/face' and similar groups.

Added testgrid 'opengl' dedicated to OpenGL driver low-level functionality (GLSL programs and similar)
and filled with tests from 'v3d/glsl', 'v3d/raytrace', '3rdparty/fonts', 'bugs/vis' (portion) and similar.

Added testgrid 'opengles3' dedicated to OpenGL ES 3.0 driver low-level functionality
and reusing tests from 'opengl' testgrid.
Subgroup 'opengles3/raytrace' is disabled on Windows, as Ray-Tracing currently requires OpenGL ES 3.2.
while ANGLE library implements only OpenGL ES 3.0.

Added testgrid 'opengles2' dedicated to OpenGL ES 2.0 driver low-level functionality
and reusing a limited subset of passing tests from 'opengl' testgrid.
Currently testgrid is activated only on Windows platform when using ANGLE library
(properietary OpenGL ES drivers do not allow creation of restricted 2.0 context).

Test cases have been cleaned out to put bug description into log,
to properly load necessary plugins and to explicitly dump viewer.
2021-03-25 19:14:33 +03:00

79 lines
1.8 KiB
Plaintext

puts "============"
puts "CR26413: Visualization, SelectMgr_ViewerSelector - Pixel tolerance is overridden by selection sensitivity"
puts "============"
puts ""
pload VISUALIZATION MODELING
vinit View1
box b 1 1 1
vdisplay b
vfit
set x_on_edge 320
set y_on_edge 340
set x_on_vert 383
set y_on_vert 306
set x_sel_precise 228
set y_sel_precise 393
set x_sel_tol 228
set y_sel_tol 400
set x_notol 374
set y_notol 309
set x_tol 372
set y_tol 310
vselmode b 2 1
# check precise selection of the edge
vmoveto ${x_sel_precise} ${y_sel_precise}
checkcolor ${x_on_edge} ${y_on_edge} 0 1 1
# check selection in neighborhood of the edge
vmoveto 0 0
vmoveto ${x_sel_tol} ${y_sel_tol}
checkcolor ${x_on_edge} ${y_on_edge} 1 1 0
vmoveto 0 0
# increase selection precision
vselprops -pixtol 8
# check precise selection of the edge
vmoveto ${x_sel_precise} ${y_sel_precise}
checkcolor ${x_on_edge} ${y_on_edge} 0 1 1
# check selection in neighborhood of the edge
vmoveto 0 0
vmoveto $x_sel_tol ${y_sel_tol}
checkcolor ${x_on_edge} ${y_on_edge} 0 1 1
# check that after precision reset selection works as usual
vmoveto 0 0
vselprops -pixtol -1
vmoveto ${x_sel_precise} ${y_sel_precise}
checkcolor ${x_on_edge} ${y_on_edge} 0 1 1
vmoveto 0 0
vmoveto ${x_sel_tol} ${y_sel_tol}
checkcolor ${x_on_edge} ${y_on_edge} 1 1 0
# check that point sensitivity is inreased for all types of
# sensitive entities
vmoveto 0 0
vselmode b 1 1
vselprops -pixtol -1
vmoveto ${x_notol} ${y_notol}
# check that vertex is highlighted and edge is not
checkcolor ${x_on_edge} ${y_on_edge} 1 1 0
checkcolor ${x_on_vert} ${y_on_vert} 0 1 1
vmoveto 0 0
vselprops -pixtol 8
vmoveto ${x_tol} ${y_tol}
# check that vertex is highlighted and edge is not
checkcolor ${x_on_edge} ${y_on_edge} 1 1 0
checkcolor $x_on_vert $y_on_vert 0 1 1
vdump ${imagedir}/${casename}.png
vseldump ${imagedir}/${casename}_sel_ent.png -type entity