mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
Added destructor for TDocStd_Document which performs destruction of document in logical order in order to avoid exception when Undo and Redo fields are destructed after THF_Data field. Added removing name of closed document from tcl variables in the DRAW in order to avoid exception during use the same name for new document. Modification to avoid compilation error class ViewerTest Minor correction in test caf basic G3
75 lines
2.0 KiB
Plaintext
Executable File
75 lines
2.0 KiB
Plaintext
Executable File
#INTERFACE CAF
|
|
# Basic attributes
|
|
#
|
|
# Testing attribute: TDataStd_Point
|
|
#
|
|
# Testing command: SetPoint
|
|
# Testing command: GetPoint
|
|
#
|
|
|
|
puts "caf001-G3"
|
|
|
|
set aTokList { :,}
|
|
|
|
# Add an attribute to a data framework
|
|
set aSetX1 10
|
|
set aSetY1 20
|
|
set aSetZ1 30
|
|
point aPoint1 ${aSetX1} ${aSetY1} ${aSetZ1}
|
|
|
|
set aDumpPoint1 [dump aPoint1]
|
|
|
|
# [llength ${aDumpPoint1}] = 10
|
|
# Format of ${aDumpPoint1}:
|
|
# *********** Dump of aPoint1 *************
|
|
# Point : 1.000000000000000e+01, 2.000000000000000e+01, 3.000000000000000e+01
|
|
|
|
set X_Point1 [lindex [split [lindex ${aDumpPoint1} 7] ${aTokList}] 0]
|
|
set Y_Point1 [lindex [split [lindex ${aDumpPoint1} 8] ${aTokList}] 0]
|
|
set Z_Point1 [lindex [split [lindex ${aDumpPoint1} 9] ${aTokList}] 0]
|
|
|
|
set aLabel 0:2
|
|
SetPoint D ${aLabel} aPoint1
|
|
|
|
# Close/Open the transaction
|
|
NewCommand D
|
|
|
|
# Save the document
|
|
set aFile ${imagedir}/caf001-G3.std
|
|
file delete ${aFile}
|
|
SaveAs D ${aFile}
|
|
if { ![file exists ${aFile}] } {
|
|
puts "There is no file ${aFile}; SaveAs command: Error"
|
|
return
|
|
}
|
|
#catch {exec chmod 777 ${aFile}}
|
|
|
|
# Restore the document
|
|
Close D
|
|
Open ${aFile} DD
|
|
|
|
# Get a value of the attribute
|
|
set IsDone [catch {set aGetAttr3 [GetPoint DD ${aLabel}]} aResult]
|
|
if { ${IsDone} != 0 } {
|
|
puts ${aResult}
|
|
puts "Get a value of TDataStd_Point attribute from restoring document: Error"
|
|
return
|
|
}
|
|
GetPoint DD ${aLabel} aPoint5
|
|
|
|
set aDumpPoint5 [dump aPoint5]
|
|
set X_Point5 [lindex [split [lindex ${aDumpPoint5} 7] ${aTokList}] 0]
|
|
set Y_Point5 [lindex [split [lindex ${aDumpPoint5} 8] ${aTokList}] 0]
|
|
set Z_Point5 [lindex [split [lindex ${aDumpPoint5} 9] ${aTokList}] 0]
|
|
|
|
if { ${X_Point1} != ${X_Point5} ||
|
|
${Y_Point1} != ${Y_Point5} ||
|
|
${Z_Point1} != ${Z_Point5} } {
|
|
puts "X_Point1=${X_Point1} X_Point5=${X_Point5}"
|
|
puts "Y_Point1=${Y_Point1} Y_Point5=${Y_Point5}"
|
|
puts "Z_Point1=${Z_Point1} Z_Point5=${Z_Point5}"
|
|
puts "Get a value of TDataStd_Point attribute from restoring document: Error"
|
|
return
|
|
}
|
|
puts "Get a value of TDataStd_Point attribute from restoring document: OK"
|