1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-08 14:17:06 +03:00

Compare commits

..

17 Commits

Author SHA1 Message Date
dpasukhi
75efe3538e 0033818: Data Exchange - Regenerate flex file with latest version
Regenerated bison and Flex files.
  Flex: 2.6.4 dev (august 2024)
  Bison: 3.7.4 release
2024-09-07 12:24:12 +00:00
dpasukhi
ed20837d8b 0033703: Data Exchange, Step Export - Transfer edge speed improvement
Move optional code close to use case to avoid extra calculation
2024-09-06 20:22:00 +00:00
reciprocal
2ab4e9e180 0033319: Coding - Static linking fails with unresolved symbols due to linking order and missing transitive dependencies
The absence of target_link_libraries calls for static libraries caused CMake to fail
in modeling the link dependencies correctly.
This fix ensures that CMake correctly exports the dependencies in OpenCASCADEConfig.cmake and
resolves downstream linking errors for projects that link against static OpenCASCADE libraries.
2024-09-05 18:15:57 +00:00
dpasukhi
d83d72acf9 0033805: Configuration - Implement GitHub Actions build scripts
Enable MSVC code analyzing to push SARIF files
2024-09-05 17:55:07 +00:00
dpasukhi
fae5678dc7 0033750: Configuration - make file configuration failed in mfc example
Updated MFC sample to build together with OCCT
2024-09-05 17:55:01 +00:00
dpasukhi
488c43ed0c 0033812: Configuration, MacOS - Debug Symbols Stripped From Dynamic Libraries
Update optimization flag to release only
2024-09-05 09:14:24 +00:00
dpasukhi
2fa9309186 0033805: Configuration - Implement GitHub Actions build scripts
Build Scripts:
- Linux GCC x64 dynamic
- Linux Clang x64 dynamic
- Windows MSVC x64 dynamic
- macOS Clang x64 dynamic
Security scanning:
- CodeQL security scanning
- MSVC code scanning
2024-08-31 13:33:59 +00:00
dpasukhi
4309cf7362 0033810: Coding - GitIgnore update with .vscode
Updated .gitignore
2024-08-31 13:31:34 +00:00
dpasukhi
7236e83dcc 0033808: Coding - FreeType Use unsigned point and contour indexing in FT_Outline
Changes to auto instead of specific type
2024-08-31 13:28:20 +00:00
luzpaz
099e0d2524 0033807: Documentation - Fix various typos found in codebase 2024-08-31 14:26:15 +01:00
astromko
b332761e13 0033648: Modeling Algorithms - Bad partition result
Removed unnecessary tolerance increase for Line\Line intersection.
Tolerance increasing logic for some specific curve types
  was added with #26619.
Original fix had no test for Line/Line case and
  theoretically was added as a possible issue.
After research Line/Line case doesn't need a special tolerance case.
2024-08-25 08:37:51 +00:00
dpasukhi
da71394f31 0033612: Configuration - Build configuration may fail to detect TBB
Fixed TBB type to depends on package
2024-08-25 08:35:49 +00:00
oan
2736652117 0033791: Shape Healing - ShapeCustom not take location of source shape for the cached context and misses root one
Pass ShapeBuild_ReShape to recursive call to retrieve complete change history.
Update history of changes by the source shape (if changed), not only by its subshapes.
Check the context for a cached shape using a reference shape without location.
2024-08-09 15:27:03 +00:00
ichesnok
677f383561 0033788: Data Exchange, DE Wrapper - Shape Healing configuration node
DE_ShapeFixParameters class added for shape healing parameters storage.
DE_ShapeFixConfigurationNode class added for work with parameters.
2024-08-09 15:26:59 +00:00
oan
bd14b69336 0033790: Data Exchange - XCAFDoc_LayerTool creates temporary instances during initialization of layer attributes
Removed initialization of temporary objects.
2024-08-09 15:26:53 +00:00
anv
f0620a8d65 0033781: Modeling Algorithms - Using incorrect boundaries while traversing through triangulation
Upper boundary updated for triangulation normals traversing.
2024-08-05 08:28:17 +00:00
luzpaz
245febe036 0033778: Documentation - Fix various typos found in codebase 2024-07-26 08:51:12 +01:00
257 changed files with 5683 additions and 3020 deletions

View File

@@ -0,0 +1,40 @@
# This workflow will build OCCT on Ubuntu with Clang compiler
# using the provided Docker image with Clang tools.
#
# Notes:
# freetype is disabled
# samples are not built
name: Build OCCT on Linux with Clang x64 dynamic
on:
pull_request:
branches:
- '**'
jobs:
build-linux-clang:
name: Build on Ubuntu with Clang
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.7
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y tcl-dev tk-dev cmake clang make libbtbb-dev libx11-dev libglu1-mesa-dev
- name: Configure OCCT
run: |
mkdir -p build
cd build
cmake -G "Unix Makefiles" \
-D CMAKE_C_COMPILER=clang \
-D CMAKE_CXX_COMPILER=clang++ \
-D USE_FREETYPE=OFF \
-D CMAKE_BUILD_TYPE=Release ..
- name: Build OCCT
run: |
cd build
make -j$(nproc)

View File

@@ -0,0 +1,40 @@
# This workflow will build OCCT on Linux with GCC x64 dynamic
# using the provided Docker image with GCC tools.
#
# Notes:
# freetype is disabled
# samples are not built
name: Build OCCT on Linux with GCC x64 dynamic
on:
pull_request:
branches:
- '**'
jobs:
build-linux-gcc:
name: Build on Ubuntu with GCC
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.7
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y tcl-dev tk-dev cmake gcc g++ make libbtbb-dev libx11-dev libglu1-mesa-dev
- name: Configure OCCT
run: |
mkdir -p build
cd build
cmake -G "Unix Makefiles" \
-D CMAKE_C_COMPILER=gcc \
-D CMAKE_CXX_COMPILER=g++ \
-D USE_FREETYPE=OFF \
-D CMAKE_BUILD_TYPE=Release ..
- name: Build OCCT
run: |
cd build
make -j$(nproc)

View File

@@ -0,0 +1,43 @@
# This workflow builds OCCT on macOS with Clang x64 dynamic.
#
# Notes:
# freetype is disabled
# samples are not built
name: Build OCCT on macOS with Clang x64 dynamic
on:
pull_request:
branches:
- '**'
jobs:
build-macos-clang:
name: Build on macOS with Clang
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.7
- name: Install dependencies
run: |
brew update
brew install tcl-tk tbb gl2ps xerces-c \
libxmu libxi libxft libxpm \
glew
- name: Configure OCCT
run: |
mkdir -p build
cd build
cmake -G "Unix Makefiles" \
-D CMAKE_C_COMPILER=clang \
-D CMAKE_CXX_COMPILER=clang++ \
-D USE_FREETYPE=OFF \
-D CMAKE_BUILD_TYPE=Release ..
- name: Build OCCT
run: |
cd build
make -j$(sysctl -n hw.logicalcpu)

View File

@@ -0,0 +1,44 @@
# This workflow will build OCCT on Windows with MSVC x64 in dynamic mode
# using the provided Docker image with MSVC tools.
#
# Notes:
# freetype is disabled
# Draw module is disabled
# samples are not built
name: Build OCCT on Windows with MSVC x64 dynamic
on:
pull_request:
branches:
- '**'
jobs:
build-windows-msvc:
name: Build on Windows with MSVC
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.7
- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1.13.0
with:
arch: x64
- name: Install dependencies
run: |
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System' -y
choco install magicsplat-tcl-tk -y
- name: Configure OCCT
run: |
mkdir build
cd build
cmake -T host=x64 -D USE_FREETYPE=OFF -D BUILD_MODULE_Draw=OFF -D CMAKE_BUILD_TYPE=Release ..
- name: Build OCCT
run: |
cd build
cmake --build . --config Release -- /m

62
.github/workflows/codemsvc.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
# Security scanning with Microsoft C++ Code Analysis.
# Checks any master integration and publish warnings into security GitHub tab.
#
# Find more information at:
# https://github.com/microsoft/msvc-code-analysis-action
name: Microsoft C++ Code Analysis
on:
push:
branches:
- 'master'
env:
# Path to the CMake build directory.
build: '${{ github.workspace }}/build'
config: 'Debug'
permissions:
contents: read
jobs:
analyze:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
name: Analyze
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.7
- name: Install dependencies
run: |
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System' -y
choco install magicsplat-tcl-tk -y
- name: Configure CMake
run: |
mkdir build
cd build
cmake -D USE_FREETYPE=OFF -DCMAKE_BUILD_TYPE=${{ env.config }} ..
- name: Run MSVC Code Analysis
uses: microsoft/msvc-code-analysis-action@v0.1.1
# Provide a unique ID to access the sarif output path
id: run-analysis
with:
cmakeBuildDirectory: ${{ env.build }}
buildConfiguration: ${{ env.config }}
# Ruleset file that will determine what checks will be run
ruleset: NativeRecommendedRules.ruleset
# Paths to ignore analysis of CMake targets and includes
# ignoredPaths: ${{ github.workspace }}/dependencies;${{ github.workspace }}/test
# Upload SARIF file to GitHub Code Scanning Alerts
- name: Upload SARIF to GitHub
uses: github/codeql-action/upload-sarif@v3.26.5
with:
sarif_file: ${{ steps.run-analysis.outputs.sarif }}

60
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,60 @@
# Security scanning with CodeQL.
# Checks any master integration and publish warnings into security GitHub tab.
#
# Find more information at:
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning
name: CodeQL Code Analysis
on:
push:
branches:
- 'master'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ${{ 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: c-cpp
build-mode: manual
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.7
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y tcl-dev tk-dev cmake gcc g++ make libbtbb-dev libx11-dev libglu1-mesa-dev
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3.26.5
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
- if: matrix.build-mode == 'manual'
shell: bash
run: |
mkdir -p build
cd build
cmake -G "Unix Makefiles" \
-D CMAKE_C_COMPILER=gcc \
-D CMAKE_CXX_COMPILER=g++ \
-D USE_FREETYPE=OFF \
-D CMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3.26.5
with:
category: "/language:${{matrix.language}}"

1
.gitignore vendored
View File

@@ -1,6 +1,7 @@
# standard directories for derived files in CASROOT
/.adm
/.vscode
/lin
/mac
/wnt

View File

@@ -19,7 +19,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
# include occt macros. compiler_bitness, os_wiht_bit, compiler
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
# specify product folder in connectin with 3RDPARTY_DIR
# specify product folder in connection with 3RDPARTY_DIR
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
#CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_${PRODUCT_NAME}_DIR PATH "The directory containing ${PRODUCT_NAME}")

View File

@@ -12,7 +12,7 @@ if (NOT BISON_EXECUTABLE OR NOT EXISTS "${BISON_EXECUTABLE}")
endif()
# Add paths to 3rdparty subfolders containing name "bison" to CMAKE_PROGRAM_PATH variable to make
# these paths searhed by find_package
# these paths searched by find_package
if (3RDPARTY_DIR)
file (GLOB BISON_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*bison*/")
foreach (candidate_path ${BISON_PATHS})

View File

@@ -2580,7 +2580,7 @@ function (cotire_setup_target_pch_usage _languages _target _wholeTarget)
message (STATUS "add_custom_command: TARGET ${_target} PRE_BUILD ${_cmds}")
endif()
# because CMake PRE_BUILD command does not support dependencies,
# we check dependencies explicity in cotire script mode when the pre-build action is run
# we check dependencies explicitly in cotire script mode when the pre-build action is run
add_custom_command(
TARGET "${_target}"
PRE_BUILD ${_cmds}
@@ -2637,7 +2637,7 @@ function (cotire_setup_unity_generation_commands _language _target _targetScript
endif()
if (WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
# unity file compilation results in potentially huge object file,
# thus use /bigobj by default unter cl.exe and Windows Intel
# thus use /bigobj by default under cl.exe and Windows Intel
set_property (SOURCE "${_unityFile}" APPEND_STRING PROPERTY COMPILE_FLAGS "/bigobj")
endif()
cotire_set_cmd_to_prologue(_unityCmd)

View File

@@ -15,7 +15,7 @@ if (NOT FLEX_INCLUDE_DIR OR NOT EXISTS "${FLEX_INCLUDE_DIR}")
endif()
# Add paths to 3rdparty subfolders containing name "flex" to CMAKE_PROGRAM_PATH and
# CMAKE_INCLUDE_PATH variables to make these paths searhed by find_package
# CMAKE_INCLUDE_PATH variables to make these paths searched by find_package
if (3RDPARTY_DIR)
file (GLOB FLEX_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*flex*")
foreach (candidate_path ${FLEX_PATHS})

View File

@@ -14,7 +14,7 @@ OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
OCCT_MAKE_COMPILER_SHORT_NAME()
OCCT_MAKE_COMPILER_BITNESS()
# specify freetype folder in connectin with 3RDPARTY_DIR
# specify freetype folder in connection with 3RDPARTY_DIR
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
#CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_FREETYPE_DIR PATH "The directory containing freetype")

View File

@@ -168,7 +168,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
set (CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
endif()
# Optimize size of binaries
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS}")
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
elseif(MINGW)
add_definitions(-D_WIN32_WINNT=0x0601)
# _WIN32_WINNT=0x0601 (use Windows 7 SDK)

View File

@@ -107,8 +107,8 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
# choose appropriate extension for generated files: "cxx" if source file contains
# instruction to generate C++ code, "c" otherwise
set (BISON_OUTPUT_FILE_EXT "c")
set (FLEX_OUTPUT_FILE_EXT "c")
set (BISON_OUTPUT_FILE_EXT "cxx")
set (FLEX_OUTPUT_FILE_EXT "cxx")
file (STRINGS "${CURRENT_BISON_FILE}" FILE_BISON_CONTENT)
foreach (FILE_BISON_CONTENT_LINE ${FILE_BISON_CONTENT})
string (REGEX MATCH "%language \"C\\+\\+\"" CXX_BISON_LANGUAGE_FOUND ${FILE_BISON_CONTENT_LINE})
@@ -479,8 +479,8 @@ if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT)
if(IS_VTK_9XX)
string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
endif()
target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
endif()
target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
if (USE_QT)
foreach (PROJECT_LIBRARY_DEBUG ${PROJECT_LIBRARIES_DEBUG})

View File

@@ -27,7 +27,7 @@ if (WIN32)
# Below, we have correct 3RDPARTY_DIR.
# Initialize TBB folder in connectin with 3RDPARTY_DIR.
# Initialize TBB folder in connection with 3RDPARTY_DIR.
if (("${3RDPARTY_TBB_DIR}" STREQUAL "") OR (NOT EXISTS "${3RDPARTY_TBB_DIR}"))
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
if (TBB_DIR_NAME)
@@ -44,7 +44,7 @@ if (WIN32)
REQUIRED
CONFIG)
# Achive include directory
# Archive include directory
get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
@@ -56,13 +56,17 @@ if (WIN32)
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
endif()
# Get installed configuration of tbb
get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS)
list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
separate_arguments (CSF_TBB)
foreach (LIB IN LISTS CSF_TBB)
string(TOLOWER "${LIB}" LIB_LOWER)
string(TOUPPER "${LIB}" LIB_UPPER)
# Achive *.lib files and directory containing it.
get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_RELEASE)
# Archive *.lib files and directory containing it.
get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_${CHOSEN_IMPORT_CONF})
# Reserve cache variable for *.lib.
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.lib)")
@@ -88,8 +92,8 @@ if (WIN32)
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
endif()
# Achive *.dll files and directory containing it.
get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
# Archive *.dll files and directory containing it.
get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
# Reserve cache variable for *.dll.
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL)
set (3RDPARTY_${LIB_UPPER}_DLL "" CACHE FILEPATH "${LIB_UPPER} library (*.dll)")
@@ -171,9 +175,9 @@ else ()
REQUIRED
CONFIG)
endif()
# TBB has been configured (in other case FATAL_ERROR occures).
# TBB has been configured (in other case FATAL_ERROR occurs).
# Achive include directory.
# Archive include directory.
get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
@@ -185,13 +189,17 @@ else ()
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
endif()
# Get installed configuration of tbb
get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS)
list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
separate_arguments (CSF_TBB)
foreach (LIB IN LISTS CSF_TBB)
string(TOLOWER "${LIB}" LIB_LOWER)
string(TOUPPER "${LIB}" LIB_UPPER)
# Achive *.so files and directory containing it.
get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
# Archive *.so files and directory containing it.
get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
# Reserve cache variable for *.so.
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.so)")

