mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-06-30 12:14:08 +03:00
AIS_TextLabel - new public class to display simple text labels (based on MyTextClass private class from Draw Harness). ViewerTest::Display() - add more reliable replacement for VDisplayAISObject() with no viewer update flag. vdrawtext command redesign: - Use new AIS_TextLabel class instead of private MyTextClass. - Take object name and allow to clear labels from the Viewer. - Use parameter name + parameter value syntax instead of strict list of mandatory arguments. - Use [0; 1] range for colors and accept names. - Drop redundant argument "isMultiByte". - Support argument -noupdate to skip Viewer update. Update test cases to new syntax of vdrawtext.
75 lines
1.9 KiB
Plaintext
75 lines
1.9 KiB
Plaintext
puts "========"
|
|
puts "OCC23654 Markers recompute"
|
|
puts "========"
|
|
|
|
# reflects Aspect_TypeOfMarker enumeration
|
|
set aMarkerTypeNames {
|
|
Aspect_TOM_POINT
|
|
Aspect_TOM_PLUS
|
|
Aspect_TOM_STAR
|
|
Aspect_TOM_X
|
|
Aspect_TOM_O
|
|
Aspect_TOM_O_POINT
|
|
Aspect_TOM_O_PLUS
|
|
Aspect_TOM_O_STAR
|
|
Aspect_TOM_O_X
|
|
Aspect_TOM_RING1
|
|
Aspect_TOM_RING2
|
|
Aspect_TOM_RING3
|
|
Aspect_TOM_BALL
|
|
Aspect_TOM_USERDEFINED
|
|
}
|
|
|
|
# custom marker
|
|
set aCustom1 [locate_data_file images/marker_box1.png]
|
|
set aCustom2 [locate_data_file images/marker_box2.png]
|
|
set aCustom3 [locate_data_file images/marker_dot.png]
|
|
|
|
# draw box in advance which should fit all our markers
|
|
box b -8 -8 0 16 16 2
|
|
|
|
vcaps -sprites
|
|
set aV "Driver1/Viewer1/View1"
|
|
vinit name=$aV l=32 t=32 w=512 h=512
|
|
vactivate $aV
|
|
vclear
|
|
|
|
vbottom
|
|
vdisplay b
|
|
vfit
|
|
verase b
|
|
|
|
for { set aMarkerType 0 } { $aMarkerType <= 13 } { incr aMarkerType } {
|
|
set aRow [expr $aMarkerType - 7]
|
|
set aCol 5
|
|
set aName [lindex $aMarkerTypeNames $aMarkerType]
|
|
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 Arial
|
|
if { $aMarkerType == 13 } {
|
|
vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom1
|
|
set aCol [expr $aCol - 1]
|
|
vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom2
|
|
set aCol [expr $aCol - 1]
|
|
vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 PointsOnSide=1 FileName=$aCustom3
|
|
} else {
|
|
for { set aMarkerScale 1.0 } { $aMarkerScale <= 7 } { set aMarkerScale [expr $aMarkerScale + 0.5] } {
|
|
vmarkerstest m${aMarkerType}_${aCol} $aCol $aRow 0 MarkerType=$aMarkerType Scale=$aMarkerScale PointsOnSide=1
|
|
set aCol [expr $aCol - 1]
|
|
}
|
|
}
|
|
}
|
|
|
|
set anImage1 $imagedir/${casename}_1.png
|
|
set anImage2 $imagedir/${casename}_2.png
|
|
|
|
vdump $anImage1
|
|
|
|
vclose $aV 1
|
|
|
|
vinit name=$aV l=32 t=32 w=512 h=512
|
|
vactivate $aV
|
|
vbottom
|
|
vdisplay b
|
|
vfit
|
|
verase b
|
|
|
|
vdump $anImage2 |