0023654: Problem with displaying vertices in OCC view after closing all OCC views...
[occt.git] / tests / bugs / vis / bug23654_MarkersRecompute
1 puts "========"
2 puts "OCC23654 Markers recompute"
3 puts "========"
4
5 # reflects Aspect_TypeOfMarker enumeration
6 set aMarkerTypeNames {
7   Aspect_TOM_POINT
8   Aspect_TOM_PLUS
9   Aspect_TOM_STAR
10   Aspect_TOM_X
11   Aspect_TOM_O
12   Aspect_TOM_O_POINT
13   Aspect_TOM_O_PLUS
14   Aspect_TOM_O_STAR
15   Aspect_TOM_O_X
16   Aspect_TOM_RING1
17   Aspect_TOM_RING2
18   Aspect_TOM_RING3
19   Aspect_TOM_BALL
20   Aspect_TOM_USERDEFINED
21 }
22
23 # generate custom marker
24 set aCustom1 $imagedir/${casename}_m1.png
25 set aCustom2 $imagedir/${casename}_m2.png
26 box b 1 1 1
27 vinit name=Driver1/Viewer1/View1 l=32 t=32 w=512 h=512
28 vclear
29 vdisplay b
30 vaxo
31 vfit
32 vdump $aCustom1 rgba 32 32
33 vsetdispmode b 1
34 vsetcolor b RED
35 vrotate 1 0 0
36 vdump $aCustom2 rgba 32 32
37
38 # draw box in advance which should fit all our markers
39 box b -8 -8 0 16 16 2
40
41 vcaps sprites=1
42 set aV "Driver1/Viewer1/View1"
43 vinit name=$aV l=32 t=32 w=512 h=512
44 vactivate $aV
45 vclear
46
47 vbottom
48 vdisplay b
49 vfit
50 verase b
51
52 for { set aMarkerType 0 } { $aMarkerType <= 13 } { incr aMarkerType } {
53   set aRow [expr $aMarkerType - 7]
54   set aCol 5
55   set aName [lindex $aMarkerTypeNames $aMarkerType]
56   vdrawtext "$aName" 0 [expr $aRow + 0.5] 0 128 255 255 1 1 000 0 12 2 Arial
57   if { $aMarkerType == 13 } {
58     vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom1
59     set aCol [expr $aCol - 1]
60     vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom2
61   } else {
62     for { set aMarkerScale 1.0 } { $aMarkerScale <= 7 } { set aMarkerScale [expr $aMarkerScale + 0.5] } {
63       vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 MarkerType=$aMarkerType Scale=$aMarkerScale PointsOnSide=1
64       set aCol [expr $aCol - 1]
65     }
66   }
67 }
68
69 set anImage1 $imagedir/${casename}_1.png
70 set anImage2 $imagedir/${casename}_2.png
71
72 vdump $anImage1
73
74 vclose $aV 1
75
76 vinit name=$aV l=32 t=32 w=512 h=512
77 vactivate $aV
78 vbottom
79 vdisplay b
80 vfit
81 verase b
82
83 vdump $anImage2