1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
occt/tests/bugs/vis/bug24351_4
apl fe83e1ea69 0024389: Invalid hilight of AIS dimension line in local selection
- Fixed invalid presentation of dimension highlight.
- Fixed bug on switching between selection modes. Individual sensitive entities generated for each selection mode.
- Revised selection: AIS_DimensionSelectionMode enumeration added, redundant AIS_DimensionDisplayMode is removed.
- Revised entity owner usage: used standard SelectMgr_EntityOwner for neutral selection, AIS_DimensionOwner for "line", "text" selection modes.
- Made arrows selectable.
- Got rid of predefined arrow angle. The arrow angle is now taken from dimension aspect.
- The 3D text is now centered by bounding box for better alignment.
2013-12-12 19:36:47 +04:00

77 lines
2.4 KiB
Plaintext

puts "============"
puts "CR24351"
puts "============"
puts ""
#######################################################################
# Test AIS angle dimensions: label position and arrow orientation
#######################################################################
pload VISUALIZATION
vinit
vright
set hpos "left hcenter right"
set vpos "above vcenter below"
# ---------------------------------------------------------------------
# create dimensions with different arrow orientation and fit algorithm
# ---------------------------------------------------------------------
# test forced internal arrow orientation
vpoint angle1_p1 0 0 40
vpoint angle1_p2 0 0 0
vpoint angle1_p3 40 0 0
vdimension angle name=ang1 text=3d plane=zox label=hfit flyout=40.0 arrows=internal angle1_p1 angle1_p2 angle1_p3
# test forced external arrow orientation
vpoint angle2_p1 80 0 40
vpoint angle2_p2 80 0 0
vpoint angle2_p3 120 0 0
vdimension angle name=ang2 text=3d plane=zox label=hfit flyout=40.0 arrows=external angle2_p1 angle2_p2 angle2_p3
# test that auto-fit for arrow places them externally for small geometry
vpoint angle3_p1 0 0 100
vpoint angle3_p2 0 0 80
vpoint angle3_p3 20 0 80
vdimension angle name=ang3 text=3d plane=zox label=hcenter flyout=20.0 arrows=fit angle3_p1 angle3_p2 angle3_p3
# test that auto-fit for text places the label externally for small geometry
vpoint angle4_p1 85 0 100
vpoint angle4_p2 85 0 85
vpoint angle4_p3 100 0 85
vdimension angle name=ang4 text=3d plane=zox label=hfit flyout=15.0 arrows=fit angle4_p1 angle4_p2 angle4_p3
vdisplay ang1 ang2 ang3 ang4
vfit
# ------------------------------------------------
# create dimension with different label positions
# ------------------------------------------------
vinit Viewer2/View2
vright
set idx 0
for {set r 0} {$r < 3} {incr r} {
for {set c 0} {$c < 3} {incr c} {
set point1 p_[expr "$idx * 3 + 0"]
set point2 p_[expr "$idx * 3 + 1"]
set point3 p_[expr "$idx * 3 + 2"]
vpoint $point1 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 40"]
vpoint $point2 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 0"]
vpoint $point3 [expr "60.0 * $c + 40"] 0.0 [expr "60.0 * $r + 0"]
set dimension r_$idx
vdimension angle name=$dimension text=3d plane=zox label=[lindex $hpos $c],[lindex $vpos $r] arrows=external flyout=40.0 $point1 $point2 $point3
vdisplay $dimension
incr idx
}
}
vfit
set only_screen 1