GLTF Import - Metadata support #184

Limited support of metadata import is added to RWGltf_GltfJsonParser.
Following Json data types are currently supported: int32, double, string,
array of int32, array of double, array of strings, Json object.
Notable unsupported types are: binary data, array of Json objects.
Metadata is processed for nodes and meshes.
Tests "gltf_export" are updated with import testing and renamed to "gltf".

Method RWGltf_GltfJsonParser::gltfParseSceneNode() is slightly
refactored: parsing of transformations and transformation matrices is
moved into separate functions.
This commit is contained in:
dkulikov
2024-12-09 17:06:33 +00:00
parent d5afabec90
commit bbbb8ea79d
23 changed files with 1032 additions and 243 deletions

29
tests/metadata/gltf/A1 Normal file
View File

@@ -0,0 +1,29 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug28345_30338.stp
set ref_size 5896
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
H_CIP : 55.545955351400004
Property for [0:1:1:1:1]:
H : 45
E : 55
B : 16
I : 15
A : 3
D : 3
C : 140
F : 0.29999999999999999
DESCRIPTION :
MODELED_BY :
Property for [0:1:1:1:2]:
H : 45
E : 55
B : 16
I : 15
A : 3
D : 3
C : 140
F : 0.29999999999999999
DESCRIPTION :
MODELED_BY :
}

26
tests/metadata/gltf/A2 Normal file
View File

@@ -0,0 +1,26 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug28389_CONFIDENTIAL_SHEET_METAL_F3D.stp
set ref_size 86278
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
yCenterOfGravity : 0.1148447698
Ixz : 9.3210000000000004e-07
Izx : 9.3210000000000004e-07
OriginY : 0
Surface : 0.34595390710000001
Volume : 0.0001375456
Iyz : -1.2030000000000001e-07
zCenterOfGravity : -0.056064514900000001
Ixy : 2.044e-07
Iyy : 3.6385e-06
xCenterOfGravity : -0.12673526900000001
Density : 1000
Izz : 3.3558999999999999e-06
Ixx : 1.7740000000000001e-06
Izy : -1.2030000000000001e-07
Mass : 0.13754561600000001
Iyx : 2.044e-07
OriginX : 0
OriginZ : 0
JoggleFormula :
}

23
tests/metadata/gltf/A3 Normal file
View File

@@ -0,0 +1,23 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug28444_nist_ftc_06_asme1_ct5240_rd.stp
set ref_size 85383
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
yCenterOfGravity : 0.0289950044
Ixz : 0
Izx : 0
Surface : 0.28317040780000002
Volume : 0.0033238733999999999
Iyz : -1.3068999999999999e-06
zCenterOfGravity : -0.10963042420000001
Ixy : 0
Iyy : 4.46342e-05
xCenterOfGravity : -0
Density : 1000
Izz : 2.63853e-05
Length : 0
Ixx : 2.16819e-05
Izy : -1.3068999999999999e-06
Mass : 3.3238733752999998
Iyx : 0
}

View File

@@ -1,3 +1,4 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug29525_rev_part_neu_01.prt_converted_from_datakit.stp
set ref_size 80996
set check_metadata 0

18
tests/metadata/gltf/A5 Normal file
View File

@@ -0,0 +1,18 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug29633_nist_ctc_05_asme1_ap242-1.stp
set ref_size 69902
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
FILESIZE : 1495040
GDT_STANDARD : 5302
MaterialMultipleAssigned : FALSE
ATTR_VERSION : 18.3.001
FILESAVETIME : Tue Dec 09 03:47:24 2014
Part Number : NIST PMI CTC 05 ASME1
Revision : D
CAD_SOURCE : ug
MTIME : 1418096844
MaterialMissingAssignments : TRUE
FILENAME : nist_ctc_05_asme1.prt
Description : NIST PMI test model downloaded from http://go.usa.gov/mGVm
}

