mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-11 01:58:22 +08:00
Replace std::optional return types with direct returns and exception-based error handling in Geom/Geom2d/Surface EvalD0/D1/D2/D3/DN methods to avoid performance overhead of std::optional wrapping on the hot evaluation path. Changes: - EvalD* methods now return result structs directly instead of std::optional<T>, throwing Geom_UndefinedValue/Geom_UndefinedDerivative on failure - D0/D1/D2/D3/DN inline wrappers simplified to unpack direct returns instead of checking optional validity - TryEval* helper functions in EvalRepUtils converted from std::optional<T> returns to bool + output parameter pattern - Adaptor classes (Adaptor3d_Curve/Surface, Adaptor2d_Curve2d, GeomAdaptor_Curve/Surface, Geom2dAdaptor_Curve) simplified by removing try-catch wrappers around evaluation calls - Removed dead #include <optional> from 5 header files - Updated GTests to match new direct-return API
13 lines
278 B
Plaintext
13 lines
278 B
Plaintext
puts "========"
|
|
puts "0030679: Attached model hangs most of OCCT common functionality"
|
|
puts "========"
|
|
puts ""
|
|
|
|
puts "REQUIRED ALL: Geom_OffsetSurface::EvalD0"
|
|
restore [locate_data_file bug30679_face.brep] a
|
|
|
|
pcurve a
|
|
2dcvalue a_4 1 u v
|
|
mksurface s a
|
|
catch {svalue s u v x y z}
|