0027633: Visualization, TKOpenGl - point sprites are inconsistent within Core and...
[occt.git] / tests / bugs / vis / bug24131_markers
1 puts "========"
2 puts "OCC24131 Markers using Point Sprites"
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
24 # custom marker
25 set aCustom1 [locate_data_file images/marker_box1.png]
26 set aCustom2 [locate_data_file images/marker_box2.png]
27 set aCustom3 [locate_data_file images/marker_dot.png]
28
29 vfont add [locate_data_file DejaVuSans.ttf] SansFont
30
31 # draw box in advance which should fit all our markers
32 box b -8 -8 0 16 16 2
33 puts "hI"
34 for { set aMode 0 } { $aMode <= 1 } { incr aMode } {
35   set aTitle "bitmaps"
36   if { $aMode == 1 } { set aTitle "sprites" }
37   vcaps -sprites $aMode
38   set aV "Driver${aMode}/Viewer1/View1"
39   vinit name=$aV l=32 t=32 w=512 h=512
40   vactivate $aV
41   vclear
42
43   vbottom
44   vdisplay b
45   vfit
46   verase b
47
48   for { set aMarkerType 0 } { $aMarkerType <= 13 } { incr aMarkerType } {
49     set aRow [expr $aMarkerType - 7]
50     set aCol 5
51     set aName [lindex $aMarkerTypeNames $aMarkerType]
52     vdrawtext "$aName" "$aName" -pos 0 [expr $aRow + 0.5] 0 -color 0.5 1.0 1.0 -halign center -valign center -angle 000 -zoom 0 -height 12 -aspect bold -font SansFont
53     if { $aMarkerType == 13 } {
54       vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom1
55       set aCol [expr $aCol - 1]
56       vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom2
57       set aCol [expr $aCol - 1]
58       vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom3
59     } else {
60       for { set aMarkerScale 1.0 } { $aMarkerScale <= 7 } { set aMarkerScale [expr $aMarkerScale + 0.5] } {
61         vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 MarkerType=$aMarkerType Scale=$aMarkerScale PointsOnSide=1
62         set aCol [expr $aCol - 1]
63       }
64     }
65   }
66   vdump $imagedir/${casename}_${aTitle}.png
67 }