41
tests/metadata/gltf/A6 Normal file
View File

@@ -0,0 +1,41 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug29803.stp
set ref_size 17032
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
OUT_MASS : 50.813477444850157
RELIEF_DIA : 21.005800000000001
HELIX_LENGTH : 0
OUT_OAL : 78.049999999992593
HELIX_START : 0
OUT_SHANK_LEN : 27.2499999999926
RCA_SIZE : 0
SHANK_UNDER : 0
OUT_REF_LEN : 50.799999999999997
BODY_LENGTH : 48.514000000000003
THEO_BLADE_DIA : 11.074400000000001
BODY_DIA : 0
DRILL_DEPTH : 47.625
SHANK_SIZE : 16
FLUTE_LENGTH : 42.468800000000002
OUT_SHANK_DIA : 15.999999999999501
PRIORITY : 0
OUT_DRILL_DEPTH : 44.754800000000003
SCREW_HOLE_SKEW : 1.1000000000000001
SHANK_DIAMETER : 15.999999999999501
DESCRIPTION : T-A HOLDER
SS_FLANGE : NO
MODELED_BY : LSD
STANDARD_BODY_DIA : Y
DEEP_HOLE_WEBSITE :
ITEM_NUM : HOLDER
LENGTH : STUB
FINISH : BLACK OXIDE
NOTES :
SHANK_IM : M
FLUTE : STRAIGHT
SHANK : ER
MATERIAL : STEEL
SERIES : Y
DEEP_HOLE_NOTES :
}

236
tests/metadata/gltf/A7 Normal file
View File

