1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-06-30 12:14:08 +03:00
occt/tests/bugs/xde/bug25357
akz b9c1e44004 0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode.
StlTransfer.cxx, function StlTransfer::BuildIncrementalMesh(...) fills the StlMesh_Mesh. Before this fix the StlTransfer always force meshing of the passed shape.

Now meshing is completely removed from the StlTransfer. StlWriter can return error status now, for example, if a mesh of the passed shape is empty. In this case file will be not created.

Added test case bugs/xde/bug25357

Avoid the warning on gcc compiler.
Test scripts were modified according to the fix.
     1) bug23192, bug22670, bug23193: removed "isParallel" flag from the command
         arguments. Manually meshing of the shape (as far as meshing was removed
         from STL writer).
     2) bug22898: before the fix writestl always remeshes the shape with a
         deflection, related to the boundery box of the shape. For "hammer" shape
         there is a 38.9076 deflection for mesh. Differences between before writing
         and after reading are dedicated to fact that stl writes triangulation as
         an elements of the spahe (like faces, edges etc.)
2015-02-05 14:40:24 +03:00

48 lines
955 B
Plaintext

puts "=========="
puts "OCC25357"
puts "=========="
puts ""
#######################################################################################
# STL writer does not check the given shape for existing triangulation and remeshes
# shape using BRepMesh in force mode
#######################################################################################
set aFile ${imagedir}/${test_image}.stl
file delete -force ${aFile}
set anASCIImode 0
ptorus res 10 8
incmesh res 0.5
#decho off
set LogBefore [trinfo res]
#decho on
writestl res ${aFile} ${anASCIImode}
#decho off
set LogAfter [trinfo res]
#decho on
set status 1
if { ![file exists ${aFile}] } {
set status 0
}
# Check file size
set filesize [ file size ${aFile} ]
if { ${filesize} == 0 } {
set status 0
}
if { $LogBefore != $LogAfter } {
set status 0
}
if {$status == 1} {
puts "OK: STL writer check given shape"
} else {
puts "Error: STL writer does not check given shape"
}