mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
vlight command has been revised to provide more friendly syntax. Command now accepts light index or name as first argument. Added arguments -enable/-disable for managing enabled state. Added argument -reset to reset light parameters to default values. V3d_Viewer::SetDefaultLights() now sets names "headlight" and "ambient" to created lights. Graphic3d_TypeOfLightSource enumeration values have been renamed to avoid shortcuts. Draw::Atof(), applied corrections to avoid explicit new/delete calls.
64 lines
2.4 KiB
Plaintext
64 lines
2.4 KiB
Plaintext
puts "================================="
|
|
puts "0031704: Visualization - add an interactive object AIS_LightSource representing a light source"
|
|
puts "================================="
|
|
|
|
pload MODELING VISUALIZATION
|
|
vclear
|
|
vinit View1 -width 1280 -height 720
|
|
vlight -clear
|
|
vbackground -color GRAY
|
|
vrenderparams -shadingModel PBR
|
|
box b 10 10 10 30 30 30
|
|
vdisplay b -dispMode 1
|
|
vaspects b -material Brass
|
|
vfit
|
|
|
|
puts "=== Add light sources and display their presentations ==="
|
|
vlight AMBIENT -type AMBIENT -color WHITE -display
|
|
vlight DIR -type DIRECTIONAL -dir 0 1 0 -color GREEN -display
|
|
vlight SPOT -type SPOTLIGHT -pos 50 25 25 -dir -1 0 0 -intensity 1000000000 -color RED -display
|
|
vlight POSITIONAL -type POSITIONAL -pos 25 25 50 -intensity 10000000000 -range 20 -color BLUE -display
|
|
|
|
vdump $imagedir/${casename}_def.png
|
|
|
|
puts "=== Turn off light sources ==="
|
|
set mouse_pick_amb {105 97}
|
|
set mouse_pick_spot {897 508}
|
|
set mouse_pick_pos {640 62}
|
|
set mouse_pick_dir {330 536}
|
|
vselect {*}$mouse_pick_amb
|
|
vselect {*}$mouse_pick_spot
|
|
vselect {*}$mouse_pick_pos
|
|
vselect {*}$mouse_pick_dir
|
|
vdump $imagedir/${casename}_off.png
|
|
|
|
set aColor_spot [vreadpixel 796 454 rgb name]
|
|
set aColor_pos [vreadpixel 630 177 rgb name]
|
|
if { "$aColor_spot" != "LIGHTSALMON3" } { puts "Error: expected color near the light spot is LIGHTSALMON3" }
|
|
if { "$aColor_pos" != "THISTLE4"} { puts "Error: expected color near the positional light is THISTLE4" }
|
|
|
|
puts "=== Delete presentations of light sources ==="
|
|
vremove AMBIENT DIR SPOT POSITIONAL
|
|
|
|
puts "=== Display all light sources ==="
|
|
vlight -change 0 -display
|
|
vlight -change 1 -display
|
|
vlight -change 2 -display -showRange 1
|
|
vlight -change 3 -display -showRange 1
|
|
vdump $imagedir/${casename}_on.png
|
|
|
|
puts "=== Turn on light sources ==="
|
|
vselect {*}$mouse_pick_amb
|
|
vselect {*}$mouse_pick_spot
|
|
vselect {*}$mouse_pick_pos
|
|
vselect {*}$mouse_pick_dir
|
|
set aColor_spot [vreadpixel 796 454 rgb name]
|
|
set aColor_pos [vreadpixel 630 177 rgb name]
|
|
set aColor_dir [vreadpixel 453 453 rgb name]
|
|
if { "$aColor_spot" != "CORAL" } { puts "Error: expected color near the light spot is CORAL" }
|
|
if { "$aColor_pos" != "LIGHTSLATEBLUE"} { puts "Error: expected color near the positional light is LIGHTSLATEBLUE" }
|
|
if { "$aColor_dir" != "BURLYWOOD3" } { puts "Error: expected color near the directional light is BURLYWOOD3" }
|
|
|
|
#vlight -clear
|
|
#vdump $imagedir/${casename}_cleared.png
|