mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
Added DRAW command dsetsignal, resetting OSD signal handler with either armed or disabled FPE handler, according to an option. If called without arguments, it sets FPE handler only if environment variable OSD_FPE is defined (with value different from 0). On start, DRAW calls dsetsignal to set FPE signal if CSF_FPE is defined. Test bugs fclasses bug6143 uses dsetsignal to set FPE handler unconditionally before the test command, and resets it to default at the end. A number of changes in the code have been done in order to fix floating point exceptions that became generated after enabling signals: - Global functions Sinh() and Cosh() defined in Standard_Real.hxx are improved to raise Standard_NumericError exception if argument is too big (greater than 710.47586), instead of relying on system treatment of floating point overflow. These functions are used instead of sinh and cosh in ElCLib.cxx. - Maximal value of parameter on hyperbola is restricted by 23 (corresponding to ~1e10 in 3d) in order to avoid FP overflow in Extrema_GenExtCS.cxx, ShapeFix_EdgeProjAux.cxx. - Interface of the root curve adaptor class Adaptor3d_Curve has been updated to add new virtual methods BasisCurve and OffsetValue. They complement the adaptor for the case of offset curves. These methods are used in Extrema_GenExtCS.cxx to restrict domain search in the case of offset of hyperbola, in order to get rid of floating point overflow. All classes inheriting Adaptor3d_Curve have been changed to implement the new virtual methods. - Protection against division by zero has been implemented in ApproxInt_KnotTools.cxx, BRepClass3d_SClassifier.cxx, BRepGProp_Face.cxx, BRepMesh_FastDiscretFace.cxx, Geom2dGcc_Circ2d2TanOnIter.cxx, Geom2dInt_Geom2dCurveTool.cxx, IntPolyh_MaillageAffinage.cxx. - Protection against calling of math functions of infinite arguments has been added in BRepCheck_Edge.cxx, BRepLib.cxx, CSLib_NormalPolyDef.cxx, Extrema_FuncExtPC.gxx, Extrema_GExtPC.gxx, Extrema_GLocateExtPC.gxx, Intf_InterferencePolygonPolyhedron.gxx, ShapeAnalysis_Surface.cxx, ShapeAnalysis_TransferParametersProj.cxx, ShapeAnalysis_Wire.cxx, math_FunctionSetRoot.cxx. - Proper initialization of local variables is done in BOPAlgo_PaveFiller_6.cxx, XSDRAWSTLVRML.cxx. - Inconsistent usage of Standard_Boolean* to access integer data in HLR (caused by #27772) is corrected Some test cases have been updated to actual state.
Open CASCADE Technology ======================= This directory contains sources of Open CASCADE Technology (OCCT), a software development platform providing services for 3D surface and solid modeling, CAD data exchange, and visualization. Most of OCCT functionality is available in the form of C++ libraries. OCCT can be best applied in development of software dealing with 3D modeling (CAD), manufacturing / measuring (CAM) or numerical simulation (CAE). License ------- Open CASCADE Technology is free software; you can redistribute it and / or modify it under the terms of the GNU Lesser General Public version 2.1 as published by the Free Software Foundation, with special exception defined in the file OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT distribution for complete text of the license. Alternatively, Open CASCADE Technology may be used under the terms of Open CASCADE commercial license or contractual agreement. Note that Open CASCADE Technology is provided on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND. The entire risk related to any use of the OCCT code and materials is on you. See the license text for formal disclaimer. Packaging --------- You can receive certified version of OCCT code in different packages. - Snapshot of Git repository: contains C++ header and source files of OCCT, documentation sources, build scripts, and CMake project files. - Complete source archive: contains all sources of OCCT, generated HTML and PDF documentation, and ready-to-use projects for building on all officially supported platforms. - Binary package (platform-specific): in addition to complete source archive, it includes binaries of OCCT and third-party libraries built on one platform. This package allows using OCCT immediately after installation. Certified versions of OCCT can be downloaded from http://www.opencascade.com You can also find OCCT pre-installed on your system, or install it from packages provided by a third party. Note that packaging and functionality of such versions can be different from certified releases. Please consult documentation accompanying your version for details. Documentation ------------- Open file doc/html/index.html to browse HTML documentation. If HTML documentation is not available in your package, you can: - Generate it from sources. You need to have Tcl and Doxygen 1.8.4 (or above) installed on your system. and accessible in your environment (check environment variable PATH). Use batch file *gendoc.bat* on Windows or Bash script *gendoc* on Linux or OS X to (re)generate documentation. - Read documentation in source plain text (MarkDown) format found in subfolder *dox* See *dox/dev_guides/documentation/documentation.md* for details. Building -------- In most cases you need to rebuild OCCT on your platform (OS, compiler) before using it in your project, to ensure binary compatibility. Consult the file *dox/dev_guides/building/building.md* for instructions on building OCCT from sources on supported platforms. Version ------- The current version of OCCT can be consulted in the file *src/Standard/Standard_Version.hxx* Development ----------- For information regarding OCCT code development please consult the official OCCT Collaborative Development Portal: http://dev.opencascade.org
Description
Languages
C++
98.1%
CMake
1%
Tcl
0.3%
C
0.2%
GLSL
0.1%