@@ -0,0 +1,236 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename sp7_04-do-242.stp
set ref_size 224779
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
PRO_MP_ALT_COGX : - >
DESCRIPTION ACCESS : Full
PRO_MP_TRF_21 DESCRIPTION : NULL
PRO_MP_IXY DESCRIPTION : NULL
PRO_MP_VOLUME ACCESS : Locked
PRO_MP_TRF_23 DESIGNATED : NO
PRO_MP_COGY DESIGNATED : NO
PRO_MP_COGY ACCESS : Locked
PRO_MP_ALT_IYY ACCESS : Full
PRO_MP_ALT_MASS SOURCE : Alternate Mass Prop
PRO_MP_ALT_COGY DESCRIPTION : NULL
PRO_MP_ALT_INERTIA_ORIGIN DESIGNATED : NO
PRO_MP_ALT_INERTIA_ORIGIN : PRO_MP_ALT_CSYS
PRO_MP_TRF_31 DESCRIPTION : NULL
PRO_MP_AREA SOURCE : Mass Properties
DESCRIPTION DESCRIPTION : NULL
PRO_MP_ALT_IXY DESIGNATED : NO
PRO_MP_ALT_VOLUME DESCRIPTION : NULL
PRO_MP_TRF_13 DESCRIPTION : NULL
PRO_MP_MASS DESIGNATED : NO
PRO_MP_COGY : - >
PRO_MP_AREA DESCRIPTION : NULL
PRO_MP_DENSITY DESIGNATED : NO
PRO_MP_ALT_IZZ ACCESS : Full
PRO_MP_IXX DESCRIPTION : NULL
PRO_MP_TRF_32 DESIGNATED : NO
PRO_MP_IYZ DESIGNATED : NO
PRO_MP_COGY SOURCE : Mass Properties
PRO_MP_IZZ DESIGNATED : NO
PRO_MP_TRF_42 SOURCE : Mass Properties
PRO_MP_ALT_AREA DESIGNATED : NO
PRO_MP_TRF_12 DESIGNATED : NO
PRO_MP_ALT_AREA SOURCE : Alternate Mass Prop
PRO_MP_ALT_INERTIA_ORIGIN DESCRIPTION : NULL
PRO_MP_CSYS DESCRIPTION : NULL
PRO_MP_TRF_12 SOURCE : Mass Properties
PRO_MP_TRF_31 DESIGNATED : NO
PRO_MP_IYZ : - >
PRO_MP_TRF_33 : - >
PRO_MP_ALT_COGY ACCESS : Full
REVISION SOURCE : User-Defined
PRO_MP_ALT_COGZ : - >
PRO_MP_TRF_41 ACCESS : Locked
PRO_MP_TRF_23 DESCRIPTION : NULL
PRO_MP_ALT_COGZ DESIGNATED : NO
PRO_MP_TRF_33 ACCESS : Locked
PRO_MP_MASS DESCRIPTION : NULL
PRO_MP_ALT_IZZ : - >
PRO_MP_TRF_32 : - >
DESCRIPTION : NIST PMI test model downloaded from http://go.usa.gov/mGVm
PRO_MP_TRF_22 SOURCE : Mass Properties
PRO_MP_ALT_INERTIA_ORIGIN ACCESS : Full
PRO_MP_ALT_VOLUME : - >
PRO_MP_TRF_41 SOURCE : Mass Properties
PRO_MP_ALT_CSYS : DEFAULT
MP_DENSITY : - >
PRO_MP_IZZ SOURCE : Mass Properties
PRO_MP_IYY DESCRIPTION : NULL
PRO_MP_MASS SOURCE : Mass Properties
PRO_MP_ALT_MASS : - >
PRO_MP_ALT_VOLUME SOURCE : Alternate Mass Prop
PRO_MP_ALT_IYY DESCRIPTION : NULL
DESCRIPTION SOURCE : User-Defined
PRO_MP_TRF_23 SOURCE : Mass Properties
PRO_MP_ALT_IYZ : - >
PRO_MP_MASS : - >
PRO_MP_DENSITY ACCESS : Locked
PRO_MP_DENSITY SOURCE : Mass Properties
PRO_MP_ALT_COGZ DESCRIPTION : NULL
PRO_MP_ALT_IXZ : - >
PRO_MP_ALT_IZZ DESCRIPTION : NULL
PRO_MP_ALT_IYY SOURCE : Alternate Mass Prop
PRO_MP_IYZ ACCESS : Locked
PRO_MP_ALT_IXZ DESIGNATED : NO
PRO_MP_IXY ACCESS : Locked
PRO_MP_TRF_13 ACCESS : Locked
PRO_MP_DENSITY DESCRIPTION : NULL
PRO_MP_AREA ACCESS : Locked
PRO_MP_TRF_31 : - >
PRO_MP_IYZ DESCRIPTION : NULL
PRO_MP_IYY SOURCE : Mass Properties
PRO_MP_COGX ACCESS : Locked
PRO_MP_COGZ : - >
PRO_MP_IYY DESIGNATED : NO
PRO_MP_TRF_33 DESCRIPTION : NULL
PRO_MP_ALT_IZZ SOURCE : Alternate Mass Prop
PRO_MP_IXX : - >
PRO_MP_TRF_11 ACCESS : Locked
PRO_MP_TRF_11 DESIGNATED : NO
PRO_MP_CSYS SOURCE : Mass Properties
PRO_MP_ALT_COGY SOURCE : Alternate Mass Prop
PRO_MP_INERTIA_ORIGIN ACCESS : Locked
PRO_MP_TRF_21 : - >
PART_NUMBER DESCRIPTION : NULL
MP_DENSITY SOURCE : Alternate Mass Prop
PRO_MP_ALT_IYZ ACCESS : Full
PRO_MP_COGX DESIGNATED : NO
PRO_MP_TRF_41 : - >
PRO_MP_TRF_11 SOURCE : Mass Properties
PRO_MP_TRF_32 DESCRIPTION : NULL
PRO_MP_ALT_IXX DESCRIPTION : NULL
PRO_MP_IXX SOURCE : Mass Properties
PRO_MP_ALT_CSYS DESCRIPTION : NULL
PRO_MP_TRF_13 : - >
PRO_MP_IYY : - >
PRO_MP_TRF_21 SOURCE : Mass Properties
PRO_MP_SOURCE DESCRIPTION : NULL
PRO_MP_TRF_32 SOURCE : Mass Properties
PRO_MP_IZZ ACCESS : Locked
PRO_MP_TRF_42 DESCRIPTION : NULL
PRO_MP_ALT_COGX DESIGNATED : NO
PRO_MP_TRF_13 SOURCE : Mass Properties
PRO_MP_ALT_IXX ACCESS : Full
PRO_MP_ALT_AREA : - >
PRO_MP_ALT_COGX SOURCE : Alternate Mass Prop
PRO_MP_AREA DESIGNATED : NO
PRO_MP_IXY SOURCE : Mass Properties
PRO_MP_SOURCE DESIGNATED : NO
PRO_MP_TRF_22 ACCESS : Locked
PRO_MP_VOLUME SOURCE : Mass Properties
MP_DENSITY DESIGNATED : NO
PRO_MP_IZZ DESCRIPTION : NULL
PRO_MP_IXX ACCESS : Locked
PRO_MP_TRF_31 ACCESS : Locked
PRO_MP_AREA : - >
PRO_MP_CSYS : - >
PRO_MP_ALT_COGX ACCESS : Full
PRO_MP_ALT_IYZ DESIGNATED : NO
PRO_MP_TRF_42 DESIGNATED : NO
PRO_MP_ALT_COGY : - >
PRO_MP_IXZ DESIGNATED : NO
PRO_MP_CSYS DESIGNATED : NO
PRO_MP_IZZ : - >
PRO_MP_TRF_12 DESCRIPTION : NULL
PRO_MP_ALT_IXZ ACCESS : Full
PRO_MP_INERTIA_ORIGIN : - >
PRO_MP_IXY DESIGNATED : NO
PRO_MP_TRF_33 DESIGNATED : NO
PRO_MP_ALT_COGY DESIGNATED : NO
PRO_MP_ALT_AREA DESCRIPTION : NULL
PRO_MP_IXZ DESCRIPTION : NULL
PRO_MP_INERTIA_ORIGIN DESCRIPTION : NULL
PRO_MP_ALT_IYY DESIGNATED : NO
PRO_MP_IYY ACCESS : Locked
PRO_MP_COGZ ACCESS : Locked
PRO_MP_SOURCE : GEOMETRY
PRO_MP_COGX DESCRIPTION : NULL
PRO_MP_ALT_IYZ DESCRIPTION : NULL
PRO_MP_IXZ SOURCE : Mass Properties
PRO_MP_TRF_23 ACCESS : Locked
PRO_MP_ALT_IXY : - >
PRO_MP_ALT_IYZ SOURCE : Alternate Mass Prop
PRO_MP_TRF_42 ACCESS : Locked
PRO_MP_ALT_INERTIA_ORIGIN SOURCE : Alternate Mass Prop
REVISION : D
PRO_MP_ALT_IXY ACCESS : Full
DESCRIPTION DESIGNATED : YES
PRO_MP_TRF_22 DESCRIPTION : NULL
PRO_MP_TRF_12 ACCESS : Locked
PRO_MP_SOURCE ACCESS : Full
REVISION DESIGNATED : YES
PRO_MP_IXZ ACCESS : Locked
PRO_MP_TRF_43 DESCRIPTION : NULL
PRO_MP_COGY DESCRIPTION : NULL
PRO_MP_INERTIA_ORIGIN DESIGNATED : NO
PRO_MP_TRF_12 : - >
REVISION DESCRIPTION : NULL
PRO_MP_ALT_IXY SOURCE : Alternate Mass Prop
PRO_MP_TRF_11 DESCRIPTION : NULL
PRO_MP_ALT_MASS DESIGNATED : NO
PRO_MP_TRF_11 : - >
PRO_MP_TRF_43 SOURCE : Mass Properties
PART_NUMBER ACCESS : Full
PRO_MP_VOLUME DESCRIPTION : NULL
PRO_MP_ALT_IXY DESCRIPTION : NULL
PRO_MP_COGZ DESCRIPTION : NULL
PRO_MP_COGX : - >
PRO_MP_SOURCE SOURCE : Alternate Mass Prop
PRO_MP_ALT_IXX : - >
PRO_MP_TRF_22 DESIGNATED : NO
PRO_MP_TRF_42 : - >
PRO_MP_INERTIA_ORIGIN SOURCE : Mass Properties
PRO_MP_COGZ DESIGNATED : NO
PRO_MP_TRF_31 SOURCE : Mass Properties
PART_NUMBER DESIGNATED : YES
PRO_MP_COGX SOURCE : Mass Properties
PRO_MP_TRF_23 : - >
PRO_MP_IXX DESIGNATED : NO
PRO_MP_ALT_CSYS ACCESS : Full
PRO_MP_CSYS ACCESS : Locked
PRO_MP_TRF_22 : - >
PRO_MP_TRF_33 SOURCE : Mass Properties
PRO_MP_COGZ SOURCE : Mass Properties
PRO_MP_VOLUME DESIGNATED : NO
PRO_MP_ALT_IXZ DESCRIPTION : NULL
PART_NUMBER SOURCE : User-Defined
PRO_MP_TRF_32 ACCESS : Locked
PRO_MP_IYZ SOURCE : Mass Properties
PRO_MP_TRF_43 DESIGNATED : NO
PRO_MP_ALT_VOLUME ACCESS : Full
PRO_MP_ALT_COGZ SOURCE : Alternate Mass Prop
PRO_MP_TRF_21 DESIGNATED : NO
MP_DENSITY DESCRIPTION : NULL
PRO_MP_TRF_41 DESIGNATED : NO
REVISION ACCESS : Full
PRO_MP_ALT_COGX DESCRIPTION : NULL
PRO_MP_ALT_IZZ DESIGNATED : NO
PRO_MP_DENSITY : 0.000000
PRO_MP_IXY : - >
PRO_MP_ALT_MASS ACCESS : Full
PRO_MP_ALT_CSYS DESIGNATED : NO
PRO_MP_TRF_43 : - >
PRO_MP_ALT_IXZ SOURCE : Alternate Mass Prop
PRO_MP_IXZ : - >
PRO_MP_MASS ACCESS : Locked
PRO_MP_ALT_IXX SOURCE : Alternate Mass Prop
PRO_MP_ALT_COGZ ACCESS : Full
PRO_MP_VOLUME : - >
PRO_MP_ALT_IXX DESIGNATED : NO
MP_DENSITY ACCESS : Full
PRO_MP_TRF_21 ACCESS : Locked
PRO_MP_ALT_IYY : - >
PRO_MP_TRF_41 DESCRIPTION : NULL
PRO_MP_ALT_MASS DESCRIPTION : NULL
PRO_MP_TRF_13 DESIGNATED : NO
PRO_MP_ALT_CSYS SOURCE : Alternate Mass Prop
PRO_MP_ALT_VOLUME DESIGNATED : NO
PART_NUMBER : NIST PMI CTC 04 ASME1
PRO_MP_TRF_43 ACCESS : Locked
PRO_MP_ALT_AREA ACCESS : Full
}

