mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-15 05:28:47 +08:00
V3d_View::Gravity() - compute scene bounding box only including highlighted objects, if there are any, to provide context-oriented center of gravity. Skip hidden objects, if there are any visible. Do not return any value from this method. Extend command vrotate with new flags -mouseStart and -mouseMove, to emulate rotation by mouse. Unused argument theDi of VRotate disabled
51 lines
1017 B
Plaintext
51 lines
1017 B
Plaintext
puts "============"
|
|
puts "OCC25723"
|
|
puts "Calculate the center of rotation taking into account structure visibility"
|
|
puts "============"
|
|
puts ""
|
|
|
|
set x_start_sel_coord 100
|
|
set y_start_sel_coord 100
|
|
|
|
set x_end_sel_coord 400
|
|
set y_end_sel_coord 400
|
|
|
|
set x_mouse_start_coord 100
|
|
set y_mouse_start_coord 100
|
|
|
|
set x_mouse_move_coord 300
|
|
set y_mouse_move_coord 300
|
|
|
|
set x_check_coord 220
|
|
set y_check_coord 50
|
|
|
|
box b1 0 0 0 10 10 10
|
|
box b2 0 0 20 10 10 10
|
|
box b3 0 0 -20 10 10 10
|
|
box b4 0 0 40 10 10 10
|
|
|
|
vinit View1
|
|
vclear
|
|
vaxo
|
|
vsetdispmode 1
|
|
|
|
# turn on solid selection
|
|
vselmode 6 1
|
|
vdisplay b1 b2 b3 b4
|
|
vfit
|
|
|
|
# select solid
|
|
vselect ${x_start_sel_coord} ${y_start_sel_coord} ${x_end_sel_coord} ${y_end_sel_coord}
|
|
|
|
# hide selected solids
|
|
verase
|
|
|
|
# rotation
|
|
vrotate -mouseStart ${x_mouse_start_coord} ${y_mouse_start_coord} -mouseMove ${x_mouse_move_coord} ${y_mouse_move_coord}
|
|
|
|
if {"[vreadpixel ${x_check_coord} ${y_check_coord} rgb name]" != "GOLDENROD2"} {
|
|
puts "Error: Rotation is not correct"
|
|
}
|
|
|
|
set only_screen 1
|