mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-08 14:17:06 +03:00
Compare commits
28 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
e13c6a27b8 | ||
|
2afe8d66cb | ||
|
72c6d55bf2 | ||
|
d0e33902bc | ||
|
a52ee17c73 | ||
|
72b244bc98 | ||
|
9c6914c3cc | ||
|
4ab54d60ef | ||
|
09a69618da | ||
|
6cb0b9b4e3 | ||
|
33339b0dc2 | ||
|
392ba7dbb6 | ||
|
ed20837d8b | ||
|
2ab4e9e180 | ||
|
d83d72acf9 | ||
|
fae5678dc7 | ||
|
488c43ed0c | ||
|
2fa9309186 | ||
|
4309cf7362 | ||
|
7236e83dcc | ||
|
099e0d2524 | ||
|
b332761e13 | ||
|
da71394f31 | ||
|
2736652117 | ||
|
677f383561 | ||
|
bd14b69336 | ||
|
f0620a8d65 | ||
|
245febe036 |
40
.github/workflows/build-linux-clang-x64-dynamic.yml
vendored
Normal file
40
.github/workflows/build-linux-clang-x64-dynamic.yml
vendored
Normal 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)
|
40
.github/workflows/build-linux-gcc-x64-dynamic.yml
vendored
Normal file
40
.github/workflows/build-linux-gcc-x64-dynamic.yml
vendored
Normal 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)
|
43
.github/workflows/build-macos-clang-x64-dynamic.yml
vendored
Normal file
43
.github/workflows/build-macos-clang-x64-dynamic.yml
vendored
Normal 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)
|
44
.github/workflows/build-windows-msvc-x64-dynamic.yml
vendored
Normal file
44
.github/workflows/build-windows-msvc-x64-dynamic.yml
vendored
Normal 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
62
.github/workflows/codemsvc.yml
vendored
Normal 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
60
.github/workflows/codeql.yml
vendored
Normal 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
1
.gitignore
vendored
@@ -1,6 +1,7 @@
|
||||
|
||||
# standard directories for derived files in CASROOT
|
||||
/.adm
|
||||
/.vscode
|
||||
/lin
|
||||
/mac
|
||||
/wnt
|
||||
|
@@ -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}")
|
||||
|
||||
|
@@ -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})
|
||||
|
@@ -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)
|
||||
|
@@ -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})
|
||||
|
@@ -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")
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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})
|
||||
|
@@ -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)")
|
||||
|
@@ -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
|
||||
|
@@ -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 |
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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)
|
||||
|
||||
|
@@ -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)
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
@@ -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
|
||||
{
|
||||
|
@@ -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.
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
||||
|
||||
|
@@ -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();
|
||||
|
@@ -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
|
||||
|
@@ -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 : */
|
||||
|
@@ -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 : */
|
||||
/* ---------------- */
|
||||
|
@@ -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 */
|
||||
/* */
|
||||
|
||||
/* */
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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())
|
||||
{
|
||||
|
@@ -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.;
|
||||
|
@@ -229,7 +229,6 @@ Standard_Integer bopsmt(Draw_Interpretor& di,
|
||||
return 0;
|
||||
}
|
||||
//
|
||||
char buf[64];
|
||||
Standard_Boolean bRunParallel;
|
||||
Standard_Integer aNb;
|
||||
BOPAlgo_BOP aBOP;
|
||||
@@ -237,8 +236,7 @@ Standard_Integer bopsmt(Draw_Interpretor& di,
|
||||
const TopTools_ListOfShape& aLC=pPF->Arguments();
|
||||
aNb=aLC.Extent();
|
||||
if (aNb!=2) {
|
||||
Sprintf (buf, " wrong number of arguments %s\n", aNb);
|
||||
di << buf;
|
||||
di << " wrong number of arguments " << aNb << '\n';
|
||||
return 0;
|
||||
}
|
||||
//
|
||||
@@ -298,7 +296,6 @@ Standard_Integer bopsection(Draw_Interpretor& di,
|
||||
return 0;
|
||||
}
|
||||
//
|
||||
char buf[64];
|
||||
Standard_Boolean bRunParallel;
|
||||
Standard_Integer aNb;
|
||||
BOPAlgo_Section aBOP;
|
||||
@@ -306,8 +303,7 @@ Standard_Integer bopsection(Draw_Interpretor& di,
|
||||
const TopTools_ListOfShape& aLC=pPF->Arguments();
|
||||
aNb=aLC.Extent();
|
||||
if (aNb!=2) {
|
||||
Sprintf (buf, " wrong number of arguments %s\n", aNb);
|
||||
di << buf;
|
||||
di << " wrong number of arguments " << aNb << '\n';
|
||||
return 0;
|
||||
}
|
||||
//
|
||||
|
@@ -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);
|
||||
|
@@ -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,
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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,
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -43,7 +43,7 @@ static Standard_Integer
|
||||
IntersectionOfSets( const NCollection_List<Standard_Integer>& theSet1,
|
||||
const NCollection_List<Standard_Integer>& theSet2)
|
||||
{
|
||||
const Standard_Integer anIntMax = IntegerLast();
|
||||
constexpr Standard_Integer anIntMax = IntegerLast();
|
||||
Standard_Integer aRetVal = anIntMax;
|
||||
for(NCollection_List<Standard_Integer>::Iterator
|
||||
anIt1 = theSet1.begin().Iterator();
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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)
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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());
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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,
|
||||
|
@@ -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).
|
||||
|
@@ -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,
|
||||
|
@@ -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.
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
//=======================================================================
|
||||
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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.
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -234,7 +234,7 @@ Standard_Integer BRepToIGESBRep_Entity::AddEdge(const TopoDS_Edge& myedge,
|
||||
Standard_Integer index = myEdges.FindIndex(E);
|
||||
if (index == 0) {
|
||||
index = myEdges.Add(E);
|
||||
myCurves.Add(C);
|
||||
myCurves.Append(C);
|
||||
}
|
||||
|
||||
return index;
|
||||
|
@@ -23,6 +23,7 @@
|
||||
|
||||
#include <TopTools_IndexedMapOfShape.hxx>
|
||||
#include <TColStd_IndexedMapOfTransient.hxx>
|
||||
#include <TColStd_SequenceOfTransient.hxx>
|
||||
#include <BRepToIGES_BREntity.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Message_ProgressRange.hxx>
|
||||
@@ -136,7 +137,7 @@ private:
|
||||
|
||||
TopTools_IndexedMapOfShape myVertices;
|
||||
TopTools_IndexedMapOfShape myEdges;
|
||||
TColStd_IndexedMapOfTransient myCurves;
|
||||
TColStd_SequenceOfTransient myCurves;
|
||||
Handle(IGESSolid_EdgeList) myEdgeList;
|
||||
Handle(IGESSolid_VertexList) myVertexList;
|
||||
|
||||
|
@@ -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 );
|
||||
|
@@ -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>.
|
||||
|
@@ -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);
|
||||
|
@@ -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) {
|
||||
|
@@ -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) {
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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;
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -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.
|
||||
|
@@ -720,7 +720,7 @@ static Standard_Boolean IsSegmentOut(Standard_Real x1,Standard_Real y1,
|
||||
Standard_Real xs1,Standard_Real ys1,
|
||||
Standard_Real xs2,Standard_Real ys2)
|
||||
{
|
||||
Standard_Real eps = RealSmall();
|
||||
constexpr Standard_Real eps = RealSmall();
|
||||
Standard_Real xsmin = Min (xs1, xs2);
|
||||
Standard_Real xsmax = Max (xs1, xs2);
|
||||
Standard_Real ysmin = Min (ys1, ys2);
|
||||
@@ -765,7 +765,7 @@ Standard_Boolean Bnd_Box::IsOut(const gp_Pnt& P1, const gp_Pnt& P2, const gp_Dir
|
||||
if (IsWhole()) return Standard_False;
|
||||
else if (IsVoid()) return Standard_True;
|
||||
|
||||
Standard_Real eps = RealSmall();
|
||||
constexpr Standard_Real eps = RealSmall();
|
||||
Standard_Real myXmin, myYmin, myZmin, myXmax, myYmax, myZmax;
|
||||
Get (myXmin, myYmin, myZmin, myXmax, myYmax, myZmax);
|
||||
|
||||
|
@@ -180,7 +180,7 @@ static void TreatInfinitePlane(const gp_Pln &aPlane,
|
||||
{
|
||||
// Get 3 coordinate axes of the plane.
|
||||
const gp_Dir &aNorm = aPlane.Axis().Direction();
|
||||
const Standard_Real anAngularTol = RealEpsilon();
|
||||
constexpr Standard_Real anAngularTol = RealEpsilon();
|
||||
|
||||
// Get location of the plane as its barycenter
|
||||
gp_Pnt aLocation = BaryCenter(aPlane, aUMin, aUMax, aVMin, aVMax);
|
||||
@@ -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,
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
||||
|
500
src/DE/DE_ShapeFixConfigurationNode.cxx
Normal file
500
src/DE/DE_ShapeFixConfigurationNode.cxx
Normal file
@@ -0,0 +1,500 @@
|
||||
// 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;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
// function : ChangeHealingParams
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void DE_ShapeFixConfigurationNode::ChangeHealingParams()
|
||||
{
|
||||
}
|
54
src/DE/DE_ShapeFixConfigurationNode.hxx
Normal file
54
src/DE/DE_ShapeFixConfigurationNode.hxx
Normal file
@@ -0,0 +1,54 @@
|
||||
// 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;
|
||||
|
||||
//! Redefined some healing parameters, depending on format
|
||||
Standard_EXPORT virtual void ChangeHealingParams();
|
||||
|
||||
public:
|
||||
|
||||
DE_ShapeFixParameters HealingParameters; //!< Shape healing parameters
|
||||
|
||||
};
|
||||
|
||||
#endif // _DE_ShapeFixConfigurationNode_HeaderFile
|
74
src/DE/DE_ShapeFixParameters.cxx
Normal file
74
src/DE/DE_ShapeFixParameters.cxx
Normal file
@@ -0,0 +1,74 @@
|
||||
// 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_ShapeFixParameters.hxx>
|
||||
#include <NCollection_DataMap.hxx>
|
||||
#include <NCollection_Shared.hxx>
|
||||
#include <TCollection_AsciiString.hxx>
|
||||
|
||||
//! Fill healing parameters map
|
||||
void DE_ShapeFixParameters::FillParamsMap(DE_ShapeFixParameters::HealingParamMap& theMap)
|
||||
{
|
||||
theMap.Bind("Tolerance3d", TCollection_AsciiString(Tolerance3d));
|
||||
theMap.Bind("MinTolerance3d", TCollection_AsciiString(MinTolerance3d));
|
||||
theMap.Bind("MaxTolerance3d", TCollection_AsciiString(MaxTolerance3d));
|
||||
theMap.Bind("FixFreeShellMode", TCollection_AsciiString(static_cast<int>(FixFreeShellMode)));
|
||||
theMap.Bind("FixFreeFaceMode", TCollection_AsciiString(static_cast<int>(FixFreeFaceMode)));
|
||||
theMap.Bind("FixFreeFaceMode", TCollection_AsciiString(static_cast<int>(FixFreeFaceMode)));
|
||||
theMap.Bind("FixFreeWireMode", TCollection_AsciiString(static_cast<int>(FixFreeWireMode)));
|
||||
theMap.Bind("FixSameParameterMode", TCollection_AsciiString(static_cast<int>(FixSameParameterMode)));
|
||||
theMap.Bind("FixSolidMode", TCollection_AsciiString(static_cast<int>(FixSolidMode)));
|
||||
theMap.Bind("FixShellOrientationMode", TCollection_AsciiString(static_cast<int>(FixShellOrientationMode)));
|
||||
theMap.Bind("CreateOpenSolidMode", TCollection_AsciiString(static_cast<int>(CreateOpenSolidMode)));
|
||||
theMap.Bind("FixShellMode", TCollection_AsciiString(static_cast<int>(FixShellMode)));
|
||||
theMap.Bind("FixFaceOrientationMode", TCollection_AsciiString(static_cast<int>(FixFaceOrientationMode)));
|
||||
theMap.Bind("FixFaceMode", TCollection_AsciiString(static_cast<int>(FixFaceMode)));
|
||||
theMap.Bind("FixWireMode", TCollection_AsciiString(static_cast<int>(FixWireMode)));
|
||||
theMap.Bind("FixOrientationMode", TCollection_AsciiString(static_cast<int>(FixOrientationMode)));
|
||||
theMap.Bind("FixAddNaturalBoundMode", TCollection_AsciiString(static_cast<int>(FixAddNaturalBoundMode)));
|
||||
theMap.Bind("FixMissingSeamMode", TCollection_AsciiString(static_cast<int>(FixMissingSeamMode)));
|
||||
theMap.Bind("FixSmallAreaWireMode", TCollection_AsciiString(static_cast<int>(FixSmallAreaWireMode)));
|
||||
theMap.Bind("RemoveSmallAreaFaceMode", TCollection_AsciiString(static_cast<int>(RemoveSmallAreaFaceMode)));
|
||||
theMap.Bind("FixIntersectingWiresMode", TCollection_AsciiString(static_cast<int>(FixIntersectingWiresMode)));
|
||||
theMap.Bind("FixLoopWiresMode", TCollection_AsciiString(static_cast<int>(FixLoopWiresMode)));
|
||||
theMap.Bind("FixSplitFaceMode", TCollection_AsciiString(static_cast<int>(FixSplitFaceMode)));
|
||||
theMap.Bind("AutoCorrectPrecisionMode", TCollection_AsciiString(static_cast<int>(AutoCorrectPrecisionMode)));
|
||||
theMap.Bind("ModifyTopologyMode", TCollection_AsciiString(static_cast<int>(ModifyTopologyMode)));
|
||||
theMap.Bind("ClosedWireMode", TCollection_AsciiString(static_cast<int>(ClosedWireMode)));
|
||||
theMap.Bind("PreferencePCurveMode", TCollection_AsciiString(static_cast<int>(PreferencePCurveMode)));
|
||||
theMap.Bind("FixReorderMode", TCollection_AsciiString(static_cast<int>(FixReorderMode)));
|
||||
theMap.Bind("FixSmallMode", TCollection_AsciiString(static_cast<int>(FixSmallMode)));
|
||||
theMap.Bind("FixConnectedMode", TCollection_AsciiString(static_cast<int>(FixConnectedMode)));
|
||||
theMap.Bind("FixEdgeCurvesMode", TCollection_AsciiString(static_cast<int>(FixEdgeCurvesMode)));
|
||||
theMap.Bind("FixDegeneratedMode", TCollection_AsciiString(static_cast<int>(FixDegeneratedMode)));
|
||||
theMap.Bind("FixLackingMode", TCollection_AsciiString(static_cast<int>(FixLackingMode)));
|
||||
theMap.Bind("FixSelfIntersectionMode", TCollection_AsciiString(static_cast<int>(FixSelfIntersectionMode)));
|
||||
theMap.Bind("RemoveLoopMode", TCollection_AsciiString(static_cast<int>(RemoveLoopMode)));
|
||||
theMap.Bind("FixReversed2dMode", TCollection_AsciiString(static_cast<int>(FixReversed2dMode)));
|
||||
theMap.Bind("FixRemovePCurveMode", TCollection_AsciiString(static_cast<int>(FixRemovePCurveMode)));
|
||||
theMap.Bind("FixRemoveCurve3dMode", TCollection_AsciiString(static_cast<int>(FixRemoveCurve3dMode)));
|
||||
theMap.Bind("FixAddPCurveMode", TCollection_AsciiString(static_cast<int>(FixAddPCurveMode)));
|
||||
theMap.Bind("FixAddCurve3dMode", TCollection_AsciiString(static_cast<int>(FixAddCurve3dMode)));
|
||||
theMap.Bind("FixSeamMode", TCollection_AsciiString(static_cast<int>(FixSeamMode)));
|
||||
theMap.Bind("FixShiftedMode", TCollection_AsciiString(static_cast<int>(FixShiftedMode)));
|
||||
theMap.Bind("FixEdgeSameParameterMode", TCollection_AsciiString(static_cast<int>(FixEdgeSameParameterMode)));
|
||||
theMap.Bind("FixNotchedEdgesMode", TCollection_AsciiString(static_cast<int>(FixNotchedEdgesMode)));
|
||||
theMap.Bind("FixTailMode", TCollection_AsciiString(static_cast<int>(FixTailMode)));
|
||||
theMap.Bind("MaxTailAngle", TCollection_AsciiString(static_cast<int>(MaxTailAngle)));
|
||||
theMap.Bind("MaxTailWidth", TCollection_AsciiString(static_cast<int>(MaxTailWidth)));
|
||||
theMap.Bind("FixSelfIntersectingEdgeMode", TCollection_AsciiString(static_cast<int>(FixSelfIntersectingEdgeMode)));
|
||||
theMap.Bind("FixIntersectingEdgesMode", TCollection_AsciiString(static_cast<int>(FixIntersectingEdgesMode)));
|
||||
theMap.Bind("FixNonAdjacentIntersectingEdgesMode", TCollection_AsciiString(static_cast<int>(FixNonAdjacentIntersectingEdgesMode)));
|
||||
theMap.Bind("FixVertexPositionMode", TCollection_AsciiString(static_cast<int>(FixVertexPositionMode)));
|
||||
theMap.Bind("FixVertexToleranceMode", TCollection_AsciiString(static_cast<int>(FixVertexToleranceMode)));
|
||||
}
|
92
src/DE/DE_ShapeFixParameters.hxx
Normal file
92
src/DE/DE_ShapeFixParameters.hxx
Normal file
@@ -0,0 +1,92 @@
|
||||
// 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
|
||||
|
||||
#include <NCollection_DataMap.hxx>
|
||||
#include <NCollection_Shared.hxx>
|
||||
#include <TCollection_AsciiString.hxx>
|
||||
|
||||
//! Struct for shape healing parameters storage
|
||||
struct DE_ShapeFixParameters
|
||||
{
|
||||
typedef NCollection_Shared<NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString>> HealingParamMap;
|
||||
|
||||
//! 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-3;
|
||||
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::Fix;
|
||||
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;
|
||||
|
||||
//! Fill healing parameters map
|
||||
Standard_EXPORT void DE_ShapeFixParameters::FillParamsMap(DE_ShapeFixParameters::HealingParamMap& theMap);
|
||||
|
||||
};
|
||||
|
||||
#endif // _DE_ShapeFixParameters_HeaderFile
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user