68
tests/metadata/gltf/A8 Normal file
View File

@@ -0,0 +1,68 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug32087_part.stp
set ref_size 15789
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
SETUP_PART : 0
MODEL_3D_REVISION : 1
MATERIAL_DENSITY : 7850
WEIGHT_PROTOTYPE : 0
WEIGHT_FINAL : 0
WEIGHT_CALCULATED : 0.0070751592515700002
SUPPLIER_NAME :
SEMI_FINISHED_PRODUCT :
REFERENCE :
REFERENCE_DESIGNATION++ :
MODEL_3D_APPROVED_BY :
MODEL_3D_CAD_SYSTEM :
PART_NAME :
MODEL_3D_CHECKED_BY :
OWNER :
COPYRIGHT :
WORK_ORDER_NUMBER :
PART_NUMBER :
ID_NUMBER_MATERIAL :
SPARE_WEARING_PART :
GENERAL_TOLERANCES_DRILL_HOLE :
TREATMENT :
MODEL_3D_CREATED_BY :
UNIT_SYSTEM :
MODEL_3D_DATE_OF_ISSUE :
WELD_TOLERANCES :
PROJECT :
LANGUAGE :
MODEL_3D_CREATED_BY_DEPARTMENT :
MODEL_3D_RELEASED_STATUS :
TECHNICAL_SPECIFICATION :
SUPPLIER_NUMBER :
SURFACE_PROTECTION :
EDGE_CONDITION :
GENERAL_TOLERANCES :
EDGE_CONDITION_INNER_EDGE :
ORDER_NUMBER :
GENERAL_TOLERANCES_FIT_DRILL_HOLE :
REFERENCE_DESIGNATION= :
SURFACE_ROUGHNESS :
REFERENCE_DESIGNATION- :
TOLERANCING_PRINCIPLE :
TECHNICAL_DIRECTIVE :
STOCK_NUMBER :
MODEL_3D_APPROVED_BY_DEPARTMENT :
PART_REVISION_LEVEL :
EDGE_CONDITION_OUTER_EDGE :
ARTICLE_NUMBER :
MATERIAL :
REFERENCE_DESIGNATION== :
SIMPLIFIED_DRAWING_REVISION :
MODEL_3D_REVISION_LEVEL :
MODEL_3D_RELEASED_BY :
MODEL_3D_REPLACED_BY :
REFERENCE_DESIGNATION+ :
MODEL_3D_ID_NUMBER :
PART_NOTE :
WELD_PREPARATION :
MODEL_3D_RELEASED_DATE :
MODEL_3D_REPLACES :
PAINT_SURFACE :
PART_SOURCE :
}

