0025138: SIGSEGV when sweeping along helix
[occt.git] / tests / bugs / vis / bug24351_2
1 puts "============"
2 puts "CR24351"
3 puts "============"
4 puts ""
5 #######################################################################
6 #  Test AIS Diameter dimensions: label position and arrow orientation
7 #######################################################################
8 pload VISUALIZATION
9
10 vfont add [locate_data_file DejaVuSans.ttf] SansFont
11
12 vinit
13 vfront
14
15 set hpos "left hcenter right"
16 set vpos "above vcenter below"
17
18 # ---------------------------------------------------------------------
19 # create dimensions with different arrow orientation and fit algorithm
20 # ---------------------------------------------------------------------
21
22 # test forced internal arrow orientation
23 vpoint  circle1_p1 0  0 30
24 vpoint  circle1_p2 30 0  0
25 vpoint  circle1_p3 60 0 30
26 vcircle circle1 circle1_p1 circle1_p2 circle1_p3 0
27 vdimension diam1 -diameter -shapes circle1 -text 3d -plane zox -label hfit -flyout 0 -arrow internal -font SansFont
28
29 # test forced external arrow orientation
30 vpoint  circle2_p1 100 0 30
31 vpoint  circle2_p2 130 0  0
32 vpoint  circle2_p3 160 0 30
33 vcircle circle2 circle2_p1 circle2_p2 circle2_p3 0
34 vdimension diam2 -diameter -shapes circle2 -text 3d -plane zox -label hfit -flyout 0 -arrow external -font SansFont
35
36 # test that auto-fit for arrow places them externally for small geometry
37 vpoint  circle3_p1 0  0 102
38 vpoint  circle3_p2 22 0  80
39 vpoint  circle3_p3 44 0 102
40 vcircle circle3 circle3_p1 circle3_p2 circle3_p3 0
41 vdimension diam3 -diameter -shapes circle3 -text 3d -plane zox -label hcenter -flyout 0 -label hfit -arrow fit -font SansFont
42
43 # test that auto-fit for text places the label externally for small geometry
44 vpoint  circle4_p1 100 0 92
45 vpoint  circle4_p2 112 0 80
46 vpoint  circle4_p3 124 0 92
47 vcircle circle4 circle4_p1 circle4_p2 circle4_p3 0
48 vdimension diam4 -diameter -shapes circle4 -text 3d -plane zox -label hfit -flyout 0 -label hfit -arrow fit -font SansFont
49
50 vfit
51
52 # ------------------------------------------------
53 # create dimension with different label positions
54 # ------------------------------------------------
55
56 vinit Viewer2/View2
57 vfront
58
59 set idx 0
60 for {set r 0} {$r < 3} {incr r} {
61   for {set c 0} {$c < 3} {incr c} {
62
63     set point1 p_[expr "$idx * 3 + 0"]
64     set point2 p_[expr "$idx * 3 + 1"]
65     set point3 p_[expr "$idx * 3 + 2"]
66     set circle c_[expr "$idx"]
67
68     vpoint $point1 [expr "80.0 * $c +  0"] 0.0 [expr "60.0 * $r + 22"]
69     vpoint $point2 [expr "80.0 * $c + 22"] 0.0 [expr "60.0 * $r +  0"]
70     vpoint $point3 [expr "80.0 * $c + 44"] 0.0 [expr "60.0 * $r + 22"]
71     vcircle $circle $point1 $point2 $point3 0
72
73     set dimension d_$idx
74
75     vdimension $dimension -diameter -shapes $circle -text 3d -plane zox -label [lindex $hpos $c] [lindex $vpos $r] -arrow external -flyout 0.0 -font SansFont
76     vdisplay $dimension
77
78     incr idx
79   }
80 }
81 vfit
82
83 checkview -screenshot -3d -path ${imagedir}/${test_image}.png