1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-16 10:54:53 +03:00
occt/tests/bugs/vis/bug22906
apl 4269bd1b11 0024070: OpenGL capped object-level clipping planes
Graphical clipping:
- Use "Graphic3d_ClipPlane" to defined clipping for PrsMgr_PresentableObject (local clipping), for V3d_View (global clipping).

Get rid of old implementations:
- Remove Visual3d_ClipPlane.
- Port V3d_Plane to Graphic3d_ClipPlane core.

Selection Sensitives:
- Port "Matches" method to add full set of arguments (SelectBasics_PickArgs), including min-max depth coming from selector.
- Get rid of transient data for pair Matches -> ComputeDepth.
- Extend SelectMgr_ViewerSelector::LoadResult to work with local clipping, add virtual callbacks to compute globa/local depth clipping for picking.

Capping rendering algorithm:
- Recursive rendering algorithm for OpenGl_Groups.
- Introduced Rendering filter for groups.

Clipping plane management in TKOpenGl:
- Added OpenGl_ClippingState to OpenGl_Context.

DRAWEXE commands:
- Ported "vclipplane" command for new approach.
- Added "vsettexturemode" command for changing texture details in views (enable / disable textures).

Correct DownCast syntax (compilation error)

Fix new compiler warnings

tests/bugs/vis/bug22906 migrated to the new vclipplane syntax
2013-09-20 12:09:54 +04:00

58 lines
1.4 KiB
Plaintext
Executable File

puts "TODO ?OCC11111 ALL: An exception was caught"
puts "TODO ?OCC11111 ALL: \\*\\* Exception"
puts "TODO ?OCC11111 ALL: TEST INCOMPLETE"
puts "================"
puts "OCC22906"
puts "================"
puts ""
#######################################################################################
# Gradient background is clipped by planes
######################################################################################
set BugNumber OCC22906
set x1 73
set y1 338
set x2 144
set y2 23
set x3 377
set y3 123
set x4 87
set y4 232
vinit
vsetgradientbg 255 0 0 0 0 255 4
set Color1 [QAGetPixelColor ${x1} ${y1}]
set Color2 [QAGetPixelColor ${x2} ${y2}]
set Color3 [QAGetPixelColor ${x3} ${y3}]
set Color4 [QAGetPixelColor ${x4} ${y4}]
vclipplane create pln1
vclipplane change pln1 equation 1 0 0 -0.1
vclipplane set pln1 view Driver1/Viewer1/View1
box b 100 100 100
vdisplay b
vsetdispmode 1
set ColorRes1 [QAGetPixelColor ${x1} ${y1}]
set ColorRes2 [QAGetPixelColor ${x2} ${y2}]
set ColorRes3 [QAGetPixelColor ${x3} ${y3}]
set ColorRes4 [QAGetPixelColor ${x4} ${y4}]
set status 0
if { ${Color1} == ${ColorRes1} && ${Color2} == ${ColorRes2} && ${Color3} == ${ColorRes3} && ${Color4} == ${ColorRes4}} {
set status 0
} else {
set status 1
}
# Resume
puts ""
if { ${status} != 0} {
puts "Faulty ${BugNumber}"
} else {
puts "OK ${BugNumber}"
}
set only_screen 1