9
tests/metadata/gltf/A9 Normal file
View File

@@ -0,0 +1,9 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename nist_ftc_08_asme1_ap242-2.stp
set ref_size 118200
set check_metadata 1
set ref_metadata {Property for [0:1:1:1]:
Revision : C
PartNumber : NIST PMI FTC 08 ASME1
DescriptionRef : NIST PMI test model downloaded from http://go.usa.gov/mGVm
}

76
tests/metadata/gltf/end Normal file
View File

@@ -0,0 +1,76 @@
# Set flag dump_file to 1 in order to regenerate script files with actual data
# used as reference. In this mode all tests intentionally report failure.
set dump_file 0
# Read original file
if { [string length $filename] > 1} {
set path_file [locate_data_file $filename]
if { [catch { ReadFile aDocExport $path_file } catch_result] } {
set err_msg "Error: file was not read - exception "
puts $err_msg
}
}
# mesh the shape before Gltf writing
XGetOneShape a aDocExport
incmesh a 0.1
# write file
WriteGltf aDocExport $imagedir/${casename}_D_First.gltf
set aSize [file size $imagedir/${casename}_D_First.gltf]
# Import created Gltf file and get its metadata.
ReadGltf aDocImport $imagedir/${casename}_D_First.gltf
set aMetaDataBase [ XGetProperties aDocImport ]
set aMetaData [format $aMetaDataBase]
if { $dump_file == 1 } {
set fd_stream [open $dirname/$groupname/$gridname/$casename w]
puts $fd_stream "# !!!! This file is generated automatically, do not edit manually! See end script"
puts $fd_stream "set filename $filename"
puts $fd_stream "set ref_size $aSize"
puts $fd_stream "set check_metadata $check_metadata"
if {$check_metadata == 1} {
puts $fd_stream "set ref_metadata \{$aMetaData\}"
}
close $fd_stream
puts "Error : Running in regeneration mode, comparison was not performed!"
} else {
if {$aSize != $ref_size} {
puts "Error: Wrong file size $aSize instead of $ref_size"
}
if {$check_metadata == 1} {
# Compare metadata in files.
set aMetaDataLines [split ${aMetaData} "\n"]
set aRefMetaDataLines [split ${ref_metadata} "\n"]
set aMetaDataLinesCount [llength $aMetaDataLines]
set aRefMetaDataLinesCount [llength $aRefMetaDataLines]
set aMinLineCount [expr min($aMetaDataLinesCount, $aRefMetaDataLinesCount)]
for {set aLineIndex 0} {$aLineIndex < $aMinLineCount} {incr aLineIndex} {
set aCurrentMetaDataLine [lindex $aMetaDataLines $aLineIndex]
set aCurrentRefMetaDataLine [lindex $aRefMetaDataLines $aLineIndex]
if {$aCurrentMetaDataLine != $aCurrentRefMetaDataLine} {
puts "Error: Incorrect metadata at line $aLineIndex"
puts "Expected: \"$aCurrentRefMetaDataLine\""
puts "Actual: \"$aCurrentMetaDataLine\""
break
}
}
# It is faster to check this condition first, before string-by-string comparison,
# however string-by-string comparison would be more informative in case of error.
if {$aMetaDataLinesCount != $aRefMetaDataLinesCount} {
puts "Error: Line count is metadata doesn't match the expected value."
puts "Expected: $aRefMetaDataLinesCount"
puts "Actual: $aMetaDataLinesCount"
}
}
}
# finalize scenario
Close aDocImport
Close aDocExport
file delete $imagedir/${casename}_D_First.gltf
file delete $imagedir/${casename}_D_First.bin
puts "TEST COMPLETED"

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug28345_30338.stp
set ref_size 5896

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug28389_CONFIDENTIAL_SHEET_METAL_F3D.stp
set ref_size 86278

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug28444_nist_ftc_06_asme1_ct5240_rd.stp
set ref_size 85383

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug29633_nist_ctc_05_asme1_ap242-1.stp
set ref_size 69902

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug29803.stp
set ref_size 17032

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename sp7_04-do-242.stp
set ref_size 224779

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug32087_part.stp
set ref_size 15789

