0bd9691995235b24a3cc887449b389e6b63318fd
[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 # draw box in advance which should fit all our markers
30 box b -8 -8 0 16 16 2
31 puts "hI"
32 for { set aMode 0 } { $aMode <= 1 } { incr aMode } {
33   set aTitle "bitmaps"
34   if { $aMode == 1 } { set aTitle "sprites" }
35   vcaps -sprites $aMode
36   set aV "Driver${aMode}/Viewer1/View1"
37   vinit name=$aV l=32 t=32 w=512 h=512
38   vactivate $aV
39   vclear
40
41   vbottom
42   vdisplay b
43   vfit
44   verase b
45
46   for { set aMarkerType 0 } { $aMarkerType <= 13 } { incr aMarkerType } {
47     set aRow [expr $aMarkerType - 7]
48     set aCol 5
49     set aName [lindex $aMarkerTypeNames $aMarkerType]
50     vdrawtext "$aName" 0 [expr $aRow + 0.5] 0 128 255 255 1 1 000 0 12 2 Arial
51     if { $aMarkerType == 13 } {
52       vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom1
53       set aCol [expr $aCol - 1]
54       vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom2
55       set aCol [expr $aCol - 1]
56       vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom3
57     } else {
58       for { set aMarkerScale 1.0 } { $aMarkerScale <= 7 } { set aMarkerScale [expr $aMarkerScale + 0.5] } {
59         vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 MarkerType=$aMarkerType Scale=$aMarkerScale PointsOnSide=1
60         set aCol [expr $aCol - 1]
61       }
62     }
63   }
64   vdump $imagedir/${casename}_${aTitle}.png
65 }