View File

@@ -405,7 +405,7 @@ proc Rename {thePath theExtensions theNewNames theCheckMode} {
}
}
# @thePackagePath eather file or folder. If it is a folder,
# @thePackagePath either file or folder. If it is a folder,
# all files with @theHeaderExtensions are processed.
# "fwd.tcollection" section from upgrade.ini file is used to find out what
# classes have been converted and, thus, what forward declarations can be replaced

View File

@@ -370,7 +370,7 @@ https://dev.opencascade.org/resources/download/3rd-party-components
| Flex 2.6.4+ and Bison 3.7.1+ | https://sourceforge.net/projects/winflexbison/ | Data Exchange | Updating STEP and ExprIntrp parsers |
| RapidJSON 1.1+ | https://rapidjson.org/ | Data Exchange | Reading glTF files |
| Draco 1.4.1+ | https://github.com/google/draco | Data Exchange | Reading compressed glTF files |
| Tcl/Tk 8.6.3+ | https://www.tcl.tk/software/tcltk/download.html | DRAW Test Harness | Tcl interpretor in Draw module |
| Tcl/Tk 8.6.3+ | https://www.tcl.tk/software/tcltk/download.html | DRAW Test Harness | Tcl interpreter in Draw module |
| Qt 5.3.2+ | https://www.qt.io/download/ | Inspector and Samples | Inspector Qt samples and |
| Doxygen 1.8.5+ | https://www.doxygen.nl/download.html | Documentation | (Re)generating documentation |
| Graphviz 2.38+ | https://graphviz.org/ | Documentation | Generating dependency graphs |

View File

@@ -763,7 +763,7 @@ filter2->AddSkipped("TDataStd_Integer");
app->Open("example.cbf", doc, filter2);
~~~~
*PCDM_ReaderFilter::AppendMode_Protect* means that if the loading algorithm finds already existing attribute in the document, it will not be overwritten by attibute from the loading file. If it is needed to
*PCDM_ReaderFilter::AppendMode_Protect* means that if the loading algorithm finds already existing attribute in the document, it will not be overwritten by attribute from the loading file. If it is needed to
substitute the existing attributes, the reading mode *PCDM_ReaderFilter::AppendMode_Overwrite* must be used instead.
*AddRead* and *AddSkipped* methods for attributes should not be used in one filter. If it is so, *AddSkipped* attributes are ignored during the read.
@@ -971,7 +971,7 @@ The "correct" history of a used modeling operation serves the basis of naming me
| Closed wire | Edges | All edges |
| Opened wire | Edges and ending vertexes | All edges plus ending vertexes of the wire |
| Edge | Vertexes | Two vertexes are expected |
| Compound or CompSolid | To be used consequentially the above declared rule applied to all sub-shapes of the first level | Compound/CompSolid to be explored level by level until any the mentioned above types will be met |
| Compound or CompSolid | To be used consequently the above declared rule applied to all sub-shapes of the first level | Compound/CompSolid to be explored level by level until any the mentioned above types will be met |
The history should return (and track) only elementary types of sub-shapes, i.e. Faces, Edges and Vertexes, while other so-called aggregation types: Compounds, Shells, Wires, are calculated by Selection mechanism automatically.

View File

@@ -119,7 +119,7 @@ if (OpenCASCADE_INCLUDE_DIR_FOUND AND OpenCASCADE_LIBRARY_DIR_FOUND)
set (OpenCASCADE_INSTALL_PREFIX ${OpenCASCADE_DIR})
# Define OCCT toolkits so that CMake can put absolute paths to linker;
# the library existance is not checked here, since modules can be disabled.
# the library existence is not checked here, since modules can be disabled.
foreach (aLibIter ${OpenCASCADE_TKLIST})
add_library (${aLibIter} SHARED IMPORTED)

View File