View File

@@ -1,3 +0,0 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename nist_ftc_08_asme1_ap242-2.stp
set ref_size 118200

View File

@@ -1,39 +0,0 @@
# Set flag dump_file to 1 in order to regenerate script files with actual data
# used as reference. In this mode all tests intentionally report failure.
set dump_file 0
# Read original file
if { [string length $filename] > 1} {
set path_file [locate_data_file $filename]
if { [catch { ReadFile D $path_file } catch_result] } {
set err_msg "Error: file was not read - exception "
puts $err_msg
}
}
# mesh the shape before Gltf writing
XGetOneShape a D
incmesh a 0.1
# write file
WriteGltf D $imagedir/${casename}_D_First.gltf
set aSize [file size $imagedir/${casename}_D_First.gltf]
if { $dump_file == 1 } {
set fd_stream [open $dirname/$groupname/$gridname/$casename w]
puts $fd_stream "# !!!! This file is generated automatically, do not edit manually! See end script"
puts $fd_stream "set filename $filename"
puts $fd_stream "set ref_size $aSize"
close $fd_stream
puts "Error : Running in regeneration mode, comparison was not performed!"
} else {
if {$aSize != $ref_size} {
puts "Error: Wrong file size $aSize instead of $ref_size"
}
}
# finalize scenario
Close D
file delete $imagedir/${casename}_D_First.gltf
file delete $imagedir/${casename}_D_First.bin
puts "TEST COMPLETED"

View File

@@ -1,2 +1,2 @@
001 step
002 gltf_export
002 gltf