0530d91d47aae42d30362dfc8b2d4ff230e2c6c6
[occt.git] / tests / bugs / vis / bug24351_3
1 puts "============"
2 puts "CR24351"
3 puts "============"
4 puts ""
5 #######################################################################
6 #  Test AIS Radius dimensions: label position and arrow orientation
7 #######################################################################
8 pload VISUALIZATION
9
10 vinit
11 vright
12
13 set hpos "left hcenter"
14 set vpos "above vcenter below"
15
16 # ---------------------------------------------------------------------
17 # create dimensions with different arrow orientation and fit algorithm
18 # ---------------------------------------------------------------------
19
20 # test forced internal arrow orientation
21 vpoint  circle1_p1 0  0 30
22 vpoint  circle1_p2 30 0  0
23 vpoint  circle1_p3 60 0 30
24 vcircle circle1 circle1_p1 circle1_p2 circle1_p3 0
25 vdimension radius name=rad1 text=3d plane=zox label=hfit flyout=0 arrows=internal circle1
26
27 # test forced external arrow orientation
28 vpoint  circle2_p1 100 0 35
29 vpoint  circle2_p2 135 0  0
30 vpoint  circle2_p3 170 0 35
31 vcircle circle2 circle2_p1 circle2_p2 circle2_p3 0
32 vdimension radius name=rad2 text=3d plane=zox label=hfit flyout=0 arrows=external circle2
33
34 # test that auto-fit for arrow places them externally for small geometry
35 vpoint  circle3_p1 0  0 113
36 vpoint  circle3_p2 33 0  80
37 vpoint  circle3_p3 66 0 113
38 vcircle circle3 circle3_p1 circle3_p2 circle3_p3 0
39 vdimension radius name=rad3 text=3d plane=zox label=hcenter flyout=0 arrows=fit circle3
40
41 # test that auto-fit for text places the label externally for small geometry
42 vpoint  circle4_p1 120 0 95
43 vpoint  circle4_p2 135 0 80
44 vpoint  circle4_p3 150 0 95
45 vcircle circle4 circle4_p1 circle4_p2 circle4_p3 0
46 vdimension radius name=rad4 text=3d plane=zox label=hfit flyout=0 arrows=fit circle4
47
48 vdisplay rad1 rad2 rad3 rad4
49 vfit
50
51 # ------------------------------------------------
52 # create dimension with different label positions
53 # ------------------------------------------------
54
55 vinit Viewer2/View2
56 vright
57
58 set idx 0
59 for {set r 0} {$r < 3} {incr r} {
60   for {set c 0} {$c < 2} {incr c} {
61
62     set point1 p_[expr "$idx * 3 + 0"]
63     set point2 p_[expr "$idx * 3 + 1"]
64     set point3 p_[expr "$idx * 3 + 2"]
65     set circle c_[expr "$idx"]
66
67     vpoint $point1 [expr "90.0 * $c +  0"] 0.0 [expr "80.0 * $r + 33"]
68     vpoint $point2 [expr "90.0 * $c + 33"] 0.0 [expr "80.0 * $r +  0"]
69     vpoint $point3 [expr "90.0 * $c + 66"] 0.0 [expr "80.0 * $r + 33"]
70     vcircle $circle $point1 $point2 $point3 0
71
72     set dimension r_$idx
73
74     vdimension radius name=$dimension text=3d plane=zox label=[lindex $hpos $c],[lindex $vpos $r] arrows=external flyout=0.0 $circle
75     vdisplay $dimension
76
77     incr idx
78   }
79 }
80 vfit
81
82 set only_screen 1