Open CASCADE Technology 8.0.0.p1 Release #1316
dpasukhi
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Open Cascade is publishing Open CASCADE Technology version 8.0.0p1 as a hot patch on top of 8.0.0.
This patch release consolidates the fixes and stabilization work merged after
V8_0_0. It is intended to become the foundation for future 8.0.x maintenance releases. The C++17, build-system, repository-layout, and major API baseline remains the same as in 8.0.0, but several experimental 8.0.0 components were refined or replaced before the maintenance branch is continued.The full 8.0.0 release notes are available in V8_0_0.
Highlights
8.0.0.p1.GeomFill_NetworkSurfacebuilder.Standard_Strtod()no longer shares its Bigint pool between threads, fixing random numeric mis-parses in parallel parsing workloads such as parallel BRep reads.BRepFill_CompatibleWires,BRepExtrema_DistanceSS,IntWalk_IWalking, andBOPTools_AlgoTools::GetFaceOff()against reported degenerate inputs.timezonedeclarations safely.ploadcontinues after optional plugin load failures and reports loaded/skipped plugin counts.Migration Notes
GeomFill_GordonBuilderwas removed. UseGeomFill_Gordonfor the high-level workflow orGeomFill_NetworkSurfaceonly when the caller already owns a prepared compatible B-spline curve network.Approx_BSplineApproxInterpwas removed. Existing users should migrate to the appropriate interpolation or approximation APIs, such asGeomLib_Interpolate,GeomAPI_Interpolate, orGeomAPI_PointsToBSpline*, depending on constraints.GeomFill_Gordonnow exposesStatus(),Report(),SetApproximationMode(),GetApproximationMode(), andIsApproximate(). Check these when exact curve interpolation is required.GeomFill_Gordon::ApproximationMode::ExactOnlyremains the safe default. Enable approximate fallback only when an approximate sampled B-spline surface is acceptable.UID,RefUID, orItemUIDwhere appropriate. Do not persistNodeId,RefId, orRepIdas durable external identifiers.Mesh()subviews.SameParameterandSameRangeare per-CoEdgederived properties. Query them through theCoEdgeAPI rather than as edge-level state.NCollection_Sequenceis no longer recommended as the default container for new code. PreferNCollection_LinearVectorfor most append-and-iterate or contiguous-data workflows, and useNCollection_Listwhen list-like node behavior is specifically required.Graphic3d_Aspects::ToUseVertexColorForBackFaces()defaults totruefor compatibility. Disable it only when back faces should use the back material/interior color instead of vertex colors.Gordon Surface Historical Note
The experimental Gordon-surface implementation introduced with 8.0.0 has been replaced in 8.0.0p1. The earlier prototype used some broadly known Gordon-surface construction ideas that overlap with algorithms visible in public TiGL-related solutions, including occ_gordon. Users who were specifically experimenting with the former prototype can consult that public project directly and use or test with your solutions. The 8.0.0p1 implementation does not continue the prototype: it uses different ideas, algorithms, classes, and code paths.
Modeling Algorithms
GeomFill_Gordonaround a new exact network-construction path and a detailed result-reporting model.GeomFill_Gordon::ResultStatus,GeomFill_Gordon::ApproximationMode,GeomFill_Gordon::BuildStage, andGeomFill_Gordon::BuildReport.GeomFill_NetworkSurfaceas a low-level builder for direct compatible-network Gordon surface construction.GeomFill_NetworkSurface::ResultStatusvalues covering invalid input, curve compatibility, skinning, reference surface, knot alignment, rational construction, periodicity, and generic construction failures.GeomFill_GordonBuilderintermediate-surface builder and itsProfileSurface(),GuideSurface(), andTensorSurface()style workflow.Approx_BSplineApproxInterp, which had been used by the previous Gordon prototype.BRepFill_CompatibleWires::SameNumberByPolarMethod()crash inThruSectionsworkflows with mismatched or non-coaxial closed profiles by guarding correspondence-list iterator advancement.BRepExtrema_DistanceSSfor edge-edge and edge-face distance computations when an edge is defined only by pcurves.IntWalk_IWalking::ComputeOpenLine()and related walking paths by detecting repeated bad-root subdivision failures and stopping after the division limit.BOPTools_AlgoTools::GetFaceOff()for near-zero angles between coplanar or near-degenerate candidate faces.Modeling Data And BRepGraph
BRepGraph_Dataowns storage, layer registry, cache registry, and stable views.BRepGraph_ItemIdfor transient node/reference item addressing andBRepGraph_ItemUIDfor durable item identity stable across compaction and reordering.BRepGraph_RepIdtoBRepGraphInc_RepId.hxx; it remains a session-local use-record identity and is not a durable external identifier.BRepGraph_CacheRegistryand derived-state caches for edge, coedge, wire, shell, and mesh data.EnsureLayer()andEnsureCache()with exclusive locking only on creation.PrepareForLoad()and direct slot assignment when copying into an empty graph.BRepGraph_CopyRemapsupport for copy and compact flows, including identity and explicit remapping modes.Mesh().Cache(),Mesh().Persistent(),Mesh().Editor(), andMesh().Poly()paths.Foundation Classes
NCollection_LinearVector::ToArray1()andNCollection_LocalArray::ToArray1()views for contiguous data.NCollection_Array1<const T>views for contiguous containers.NCollection_Array1for direct array views.NCollection_DynamicArrayiterator behavior, including append scenarios across segmented blocks.Reserve()aliases toNCollection_FlatMapandNCollection_FlatDataMap.Convert_GridPolynomialToPolesconstructors and switched relevantAdvApp2Varpaths to array views instead of extra handle allocations.size_taccessors toPoly_ArrayOfNodesandPoly_ArrayOfUVNodes.Poly_Polygon2D::Copy()and improved polygon and triangulation copy paths to preserve contiguous arrays, deflection, cached bounds, and triangulation parameters.Poly_PolygonOnTriangulation::ChangeNodeArray()andChangeParameterArray().Poly_Polygon2D,Poly_Polygon3D,Poly_PolygonOnTriangulation, andPoly_Triangulation, with null-handle-safe equality and hash support.Standard_Strtod()thread-local, fixing concurrent parsing races.Visualization
OpenGl_ShaderGridto keep shader grid state, bounds, echo snapping, point snapping, bounded or unbounded extents, circular grid data, arc bounds, background anchoring, and view-adaptive scale data together.Graphic3d_CView::ZFitAllBounds()andAutoZFit()integration.vfit.vgrid.Graphic3d_CView::ShaderGridEcho()andShaderGridSnapPoint().V3d_View::ConvertToGrid(int, int, Graphic3d_Vertex&),ConvertToGridEcho(),IsGridActive(), andIsShaderGridActive().Graphic3d_Aspects::ToUseVertexColorForBackFaces()andSetUseVertexColorForBackFaces(bool).Prs3d_ShadingAspectaccessors for the back-face vertex color policy.vaspectsthrough-useVertexColorForBackFacesand related aliases.Data Exchange
timezonemay be declared as the historical BSD function rather than the POSIX/XSI variable.time()andlocaltime()->tm_gmtoff; newer FreeBSD and POSIX/XSI platforms keep the existingtimezonevariable path.DRAW And Tests
ploadnow catches plugin load failures per resource, continues loading the remaining requested plugins, and reports loaded and skipped counts.ploadreturns an error only when all requested plugin resources were skipped and none were loaded.Standard_Strtod, BRep parallel-read, BRepExtrema null-curve, shader grid, shader manager, aspects, and OpenGL back-face vertex-color tests.New Contributors
Full Changelog: V8_0_0...V8_0_0_p1
This discussion was created from the release V8_0_0_p1.
Beta Was this translation helpful? Give feedback.
All reactions