@@ -11,7 +11,7 @@ project (ImportExport)
add_definitions (-DWINVER=0x0501 -DUNICODE -D_UNICODE)
set (CMAKE_MFC_FLAG 2)
set (ImportExport_SRC_DIR ${MFC_STANDARD_SAMPLES_DIR}/05_ImportExport/src)
set (ImportExport_SRC_DIR ${MFC_STANDARD_SAMPLES_DIR}/03_ImportExport/src)
set (ImportExport_HEADER_FILES ${ImportExport_SRC_DIR}/ColoredShapes.h
${ImportExport_SRC_DIR}/ImportExportApp.h
${ImportExport_SRC_DIR}/ImportExportDoc.h
@@ -21,7 +21,7 @@ set (ImportExport_SOURCE_FILES ${ImportExport_SRC_DIR}/ColoredShapes.cpp
${ImportExport_SRC_DIR}/ImportExportDoc.cpp
${ImportExport_SRC_DIR}/StdAfx.cpp)
set (ImportExport_RESOURCE_DIR ${MFC_STANDARD_SAMPLES_DIR}/05_ImportExport/res)
set (ImportExport_RESOURCE_DIR ${MFC_STANDARD_SAMPLES_DIR}/03_ImportExport/res)
set (ImportExport_RESOURCE_HEADER ${ImportExport_RESOURCE_DIR}/resource.h)
set (ImportExport_RESOURCE_FILES ${ImportExport_RESOURCE_DIR}/Toolbar.bmp
${ImportExport_RESOURCE_DIR}/ImportExport.rc)
@@ -55,7 +55,7 @@ else()
endif()
include_directories (${CMAKE_BINARY_DIR}/inc
${MFC_STANDARD_SAMPLES_DIR}/05_ImportExport
${MFC_STANDARD_SAMPLES_DIR}/03_ImportExport
${ImportExport_SRC_DIR}
${MFC_STANDARD_SAMPLES_DIR}/Common)

View File

@@ -11,7 +11,7 @@ project (HLR)
add_definitions(-DWINVER=0x0501 -DUNICODE -D_UNICODE)
set (CMAKE_MFC_FLAG 2)
set (HLR_SRC_DIR ${MFC_STANDARD_SAMPLES_DIR}/08_HLR/src)
set (HLR_SRC_DIR ${MFC_STANDARD_SAMPLES_DIR}/04_HLR/src)
set (HLR_HEADER_FILES ${HLR_SRC_DIR}/HLRApp.h
${HLR_SRC_DIR}/HLRDoc.h
${HLR_SRC_DIR}/HLRView2D.h
@@ -23,7 +23,7 @@ set (HLR_SOURCE_FILES ${HLR_SRC_DIR}/HLRApp.cpp
${HLR_SRC_DIR}/SelectionDialog.cpp
${HLR_SRC_DIR}/StdAfx.cpp )
set (HLR_RESOURCE_DIR ${MFC_STANDARD_SAMPLES_DIR}/08_HLR/res)
set (HLR_RESOURCE_DIR ${MFC_STANDARD_SAMPLES_DIR}/04_HLR/res)
set (HLR_RESOURCE_HEADER ${HLR_RESOURCE_DIR}/resource.h)
set (HLR_RESOURCE_FILES ${HLR_RESOURCE_DIR}/axoviewd.bmp
${HLR_RESOURCE_DIR}/axoviewf.bmp

View File

@@ -82,7 +82,6 @@ set (COMMON_HEADER_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.h
${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_StereoConfigDlg.h
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.h
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.h
${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.hxx
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.h
${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.h
${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.h

View File

@@ -36,7 +36,7 @@
//! The Datum groups together the construction elements such as lines, circles, points, trihedra, plane trihedra, planes and axes.
//! The Relation is made up of constraints on one or more interactive shapes and the corresponding reference geometry.
//! For example, you might want to constrain two edges in a parallel relation.
//! This contraint is considered as an object in its own right, and is shown as a sensitive primitive.
//! This constraint is considered as an object in its own right, and is shown as a sensitive primitive.
//! This takes the graphic form of a perpendicular arrow marked with the || symbol and lying between the two edges.
//! The Object type includes topological shapes, and connections between shapes.
//! None, in order not to eliminate the object, tells the application to look further until it finds an object definition in its generation which is accepted.

View File

@@ -42,7 +42,7 @@ DEFINE_STANDARD_HANDLE(AIS_ExclusionFilter, SelectMgr_Filter)
//! except those of the types and signatures stored
//! in the filter framework
//! - Exclusion flag off
//! - the funciton IsOk answers true for all objects
//! - the function IsOk answers true for all objects
//! which have the same type and signature as the stored ones.
class AIS_ExclusionFilter : public SelectMgr_Filter
{

View File

@@ -40,7 +40,7 @@ public:
//! @warning It binds this object with Graphic3d_ZLayerId_TopOSD layer.
Standard_EXPORT AIS_RubberBand();
//! Consructs the rubber band with empty filling and defined line style.
//! Constructs the rubber band with empty filling and defined line style.
//! @param theLineColor [in] color of rubber band lines
//! @param theType [in] type of rubber band lines
//! @param theLineWidth [in] width of rubber band line. By default it is 1.

View File

@@ -31,7 +31,7 @@
#include <TCollection_HAsciiString.hxx>
#include <stdio.h>
// This is a generic header for any STEP sheme
// This is a generic header for any STEP scheme
static Handle(TCollection_HAsciiString) nulstr;
static Handle(Interface_HArray1OfHAsciiString) nularr;

View File

@@ -146,7 +146,7 @@ static void Hunt(const TColStd_Array1OfReal& Arr,
const Standard_Real Coord,
Standard_Integer& Iloc)
{//Warning: Hunt is used to find number of knot which equals coordinate component,
// when coordinate component definitly equals a knot only.
// when coordinate component definitely equals a knot only.
Standard_Real Tol=Precision::PConfusion()/10;
Standard_Integer i=1;
while((i <= Arr.Upper()) && (Abs(Coord - Arr(i)) > Tol)){
@@ -638,7 +638,7 @@ static void Locate2Coord(const Standard_Integer Index,
if((DComp > 0)&&(Abs(DComp)>Tol)) {
Hunt(Arr,Comp,N);
if (N >= NUp){
//limit case: Hunt() cought upper knot. Take the last span.
//limit case: Hunt() caught upper knot. Take the last span.
N = NUp - 1;
}
if(Index==1) { Tmp1=BSplS->UKnot(N);
@@ -659,7 +659,7 @@ static void Locate2Coord(const Standard_Integer Index,
if((DComp < 0)&&(Abs(DComp)>Tol)){
Hunt(Arr,Comp,N);
if (N <= NLo) {
//limit case: Hunt() cought lower knot. Take the first span.
//limit case: Hunt() caught lower knot. Take the first span.
N = NLo + 1;
}
if(Index==1) { Tmp1=BSplS->UKnot(N-1);

View File

@@ -559,7 +559,7 @@ Standard_Boolean Adaptor3d_TopolTool::Identical
#include <gp_Dir.hxx>
#include <gp_Vec.hxx>
#define myMinPnts 4 //Absolut possible minimum of sample points
#define myMinPnts 4 //Absolute possible minimum of sample points
//Restriction of IntPolyh

View File

@@ -363,7 +363,7 @@ void AdvApp2Var_ApproxAFunc2Var::ComputePatches(const AdvApprox_Cutting& UChoice
throw Standard_ConstructionError("AdvApp2Var_ApproxAFunc2Var : Surface Discretisation Error");
}
// calculate the number and the type of autorized cuts
// calculate the number and the type of authorized cuts
// depending on the max number of squares and the validity of next cuts.
NbU = myResult.NbPatchInU();
NbV = myResult.NbPatchInV();
@@ -457,7 +457,7 @@ void AdvApp2Var_ApproxAFunc2Var::ComputePatches(const AdvApprox_Cutting& UChoice
throw Standard_ConstructionError("AdvApp2Var_ApproxAFunc2Var : Surface Discretisation Error");
}
// calculate the number and type of autorized cuts
// calculate the number and type of authorized cuts
// depending on the max number of squares and the validity of next cuts
NbU = myResult.NbPatchInU();
NbV = myResult.NbPatchInV();

View File

@@ -42,13 +42,13 @@ class Geom_BSplineSurface;
//! OneDTol, TwoDTol, ThreeDTol: The tolerance of approximation in each
//! subspaces
//! OneDTolFr, TwoDTolFr, ThreeDTolFr: The tolerance of approximation on
//! the boundarys in each subspaces
//! the boundaries in each subspaces
//! [FirstInU, LastInU]: The Bounds in U of the Approximation
//! [FirstInV, LastInV]: The Bounds in V of the Approximation
//! FavorIso : Give preference to extract u-iso or v-iso on F(U,V)
//! This can be useful to optimize the <Func> method
//! ContInU, ContInV : Continuity waiting in u and v
//! PrecisCode : Precision on approximation's error mesurement
//! PrecisCode : Precision on approximation's error measurement
//! 1 : Fast computation and average precision
//! 2 : Average computation and good precision
//! 3 : Slow computation and very good precision

View File

@@ -337,7 +337,7 @@ int mma1cdi_(integer *ndimen,
/* HERMIT: Table of coeff. 2*(IORDRE+1) Hermite polynoms */
/* of degree 2*IORDRE+1. */
/* IERCOD: Error code, */
/* = 0, Everythig is OK */
/* = 0, Everything is OK */
/* = 1, The value of IORDRE is out of (0,2) */
/* COMMON USED : */
/* ---------------- */
@@ -989,8 +989,8 @@ int mma1fer_(integer *,//ndimen,
/* IORDRE: Order of constraint at the extremities of the border */
/* -1 = no constraints, */
/* 0 = constraints of passage to limits (i.e. C0), */
/* 1 = C0 + constraintes of 1st derivatives (i.e. C1), */
/* 2 = C1 + constraintes of 2nd derivatives (i.e. C2). */
/* 1 = C0 + constraints of 1st derivatives (i.e. C1), */
/* 2 = C1 + constraints of 2nd derivatives (i.e. C2). */
/* NDGJAC: Degree of development in series to use for the calculation */
/* in the base of Jacobi. */
/* CRVJAC: Table of coeff. of the curve of approximation in the */
@@ -1131,7 +1131,7 @@ int mma1fer_(integer *,//ndimen,
/* ------------------------------ The end -------------------------------
*/
/* --> The order of constraints is not within autorized values. */
/* --> The order of constraints is not within authorized values. */
L9100:
*iercod = 1;
goto L9999;
@@ -3520,7 +3520,7 @@ int AdvApp2Var_ApproxF2var::mma2cdi_( integer *ndimen,
goto L9100;
}
/* ---- Subract discretizations of polynoms of constraints
/* ---- Subtract discretizations of polynoms of constraints
---- */
mma2cd3_(ndimen, nbpntu, &urootl[1], nbpntv, iordru, &sotbu1[1],
@@ -4919,7 +4919,7 @@ int mma2cfv_(integer *ndvjac,
/* MAXDGU: Degree maximum by U of coeff. to calculate. */
/* NBPNTV: Degree of the Legendre polynom on the roots which of */
/* the coefficients of integration by V are calculated */
/* by Gauss method. It is reqired that NBPNTV = 30, 40, 50 or 61 and NDVJAC < NBPNTV. */
/* by Gauss method. It is required that NBPNTV = 30, 40, 50 or 61 and NDVJAC < NBPNTV. */
/* GSSVTB: Table of coefficients of integration by Gauss method */
/* by V for NDVJAC fixed: j varies from 0 to NBPNTV/2. */
/* CHPAIR: Table of terms connected to degrees from MINDGU to MAXDGU by U to */
@@ -7511,7 +7511,7 @@ int mmmapcoe_(integer *ndim,
/* FUNCTION : */
/* ---------- */
/* Calculate the coefficients of polinomial approximation curve */
/* Calculate the coefficients of polynomial approximation curve */
/* of degree NDGJAC by the method of smallest squares starting from */
/* the discretization of function on the roots of Legendre polynom */
/* of degree NBPNTS. */
@@ -8102,7 +8102,7 @@ int mmjacpt_(const integer *ndimen,
/* OUTPUT ARGUMENTS : */
/* ------------------- */
/* PTCAUX : Auxilliary space. */
/* PTCAUX : Auxiliary space. */
/* PTCCAN : The square in the canonic base (-1,1) */
/* COMMONS USED : */

View File

@@ -1229,7 +1229,7 @@ int AdvApp2Var_MathBase::mmaperx_(integer *ncofmx,
/* ERRMAX : Precision of the approximation. */
/* IERCOD = 0, OK */
/* = 1, order of constraints (IORDRE) is not within the */
/* autorized values. */
/* authorized values. */
/* COMMONS USED : */
/* ---------------- */
@@ -2281,7 +2281,7 @@ int AdvApp2Var_MathBase::mmcglc1_(integer *ndimax,
/* length calculation. */
/* TFINAL : Upper limit of the interval of integration for */
/* length calculation. */
/* EPSILN : REQIRED precision for length calculation. */
/* EPSILN : REQUIRED precision for length calculation. */
/* OUTPUT ARGUMENTS : */
/* ------------------- */
@@ -2677,14 +2677,14 @@ int AdvApp2Var_MathBase::mmcvctx_(integer *ndimen,
/* 2 --> cas (0)+ (1) + " " 2nd derivatives. */
/* etc... */
/* CTRTES : Table of constraints. */
/* CTRTES(*,1,*) = contraints at -1. */
/* CTRTES(*,2,*) = contraints at 1. */
/* CTRTES(*,1,*) = constraints at -1. */
/* CTRTES(*,2,*) = constraints at 1. */
/* OUTPUT ARGUMENTS : */
/* ------------------- */
/* CRVRES : Resulting curve defined on (-1,1). */
/* TABAUX : Auxilliary matrix. */
/* XMATRI : Auxilliary matrix. */
/* TABAUX : Auxiliary matrix. */
/* XMATRI : Auxiliary matrix. */
/* COMMONS UTILISES : */
/* ---------------- */
@@ -3560,7 +3560,7 @@ int AdvApp2Var_MathBase::mmdrvck_(integer *ncoeff,
*/
/* Factorials (1 to 21) caculated on VAX in R*16 */
/* Factorials (1 to 21) calculated on VAX in R*16 */
/* **********************************************************************
@@ -3845,7 +3845,7 @@ int mmexthi_(integer *ndegre,
/* within the interval [0,1]. They are ranked for the degrees increasing from */
/* 2 to 61. */
/* HILTAB : Table of Legendre interpolators concerning ROOTAB. */
/* The adressing is the same. */
/* The addressing is the same. */
/* HI0TAB : Table of Legendre interpolators for root x=0 */
/* of polynoms of UNEVEN degree. */
/* RTLTB0 : Table of Li(uk) where uk are the roots of */
@@ -3990,7 +3990,7 @@ int mmextrl_(integer *ndegre,
/* within the interval [0,1]. They are ranked for the degrees increasing from */
/* 2 to 61. */
/* HILTAB : Table of Legendre interpolators concerning ROOTAB. */
/* The adressing is the same. */
/* The addressing is the same. */
/* HI0TAB : Table of Legendre interpolators for root x=0 */
/* of polynoms of UNEVEN degree. */
/* RTLTB0 : Table of Li(uk) where uk are the roots of */
@@ -4610,7 +4610,7 @@ int AdvApp2Var_MathBase::mmfmcb5_(integer *isenmsc,
/* FUNCTION : */
/* ---------- */
/* Reformating (and eventual compression/decompression) of curve */
/* Reformatting (and eventual compression/decompression) of curve */
/* (ndim,.) by (.,ndim) and vice versa. */
/* KEYWORDS : */
@@ -6260,7 +6260,7 @@ L9999:
/* OUTPUT ARGUMENTS : */
/* ------------------- */
/* POLAUX : Auxilliary space. */
/* POLAUX : Auxiliary space. */
/* CRVCAN : The curve in the canonic base [-1,1] */
/* COMMONS USED : */
@@ -6297,7 +6297,7 @@ L9999:
i__1 = *ndim;
for (nd = 1; nd <= i__1; ++nd) {
/* Loading of the auxilliary table. */
/* Loading of the auxiliary table. */
ii = 0;
i__2 = ndeg / 2;
for (i__ = 0; i__ <= i__2; ++i__) {
@@ -6377,7 +6377,7 @@ int mmloncv_(integer *ndimax,
/* -------------------- */
/* NDIMAX : Max number of lines of tables (max number of polynoms). */
/* NDIMEN : Dimension of the polynom (Nomber of polynoms). */
/* NDIMEN : Dimension of the polynom (Number of polynoms). */
/* NCOEFF : Number of coefficients of the polynom (no limitation) */
/* This is degree + 1 */
/* COURBE : Coefficients of the polynom ordered by increasing power */
@@ -6606,7 +6606,7 @@ L9900:
/* FUNCTION : */
/* ---------- */
/* Position on the polynoms of base hermit-Jacobi */
/* and their succesive derivatives */
/* and their successive derivatives */
/* KEYWORDS : */
/* ----------- */
@@ -7160,7 +7160,7 @@ int mmpojac_(doublereal *tparam,
*/
/* static varaibles */
/* static variables */
@@ -7519,12 +7519,12 @@ L9999:
/* INPUT ARGUMENTS : */
/* -------------------- */
/* HDIMEN: NOMBER OF LINE (OR COLUMN) OF THE HESSIAN MATRIX */
/* GDIMEN: NOMBER OF LINE OF THE MATRIX OF CONSTRAINTS */
/* HNSTOC: NOMBErS OF TERMS IN THE PROFILE OF HESSIAN MATRIX
/* HDIMEN: NUMBER OF LINE (OR COLUMN) OF THE HESSIAN MATRIX */
/* GDIMEN: NUMBER OF LINE OF THE MATRIX OF CONSTRAINTS */
/* HNSTOC: NUMBERS OF TERMS IN THE PROFILE OF HESSIAN MATRIX
*/
/* GNSTOC: NOMBERS OF TERMS IN THE PROFILE OF THE MATRIX OF CONSTRAINTS */
/* MNSTOC: NOMBERS OF TERMS IN THE PROFILE OF THE MATRIX M= G H t(G) */
/* GNSTOC: NUMBERS OF TERMS IN THE PROFILE OF THE MATRIX OF CONSTRAINTS */
/* MNSTOC: NUMBERS OF TERMS IN THE PROFILE OF THE MATRIX M= G H t(G) */
/* where H IS THE HESSIAN MATRIX AND G IS THE MATRIX OF CONSTRAINTS */
/* MATSYH: TRIANGULAR INFERIOR PART OF THE HESSIAN MATRIX */
/* IN FORM OF PROFILE */
@@ -7896,7 +7896,7 @@ int mmrslss_(integer *,//mxcoef,
/* ----------------------------------- */
/* T */
/* SS is the decomposition of choleski of a symmetric matrix */
/* defined postive, that can result from routine MMCHOLE. */
/* defined positive, that can result from routine MMCHOLE. */
/* For a full matrix it is possible to use MRSLMSC */
@@ -8409,7 +8409,7 @@ L9999:
/* > */
/* **********************************************************************
*/
/* Nome of the routine */
/* Name of the routine */
/* Common MLGDRTL: */
@@ -8675,7 +8675,7 @@ int mmtmave_(integer *nligne,
/* INPUT ARGUMENTS : */
/* -------------------- */
/* NLIGNE : NUMBER OF LINE OF THE MATRIX */
/* NCOLON : NOMBER OF COLUMN OF THE MATRIX */
/* NCOLON : NUMBER OF COLUMN OF THE MATRIX */
/* GPOSIT: TABLE OF POSITIONING OF TERMS OF STORAGE */
/* GPOSIT(1,I) CONTAINS THE NUMBER of TERMS-1 ON LINE */
/* I IN THE PROFILE OF THE MATRIX */
@@ -11193,7 +11193,7 @@ L9900:
/* FUNCTION : */
/* ---------- */
/* SERVES to calculate the euclidian norm of a vector : */
/* SERVES to calculate the euclidean norm of a vector : */
/* ____________________________ */
/* Z = V V(1)**2 + V(2)**2 + ... */
@@ -11208,7 +11208,7 @@ L9900:
/* OUTPUT ARGUMENTS : */
/* ------------------- */
/* MZSNORM : Value of the euclidian norm of vector VECTEU */
/* MZSNORM : Value of the euclidean norm of vector VECTEU */
/* COMMONS USED : */
/* ---------------- */

View File

@@ -416,7 +416,7 @@ int AdvApp2Var_SysBase::macrchk_()
/* FONCTION : */
/* ---------- */
/* TABLE OF MANAGEMENT OF DYNAMIC MEMOTY ALLOCATIONS */
/* TABLE OF MANAGEMENT OF DYNAMIC MEMORY ALLOCATIONS */
/* KEYWORDS : */
/* ----------- */
@@ -2484,7 +2484,7 @@ int mcrfree_(integer *,//ibyte,
/* */
/* = 0 ==> OK */
/* = 1 ==> Allocation impossible */
/* = -1 ==> Ofset > 2**31 - 1 */
/* = -1 ==> Offset > 2**31 - 1 */
/* */
/* */

View File

@@ -32,7 +32,7 @@
class PLib_JacobiPolynomial;
//! Approximate a function on an intervall [First,Last]
//! Approximate a function on an interval [First,Last]
//! The result is a simple polynomial whose degree is as low as
//! possible to satisfy the required tolerance and the
//! maximum degree. The maximum error and the averrage error

View File

@@ -68,7 +68,7 @@ public:
//! get the Multplicities of the section
Standard_EXPORT virtual void Mults (TColStd_Array1OfInteger& TMults) const = 0;
//! Returns if the sections are rationnal or not
//! Returns if the sections are rational or not
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
//! Returns the number of intervals for continuity

View File

@@ -27,7 +27,7 @@ struct Aspect_XVisualInfo;
//! This class creates and provides connection with X server.
//! Raises exception if can not connect to X server.
//! On Windows and Mac OS X (in case when Cocoa used) platforms this class does nothing.
//! WARRNING: Do not close display connection manually!
//! WARNING: Do not close display connection manually!
class Aspect_DisplayConnection : public Standard_Transient
{
DEFINE_STANDARD_RTTIEXT(Aspect_DisplayConnection, Standard_Transient)

View File

@@ -223,7 +223,7 @@ typedef NCollection_Vector<BOPAlgo_VFI> BOPAlgo_VectorOfVFI;
//=======================================================================
void BOPAlgo_Builder::FillImagesFaces(const Message_ProgressRange& theRange)
{
Message_ProgressScope aPS(theRange, "Filing spligs of faces", 10);
Message_ProgressScope aPS(theRange, "Filling splits of faces", 10);
BuildSplitFaces(aPS.Next(9));
if (HasErrors())
{

View File

@@ -341,12 +341,8 @@ void BOPAlgo_PaveFiller::PerformEE(const Message_ProgressRange& theRange)
GeomAbs_CurveType aType1 = aBAC1.GetType();
GeomAbs_CurveType aType2 = aBAC2.GetType();
//
bAnalytical = (((aType1 == GeomAbs_Line) &&
(aType2 == GeomAbs_Line ||
aType2 == GeomAbs_Circle)) ||
((aType2 == GeomAbs_Line) &&
(aType1 == GeomAbs_Line ||
aType1 == GeomAbs_Circle)));
bAnalytical = (aType1 == GeomAbs_Line && aType2 == GeomAbs_Circle) ||
(aType1 == GeomAbs_Circle && aType2 == GeomAbs_Line);
}
//
for (i=1; i<=aNbCPrts; ++i) {
@@ -443,7 +439,7 @@ void BOPAlgo_PaveFiller::PerformEE(const Message_ProgressRange& theRange)
Standard_Real aTolVnew = BRep_Tool::Tolerance(aVnew);
if (bAnalytical) {
// increase tolerance for Line/Line intersection, but do not update
// increase tolerance for Line/Circle intersection, but do not update
// the vertex till its intersection with some other shape
Standard_Real aTolMin = (BRepAdaptor_Curve(aE1).GetType() == GeomAbs_Line) ?
(aCR1.Last() - aCR1.First()) / 2. : (aCR2.Last() - aCR2.First()) / 2.;

View File

@@ -1925,7 +1925,7 @@ Standard_Boolean BOPTools_AlgoTools::IsBlockInOnFace
}
//
// Treatment intemediate
// Treatment intermediate
Standard_Real m1, aTolF, aTolE, aTol, aDist;
m1=IntTools_Tools::IntermediatePoint(f1, l1);
BOPTools_AlgoTools::PointOnEdge(aE1, m1, aP12);

View File

@@ -182,7 +182,7 @@ public: //! @name Point/Edge/Face classification relatively solid
//! Computes the 3-D state of the point thePoint
//! toward solid theSolid.
//! theTol - value of precision of computation
//! theContext- cahed geometrical tools
//! theContext- cached geometrical tools
//! Returns 3-D state.
Standard_EXPORT static TopAbs_State ComputeState(const gp_Pnt& thePoint,
const TopoDS_Solid& theSolid,
@@ -192,7 +192,7 @@ public: //! @name Point/Edge/Face classification relatively solid
//! Computes the 3-D state of the vertex theVertex
//! toward solid theSolid.
//! theTol - value of precision of computation
//! theContext- cahed geometrical tools
//! theContext- cached geometrical tools
//! Returns 3-D state.
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Vertex& theVertex,
const TopoDS_Solid& theSolid,
@@ -202,7 +202,7 @@ public: //! @name Point/Edge/Face classification relatively solid
//! Computes the 3-D state of the edge theEdge
//! toward solid theSolid.
//! theTol - value of precision of computation
//! theContext- cahed geometrical tools
//! theContext- cached geometrical tools
//! Returns 3-D state.
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Edge& theEdge,
const TopoDS_Solid& theSolid,
@@ -213,7 +213,7 @@ public: //! @name Point/Edge/Face classification relatively solid
//! toward solid theSolid.
//! theTol - value of precision of computation
//! theBounds - set of edges of <theSolid> to avoid
//! theContext- cahed geometrical tools
//! theContext- cached geometrical tools
//! Returns 3-D state.
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Face& theFace,
const TopoDS_Solid& theSolid,
@@ -224,7 +224,7 @@ public: //! @name Point/Edge/Face classification relatively solid
//! Computes the 3-D state of the shape theShape
//! toward solid theSolid.
//! theTol - value of precision of computation
//! theContext- cahed geometrical tools
//! theContext- cached geometrical tools
//! Returns 3-D state.
Standard_EXPORT static TopAbs_State ComputeStateByOnePoint(const TopoDS_Shape& theShape,
const TopoDS_Solid& theSolid,
@@ -274,7 +274,7 @@ public: //! @name Face classification relatively solid
//! solid theSolid.
//! theMEF - Map Edge/Faces for theSolid
//! theTol - value of precision of computation
//! theContext- cahed geometrical tools
//! theContext- cached geometrical tools
Standard_EXPORT static Standard_Boolean IsInternalFace(const TopoDS_Face& theFace,
const TopoDS_Solid& theSolid,
TopTools_IndexedDataMapOfShapeListOfShape& theMEF,

View File

@@ -51,12 +51,12 @@ public:
//! Warning:
//! The Wires must be closed.
//!
//! The edges of <W> can be modified if they have not pcurves
//! on the surface <S> of <F>. In this case
//! if <Proj> is false the first pcurve of the edge
//! is positionned on <S>.
//! if <Proj> is True ,the Pcurve On <S> is the
//! projection of the curve 3d on <F>.
//! The edges of <W> can be modified if they don't have
//! pcurves on the surface <S> of <F>. In this case
//! if <Proj> is false the first pcurve of the edge
//! is positioned on <S>.
//! if <Proj> is True, the Pcurve On <S> is the
//! projection of the curve 3d on <F>.
Standard_EXPORT void Add (TopoDS_Wire& W);
//! Removes all the Wires

View File

@@ -86,13 +86,13 @@ public:
Standard_EXPORT void VerticesForSubstitute (TopTools_DataMapOfShapeShape& VerVerMap);
//! Set maximal tolerance used for comparing distaces between vertices.
//! Set maximal tolerance used for comparing distances between vertices.
void SetTolConf(const Standard_Real theTolConf)
{
myTolConf = theTolConf;
}
//! Get maximal tolerance used for comparing distaces between vertices.
//! Get maximal tolerance used for comparing distances between vertices.
Standard_Real GetTolConf() const
{
return myTolConf;

View File

@@ -49,7 +49,7 @@ BRepBlend_AppFuncRoot::BRepBlend_AppFuncRoot(Handle(BRepBlend_Line)& Line,
// Tables
Func.GetShape( NbPoles, NbKnots, Degree, NbPoles2d);
// Calculation of BaryCentre (rationnal case).
// Calculation of BaryCentre (rational case).
if (Func.IsRational()) {
Standard_Real Xmax =-1.e100, Xmin = 1.e100,
Ymax =-1.e100, Ymin = 1.e100,

View File

@@ -69,7 +69,7 @@ public:
//! get the Multplicities of the section
Standard_EXPORT virtual void Mults (TColStd_Array1OfInteger& TMults) const Standard_OVERRIDE;
//! Returns if the section is rationnal or not
//! Returns if the section is rational or not
Standard_EXPORT virtual Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the number of intervals for continuity
@@ -95,7 +95,7 @@ public:
Standard_EXPORT virtual void Resolution (const Standard_Integer Index, const Standard_Real Tol, Standard_Real& TolU, Standard_Real& TolV) const Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary (in radian)
//! SurfTol error inside the surface.

View File

@@ -139,7 +139,7 @@ public:
Standard_EXPORT void Section (const Standard_Real Param, const Standard_Real U, const Standard_Real V, Standard_Real& Pdeb, Standard_Real& Pfin, gp_Circ& C);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -162,7 +162,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -140,7 +140,7 @@ public:
Standard_EXPORT void Section (const Standard_Real Param, const Standard_Real U, const Standard_Real V, Standard_Real& Pdeb, Standard_Real& Pfin, gp_Circ& C);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -163,7 +163,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -133,7 +133,7 @@ public:
Standard_EXPORT void Section (const Standard_Real Param, const Standard_Real U, const Standard_Real V, const Standard_Real W, Standard_Real& Pdeb, Standard_Real& Pfin, gp_Circ& C);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -156,7 +156,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -132,7 +132,7 @@ public:
Standard_EXPORT void Section (const Standard_Real Param, const Standard_Real U, const Standard_Real V, const Standard_Real W, Standard_Real& Pdeb, Standard_Real& Pfin, gp_Circ& C);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -155,7 +155,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -202,7 +202,7 @@ Standard_Boolean BRepClass_FaceExplorer::OtherSegment(const gp_Pnt2d& P,
// is tangent to the edge curve. This condition is bad for classification.
// Therefore try to go to another point in the hope that there will be
// no tangent. If there tangent is preserved then leave the last point in
// order to get this edge chanse to participate in classification.
// order to get this edge chance to participate in classification.
if (myCurEdgePar + Probing_Step < Probing_End)
continue;
}

View File

@@ -95,7 +95,7 @@ void BRepExtrema_ProximityDistTool::LoadAdditionalPointsFirstSet (const BVH_Arra
//=======================================================================
//function : goThroughtSet1
//purpose : Goes throught vertices from the 1st set
//purpose : Goes through vertices from the 1st set
//=======================================================================
void BRepExtrema_ProximityDistTool::goThroughtSet1 (const BVH_Array3d& theVertices1,
const Standard_Boolean theIsAdditionalSet)

View File

@@ -88,7 +88,7 @@ public:
public:
//! Creates new unitialized tool.
//! Creates new uninitialized tool.
Standard_EXPORT BRepExtrema_ProximityDistTool();
//! Creates new tool for the given element sets.
@@ -169,7 +169,7 @@ protected:
private:
//! Goes throught vertices from the 1st set.
//! Goes through vertices from the 1st set.
void goThroughtSet1 (const BVH_Array3d& aVertices1,
const Standard_Boolean theIsAdditionalSet);

View File

@@ -27,7 +27,7 @@
//=======================================================================
//function : BRepExtrema_ProximityValueTool
//purpose : Creates new unitialized proximity tool
//purpose : Creates new uninitialized proximity tool
//=======================================================================
BRepExtrema_ProximityValueTool::BRepExtrema_ProximityValueTool()
: myIsRefinementRequired1 (Standard_False),
@@ -262,8 +262,8 @@ Standard_Boolean BRepExtrema_ProximityValueTool::getEdgeAdditionalVertices (
//=======================================================================
//function : doRecurTrgSplit
//purpose : Splits the triangle into two ones recursively, halving the longest side
// untill the area of the current triangle > input step
//! @param theTrg points of the triangle to be splitted
// until the area of the current triangle > input step
//! @param theTrg points of the triangle to be split
//! @param theEdgesStatus status of triangle edges - on the border or middle of the face
//! @param theTol telerance used in search of coincidence points
//! @param theStep minimum area of the resulting triangle

View File

@@ -90,7 +90,7 @@ class BRepExtrema_ProximityValueTool
public:
//! Creates new unitialized proximity tool.
//! Creates new uninitialized proximity tool.
Standard_EXPORT BRepExtrema_ProximityValueTool();
//! Creates new proximity tool for the given element sets.

View File

@@ -194,7 +194,7 @@ private:
//! Reference point of the proximity value on the 1st shape.
gp_Pnt myProxPoint1;
//! Reference point of the proximity value on the 2st shape.
//! Reference point of the proximity value on the 2nd shape.
gp_Pnt myProxPoint2;
//! Status of reference points of the proximity value.

View File

@@ -541,7 +541,7 @@ static Standard_Boolean GoodOrientation(const Bnd_Box& B,
if (!Surf.IsNull()) { // Add the face at end
// Waiting the use of traces & retriction in BRepFill_Sweep
// Waiting the use of traces & restriction in BRepFill_Sweep
// Make Fuse.
BRepLib_MakeFace MkF;
MkF.Init(Surf, Standard_True, Precision::Confusion());

View File

@@ -3144,7 +3144,7 @@ void CutEdgeProf (const TopoDS_Edge& E,
//=======================================================================
//function : CutEdge
//purpose : Cut an edge at thw extrema of curves and at points of inflexion.
//purpose : Cut an edge at the extrema of curves and at points of inflexion.
// Closed circles are also cut in two.
// If <Cuts> are empty the edge is not modified.
// The first and the last vertex of the original edge

View File

@@ -122,18 +122,18 @@ public:
protected:
//! Initialize all the fields, this methode have to
//! Initialize all the fields, this methode has to
//! be called by the constructors of Inherited class.
Standard_EXPORT void Init (const TopoDS_Wire& Path);
//! To preseve if possible the Tangent in transformations
//! To preserve if possible the Tangent in transformations
//! It is the default mode.
Standard_EXPORT void TangentIsMain();
//! To preseve if possible the Normal in transformations
//! To preserve if possible the Normal in transformations
Standard_EXPORT void NormalIsMain();
//! To preseve if possible the BiNormal in transformations
//! To preserve if possible the BiNormal in transformations
Standard_EXPORT void BiNormalIsMain();
TopoDS_Wire myPath;

View File

@@ -501,7 +501,7 @@ TopoDS_Shape BRepFill_Pipe::Section(const TopoDS_Vertex& VSpine) const
TopoDS_Wire BRepFill_Pipe::PipeLine(const gp_Pnt& Point)
{
// Postioning
// Positioning
gp_Pnt P;
P = Point;
P.Transform(myTrsf);

View File

@@ -1155,7 +1155,7 @@ void BRepFill_PipeShell::Generated(const TopoDS_Shape& theShape,
//=======================================================================
//function : Place
//purpose : Implement a Section in the local refernce frame
//purpose : Implement a Section in the local reference frame
// and return its parameter on the trajectory
//=======================================================================
void BRepFill_PipeShell::Place(const BRepFill_Section& Sec,

View File

@@ -48,7 +48,7 @@ class BRepFill_PipeShell;
DEFINE_STANDARD_HANDLE(BRepFill_PipeShell, Standard_Transient)
//! Computes a topological shell using some wires
//! (spines and profiles) and diplacement option
//! (spines and profiles) and displacement option
//! Perform general sweeping construction
class BRepFill_PipeShell : public Standard_Transient
{
@@ -116,7 +116,7 @@ public:
//! to be C0.
//! Give section to sweep.
//! Possibilities are :
//! - Give one or sevral profile
//! - Give one or several profile
//! - Give one profile and an homotetic law.
//! - Automatic compute of correspondence between profile, and section on the sweeped shape
//! - correspondence between profile, and section on the sweeped shape defined by a vertex of the spine
@@ -153,7 +153,7 @@ public:
Standard_EXPORT void SetTransition (const BRepFill_TransitionStyle Mode = BRepFill_Modified, const Standard_Real Angmin = 1.0e-2, const Standard_Real Angmax = 6.0);
//! Perform simulation of the sweep :
//! Somes Section are returned.
//! Some Section are returned.
Standard_EXPORT void Simulate (const Standard_Integer NumberOfSection, TopTools_ListOfShape& Sections);
//! Builds the resulting shape (redefined from MakeShape).

View File

@@ -2890,7 +2890,7 @@ BRepFill_Sweep::BRepFill_Sweep(const Handle(BRepFill_SectionLaw)& Section,
//=======================================================================
//function : Build
//purpose : Construt the result of sweeping
//purpose : Construct the result of sweeping
//======================================================================
void BRepFill_Sweep::Build(TopTools_MapOfShape& ReversedEdges,
BRepFill_DataMapOfShapeHArray2OfShape& Tapes,

View File

@@ -64,7 +64,7 @@ public:
//! Tolerance To controle Corner management.
//!
//! If the discontinuity is lesser than <AngleMin> in radian The
//! Transition Performed will be alway "Modified"
//! Transition Performed will be always "Modified"
Standard_EXPORT void SetAngularControl (const Standard_Real AngleMin = 0.01, const Standard_Real AngleMax = 6.0);
//! Set the flag that indicates attempt to approximate
@@ -72,13 +72,13 @@ public:
//! to be C0.
Standard_EXPORT void SetForceApproxC1 (const Standard_Boolean ForceApproxC1);
//! Build the Sweep Surface
//! Build the Sweep Surface
//! Transition define Transition strategy
//! Approx define Approximation Strategy
//! - GeomFill_Section : The composed Function Location X Section
//! is directly approximated.
//! - GeomFill_Location : The location law is approximated, and the
//! SweepSurface is bulid algebric composition
//! SweepSurface builds an algebraic composition
//! of approximated location law and section law
//! This option is Ok, if Section.Surface() methode
//! is effective.

View File

@@ -3915,10 +3915,9 @@ TopoDS_Shape BRepOffset_Tool::Deboucle3D(const TopoDS_Shape& S,
continue;
}
}
if (!Boundary.IsEmpty() && !Boundary.Contains(anEdge) && !BRep_Tool::Degenerated(anEdge))
{
if (!Boundary.Contains(anEdge) &&
!BRep_Tool::Degenerated(anEdge))
JeGarde = Standard_False;
}
}
}
if (JeGarde) SS = S;

View File

@@ -37,7 +37,7 @@ class TopoDS_Edge;
//! - define if necessary a new tolerance
//! - set if necessary analysis of degenerated shapes off
//! - add shapes to be controlled -> Add
//! - compute -> Perfom
//! - compute -> Perform
//! - output couples of connected edges for control
//! - output the problems if any
class BRepOffsetAPI_FindContigousEdges

View File

@@ -166,7 +166,7 @@ void BRepOffsetAPI_MakeOffset::Init(const GeomAbs_JoinType Join,
//=======================================================================
//function : SetApprox
//purpose : Set approximation flag
// for convertion input contours into ones consisting of
// for conversion input contours into ones consisting of
// 2D circular arcs and 2D linear segments only
//=======================================================================

View File

@@ -64,7 +64,7 @@ public:
Standard_EXPORT void Init (const GeomAbs_JoinType Join = GeomAbs_Arc, const Standard_Boolean IsOpenResult = Standard_False);
//! Set approximation flag
//! for convertion input contours into ones consisting of
//! for conversion input contours into ones consisting of
//! 2D circular arcs and 2D linear segments only.
Standard_EXPORT void SetApprox (const Standard_Boolean ToApprox);

View File

@@ -114,7 +114,7 @@ public:
const Standard_Boolean RemoveIntEdges = Standard_False,
const Message_ProgressRange& theRange = Message_ProgressRange());
//! Returns instance of the unrelying intersection / arc algorithm.
//! Returns instance of the underlying intersection / arc algorithm.
Standard_EXPORT virtual const BRepOffset_MakeOffset& MakeOffset() const;
//! Does nothing.

View File

@@ -112,7 +112,7 @@ public:
//! along the path.
//! Give section to sweep.
//! Possibilities are :
//! - Give one or sevral section
//! - Give one or several section
//! - Give one profile and an homotetic law.
//! - Automatic compute of correspondence between spine, and section
//! on the sweeped shape

View File

@@ -306,7 +306,7 @@ static Standard_Integer fillet2d(Draw_Interpretor& di, Standard_Integer n, const
Standard_Boolean status = algo.Perform(radius);
if (!status)
{
di << "Error: the algrithm failed.";
di << "Error: the algorithm failed.";
return 1;
}
@@ -326,7 +326,7 @@ static Standard_Integer fillet2d(Draw_Interpretor& di, Standard_Integer n, const
TopoDS_Edge fillet = algo.Result(common, M1, M2);
if (fillet.IsNull())
{
di << "Error: the algrithm produced no result.";
di << "Error: the algorithm produced no result.";
return 1;
}
@@ -403,7 +403,7 @@ static Standard_Integer chamfer2d(Draw_Interpretor& di, Standard_Integer n, cons
TopoDS_Edge chamfer = algo.Result(M1, M2, length1, length2);
if (chamfer.IsNull())
{
di << "Error: the algrithm produced no result.";
di << "Error: the algorithm produced no result.";
return 1;
}

View File

@@ -11,7 +11,7 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
// abv 28.04.99 S4137: ading method Apply for work on all types of shapes
// abv 28.04.99 S4137: adding method Apply for work on all types of shapes
// sln 29.11.01 Bug24: correction iteration through map in method 'Status'
// sln 29.11.01 Bug22: correction of methods Replace and Value for case when mode myConsiderLocation is on
@@ -362,7 +362,7 @@ TopoDS_Shape BRepTools_ReShape::Apply (const TopoDS_Shape& shape,
if(st == TopAbs_VERTEX || st == TopAbs_SHAPE)
return shape;
// define allowed types of components
//fix for SAMTECH bug OCC322 about abcense internal vertices after sewing.
//fix for SAMTECH bug OCC322 about absent internal vertices after sewing.
/*
switch ( st ) {
case TopAbs_COMPOUND: subt = TopAbs_SHAPE; break;
@@ -402,14 +402,14 @@ TopoDS_Shape BRepTools_ReShape::Apply (const TopoDS_Shape& shape,
if ( isEmpty )
isEmpty = Standard_False;
locStatus |= EncodeStatus(3);//ShapeExtend::EncodeStatus ( ShapeExtend_DONE3 );
if ( st == TopAbs_COMPOUND || newsh.ShapeType() == sh.ShapeType()) { //fix for SAMTECH bug OCC322 about abcense internal vertices after sewing.
if ( st == TopAbs_COMPOUND || newsh.ShapeType() == sh.ShapeType()) { //fix for SAMTECH bug OCC322 about absent internal vertices after sewing.
B.Add ( result, newsh );
continue;
}
Standard_Integer nitems = 0;
for ( TopoDS_Iterator subit(newsh); subit.More(); subit.Next(), nitems++ ) {
const TopoDS_Shape& subsh = subit.Value();
if ( subsh.ShapeType() == sh.ShapeType() ) B.Add ( result, subsh );//fix for SAMTECH bug OCC322 about abcense internal vertices after sewing.
if ( subsh.ShapeType() == sh.ShapeType() ) B.Add ( result, subsh );//fix for SAMTECH bug OCC322 about absent internal vertices after sewing.
else locStatus |= EncodeStatus(10);//ShapeExtend::EncodeStatus ( ShapeExtend_FAIL1 );
}
if ( ! nitems ) locStatus |= EncodeStatus(10);//ShapeExtend::EncodeStatus ( ShapeExtend_FAIL1 );

View File

@@ -72,7 +72,7 @@ public:
//! Clears the content of the set.
Standard_EXPORT virtual void Clear() Standard_OVERRIDE;
//! Stores the goemetry of <S>.
//! Stores the geometry of <S>.
Standard_EXPORT virtual void AddGeometry (const TopoDS_Shape& S) Standard_OVERRIDE;
//! Dumps the geometry of me on the stream <OS>.

View File

@@ -171,7 +171,7 @@ Standard_Boolean BRepTools_TrsfModification::NewTriangulation
// modify normals
if (theTriangulation->HasNormals())
{
for (Standard_Integer anInd = 1; anInd <= theTriangulation->NbTriangles(); ++anInd)
for (Standard_Integer anInd = 1; anInd <= theTriangulation->NbNodes(); ++anInd)
{
gp_Dir aNormal = theTriangulation->Normal(anInd);
aNormal.Transform(aTrsf);

View File

@@ -1263,7 +1263,7 @@ void BSplCLib::MovePoint (const Standard_Real U,
}
}
// find a kk2 if symetriy
// find a kk2 if symmetry
kk2 = kk1;
i = kk1 - FirstNonZeroBsplineIndex + 2;
if ((kk1+1) <= LastIndex) {

View File

@@ -2845,7 +2845,7 @@ void BSplSLib::MovePoint (const Standard_Real U,
}
}
// find a ukk2 if symetriy
// find a ukk2 if symmetry
ukk2 = ukk1;
i = ukk1 - UFirstNonZeroBsplineIndex + 2;
if ((ukk1+1) <= ULastIndex) {
@@ -2871,7 +2871,7 @@ void BSplSLib::MovePoint (const Standard_Real U,
}
}
// find a vkk2 if symetriy
// find a vkk2 if symmetry
vkk2 = vkk1;
j = vkk1 - VFirstNonZeroBsplineIndex + 2;
if ((vkk1+1) <= VLastIndex) {

View File

@@ -31,7 +31,7 @@ public:
//! \param theDegreeU degree along the first parameter (U) of the surface
//! \param thePeriodicU identify the surface is periodical along U axis
//! \param theFlatKnotsU knots of the surface (with repetition) along U axis
//! \param theDegreeV degree alogn the second parameter (V) of the surface
//! \param theDegreeV degree along the second parameter (V) of the surface
//! \param thePeriodicV identify the surface is periodical along V axis
//! \param theFlatKnotsV knots of the surface (with repetition) along V axis
//! \param theWeights array of weights of corresponding poles

View File

@@ -115,7 +115,7 @@ public:
//! Returns the point on the first support.
Standard_EXPORT virtual const gp_Pnt& Pnt2() const = 0;
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
//! Returns the length of the maximum section
@@ -145,7 +145,7 @@ public:
Standard_Integer& NbPoles2d) = 0;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -148,7 +148,7 @@ public:
Standard_EXPORT virtual void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE = 0;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -156,7 +156,7 @@ public:
//! but the values calculated can be senseless.
Standard_EXPORT virtual Blend_DecrochStatus Decroch (const math_Vector& Sol, gp_Vec& NRst1, gp_Vec& TgRst1, gp_Vec& NRst2, gp_Vec& TgRst2) const = 0;
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
//! Returns the length of the maximum section
@@ -180,7 +180,7 @@ public:
Standard_EXPORT virtual void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) = 0;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -150,7 +150,7 @@ public:
//! specific to the function.
Standard_EXPORT virtual Standard_Boolean Decroch (const math_Vector& Sol, gp_Vec& NS, gp_Vec& TgS) const = 0;
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
//! Returns the length of the maximum section
@@ -174,7 +174,7 @@ public:
Standard_EXPORT virtual void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) = 0;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -116,7 +116,7 @@ public:
Standard_EXPORT void Set (const Standard_Real Radius, const Standard_Integer Choix);
//! Sets the type of section generation for the
//! Sets the type of section generation for the
//! approximations.
Standard_EXPORT void Set (const BlendFunc_SectionShape TypeSection);
@@ -129,7 +129,7 @@ public:
Standard_EXPORT Standard_Boolean GetSection (const Standard_Real Param, const Standard_Real U, const Standard_Real V, const Standard_Real W, TColgp_Array1OfPnt& tabP, TColgp_Array1OfVec& tabV);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -143,7 +143,7 @@ public:
//! <S>. May be one if Continuity(me) >= <S>
Standard_EXPORT Standard_Integer NbIntervals (const GeomAbs_Shape S) const Standard_OVERRIDE;
//! Stores in <T> the parameters bounding the intervals
//! Stores in <T> the parameters bounding the intervals
//! of continuity <S>.
//!
//! The array must provide enough room to accommodate
@@ -155,7 +155,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -117,7 +117,7 @@ public:
Standard_EXPORT Standard_Boolean GetSection (const Standard_Real Param, const Standard_Real U, const Standard_Real V, const Standard_Real W, TColgp_Array1OfPnt& tabP, TColgp_Array1OfVec& tabV);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -142,7 +142,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -111,7 +111,7 @@ public:
//! Utile pour une visu rapide et approximative de la surface.
Standard_EXPORT void Section (const Standard_Real Param, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, Standard_Real& Pdeb, Standard_Real& Pfin, gp_Lin& C);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -135,7 +135,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -62,7 +62,7 @@ BlendFunc_ConstRad::BlendFunc_ConstRad(const Handle(Adaptor3d_Surface)& S1,
distmin(RealLast()),
mySShape(BlendFunc_Rational)
{
// Initialisaton of cash control variables.
// Initialisation of cash control variables.
tval = -9.876e100;
xval.Init(-9.876e100);
myXOrder = -1;

View File

@@ -116,7 +116,7 @@ public:
//! Utile pour une visu rapide et approximative de la surface.
Standard_EXPORT void Section (const Standard_Real Param, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, Standard_Real& Pdeb, Standard_Real& Pfin, gp_Circ& C);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -140,7 +140,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -108,14 +108,14 @@ public:
Standard_EXPORT void Set (const Standard_Integer Choix);
//! Sets the type of section generation for the
//! Sets the type of section generation for the
//! approximations.
Standard_EXPORT void Set (const BlendFunc_SectionShape TypeSection);
//! Method for graphic traces
Standard_EXPORT void Section (const Standard_Real Param, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, Standard_Real& Pdeb, Standard_Real& Pfin, gp_Circ& C);
//! Returns if the section is rationnal
//! Returns if the section is rational
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
//! Returns the length of the maximum section
@@ -139,7 +139,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -105,7 +105,7 @@ public:
Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -127,7 +127,7 @@ public:
Standard_EXPORT void GetShape (Standard_Integer& NbPoles, Standard_Integer& NbKnots, Standard_Integer& Degree, Standard_Integer& NbPoles2d) Standard_OVERRIDE;
//! Returns the tolerance to reach in approximation
//! to respecte
//! to respect
//! BoundTol error at the Boundary
//! AngleTol tangent error at the Boundary
//! SurfTol error inside the surface.

View File

@@ -215,7 +215,7 @@ static void TreatInfinitePlane(const gp_Pln &aPlane,
// theMinIdx - minimum poles index, that can be used.
// theMaxIdx - maximum poles index, that can be used.
// theShiftCoeff - shift between flatknots array and poles array.
// This vaule should be equal to 1 in case of non periodic BSpline,
// This value should be equal to 1 in case of non periodic BSpline,
// and (degree + 1) - mults(the lowest index).
void ComputePolesIndexes(const TColStd_Array1OfReal &theKnots,

View File

@@ -451,7 +451,7 @@ void CPnts_AbscissaPoint::Perform(const Standard_Real Abscissa,
}
else {
Standard_Real Ui = U0 + (Abscissa / myL) * (myUMax - myUMin) / 3.;
// exercice : why 3 ?
// exercise : why 3 ?
Perform(Abscissa,U0,Ui,Resolution);
}
}

View File

@@ -157,7 +157,7 @@ static Standard_Boolean SearchFD(TopOpeBRepDS_DataStructure& DStr,
//=======================================================================
//function : ToricCorner
//purpose : Test if this is a paricular cas of a torus corner
//purpose : Test if this is a particular case of a torus corner
// (or spherical limited by isos).
//=======================================================================
@@ -601,7 +601,7 @@ void ChFi3d_FilBuilder::PerformThreeCorner(const Standard_Integer Jndex)
#endif
// the contour to be fillet consists of straight lines uv in beginning and end
// of two pcurves (only one if c1pointu) calculted as possible
// of two pcurves (only one if c1pointu) calculated as possible
// on piv and the opposite face.
Handle(GeomFill_Boundary) Bdeb,Bfin,Bpiv,Bfac;
Handle(Geom2d_Curve) PCurveOnFace;

View File

@@ -51,7 +51,7 @@
//! TrueIntervals : the nth polynomial has to be mapped linearly to be
//! defined on the following interval :
//! myTrueIntervals->Value(n) and myTrueIntervals->Value(n+1)
//! so that it represent adequatly the function with the
//! so that it adequately represents the function with the
//! required continuity
class Convert_CompPolynomialToPoles
{
@@ -85,7 +85,7 @@ public:
//! TrueIntervals[2] = {-1, 1}
Standard_EXPORT Convert_CompPolynomialToPoles(const Standard_Integer NumCurves, const Standard_Integer Continuity, const Standard_Integer Dimension, const Standard_Integer MaxDegree, const Handle(TColStd_HArray1OfInteger)& NumCoeffPerCurve, const Handle(TColStd_HArray1OfReal)& Coefficients, const Handle(TColStd_HArray2OfReal)& PolynomialIntervals, const Handle(TColStd_HArray1OfReal)& TrueIntervals);
//! To Convert sevral span with different order of Continuity.
//! To Convert several span with different order of Continuity.
//! Warning: The Length of Continuity have to be NumCurves-1
Standard_EXPORT Convert_CompPolynomialToPoles(const Standard_Integer NumCurves, const Standard_Integer Dimension, const Standard_Integer MaxDegree, const TColStd_Array1OfInteger& Continuity, const TColStd_Array1OfInteger& NumCoeffPerCurve, const TColStd_Array1OfReal& Coefficients, const TColStd_Array2OfReal& PolynomialIntervals, const TColStd_Array1OfReal& TrueIntervals);

View File

@@ -0,0 +1,492 @@
// Copyright (c) 2024 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License 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 and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DE_ShapeFixConfigurationNode.hxx>
#include <DE_ConfigurationContext.hxx>
#include <DE_PluginHolder.hxx>
#include <DE_Wrapper.hxx>
IMPLEMENT_STANDARD_RTTIEXT(DE_ShapeFixConfigurationNode, DE_ConfigurationNode)
namespace
{
static const TCollection_AsciiString& THE_CONFIGURATION_SCOPE()
{
static const TCollection_AsciiString aScope = "provider";
return aScope;
}
}
//=======================================================================
// function : DE_ShapeFixConfigurationNode
// purpose :
//=======================================================================
DE_ShapeFixConfigurationNode::DE_ShapeFixConfigurationNode()
: DE_ConfigurationNode()
{}
//=======================================================================
// function : DE_ShapeFixConfigurationNode
// purpose :
//=======================================================================
DE_ShapeFixConfigurationNode::DE_ShapeFixConfigurationNode(const Handle(DE_ShapeFixConfigurationNode)& theNode)
: DE_ConfigurationNode(theNode)
{
}
//=======================================================================
// function : Load
// purpose :
//=======================================================================
bool DE_ShapeFixConfigurationNode::Load(const Handle(DE_ConfigurationContext)& theResource)
{
TCollection_AsciiString aScope = THE_CONFIGURATION_SCOPE() + "." + GetFormat() + "." + GetVendor() + ".healing";
HealingParameters.Tolerance3d = theResource->RealVal("tolerance3d", HealingParameters.Tolerance3d, aScope);
HealingParameters.MaxTolerance3d = theResource->RealVal("max.tolerance3d", HealingParameters.MaxTolerance3d, aScope);
HealingParameters.MinTolerance3d = theResource->RealVal("min.tolerance3d", HealingParameters.MinTolerance3d, aScope);
HealingParameters.FixFreeShellMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("free.shell", (int)HealingParameters.FixFreeShellMode, aScope);
HealingParameters.FixFreeFaceMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("free.face", (int)HealingParameters.FixFreeFaceMode, aScope);
HealingParameters.FixFreeWireMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("free.wire", (int)HealingParameters.FixFreeWireMode, aScope);
HealingParameters.FixSameParameterMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("same.parameter", (int)HealingParameters.FixSameParameterMode, aScope);
HealingParameters.FixSolidMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("solid", (int)HealingParameters.FixSolidMode, aScope);
HealingParameters.FixShellOrientationMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("shell.orientation", (int)HealingParameters.FixShellOrientationMode, aScope);
HealingParameters.CreateOpenSolidMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("create.open.solid", (int)HealingParameters.CreateOpenSolidMode, aScope);
HealingParameters.FixShellMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("shell", (int)HealingParameters.FixShellMode, aScope);
HealingParameters.FixFaceOrientationMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("face.orientation", (int)HealingParameters.FixFaceOrientationMode, aScope);
HealingParameters.FixFaceMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("face", (int)HealingParameters.FixFaceMode, aScope);
HealingParameters.FixWireMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("wire", (int)HealingParameters.FixWireMode, aScope);
HealingParameters.FixOrientationMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("orientation", (int)HealingParameters.FixOrientationMode, aScope);
HealingParameters.FixAddNaturalBoundMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("add.natural.bound", (int)HealingParameters.FixAddNaturalBoundMode, aScope);
HealingParameters.FixMissingSeamMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("missing.seam", (int)HealingParameters.FixMissingSeamMode, aScope);
HealingParameters.FixSmallAreaWireMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("small.area.wire", (int)HealingParameters.FixSmallAreaWireMode, aScope);
HealingParameters.RemoveSmallAreaFaceMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("remove.small.area.face", (int)HealingParameters.RemoveSmallAreaFaceMode, aScope);
HealingParameters.FixIntersectingWiresMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("intersecting.wires", (int)HealingParameters.FixIntersectingWiresMode, aScope);
HealingParameters.FixLoopWiresMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("loop.wires", (int)HealingParameters.FixLoopWiresMode, aScope);
HealingParameters.FixSplitFaceMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("split.face", (int)HealingParameters.FixSplitFaceMode, aScope);
HealingParameters.AutoCorrectPrecisionMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("auto.correct.precision", (int)HealingParameters.AutoCorrectPrecisionMode, aScope);
HealingParameters.ModifyTopologyMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("modify.topology", (int)HealingParameters.ModifyTopologyMode, aScope);
HealingParameters.ModifyGeometryMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("modify.geometry", (int)HealingParameters.ModifyGeometryMode, aScope);
HealingParameters.ClosedWireMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("closed.wire", (int)HealingParameters.ClosedWireMode, aScope);
HealingParameters.PreferencePCurveMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("preference.pcurve", (int)HealingParameters.PreferencePCurveMode, aScope);
HealingParameters.FixReorderMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("reorder.edges", (int)HealingParameters.FixReorderMode, aScope);
HealingParameters.FixSmallMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("remove.small.edges", (int)HealingParameters.FixSmallMode, aScope);
HealingParameters.FixConnectedMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("connected.edges", (int)HealingParameters.FixConnectedMode, aScope);
HealingParameters.FixEdgeCurvesMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("edge.curves", (int)HealingParameters.FixEdgeCurvesMode, aScope);
HealingParameters.FixDegeneratedMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("add.degenerated.edges", (int)HealingParameters.FixDegeneratedMode, aScope);
HealingParameters.FixLackingMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("add.lacking.edges", (int)HealingParameters.FixLackingMode, aScope);
HealingParameters.FixSelfIntersectionMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("selfintersection", (int)HealingParameters.FixSelfIntersectionMode, aScope);
HealingParameters.RemoveLoopMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("remove.loop", (int)HealingParameters.RemoveLoopMode, aScope);
HealingParameters.FixReversed2dMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("reversed2d", (int)HealingParameters.FixReversed2dMode, aScope);
HealingParameters.FixRemovePCurveMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("remove.pcurve", (int)HealingParameters.FixRemovePCurveMode, aScope);
HealingParameters.FixRemoveCurve3dMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("remove.curve3d", (int)HealingParameters.FixRemoveCurve3dMode, aScope);
HealingParameters.FixAddPCurveMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("add.pcurve", (int)HealingParameters.FixAddPCurveMode, aScope);
HealingParameters.FixAddCurve3dMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("add.curve3d", (int)HealingParameters.FixAddCurve3dMode, aScope);
HealingParameters.FixSeamMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("correct.order.in.seam", (int)HealingParameters.FixSeamMode, aScope);
HealingParameters.FixShiftedMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("shifted", (int)HealingParameters.FixShiftedMode, aScope);
HealingParameters.FixEdgeSameParameterMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("edge.same.parameter", (int)HealingParameters.FixEdgeSameParameterMode, aScope);
HealingParameters.FixNotchedEdgesMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("notched.edges", (int)HealingParameters.FixNotchedEdgesMode, aScope);
HealingParameters.FixTailMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("tail", (int)HealingParameters.FixTailMode, aScope);
HealingParameters.MaxTailAngle = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("max.tail.angle", (int)HealingParameters.MaxTailAngle, aScope);
HealingParameters.MaxTailWidth = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("max.tail.width", (int)HealingParameters.MaxTailWidth, aScope);
HealingParameters.FixSelfIntersectingEdgeMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("selfintersecting.edge", (int)HealingParameters.FixSelfIntersectingEdgeMode, aScope);
HealingParameters.FixIntersectingEdgesMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("intersecting.edges", (int)HealingParameters.FixIntersectingEdgesMode, aScope);
HealingParameters.FixNonAdjacentIntersectingEdgesMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("nonadjacent.intersecting.edges", (int)HealingParameters.FixNonAdjacentIntersectingEdgesMode, aScope);
HealingParameters.FixVertexPositionMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("vertex.position", (int)HealingParameters.FixVertexPositionMode, aScope);
HealingParameters.FixVertexToleranceMode = (DE_ShapeFixParameters::FixMode)
theResource->IntegerVal("vertex.tolerance", (int)HealingParameters.FixVertexToleranceMode, aScope);
return true;
}
//=======================================================================
// function : Save
// purpose :
//=======================================================================
TCollection_AsciiString DE_ShapeFixConfigurationNode::Save() const
{
TCollection_AsciiString aResult;
TCollection_AsciiString aScope = THE_CONFIGURATION_SCOPE() + "." + GetFormat() + "." + GetVendor() + ".healing";
aResult += "!\n";
aResult += "!Shape healing parameters:\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the maximum allowable tolerance\n";
aResult += "!Default value: 1.e-6. Available values: any real positive (non null) value\n";
aResult += aScope + "tolerance3d :\t " + HealingParameters.Tolerance3d + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the maximum allowable tolerance\n";
aResult += "!Default value: 1.0. Available values: any real positive (non null) value\n";
aResult += aScope + "max.tolerance3d :\t " + HealingParameters.MaxTolerance3d + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the minimum allowable tolerance\n";
aResult += "!Default value: 1.e-7. Available values: any real positive (non null) value\n";
aResult += aScope + "min.tolerance3d :\t " + HealingParameters.MinTolerance3d + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying fixes of ShapeFix_Shell for ShapeFix_Shape\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "free.shell :\t " + (int)HealingParameters.FixFreeShellMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying fixes of ShapeFix_Face for ShapeFix_Shape\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "free.face :\t " + (int)HealingParameters.FixFreeFaceMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying fixes of ShapeFix_Wire for ShapeFix_Shape\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "free.wire :\t " + (int)HealingParameters.FixFreeWireMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying ShapeFix::SameParameter after all fixes\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "same.parameter :\t " + (int)HealingParameters.FixSameParameterMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying fixes of ShapeFix_Solid\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "solid :\t " + (int)HealingParameters.FixSolidMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying analysis and fixes of orientation of shells in the solid\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "shell.orientation :\t " + (int)HealingParameters.FixShellOrientationMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for creation of solids. If operation is executed then solids are created from open shells ";
aResult += "else solids are created from closed shells only\n";
aResult += "!Default value: \"NotFix\"(0). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "create.open.solid :\t " + (int)HealingParameters.CreateOpenSolidMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying fixes of ShapeFix_Shell for ShapeFix_Solid\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "shell :\t " + (int)HealingParameters.FixShellMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying analysis and fixes of orientation of faces in the shell\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "face.orientation :\t " + (int)HealingParameters.FixFaceOrientationMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying fixes of ShapeFix_Face\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "face :\t " + (int)HealingParameters.FixFaceMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying fixes of ShapeFix_Wire\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "wire :\t " + (int)HealingParameters.FixWireMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying a fix for the orientation of faces in the shell\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "orientation :\t " + (int)HealingParameters.FixOrientationMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the add natural bound mode. If operation is executed then natural boundary is added on faces that miss them\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "add.natural.bound :\t " + (int)HealingParameters.FixAddNaturalBoundMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the fix missing seam mode (tries to insert seam is missed)\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "missing.seam :\t " + (int)HealingParameters.FixMissingSeamMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the fix small area wire mode (drops small wires)\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "small.area.wire :\t " + (int)HealingParameters.FixSmallAreaWireMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the remove face with small area (drops faces with small outer wires)\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "remove.small.area.face :\t " + (int)HealingParameters.RemoveSmallAreaFaceMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the fix intersecting wires mode in ShapeFix_Face\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "intersecting.wires :\t " + (int)HealingParameters.FixIntersectingWiresMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the fix loop wires mode in ShapeFix_Face\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "loop.wires :\t " + (int)HealingParameters.FixLoopWiresMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the fix split face mode in ShapeFix_Face\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "split.face :\t " + (int)HealingParameters.FixSplitFaceMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the auto-correct precision mode in ShapeFix_Face\n";
aResult += "!Default value: \"Fix\"(1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "auto.correct.precision :\t " + (int)HealingParameters.AutoCorrectPrecisionMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to modify topology of the wire during fixing (adding/removing edges etc.)\n";
aResult += "!Default value: \"NotFix\"(0). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "modify.topology :\t " + (int)HealingParameters.ModifyTopologyMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to modify geometry of the edges and vertices\n";
aResult += "!Default value: \"Fix\"(1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "modify.geometry :\t " + (int)HealingParameters.ModifyGeometryMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to defines whether the wire is to be closed (by calling methods like FixDegenerated() ";
aResult += "!and FixConnected() for lastand first edges\n";
aResult += "!Default value: \"Fix\"(1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "closed.wire :\t " + (int)HealingParameters.ClosedWireMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to defines the 2d representation of the wire is preferable over 3d one ";
aResult += "(in the case of ambiguity in FixEdgeCurves)\n";
aResult += "!and FixConnected() for lastand first edges\n";
aResult += "!Default value: \"Fix\"(1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "preference.pcurve :\t " + (int)HealingParameters.PreferencePCurveMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to reorder edges in the wire\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "reorder.edges :\t " + (int)HealingParameters.FixReorderMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to remove small edges\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "remove.small.edges :\t " + (int)HealingParameters.FixSmallMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix connecting edges in the wire\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "connected.edges :\t " + (int)HealingParameters.FixConnectedMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix edges (3Dcurves and 2D curves)\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "edge.curves :\t " + (int)HealingParameters.FixEdgeCurvesMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for add degenerated edges\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "add.degenerated.edges :\t " + (int)HealingParameters.FixDegeneratedMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for add lacking edges\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "add.lacking.edges :\t " + (int)HealingParameters.FixLackingMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix selfintersection edges\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "selfintersection :\t " + (int)HealingParameters.FixSelfIntersectionMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to remove loop\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "remove.loop :\t " + (int)HealingParameters.RemoveLoopMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to fix edge if pcurve is directed opposite to 3d curve\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "reversed2d :\t " + (int)HealingParameters.FixReversed2dMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to remove the pcurve(s) of the edge if it does not match the vertices\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "remove.pcurve :\t " + (int)HealingParameters.FixRemovePCurveMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to remove 3d curve of the edge if it does not match the vertices\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "remove.curve3d :\t " + (int)HealingParameters.FixRemoveCurve3dMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to add pcurve(s) of the edge if missing (by projecting 3d curve)\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "add.pcurve :\t " + (int)HealingParameters.FixAddPCurveMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to build 3d curve of the edge if missing\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "add.curve3d :\t " + (int)HealingParameters.FixAddCurve3dMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to correct order of pcurves in the seam edge depends on its orientation\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "correct.order.in.seam :\t " + (int)HealingParameters.FixSeamMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode allowed to shifts wrong 2D curves back, ensuring that the 2D curves of the edges in the wire are connected\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "shifted :\t " + (int)HealingParameters.FixShiftedMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying EdgeSameParameter\n";
aResult += "!Default value: \"NotFix\"(0). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "edge.same.parameter :\t " + (int)HealingParameters.FixEdgeSameParameterMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix notched edges\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "notched.edges :\t " + (int)HealingParameters.FixNotchedEdgesMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix tail in wire\n";
aResult += "!Default value: \"NotFix\"(0). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "tail :\t " + (int)HealingParameters.FixTailMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for max angle of the tails\n";
aResult += "!Default value: \"NotFix\"(0). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "max.tail.angle :\t " + (int)HealingParameters.MaxTailAngle + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for max tail width\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "max.tail.width :\t " + (int)HealingParameters.MaxTailWidth + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix selfintersecting of edge\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "selfintersecting.edge :\t " + (int)HealingParameters.FixSelfIntersectingEdgeMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix intersecting edges\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "intersecting.edges :\t " + (int)HealingParameters.FixIntersectingEdgesMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for fix non adjacent intersecting edges\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "nonadjacent.intersecting.edges :\t " + (int)HealingParameters.FixNonAdjacentIntersectingEdgesMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for applying ShapeFix::FixVertexPosition before all fixes\n";
aResult += "!Default value: \"NotFix\"(0). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "vertex.position :\t " + (int)HealingParameters.FixVertexPositionMode + "\n";
aResult += "!\n";
aResult += "!\n";
aResult += "!Defines the mode for increases the tolerances of the edge vertices to comprise ";
aResult += "!the ends of 3d curve and pcurve on the given face (first method) or all pcurves stored in an edge (second one)\n";
aResult += "!Default value: \"FixOrNot\"(-1). Available values: \"FixOrNot\"(-1), \"NotFix\"(0), \"Fix\"(1)\n";
aResult += aScope + "vertex.tolerance :\t " + (int)HealingParameters.FixVertexToleranceMode + "\n";
aResult += "!\n";
return aResult;
}

View File

@@ -0,0 +1,51 @@
// Copyright (c) 2024 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License 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 and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DE_ShapeFixConfigurationNode_HeaderFile
#define _DE_ShapeFixConfigurationNode_HeaderFile
#include <DE_ConfigurationNode.hxx>
#include <DE_ShapeFixParameters.hxx>
#include <TColStd_ListOfAsciiString.hxx>
class DE_ConfigurationContext;
//! Base class to work with shape healing parameters for child classes.
class DE_ShapeFixConfigurationNode : public DE_ConfigurationNode
{
DEFINE_STANDARD_RTTIEXT(DE_ShapeFixConfigurationNode, DE_ConfigurationNode)
public:
//! Initializes all field by default
Standard_EXPORT DE_ShapeFixConfigurationNode();
//! Copies values of all fields
//! @param[in] theConfigurationNode object to copy
Standard_EXPORT DE_ShapeFixConfigurationNode(const Handle(DE_ShapeFixConfigurationNode)& theConfigurationNode);
//! Updates values according the resource
//! @param[in] theResource input resource to use
//! @return True if Load was successful
Standard_EXPORT virtual bool Load(const Handle(DE_ConfigurationContext)& theResource) Standard_OVERRIDE;
//! Writes configuration to the string
//! @return result resource string
Standard_EXPORT virtual TCollection_AsciiString Save() const Standard_OVERRIDE;
public:
DE_ShapeFixParameters HealingParameters; //!< Shape healing parameters
};
#endif // _DE_ShapeFixConfigurationNode_HeaderFile

View File

@@ -0,0 +1,82 @@
// Copyright (c) 2024 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License 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 and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DE_ShapeFixParameters_HeaderFile
#define _DE_ShapeFixParameters_HeaderFile
//! Struct for shape healing parameters storage
struct DE_ShapeFixParameters
{
//! Enum, classifying a type of value for parameters
enum class FixMode : char
{
FixOrNot = -1, //!< Procedure will be executed or not (depending on the situation)
NotFix = 0, //!< Procedure will be executed
Fix = 1 //!< Procedure will be executed anyway
};
double Tolerance3d = 1.e-6;
double MaxTolerance3d = 1.0;
double MinTolerance3d = 1.e-7;
FixMode FixFreeShellMode = FixMode::FixOrNot;
FixMode FixFreeFaceMode = FixMode::FixOrNot;
FixMode FixFreeWireMode = FixMode::FixOrNot;
FixMode FixSameParameterMode = FixMode::FixOrNot;
FixMode FixSolidMode = FixMode::FixOrNot;
FixMode FixShellOrientationMode = FixMode::FixOrNot;
FixMode CreateOpenSolidMode = FixMode::NotFix;
FixMode FixShellMode = FixMode::FixOrNot;
FixMode FixFaceOrientationMode = FixMode::FixOrNot;
FixMode FixFaceMode = FixMode::FixOrNot;
FixMode FixWireMode = FixMode::FixOrNot;
FixMode FixOrientationMode = FixMode::FixOrNot;
FixMode FixAddNaturalBoundMode = FixMode::FixOrNot;
FixMode FixMissingSeamMode = FixMode::FixOrNot;
FixMode FixSmallAreaWireMode = FixMode::FixOrNot;
FixMode RemoveSmallAreaFaceMode = FixMode::FixOrNot;
FixMode FixIntersectingWiresMode = FixMode::FixOrNot;
FixMode FixLoopWiresMode = FixMode::FixOrNot;
FixMode FixSplitFaceMode = FixMode::FixOrNot;
FixMode AutoCorrectPrecisionMode = FixMode::FixOrNot;
FixMode ModifyTopologyMode = FixMode::NotFix;
FixMode ModifyGeometryMode = FixMode::Fix;
FixMode ClosedWireMode = FixMode::Fix;
FixMode PreferencePCurveMode = FixMode::Fix;
FixMode FixReorderMode = FixMode::FixOrNot;
FixMode FixSmallMode = FixMode::FixOrNot;
FixMode FixConnectedMode = FixMode::FixOrNot;
FixMode FixEdgeCurvesMode = FixMode::FixOrNot;
FixMode FixDegeneratedMode = FixMode::FixOrNot;
FixMode FixLackingMode = FixMode::FixOrNot;
FixMode FixSelfIntersectionMode = FixMode::FixOrNot;
FixMode RemoveLoopMode = FixMode::FixOrNot;
FixMode FixReversed2dMode = FixMode::FixOrNot;
FixMode FixRemovePCurveMode = FixMode::FixOrNot;
FixMode FixRemoveCurve3dMode = FixMode::FixOrNot;
FixMode FixAddPCurveMode = FixMode::FixOrNot;
FixMode FixAddCurve3dMode = FixMode::FixOrNot;
FixMode FixSeamMode = FixMode::FixOrNot;
FixMode FixShiftedMode = FixMode::FixOrNot;
FixMode FixEdgeSameParameterMode = FixMode::NotFix;
FixMode FixNotchedEdgesMode = FixMode::FixOrNot;
FixMode FixTailMode = FixMode::NotFix;
FixMode MaxTailAngle = FixMode::NotFix;
FixMode MaxTailWidth = FixMode::FixOrNot;
FixMode FixSelfIntersectingEdgeMode = FixMode::FixOrNot;
FixMode FixIntersectingEdgesMode = FixMode::FixOrNot;
FixMode FixNonAdjacentIntersectingEdgesMode = FixMode::FixOrNot;
FixMode FixVertexPositionMode = FixMode::NotFix;
FixMode FixVertexToleranceMode = FixMode::FixOrNot;
};
#endif // _DE_ShapeFixParameters_HeaderFile

View File

@@ -5,5 +5,8 @@ DE_ConfigurationNode.hxx
DE_PluginHolder.hxx
DE_Provider.cxx
DE_Provider.hxx
DE_ShapeFixConfigurationNode.cxx
DE_ShapeFixConfigurationNode.hxx
DE_ShapeFixParameters.hxx
DE_Wrapper.cxx
DE_Wrapper.hxx

View File

@@ -1,8 +1,8 @@
// A Bison parser, made by GNU Bison 3.7.4.
// A Bison parser, made by GNU Bison 3.8.2.
// Skeleton implementation for Bison LALR(1) parsers in C++
// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
// Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// As a special exception, you may create a larger work that contains
// part or all of the Bison parser skeleton and distribute that work
@@ -176,7 +176,7 @@ static Express_HSequenceOfField *mkflist ( Express_Field *field, Express_HSequen
#else // !YYDEBUG
# define YYCDEBUG if (false) std::cerr
# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
# define YY_SYMBOL_PRINT(Title, Symbol) YY_USE (Symbol)
# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
# define YY_STACK_PRINT() static_cast<void> (0)
@@ -209,9 +209,9 @@ namespace exptocas {
parser::syntax_error::~syntax_error () YY_NOEXCEPT YY_NOTHROW
{}
/*---------------.
| symbol kinds. |
`---------------*/
/*---------.
| symbol. |
`---------*/
// basic_symbol.
template <typename Base>
@@ -229,11 +229,12 @@ namespace exptocas {
{}
template <typename Base>
parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (semantic_type) v)
parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (value_type) v)
: Base (t)
, value (YY_MOVE (v))
{}
template <typename Base>
parser::symbol_kind_type
parser::basic_symbol<Base>::type_get () const YY_NOEXCEPT
@@ -241,6 +242,7 @@ namespace exptocas {
return this->kind ();
}
template <typename Base>
bool
parser::basic_symbol<Base>::empty () const YY_NOEXCEPT
@@ -257,28 +259,30 @@ namespace exptocas {
}
// by_kind.
parser::by_kind::by_kind ()
parser::by_kind::by_kind () YY_NOEXCEPT
: kind_ (symbol_kind::S_YYEMPTY)
{}
#if 201103L <= YY_CPLUSPLUS
parser::by_kind::by_kind (by_kind&& that)
parser::by_kind::by_kind (by_kind&& that) YY_NOEXCEPT
: kind_ (that.kind_)
{
that.clear ();
}
#endif
parser::by_kind::by_kind (const by_kind& that)
parser::by_kind::by_kind (const by_kind& that) YY_NOEXCEPT
: kind_ (that.kind_)
{}
parser::by_kind::by_kind (token_kind_type t)
parser::by_kind::by_kind (token_kind_type t) YY_NOEXCEPT
: kind_ (yytranslate_ (t))
{}
void
parser::by_kind::clear ()
parser::by_kind::clear () YY_NOEXCEPT
{
kind_ = symbol_kind::S_YYEMPTY;
}
@@ -296,6 +300,7 @@ namespace exptocas {
return kind_;
}
parser::symbol_kind_type
parser::by_kind::type_get () const YY_NOEXCEPT
{
@@ -303,6 +308,7 @@ namespace exptocas {
}
// by_state.
parser::by_state::by_state () YY_NOEXCEPT
: state (empty_state)
@@ -385,7 +391,7 @@ namespace exptocas {
YY_SYMBOL_PRINT (yymsg, yysym);
// User destructor.
YYUSE (yysym.kind ());
YY_USE (yysym.kind ());
}
#if YYDEBUG
@@ -394,7 +400,7 @@ namespace exptocas {
parser::yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const
{
std::ostream& yyoutput = yyo;
YYUSE (yyoutput);
YY_USE (yyoutput);
if (yysym.empty ())
yyo << "empty symbol";
else
@@ -402,7 +408,7 @@ namespace exptocas {
symbol_kind_type yykind = yysym.kind ();
yyo << (yykind < YYNTOKENS ? "token" : "nterm")
<< ' ' << yysym.name () << " (";
YYUSE (yykind);
YY_USE (yykind);
yyo << ')';
}
}
@@ -428,7 +434,7 @@ namespace exptocas {
}
void
parser::yypop_ (int n)
parser::yypop_ (int n) YY_NOEXCEPT
{
yystack_.pop (n);
}
@@ -471,13 +477,13 @@ namespace exptocas {
}
bool
parser::yy_pact_value_is_default_ (int yyvalue)
parser::yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT
{
return yyvalue == yypact_ninf_;
}
bool
parser::yy_table_value_is_error_ (int yyvalue)
parser::yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT
{
return yyvalue == yytable_ninf_;
}
@@ -1087,6 +1093,10 @@ namespace exptocas {
const short parser::yypact_ninf_ = -134;
const signed char parser::yytable_ninf_ = -1;
@@ -1145,10 +1155,10 @@ namespace exptocas {
-64, 31, -134, -134, -127, -134, -134, -7, 18, -131
};
const short
const unsigned char
parser::yydefgoto_[] =
{
-1, 2, 9, 10, 11, 12, 13, 14, 15, 109,
0, 2, 9, 10, 11, 12, 13, 14, 15, 109,
49, 40, 41, 42, 43, 72, 152, 47, 24, 61,
85, 86, 87, 88, 119, 121, 123, 124, 106, 166
};
@@ -1306,7 +1316,7 @@ namespace exptocas {
#endif // YYDEBUG
parser::symbol_kind_type
parser::yytranslate_ (int t)
parser::yytranslate_ (int t) YY_NOEXCEPT
{
// YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
// TOKEN-NUM as returned by yylex.
@@ -1350,7 +1360,7 @@ namespace exptocas {
if (t <= 0)
return symbol_kind::S_YYEOF;
else if (t <= code_max)
return YY_CAST (symbol_kind_type, translate_table[t]);
return static_cast <symbol_kind_type> (translate_table[t]);
else
return symbol_kind::S_YYUNDEF;
}

View File

@@ -1,8 +1,8 @@
// A Bison parser, made by GNU Bison 3.7.4.
// A Bison parser, made by GNU Bison 3.8.2.
// Skeleton interface for Bison LALR(1) parsers in C++
// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
// Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// As a special exception, you may create a larger work that contains
// part or all of the Bison parser skeleton and distribute that work
@@ -148,17 +148,23 @@ namespace exptocas {
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
# define YY_USE(E) ((void) (E))
#else
# define YYUSE(E) /* empty */
# define YY_USE(E) /* empty */
#endif
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
# else
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
# endif
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
@@ -219,9 +225,14 @@ namespace exptocas {
class parser
{
public:
#ifndef YYSTYPE
#ifdef YYSTYPE
# ifdef __GNUC__
# pragma GCC message "bison: do not #define YYSTYPE in C++, use %define api.value.type"
# endif
typedef YYSTYPE value_type;
#else
/// Symbol semantic values.
union semantic_type
union value_type
{
int num;
@@ -237,9 +248,10 @@ namespace exptocas {
};
#else
typedef YYSTYPE semantic_type;
#endif
/// Backward compatibility (Bison 3.8).
typedef value_type semantic_type;
/// Syntax errors thrown from user actions.
struct syntax_error : std::runtime_error
@@ -302,7 +314,7 @@ namespace exptocas {
};
/// Token kind, as returned by yylex.
typedef token::yytokentype token_kind_type;
typedef token::token_kind_type token_kind_type;
/// Backward compatibility alias (Bison 3.6).
typedef token_kind_type token_type;
@@ -412,7 +424,7 @@ namespace exptocas {
typedef Base super_type;
/// Default constructor.
basic_symbol ()
basic_symbol () YY_NOEXCEPT
: value ()
{}
@@ -431,7 +443,7 @@ namespace exptocas {
/// Constructor for symbols with semantic value.
basic_symbol (typename Base::kind_type t,
YY_RVREF (semantic_type) v);
YY_RVREF (value_type) v);
/// Destroy the symbol.
~basic_symbol ()
@@ -439,8 +451,10 @@ namespace exptocas {
clear ();
}
/// Destroy contents, and record that is empty.
void clear ()
void clear () YY_NOEXCEPT
{
Base::clear ();
}
@@ -464,7 +478,7 @@ namespace exptocas {
void move (basic_symbol& s);
/// The semantic value.
semantic_type value;
value_type value;
private:
#if YY_CPLUSPLUS < 201103L
@@ -476,25 +490,27 @@ namespace exptocas {
/// Type access provider for token (enum) based symbols.
struct by_kind
{
/// Default constructor.
by_kind ();
#if 201103L <= YY_CPLUSPLUS
/// Move constructor.
by_kind (by_kind&& that);
#endif
/// Copy constructor.
by_kind (const by_kind& that);
/// The symbol kind as needed by the constructor.
typedef token_kind_type kind_type;
/// Default constructor.
by_kind () YY_NOEXCEPT;
#if 201103L <= YY_CPLUSPLUS
/// Move constructor.
by_kind (by_kind&& that) YY_NOEXCEPT;
#endif
/// Copy constructor.
by_kind (const by_kind& that) YY_NOEXCEPT;
/// Constructor from (external) token numbers.
by_kind (kind_type t);
by_kind (kind_type t) YY_NOEXCEPT;
/// Record that this symbol is empty.
void clear ();
void clear () YY_NOEXCEPT;
/// Steal the symbol kind from \a that.
void move (by_kind& that);
@@ -586,19 +602,19 @@ namespace exptocas {
/// Whether the given \c yypact_ value indicates a defaulted state.
/// \param yyvalue the value to check
static bool yy_pact_value_is_default_ (int yyvalue);
static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
/// Whether the given \c yytable_ value indicates a syntax error.
/// \param yyvalue the value to check
static bool yy_table_value_is_error_ (int yyvalue);
static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
static const short yypact_ninf_;
static const signed char yytable_ninf_;
/// Convert a scanner token kind \a t to a symbol kind.
/// In theory \a t should be a token_kind_type, but character literals
/// are valid, yet not members of the token_type enum.
static symbol_kind_type yytranslate_ (int t);
/// are valid, yet not members of the token_kind_type enum.
static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
#if YYDEBUG || 0
/// For a symbol, its name in clear.
@@ -620,7 +636,7 @@ namespace exptocas {
static const short yypgoto_[];
// YYDEFGOTO[NTERM-NUM].
static const short yydefgoto_[];
static const unsigned char yydefgoto_[];
// YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
// positive, shift that token. If negative, reduce the rule whose
@@ -629,14 +645,14 @@ namespace exptocas {
static const short yycheck_[];
// YYSTOS[STATE-NUM] -- The (internal number of the) accessing
// symbol of state STATE-NUM.
// YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
// state STATE-NUM.
static const signed char yystos_[];
// YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
// YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
static const signed char yyr1_[];
// YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
// YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
static const signed char yyr2_[];
@@ -735,7 +751,7 @@ namespace exptocas {
typedef typename S::size_type size_type;
typedef typename std::ptrdiff_t index_type;
stack (size_type n = 200)
stack (size_type n = 200) YY_NOEXCEPT
: seq_ (n)
{}
@@ -814,7 +830,7 @@ namespace exptocas {
class slice
{
public:
slice (const stack& stack, index_type range)
slice (const stack& stack, index_type range) YY_NOEXCEPT
: stack_ (stack)
, range_ (range)
{}
@@ -864,7 +880,7 @@ namespace exptocas {
void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
/// Pop \a n symbols from the stack.
void yypop_ (int n = 1);
void yypop_ (int n = 1) YY_NOEXCEPT;
/// Constants.
enum

File diff suppressed because it is too large Load Diff

View File

@@ -17,7 +17,7 @@
%option yywrap
%{
#include <ExprIntrp.tab.h>
#include <ExprIntrp.tab.hxx>
#include <ExprIntrp_yaccintrf.hxx>

View File

@@ -1,8 +1,8 @@
/* A Bison parser, made by GNU Bison 3.7.4. */
/* A Bison parser, made by GNU Bison 3.8.2. */
/* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -16,7 +16,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -46,10 +46,10 @@
USER NAME SPACE" below. */
/* Identify Bison output, and Bison version. */
#define YYBISON 30704
#define YYBISON 30802
/* Bison version string. */
#define YYBISON_VERSION "3.7.4"
#define YYBISON_VERSION "3.8.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -151,7 +151,7 @@ extern void ExprIntrp_EndOfEqual();
# endif
# endif
#include "ExprIntrp.tab.h"
#include "ExprIntrp.tab.hxx"
/* Symbol kind. */
enum yysymbol_kind_t
{
@@ -267,6 +267,18 @@ typedef int_least16_t yytype_int16;
typedef short yytype_int16;
#endif
/* Work around bug in HP-UX 11.23, which defines these macros
incorrectly for preprocessor constants. This workaround can likely
be removed in 2023, as HPE has promised support for HP-UX 11.23
(aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
<https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
#ifdef __hpux
# undef UINT_LEAST8_MAX
# undef UINT_LEAST16_MAX
# define UINT_LEAST8_MAX 255
# define UINT_LEAST16_MAX 65535
#endif
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
@@ -364,17 +376,23 @@ typedef int yy_state_fast_t;
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
# define YY_USE(E) ((void) (E))
#else
# define YYUSE(E) /* empty */
# define YY_USE(E) /* empty */
#endif
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
# else
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
# endif
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
@@ -590,7 +608,7 @@ static const yytype_int8 yytranslate[] =
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint8 yyrline[] =
{
0, 80, 80, 81, 82, 83, 84, 87, 87, 90,
@@ -637,17 +655,6 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
#ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
static const yytype_int16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 10
};
#endif
#define YYPACT_NINF (-51)
#define yypact_value_is_default(Yyn) \
@@ -658,8 +665,8 @@ static const yytype_int16 yytoknum[] =
#define yytable_value_is_error(Yyn) \
0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
4, 62, 62, 62, 62, -51, 2, 87, 39, 58,
@@ -679,9 +686,9 @@ static const yytype_int16 yypact[] =
140, 171, 172, -51, -51, 174, 175, -51, -51
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
static const yytype_int8 yydefact[] =
{
0, 0, 0, 0, 0, 28, 27, 0, 0, 0,
@@ -701,7 +708,7 @@ static const yytype_int8 yydefact[] =
0, 0, 0, 62, 65, 0, 0, 63, 66
};
/* YYPGOTO[NTERM-NUM]. */
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] =
{
-51, -51, -51, -51, -51, -51, 0, -51, -51, -51,
@@ -711,19 +718,19 @@ static const yytype_int8 yypgoto[] =
-35, -51
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_uint8 yydefgoto[] =
{
-1, 13, 14, 36, 15, 94, 79, 17, 18, 19,
0, 13, 14, 36, 15, 94, 79, 17, 18, 19,
57, 80, 112, 20, 21, 58, 22, 37, 23, 66,
129, 42, 24, 38, 89, 114, 90, 25, 116, 117,
135, 26, 95, 126, 27, 119, 145, 28, 120, 146,
29, 30
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
16, 32, 33, 34, 35, 41, 81, 1, 2, 48,
@@ -770,8 +777,8 @@ static const yytype_int16 yycheck[] =
13, 11, -1, 12, 12, 11, 11, -1, 114, 66
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
state STATE-NUM. */
static const yytype_int8 yystos[] =
{
0, 3, 4, 8, 9, 12, 13, 15, 17, 19,
@@ -791,7 +798,7 @@ static const yytype_int8 yystos[] =
32, 14, 14, 12, 12, 62, 65, 11, 11
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
static const yytype_int8 yyr1[] =
{
0, 26, 27, 27, 27, 27, 27, 29, 28, 31,
@@ -804,7 +811,7 @@ static const yytype_int8 yyr1[] =
67
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
static const yytype_int8 yyr2[] =
{
0, 2, 1, 1, 1, 1, 1, 0, 4, 0,
@@ -826,6 +833,7 @@ enum { YYENOMEM = -2 };
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab
#define YYNOMEM goto yyexhaustedlab
#define YYRECOVERING() (!!yyerrstatus)
@@ -866,10 +874,7 @@ do { \
YYFPRINTF Args; \
} while (0)
/* This macro is provided for backward compatibility. */
# ifndef YY_LOCATION_PRINT
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
@@ -893,15 +898,11 @@ yy_symbol_value_print (FILE *yyo,
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
{
FILE *yyoutput = yyo;
YYUSE (yyoutput);
YY_USE (yyoutput);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yykind < YYNTOKENS)
YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
# endif
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yykind);
YY_USE (yykind);
YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -1015,13 +1016,13 @@ static void
yydestruct (const char *yymsg,
yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
{
YYUSE (yyvaluep);
YY_USE (yyvaluep);
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yykind);
YY_USE (yykind);
YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -1084,6 +1085,7 @@ yyparse (void)
YYDPRINTF ((stderr, "Starting parse\n"));
yychar = YYEMPTY; /* Cause a token to be read. */
goto yysetstate;
@@ -1109,7 +1111,7 @@ yysetstate:
if (yyss + yystacksize - 1 <= yyssp)
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
goto yyexhaustedlab;
YYNOMEM;
#else
{
/* Get the current used size of the three stacks, in elements. */
@@ -1137,7 +1139,7 @@ yysetstate:
# else /* defined YYSTACK_RELOCATE */
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
YYNOMEM;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
yystacksize = YYMAXDEPTH;
@@ -1148,7 +1150,7 @@ yysetstate:
YY_CAST (union yyalloc *,
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
if (! yyptr)
goto yyexhaustedlab;
YYNOMEM;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
@@ -1170,6 +1172,7 @@ yysetstate:
}
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
if (yystate == YYFINAL)
YYACCEPT;
@@ -1551,6 +1554,7 @@ yyerrorlab:
label yyerrorlab therefore never appears in user code. */
if (0)
YYERROR;
++yynerrs;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
@@ -1611,7 +1615,7 @@ yyerrlab1:
`-------------------------------------*/
yyacceptlab:
yyresult = 0;
goto yyreturn;
goto yyreturnlab;
/*-----------------------------------.
@@ -1619,24 +1623,22 @@ yyacceptlab:
`-----------------------------------*/
yyabortlab:
yyresult = 1;
goto yyreturn;
goto yyreturnlab;
#if !defined yyoverflow
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
/*-----------------------------------------------------------.
| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
`-----------------------------------------------------------*/
yyexhaustedlab:
yyerror (YY_("memory exhausted"));
yyresult = 2;
goto yyreturn;
#endif
goto yyreturnlab;
/*-------------------------------------------------------.
| yyreturn -- parsing is finished, clean up and return. |
`-------------------------------------------------------*/
yyreturn:
/*----------------------------------------------------------.
| yyreturnlab -- parsing is finished, clean up and return. |
`----------------------------------------------------------*/
yyreturnlab:
if (yychar != YYEMPTY)
{
/* Make sure we have latest lookahead translation. See comments at

Some files were not shown because too many files have changed in this diff Show More