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
|
# standard directories for derived files in CASROOT
|
||||||
/.adm
|
/.adm
|
||||||
|
/.vscode
|
||||||
/lin
|
/lin
|
||||||
/mac
|
/mac
|
||||||
/wnt
|
/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
|
# include occt macros. compiler_bitness, os_wiht_bit, compiler
|
||||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
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}")
|
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||||
#CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_${PRODUCT_NAME}_DIR PATH "The directory containing ${PRODUCT_NAME}")
|
#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()
|
endif()
|
||||||
|
|
||||||
# Add paths to 3rdparty subfolders containing name "bison" to CMAKE_PROGRAM_PATH variable to make
|
# 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)
|
if (3RDPARTY_DIR)
|
||||||
file (GLOB BISON_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*bison*/")
|
file (GLOB BISON_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*bison*/")
|
||||||
foreach (candidate_path ${BISON_PATHS})
|
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}")
|
message (STATUS "add_custom_command: TARGET ${_target} PRE_BUILD ${_cmds}")
|
||||||
endif()
|
endif()
|
||||||
# because CMake PRE_BUILD command does not support dependencies,
|
# 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(
|
add_custom_command(
|
||||||
TARGET "${_target}"
|
TARGET "${_target}"
|
||||||
PRE_BUILD ${_cmds}
|
PRE_BUILD ${_cmds}
|
||||||
@@ -2637,7 +2637,7 @@ function (cotire_setup_unity_generation_commands _language _target _targetScript
|
|||||||
endif()
|
endif()
|
||||||
if (WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
if (WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
||||||
# unity file compilation results in potentially huge object file,
|
# 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")
|
set_property (SOURCE "${_unityFile}" APPEND_STRING PROPERTY COMPILE_FLAGS "/bigobj")
|
||||||
endif()
|
endif()
|
||||||
cotire_set_cmd_to_prologue(_unityCmd)
|
cotire_set_cmd_to_prologue(_unityCmd)
|
||||||
|
@@ -15,7 +15,7 @@ if (NOT FLEX_INCLUDE_DIR OR NOT EXISTS "${FLEX_INCLUDE_DIR}")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Add paths to 3rdparty subfolders containing name "flex" to CMAKE_PROGRAM_PATH and
|
# 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)
|
if (3RDPARTY_DIR)
|
||||||
file (GLOB FLEX_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*flex*")
|
file (GLOB FLEX_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*flex*")
|
||||||
foreach (candidate_path ${FLEX_PATHS})
|
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_SHORT_NAME()
|
||||||
OCCT_MAKE_COMPILER_BITNESS()
|
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}")
|
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||||
#CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_FREETYPE_DIR PATH "The directory containing freetype")
|
#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}")
|
set (CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
# Optimize size of binaries
|
# 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)
|
elseif(MINGW)
|
||||||
add_definitions(-D_WIN32_WINNT=0x0601)
|
add_definitions(-D_WIN32_WINNT=0x0601)
|
||||||
# _WIN32_WINNT=0x0601 (use Windows 7 SDK)
|
# _WIN32_WINNT=0x0601 (use Windows 7 SDK)
|
||||||
|
@@ -479,8 +479,8 @@ if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT)
|
|||||||
if(IS_VTK_9XX)
|
if(IS_VTK_9XX)
|
||||||
string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
|
string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
|
|
||||||
endif()
|
endif()
|
||||||
|
target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
|
||||||
|
|
||||||
if (USE_QT)
|
if (USE_QT)
|
||||||
foreach (PROJECT_LIBRARY_DEBUG ${PROJECT_LIBRARIES_DEBUG})
|
foreach (PROJECT_LIBRARY_DEBUG ${PROJECT_LIBRARIES_DEBUG})
|
||||||
|
@@ -27,7 +27,7 @@ if (WIN32)
|
|||||||
|
|
||||||
# Below, we have correct 3RDPARTY_DIR.
|
# 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}"))
|
if (("${3RDPARTY_TBB_DIR}" STREQUAL "") OR (NOT EXISTS "${3RDPARTY_TBB_DIR}"))
|
||||||
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
|
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
|
||||||
if (TBB_DIR_NAME)
|
if (TBB_DIR_NAME)
|
||||||
@@ -44,7 +44,7 @@ if (WIN32)
|
|||||||
REQUIRED
|
REQUIRED
|
||||||
CONFIG)
|
CONFIG)
|
||||||
|
|
||||||
# Achive include directory
|
# Archive include directory
|
||||||
get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
|
get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
|
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||||
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
|
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)
|
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||||
endif()
|
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)
|
separate_arguments (CSF_TBB)
|
||||||
foreach (LIB IN LISTS CSF_TBB)
|
foreach (LIB IN LISTS CSF_TBB)
|
||||||
string(TOLOWER "${LIB}" LIB_LOWER)
|
string(TOLOWER "${LIB}" LIB_LOWER)
|
||||||
string(TOUPPER "${LIB}" LIB_UPPER)
|
string(TOUPPER "${LIB}" LIB_UPPER)
|
||||||
|
|
||||||
# Achive *.lib files and directory containing it.
|
# Archive *.lib files and directory containing it.
|
||||||
get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_RELEASE)
|
get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_${CHOSEN_IMPORT_CONF})
|
||||||
# Reserve cache variable for *.lib.
|
# Reserve cache variable for *.lib.
|
||||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
|
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
|
||||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.lib)")
|
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)
|
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Achive *.dll files and directory containing it.
|
# Archive *.dll files and directory containing it.
|
||||||
get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
|
get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
|
||||||
# Reserve cache variable for *.dll.
|
# Reserve cache variable for *.dll.
|
||||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL)
|
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL)
|
||||||
set (3RDPARTY_${LIB_UPPER}_DLL "" CACHE FILEPATH "${LIB_UPPER} library (*.dll)")
|
set (3RDPARTY_${LIB_UPPER}_DLL "" CACHE FILEPATH "${LIB_UPPER} library (*.dll)")
|
||||||
@@ -171,9 +175,9 @@ else ()
|
|||||||
REQUIRED
|
REQUIRED
|
||||||
CONFIG)
|
CONFIG)
|
||||||
endif()
|
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)
|
get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
|
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||||
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
|
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)
|
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||||
endif()
|
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)
|
separate_arguments (CSF_TBB)
|
||||||
foreach (LIB IN LISTS CSF_TBB)
|
foreach (LIB IN LISTS CSF_TBB)
|
||||||
string(TOLOWER "${LIB}" LIB_LOWER)
|
string(TOLOWER "${LIB}" LIB_LOWER)
|
||||||
string(TOUPPER "${LIB}" LIB_UPPER)
|
string(TOUPPER "${LIB}" LIB_UPPER)
|
||||||
|
|
||||||
# Achive *.so files and directory containing it.
|
# Archive *.so files and directory containing it.
|
||||||
get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
|
get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
|
||||||
# Reserve cache variable for *.so.
|
# Reserve cache variable for *.so.
|
||||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
|
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
|
||||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.so)")
|
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.
|
# all files with @theHeaderExtensions are processed.
|
||||||
# "fwd.tcollection" section from upgrade.ini file is used to find out what
|
# "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
|
# 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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| Doxygen 1.8.5+ | https://www.doxygen.nl/download.html | Documentation | (Re)generating documentation |
|
||||||
| Graphviz 2.38+ | https://graphviz.org/ | Documentation | Generating dependency graphs |
|
| Graphviz 2.38+ | https://graphviz.org/ | Documentation | Generating dependency graphs |
|
||||||
|
@@ -763,7 +763,7 @@ filter2->AddSkipped("TDataStd_Integer");
|
|||||||
app->Open("example.cbf", doc, filter2);
|
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.
|
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.
|
*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 |
|
| Closed wire | Edges | All edges |
|
||||||
| Opened wire | Edges and ending vertexes | All edges plus ending vertexes of the wire |
|
| Opened wire | Edges and ending vertexes | All edges plus ending vertexes of the wire |
|
||||||
| Edge | Vertexes | Two vertexes are expected |
|
| 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.
|
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})
|
set (OpenCASCADE_INSTALL_PREFIX ${OpenCASCADE_DIR})
|
||||||
|
|
||||||
# Define OCCT toolkits so that CMake can put absolute paths to linker;
|
# 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})
|
foreach (aLibIter ${OpenCASCADE_TKLIST})
|
||||||
add_library (${aLibIter} SHARED IMPORTED)
|
add_library (${aLibIter} SHARED IMPORTED)
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@ project (ImportExport)
|
|||||||
add_definitions (-DWINVER=0x0501 -DUNICODE -D_UNICODE)
|
add_definitions (-DWINVER=0x0501 -DUNICODE -D_UNICODE)
|
||||||
set (CMAKE_MFC_FLAG 2)
|
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
|
set (ImportExport_HEADER_FILES ${ImportExport_SRC_DIR}/ColoredShapes.h
|
||||||
${ImportExport_SRC_DIR}/ImportExportApp.h
|
${ImportExport_SRC_DIR}/ImportExportApp.h
|
||||||
${ImportExport_SRC_DIR}/ImportExportDoc.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}/ImportExportDoc.cpp
|
||||||
${ImportExport_SRC_DIR}/StdAfx.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_HEADER ${ImportExport_RESOURCE_DIR}/resource.h)
|
||||||
set (ImportExport_RESOURCE_FILES ${ImportExport_RESOURCE_DIR}/Toolbar.bmp
|
set (ImportExport_RESOURCE_FILES ${ImportExport_RESOURCE_DIR}/Toolbar.bmp
|
||||||
${ImportExport_RESOURCE_DIR}/ImportExport.rc)
|
${ImportExport_RESOURCE_DIR}/ImportExport.rc)
|
||||||
@@ -55,7 +55,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories (${CMAKE_BINARY_DIR}/inc
|
include_directories (${CMAKE_BINARY_DIR}/inc
|
||||||
${MFC_STANDARD_SAMPLES_DIR}/05_ImportExport
|
${MFC_STANDARD_SAMPLES_DIR}/03_ImportExport
|
||||||
${ImportExport_SRC_DIR}
|
${ImportExport_SRC_DIR}
|
||||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@ project (HLR)
|
|||||||
add_definitions(-DWINVER=0x0501 -DUNICODE -D_UNICODE)
|
add_definitions(-DWINVER=0x0501 -DUNICODE -D_UNICODE)
|
||||||
set (CMAKE_MFC_FLAG 2)
|
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
|
set (HLR_HEADER_FILES ${HLR_SRC_DIR}/HLRApp.h
|
||||||
${HLR_SRC_DIR}/HLRDoc.h
|
${HLR_SRC_DIR}/HLRDoc.h
|
||||||
${HLR_SRC_DIR}/HLRView2D.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}/SelectionDialog.cpp
|
||||||
${HLR_SRC_DIR}/StdAfx.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_HEADER ${HLR_RESOURCE_DIR}/resource.h)
|
||||||
set (HLR_RESOURCE_FILES ${HLR_RESOURCE_DIR}/axoviewd.bmp
|
set (HLR_RESOURCE_FILES ${HLR_RESOURCE_DIR}/axoviewd.bmp
|
||||||
${HLR_RESOURCE_DIR}/axoviewf.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}/OCC_StereoConfigDlg.h
|
||||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.h
|
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.h
|
||||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.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}/ColoredMeshDlg.h
|
||||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.h
|
${MFC_STANDARD_COMMON_SAMPLES_DIR}/DimensionDlg.h
|
||||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/LengthParamsEdgePage.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 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.
|
//! 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.
|
//! 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.
|
//! 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.
|
//! 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.
|
//! 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
|
//! except those of the types and signatures stored
|
||||||
//! in the filter framework
|
//! in the filter framework
|
||||||
//! - Exclusion flag off
|
//! - 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.
|
//! which have the same type and signature as the stored ones.
|
||||||
class AIS_ExclusionFilter : public SelectMgr_Filter
|
class AIS_ExclusionFilter : public SelectMgr_Filter
|
||||||
{
|
{
|
||||||
|
@@ -40,7 +40,7 @@ public:
|
|||||||
//! @warning It binds this object with Graphic3d_ZLayerId_TopOSD layer.
|
//! @warning It binds this object with Graphic3d_ZLayerId_TopOSD layer.
|
||||||
Standard_EXPORT AIS_RubberBand();
|
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 theLineColor [in] color of rubber band lines
|
||||||
//! @param theType [in] type 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.
|
//! @param theLineWidth [in] width of rubber band line. By default it is 1.
|
||||||
|
@@ -31,7 +31,7 @@
|
|||||||
#include <TCollection_HAsciiString.hxx>
|
#include <TCollection_HAsciiString.hxx>
|
||||||
|
|
||||||
#include <stdio.h>
|
#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(TCollection_HAsciiString) nulstr;
|
||||||
static Handle(Interface_HArray1OfHAsciiString) nularr;
|
static Handle(Interface_HArray1OfHAsciiString) nularr;
|
||||||
|
|
||||||
|
@@ -146,7 +146,7 @@ static void Hunt(const TColStd_Array1OfReal& Arr,
|
|||||||
const Standard_Real Coord,
|
const Standard_Real Coord,
|
||||||
Standard_Integer& Iloc)
|
Standard_Integer& Iloc)
|
||||||
{//Warning: Hunt is used to find number of knot which equals coordinate component,
|
{//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_Real Tol=Precision::PConfusion()/10;
|
||||||
Standard_Integer i=1;
|
Standard_Integer i=1;
|
||||||
while((i <= Arr.Upper()) && (Abs(Coord - Arr(i)) > Tol)){
|
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)) {
|
if((DComp > 0)&&(Abs(DComp)>Tol)) {
|
||||||
Hunt(Arr,Comp,N);
|
Hunt(Arr,Comp,N);
|
||||||
if (N >= NUp){
|
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;
|
N = NUp - 1;
|
||||||
}
|
}
|
||||||
if(Index==1) { Tmp1=BSplS->UKnot(N);
|
if(Index==1) { Tmp1=BSplS->UKnot(N);
|
||||||
@@ -659,7 +659,7 @@ static void Locate2Coord(const Standard_Integer Index,
|
|||||||
if((DComp < 0)&&(Abs(DComp)>Tol)){
|
if((DComp < 0)&&(Abs(DComp)>Tol)){
|
||||||
Hunt(Arr,Comp,N);
|
Hunt(Arr,Comp,N);
|
||||||
if (N <= NLo) {
|
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;
|
N = NLo + 1;
|
||||||
}
|
}
|
||||||
if(Index==1) { Tmp1=BSplS->UKnot(N-1);
|
if(Index==1) { Tmp1=BSplS->UKnot(N-1);
|
||||||
|
@@ -559,7 +559,7 @@ Standard_Boolean Adaptor3d_TopolTool::Identical
|
|||||||
#include <gp_Dir.hxx>
|
#include <gp_Dir.hxx>
|
||||||
#include <gp_Vec.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
|
//Restriction of IntPolyh
|
||||||
|
|
||||||
|
|
||||||
|
@@ -363,7 +363,7 @@ void AdvApp2Var_ApproxAFunc2Var::ComputePatches(const AdvApprox_Cutting& UChoice
|
|||||||
throw Standard_ConstructionError("AdvApp2Var_ApproxAFunc2Var : Surface Discretisation Error");
|
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.
|
// depending on the max number of squares and the validity of next cuts.
|
||||||
NbU = myResult.NbPatchInU();
|
NbU = myResult.NbPatchInU();
|
||||||
NbV = myResult.NbPatchInV();
|
NbV = myResult.NbPatchInV();
|
||||||
@@ -457,7 +457,7 @@ void AdvApp2Var_ApproxAFunc2Var::ComputePatches(const AdvApprox_Cutting& UChoice
|
|||||||
throw Standard_ConstructionError("AdvApp2Var_ApproxAFunc2Var : Surface Discretisation Error");
|
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
|
// depending on the max number of squares and the validity of next cuts
|
||||||
NbU = myResult.NbPatchInU();
|
NbU = myResult.NbPatchInU();
|
||||||
NbV = myResult.NbPatchInV();
|
NbV = myResult.NbPatchInV();
|
||||||
|
@@ -42,13 +42,13 @@ class Geom_BSplineSurface;
|
|||||||
//! OneDTol, TwoDTol, ThreeDTol: The tolerance of approximation in each
|
//! OneDTol, TwoDTol, ThreeDTol: The tolerance of approximation in each
|
||||||
//! subspaces
|
//! subspaces
|
||||||
//! OneDTolFr, TwoDTolFr, ThreeDTolFr: The tolerance of approximation on
|
//! 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
|
//! [FirstInU, LastInU]: The Bounds in U of the Approximation
|
||||||
//! [FirstInV, LastInV]: The Bounds in V 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)
|
//! FavorIso : Give preference to extract u-iso or v-iso on F(U,V)
|
||||||
//! This can be useful to optimize the <Func> method
|
//! This can be useful to optimize the <Func> method
|
||||||
//! ContInU, ContInV : Continuity waiting in u and v
|
//! 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
|
//! 1 : Fast computation and average precision
|
||||||
//! 2 : Average computation and good precision
|
//! 2 : Average computation and good precision
|
||||||
//! 3 : Slow computation and very 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 */
|
/* HERMIT: Table of coeff. 2*(IORDRE+1) Hermite polynoms */
|
||||||
/* of degree 2*IORDRE+1. */
|
/* of degree 2*IORDRE+1. */
|
||||||
/* IERCOD: Error code, */
|
/* IERCOD: Error code, */
|
||||||
/* = 0, Everythig is OK */
|
/* = 0, Everything is OK */
|
||||||
/* = 1, The value of IORDRE is out of (0,2) */
|
/* = 1, The value of IORDRE is out of (0,2) */
|
||||||
/* COMMON USED : */
|
/* COMMON USED : */
|
||||||
/* ---------------- */
|
/* ---------------- */
|
||||||
@@ -989,8 +989,8 @@ int mma1fer_(integer *,//ndimen,
|
|||||||
/* IORDRE: Order of constraint at the extremities of the border */
|
/* IORDRE: Order of constraint at the extremities of the border */
|
||||||
/* -1 = no constraints, */
|
/* -1 = no constraints, */
|
||||||
/* 0 = constraints of passage to limits (i.e. C0), */
|
/* 0 = constraints of passage to limits (i.e. C0), */
|
||||||
/* 1 = C0 + constraintes of 1st derivatives (i.e. C1), */
|
/* 1 = C0 + constraints of 1st derivatives (i.e. C1), */
|
||||||
/* 2 = C1 + constraintes of 2nd derivatives (i.e. C2). */
|
/* 2 = C1 + constraints of 2nd derivatives (i.e. C2). */
|
||||||
/* NDGJAC: Degree of development in series to use for the calculation */
|
/* NDGJAC: Degree of development in series to use for the calculation */
|
||||||
/* in the base of Jacobi. */
|
/* in the base of Jacobi. */
|
||||||
/* CRVJAC: Table of coeff. of the curve of approximation in the */
|
/* CRVJAC: Table of coeff. of the curve of approximation in the */
|
||||||
@@ -1131,7 +1131,7 @@ int mma1fer_(integer *,//ndimen,
|
|||||||
|
|
||||||
/* ------------------------------ The end -------------------------------
|
/* ------------------------------ The end -------------------------------
|
||||||
*/
|
*/
|
||||||
/* --> The order of constraints is not within autorized values. */
|
/* --> The order of constraints is not within authorized values. */
|
||||||
L9100:
|
L9100:
|
||||||
*iercod = 1;
|
*iercod = 1;
|
||||||
goto L9999;
|
goto L9999;
|
||||||
@@ -3520,7 +3520,7 @@ int AdvApp2Var_ApproxF2var::mma2cdi_( integer *ndimen,
|
|||||||
goto L9100;
|
goto L9100;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---- Subract discretizations of polynoms of constraints
|
/* ---- Subtract discretizations of polynoms of constraints
|
||||||
---- */
|
---- */
|
||||||
|
|
||||||
mma2cd3_(ndimen, nbpntu, &urootl[1], nbpntv, iordru, &sotbu1[1],
|
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. */
|
/* MAXDGU: Degree maximum by U of coeff. to calculate. */
|
||||||
/* NBPNTV: Degree of the Legendre polynom on the roots which of */
|
/* NBPNTV: Degree of the Legendre polynom on the roots which of */
|
||||||
/* the coefficients of integration by V are calculated */
|
/* 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 */
|
/* GSSVTB: Table of coefficients of integration by Gauss method */
|
||||||
/* by V for NDVJAC fixed: j varies from 0 to NBPNTV/2. */
|
/* 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 */
|
/* CHPAIR: Table of terms connected to degrees from MINDGU to MAXDGU by U to */
|
||||||
@@ -7511,7 +7511,7 @@ int mmmapcoe_(integer *ndim,
|
|||||||
|
|
||||||
/* FUNCTION : */
|
/* 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 */
|
/* of degree NDGJAC by the method of smallest squares starting from */
|
||||||
/* the discretization of function on the roots of Legendre polynom */
|
/* the discretization of function on the roots of Legendre polynom */
|
||||||
/* of degree NBPNTS. */
|
/* of degree NBPNTS. */
|
||||||
@@ -8102,7 +8102,7 @@ int mmjacpt_(const integer *ndimen,
|
|||||||
|
|
||||||
/* OUTPUT ARGUMENTS : */
|
/* OUTPUT ARGUMENTS : */
|
||||||
/* ------------------- */
|
/* ------------------- */
|
||||||
/* PTCAUX : Auxilliary space. */
|
/* PTCAUX : Auxiliary space. */
|
||||||
/* PTCCAN : The square in the canonic base (-1,1) */
|
/* PTCCAN : The square in the canonic base (-1,1) */
|
||||||
|
|
||||||
/* COMMONS USED : */
|
/* COMMONS USED : */
|
||||||
|
@@ -1229,7 +1229,7 @@ int AdvApp2Var_MathBase::mmaperx_(integer *ncofmx,
|
|||||||
/* ERRMAX : Precision of the approximation. */
|
/* ERRMAX : Precision of the approximation. */
|
||||||
/* IERCOD = 0, OK */
|
/* IERCOD = 0, OK */
|
||||||
/* = 1, order of constraints (IORDRE) is not within the */
|
/* = 1, order of constraints (IORDRE) is not within the */
|
||||||
/* autorized values. */
|
/* authorized values. */
|
||||||
/* COMMONS USED : */
|
/* COMMONS USED : */
|
||||||
/* ---------------- */
|
/* ---------------- */
|
||||||
|
|
||||||
@@ -2281,7 +2281,7 @@ int AdvApp2Var_MathBase::mmcglc1_(integer *ndimax,
|
|||||||
/* length calculation. */
|
/* length calculation. */
|
||||||
/* TFINAL : Upper limit of the interval of integration for */
|
/* TFINAL : Upper limit of the interval of integration for */
|
||||||
/* length calculation. */
|
/* length calculation. */
|
||||||
/* EPSILN : REQIRED precision for length calculation. */
|
/* EPSILN : REQUIRED precision for length calculation. */
|
||||||
|
|
||||||
/* OUTPUT ARGUMENTS : */
|
/* OUTPUT ARGUMENTS : */
|
||||||
/* ------------------- */
|
/* ------------------- */
|
||||||
@@ -2677,14 +2677,14 @@ int AdvApp2Var_MathBase::mmcvctx_(integer *ndimen,
|
|||||||
/* 2 --> cas (0)+ (1) + " " 2nd derivatives. */
|
/* 2 --> cas (0)+ (1) + " " 2nd derivatives. */
|
||||||
/* etc... */
|
/* etc... */
|
||||||
/* CTRTES : Table of constraints. */
|
/* CTRTES : Table of constraints. */
|
||||||
/* CTRTES(*,1,*) = contraints at -1. */
|
/* CTRTES(*,1,*) = constraints at -1. */
|
||||||
/* CTRTES(*,2,*) = contraints at 1. */
|
/* CTRTES(*,2,*) = constraints at 1. */
|
||||||
|
|
||||||
/* OUTPUT ARGUMENTS : */
|
/* OUTPUT ARGUMENTS : */
|
||||||
/* ------------------- */
|
/* ------------------- */
|
||||||
/* CRVRES : Resulting curve defined on (-1,1). */
|
/* CRVRES : Resulting curve defined on (-1,1). */
|
||||||
/* TABAUX : Auxilliary matrix. */
|
/* TABAUX : Auxiliary matrix. */
|
||||||
/* XMATRI : Auxilliary matrix. */
|
/* XMATRI : Auxiliary matrix. */
|
||||||
|
|
||||||
/* COMMONS UTILISES : */
|
/* 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 */
|
/* within the interval [0,1]. They are ranked for the degrees increasing from */
|
||||||
/* 2 to 61. */
|
/* 2 to 61. */
|
||||||
/* HILTAB : Table of Legendre interpolators concerning ROOTAB. */
|
/* 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 */
|
/* HI0TAB : Table of Legendre interpolators for root x=0 */
|
||||||
/* of polynoms of UNEVEN degree. */
|
/* of polynoms of UNEVEN degree. */
|
||||||
/* RTLTB0 : Table of Li(uk) where uk are the roots of */
|
/* 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 */
|
/* within the interval [0,1]. They are ranked for the degrees increasing from */
|
||||||
/* 2 to 61. */
|
/* 2 to 61. */
|
||||||
/* HILTAB : Table of Legendre interpolators concerning ROOTAB. */
|
/* 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 */
|
/* HI0TAB : Table of Legendre interpolators for root x=0 */
|
||||||
/* of polynoms of UNEVEN degree. */
|
/* of polynoms of UNEVEN degree. */
|
||||||
/* RTLTB0 : Table of Li(uk) where uk are the roots of */
|
/* RTLTB0 : Table of Li(uk) where uk are the roots of */
|
||||||
@@ -4610,7 +4610,7 @@ int AdvApp2Var_MathBase::mmfmcb5_(integer *isenmsc,
|
|||||||
|
|
||||||
/* FUNCTION : */
|
/* FUNCTION : */
|
||||||
/* ---------- */
|
/* ---------- */
|
||||||
/* Reformating (and eventual compression/decompression) of curve */
|
/* Reformatting (and eventual compression/decompression) of curve */
|
||||||
/* (ndim,.) by (.,ndim) and vice versa. */
|
/* (ndim,.) by (.,ndim) and vice versa. */
|
||||||
|
|
||||||
/* KEYWORDS : */
|
/* KEYWORDS : */
|
||||||
@@ -6260,7 +6260,7 @@ L9999:
|
|||||||
|
|
||||||
/* OUTPUT ARGUMENTS : */
|
/* OUTPUT ARGUMENTS : */
|
||||||
/* ------------------- */
|
/* ------------------- */
|
||||||
/* POLAUX : Auxilliary space. */
|
/* POLAUX : Auxiliary space. */
|
||||||
/* CRVCAN : The curve in the canonic base [-1,1] */
|
/* CRVCAN : The curve in the canonic base [-1,1] */
|
||||||
|
|
||||||
/* COMMONS USED : */
|
/* COMMONS USED : */
|
||||||
@@ -6297,7 +6297,7 @@ L9999:
|
|||||||
|
|
||||||
i__1 = *ndim;
|
i__1 = *ndim;
|
||||||
for (nd = 1; nd <= i__1; ++nd) {
|
for (nd = 1; nd <= i__1; ++nd) {
|
||||||
/* Loading of the auxilliary table. */
|
/* Loading of the auxiliary table. */
|
||||||
ii = 0;
|
ii = 0;
|
||||||
i__2 = ndeg / 2;
|
i__2 = ndeg / 2;
|
||||||
for (i__ = 0; i__ <= i__2; ++i__) {
|
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). */
|
/* 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) */
|
/* NCOEFF : Number of coefficients of the polynom (no limitation) */
|
||||||
/* This is degree + 1 */
|
/* This is degree + 1 */
|
||||||
/* COURBE : Coefficients of the polynom ordered by increasing power */
|
/* COURBE : Coefficients of the polynom ordered by increasing power */
|
||||||
@@ -6606,7 +6606,7 @@ L9900:
|
|||||||
/* FUNCTION : */
|
/* FUNCTION : */
|
||||||
/* ---------- */
|
/* ---------- */
|
||||||
/* Position on the polynoms of base hermit-Jacobi */
|
/* Position on the polynoms of base hermit-Jacobi */
|
||||||
/* and their succesive derivatives */
|
/* and their successive derivatives */
|
||||||
|
|
||||||
/* KEYWORDS : */
|
/* KEYWORDS : */
|
||||||
/* ----------- */
|
/* ----------- */
|
||||||
@@ -7160,7 +7160,7 @@ int mmpojac_(doublereal *tparam,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* static varaibles */
|
/* static variables */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -7519,12 +7519,12 @@ L9999:
|
|||||||
|
|
||||||
/* INPUT ARGUMENTS : */
|
/* INPUT ARGUMENTS : */
|
||||||
/* -------------------- */
|
/* -------------------- */
|
||||||
/* HDIMEN: NOMBER OF LINE (OR COLUMN) OF THE HESSIAN MATRIX */
|
/* HDIMEN: NUMBER OF LINE (OR COLUMN) OF THE HESSIAN MATRIX */
|
||||||
/* GDIMEN: NOMBER OF LINE OF THE MATRIX OF CONSTRAINTS */
|
/* GDIMEN: NUMBER OF LINE OF THE MATRIX OF CONSTRAINTS */
|
||||||
/* HNSTOC: NOMBErS OF TERMS IN THE PROFILE OF HESSIAN MATRIX
|
/* HNSTOC: NUMBERS OF TERMS IN THE PROFILE OF HESSIAN MATRIX
|
||||||
*/
|
*/
|
||||||
/* GNSTOC: NOMBERS OF TERMS IN THE PROFILE OF THE MATRIX OF CONSTRAINTS */
|
/* GNSTOC: NUMBERS 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) */
|
/* 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 */
|
/* where H IS THE HESSIAN MATRIX AND G IS THE MATRIX OF CONSTRAINTS */
|
||||||
/* MATSYH: TRIANGULAR INFERIOR PART OF THE HESSIAN MATRIX */
|
/* MATSYH: TRIANGULAR INFERIOR PART OF THE HESSIAN MATRIX */
|
||||||
/* IN FORM OF PROFILE */
|
/* IN FORM OF PROFILE */
|
||||||
@@ -7896,7 +7896,7 @@ int mmrslss_(integer *,//mxcoef,
|
|||||||
/* ----------------------------------- */
|
/* ----------------------------------- */
|
||||||
/* T */
|
/* T */
|
||||||
/* SS is the decomposition of choleski of a symmetric matrix */
|
/* 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 */
|
/* 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: */
|
/* Common MLGDRTL: */
|
||||||
@@ -8675,7 +8675,7 @@ int mmtmave_(integer *nligne,
|
|||||||
/* INPUT ARGUMENTS : */
|
/* INPUT ARGUMENTS : */
|
||||||
/* -------------------- */
|
/* -------------------- */
|
||||||
/* NLIGNE : NUMBER OF LINE OF THE MATRIX */
|
/* 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: TABLE OF POSITIONING OF TERMS OF STORAGE */
|
||||||
/* GPOSIT(1,I) CONTAINS THE NUMBER of TERMS-1 ON LINE */
|
/* GPOSIT(1,I) CONTAINS THE NUMBER of TERMS-1 ON LINE */
|
||||||
/* I IN THE PROFILE OF THE MATRIX */
|
/* I IN THE PROFILE OF THE MATRIX */
|
||||||
@@ -11193,7 +11193,7 @@ L9900:
|
|||||||
|
|
||||||
/* FUNCTION : */
|
/* 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 + ... */
|
/* Z = V V(1)**2 + V(2)**2 + ... */
|
||||||
|
|
||||||
@@ -11208,7 +11208,7 @@ L9900:
|
|||||||
|
|
||||||
/* OUTPUT ARGUMENTS : */
|
/* OUTPUT ARGUMENTS : */
|
||||||
/* ------------------- */
|
/* ------------------- */
|
||||||
/* MZSNORM : Value of the euclidian norm of vector VECTEU */
|
/* MZSNORM : Value of the euclidean norm of vector VECTEU */
|
||||||
|
|
||||||
/* COMMONS USED : */
|
/* COMMONS USED : */
|
||||||
/* ---------------- */
|
/* ---------------- */
|
||||||
|
@@ -416,7 +416,7 @@ int AdvApp2Var_SysBase::macrchk_()
|
|||||||
|
|
||||||
/* FONCTION : */
|
/* FONCTION : */
|
||||||
/* ---------- */
|
/* ---------- */
|
||||||
/* TABLE OF MANAGEMENT OF DYNAMIC MEMOTY ALLOCATIONS */
|
/* TABLE OF MANAGEMENT OF DYNAMIC MEMORY ALLOCATIONS */
|
||||||
|
|
||||||
/* KEYWORDS : */
|
/* KEYWORDS : */
|
||||||
/* ----------- */
|
/* ----------- */
|
||||||
@@ -2484,7 +2484,7 @@ int mcrfree_(integer *,//ibyte,
|
|||||||
/* */
|
/* */
|
||||||
/* = 0 ==> OK */
|
/* = 0 ==> OK */
|
||||||
/* = 1 ==> Allocation impossible */
|
/* = 1 ==> Allocation impossible */
|
||||||
/* = -1 ==> Ofset > 2**31 - 1 */
|
/* = -1 ==> Offset > 2**31 - 1 */
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
class PLib_JacobiPolynomial;
|
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
|
//! The result is a simple polynomial whose degree is as low as
|
||||||
//! possible to satisfy the required tolerance and the
|
//! possible to satisfy the required tolerance and the
|
||||||
//! maximum degree. The maximum error and the averrage error
|
//! maximum degree. The maximum error and the averrage error
|
||||||
|
@@ -68,7 +68,7 @@ public:
|
|||||||
//! get the Multplicities of the section
|
//! get the Multplicities of the section
|
||||||
Standard_EXPORT virtual void Mults (TColStd_Array1OfInteger& TMults) const = 0;
|
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;
|
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
|
||||||
|
|
||||||
//! Returns the number of intervals for continuity
|
//! Returns the number of intervals for continuity
|
||||||
|
@@ -27,7 +27,7 @@ struct Aspect_XVisualInfo;
|
|||||||
//! This class creates and provides connection with X server.
|
//! This class creates and provides connection with X server.
|
||||||
//! Raises exception if can not connect to 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.
|
//! 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
|
class Aspect_DisplayConnection : public Standard_Transient
|
||||||
{
|
{
|
||||||
DEFINE_STANDARD_RTTIEXT(Aspect_DisplayConnection, 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)
|
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));
|
BuildSplitFaces(aPS.Next(9));
|
||||||
if (HasErrors())
|
if (HasErrors())
|
||||||
{
|
{
|
||||||
|
@@ -341,12 +341,8 @@ void BOPAlgo_PaveFiller::PerformEE(const Message_ProgressRange& theRange)
|
|||||||
GeomAbs_CurveType aType1 = aBAC1.GetType();
|
GeomAbs_CurveType aType1 = aBAC1.GetType();
|
||||||
GeomAbs_CurveType aType2 = aBAC2.GetType();
|
GeomAbs_CurveType aType2 = aBAC2.GetType();
|
||||||
//
|
//
|
||||||
bAnalytical = (((aType1 == GeomAbs_Line) &&
|
bAnalytical = (aType1 == GeomAbs_Line && aType2 == GeomAbs_Circle) ||
|
||||||
(aType2 == GeomAbs_Line ||
|
(aType1 == GeomAbs_Circle && aType2 == GeomAbs_Line);
|
||||||
aType2 == GeomAbs_Circle)) ||
|
|
||||||
((aType2 == GeomAbs_Line) &&
|
|
||||||
(aType1 == GeomAbs_Line ||
|
|
||||||
aType1 == GeomAbs_Circle)));
|
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
for (i=1; i<=aNbCPrts; ++i) {
|
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);
|
Standard_Real aTolVnew = BRep_Tool::Tolerance(aVnew);
|
||||||
if (bAnalytical) {
|
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
|
// the vertex till its intersection with some other shape
|
||||||
Standard_Real aTolMin = (BRepAdaptor_Curve(aE1).GetType() == GeomAbs_Line) ?
|
Standard_Real aTolMin = (BRepAdaptor_Curve(aE1).GetType() == GeomAbs_Line) ?
|
||||||
(aCR1.Last() - aCR1.First()) / 2. : (aCR2.Last() - aCR2.First()) / 2.;
|
(aCR1.Last() - aCR1.First()) / 2. : (aCR2.Last() - aCR2.First()) / 2.;
|
||||||
|
@@ -229,7 +229,6 @@ Standard_Integer bopsmt(Draw_Interpretor& di,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
char buf[64];
|
|
||||||
Standard_Boolean bRunParallel;
|
Standard_Boolean bRunParallel;
|
||||||
Standard_Integer aNb;
|
Standard_Integer aNb;
|
||||||
BOPAlgo_BOP aBOP;
|
BOPAlgo_BOP aBOP;
|
||||||
@@ -237,8 +236,7 @@ Standard_Integer bopsmt(Draw_Interpretor& di,
|
|||||||
const TopTools_ListOfShape& aLC=pPF->Arguments();
|
const TopTools_ListOfShape& aLC=pPF->Arguments();
|
||||||
aNb=aLC.Extent();
|
aNb=aLC.Extent();
|
||||||
if (aNb!=2) {
|
if (aNb!=2) {
|
||||||
Sprintf (buf, " wrong number of arguments %s\n", aNb);
|
di << " wrong number of arguments " << aNb << '\n';
|
||||||
di << buf;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
@@ -298,7 +296,6 @@ Standard_Integer bopsection(Draw_Interpretor& di,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
char buf[64];
|
|
||||||
Standard_Boolean bRunParallel;
|
Standard_Boolean bRunParallel;
|
||||||
Standard_Integer aNb;
|
Standard_Integer aNb;
|
||||||
BOPAlgo_Section aBOP;
|
BOPAlgo_Section aBOP;
|
||||||
@@ -306,8 +303,7 @@ Standard_Integer bopsection(Draw_Interpretor& di,
|
|||||||
const TopTools_ListOfShape& aLC=pPF->Arguments();
|
const TopTools_ListOfShape& aLC=pPF->Arguments();
|
||||||
aNb=aLC.Extent();
|
aNb=aLC.Extent();
|
||||||
if (aNb!=2) {
|
if (aNb!=2) {
|
||||||
Sprintf (buf, " wrong number of arguments %s\n", aNb);
|
di << " wrong number of arguments " << aNb << '\n';
|
||||||
di << buf;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
@@ -1925,7 +1925,7 @@ Standard_Boolean BOPTools_AlgoTools::IsBlockInOnFace
|
|||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
||||||
// Treatment intemediate
|
// Treatment intermediate
|
||||||
Standard_Real m1, aTolF, aTolE, aTol, aDist;
|
Standard_Real m1, aTolF, aTolE, aTol, aDist;
|
||||||
m1=IntTools_Tools::IntermediatePoint(f1, l1);
|
m1=IntTools_Tools::IntermediatePoint(f1, l1);
|
||||||
BOPTools_AlgoTools::PointOnEdge(aE1, m1, aP12);
|
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
|
//! Computes the 3-D state of the point thePoint
|
||||||
//! toward solid theSolid.
|
//! toward solid theSolid.
|
||||||
//! theTol - value of precision of computation
|
//! theTol - value of precision of computation
|
||||||
//! theContext- cahed geometrical tools
|
//! theContext- cached geometrical tools
|
||||||
//! Returns 3-D state.
|
//! Returns 3-D state.
|
||||||
Standard_EXPORT static TopAbs_State ComputeState(const gp_Pnt& thePoint,
|
Standard_EXPORT static TopAbs_State ComputeState(const gp_Pnt& thePoint,
|
||||||
const TopoDS_Solid& theSolid,
|
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
|
//! Computes the 3-D state of the vertex theVertex
|
||||||
//! toward solid theSolid.
|
//! toward solid theSolid.
|
||||||
//! theTol - value of precision of computation
|
//! theTol - value of precision of computation
|
||||||
//! theContext- cahed geometrical tools
|
//! theContext- cached geometrical tools
|
||||||
//! Returns 3-D state.
|
//! Returns 3-D state.
|
||||||
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Vertex& theVertex,
|
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Vertex& theVertex,
|
||||||
const TopoDS_Solid& theSolid,
|
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
|
//! Computes the 3-D state of the edge theEdge
|
||||||
//! toward solid theSolid.
|
//! toward solid theSolid.
|
||||||
//! theTol - value of precision of computation
|
//! theTol - value of precision of computation
|
||||||
//! theContext- cahed geometrical tools
|
//! theContext- cached geometrical tools
|
||||||
//! Returns 3-D state.
|
//! Returns 3-D state.
|
||||||
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Edge& theEdge,
|
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Edge& theEdge,
|
||||||
const TopoDS_Solid& theSolid,
|
const TopoDS_Solid& theSolid,
|
||||||
@@ -213,7 +213,7 @@ public: //! @name Point/Edge/Face classification relatively solid
|
|||||||
//! toward solid theSolid.
|
//! toward solid theSolid.
|
||||||
//! theTol - value of precision of computation
|
//! theTol - value of precision of computation
|
||||||
//! theBounds - set of edges of <theSolid> to avoid
|
//! theBounds - set of edges of <theSolid> to avoid
|
||||||
//! theContext- cahed geometrical tools
|
//! theContext- cached geometrical tools
|
||||||
//! Returns 3-D state.
|
//! Returns 3-D state.
|
||||||
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Face& theFace,
|
Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Face& theFace,
|
||||||
const TopoDS_Solid& theSolid,
|
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
|
//! Computes the 3-D state of the shape theShape
|
||||||
//! toward solid theSolid.
|
//! toward solid theSolid.
|
||||||
//! theTol - value of precision of computation
|
//! theTol - value of precision of computation
|
||||||
//! theContext- cahed geometrical tools
|
//! theContext- cached geometrical tools
|
||||||
//! Returns 3-D state.
|
//! Returns 3-D state.
|
||||||
Standard_EXPORT static TopAbs_State ComputeStateByOnePoint(const TopoDS_Shape& theShape,
|
Standard_EXPORT static TopAbs_State ComputeStateByOnePoint(const TopoDS_Shape& theShape,
|
||||||
const TopoDS_Solid& theSolid,
|
const TopoDS_Solid& theSolid,
|
||||||
@@ -274,7 +274,7 @@ public: //! @name Face classification relatively solid
|
|||||||
//! solid theSolid.
|
//! solid theSolid.
|
||||||
//! theMEF - Map Edge/Faces for theSolid
|
//! theMEF - Map Edge/Faces for theSolid
|
||||||
//! theTol - value of precision of computation
|
//! theTol - value of precision of computation
|
||||||
//! theContext- cahed geometrical tools
|
//! theContext- cached geometrical tools
|
||||||
Standard_EXPORT static Standard_Boolean IsInternalFace(const TopoDS_Face& theFace,
|
Standard_EXPORT static Standard_Boolean IsInternalFace(const TopoDS_Face& theFace,
|
||||||
const TopoDS_Solid& theSolid,
|
const TopoDS_Solid& theSolid,
|
||||||
TopTools_IndexedDataMapOfShapeListOfShape& theMEF,
|
TopTools_IndexedDataMapOfShapeListOfShape& theMEF,
|
||||||
|
@@ -51,12 +51,12 @@ public:
|
|||||||
//! Warning:
|
//! Warning:
|
||||||
//! The Wires must be closed.
|
//! The Wires must be closed.
|
||||||
//!
|
//!
|
||||||
//! The edges of <W> can be modified if they have not pcurves
|
//! The edges of <W> can be modified if they don't have
|
||||||
//! on the surface <S> of <F>. In this case
|
//! pcurves on the surface <S> of <F>. In this case
|
||||||
//! if <Proj> is false the first pcurve of the edge
|
//! if <Proj> is false the first pcurve of the edge
|
||||||
//! is positionned on <S>.
|
//! is positioned on <S>.
|
||||||
//! if <Proj> is True ,the Pcurve On <S> is the
|
//! if <Proj> is True, the Pcurve On <S> is the
|
||||||
//! projection of the curve 3d on <F>.
|
//! projection of the curve 3d on <F>.
|
||||||
Standard_EXPORT void Add (TopoDS_Wire& W);
|
Standard_EXPORT void Add (TopoDS_Wire& W);
|
||||||
|
|
||||||
//! Removes all the Wires
|
//! Removes all the Wires
|
||||||
|
@@ -86,13 +86,13 @@ public:
|
|||||||
|
|
||||||
Standard_EXPORT void VerticesForSubstitute (TopTools_DataMapOfShapeShape& VerVerMap);
|
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)
|
void SetTolConf(const Standard_Real theTolConf)
|
||||||
{
|
{
|
||||||
myTolConf = 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
|
Standard_Real GetTolConf() const
|
||||||
{
|
{
|
||||||
return myTolConf;
|
return myTolConf;
|
||||||
|
@@ -49,7 +49,7 @@ BRepBlend_AppFuncRoot::BRepBlend_AppFuncRoot(Handle(BRepBlend_Line)& Line,
|
|||||||
// Tables
|
// Tables
|
||||||
Func.GetShape( NbPoles, NbKnots, Degree, NbPoles2d);
|
Func.GetShape( NbPoles, NbKnots, Degree, NbPoles2d);
|
||||||
|
|
||||||
// Calculation of BaryCentre (rationnal case).
|
// Calculation of BaryCentre (rational case).
|
||||||
if (Func.IsRational()) {
|
if (Func.IsRational()) {
|
||||||
Standard_Real Xmax =-1.e100, Xmin = 1.e100,
|
Standard_Real Xmax =-1.e100, Xmin = 1.e100,
|
||||||
Ymax =-1.e100, Ymin = 1.e100,
|
Ymax =-1.e100, Ymin = 1.e100,
|
||||||
|
@@ -69,7 +69,7 @@ public:
|
|||||||
//! get the Multplicities of the section
|
//! get the Multplicities of the section
|
||||||
Standard_EXPORT virtual void Mults (TColStd_Array1OfInteger& TMults) const Standard_OVERRIDE;
|
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;
|
Standard_EXPORT virtual Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the number of intervals for continuity
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary (in radian)
|
//! AngleTol tangent error at the Boundary (in radian)
|
||||||
//! SurfTol error inside the surface.
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -43,7 +43,7 @@ static Standard_Integer
|
|||||||
IntersectionOfSets( const NCollection_List<Standard_Integer>& theSet1,
|
IntersectionOfSets( const NCollection_List<Standard_Integer>& theSet1,
|
||||||
const NCollection_List<Standard_Integer>& theSet2)
|
const NCollection_List<Standard_Integer>& theSet2)
|
||||||
{
|
{
|
||||||
const Standard_Integer anIntMax = IntegerLast();
|
constexpr Standard_Integer anIntMax = IntegerLast();
|
||||||
Standard_Integer aRetVal = anIntMax;
|
Standard_Integer aRetVal = anIntMax;
|
||||||
for(NCollection_List<Standard_Integer>::Iterator
|
for(NCollection_List<Standard_Integer>::Iterator
|
||||||
anIt1 = theSet1.begin().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.
|
// 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
|
// 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
|
// 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)
|
if (myCurEdgePar + Probing_Step < Probing_End)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@@ -95,7 +95,7 @@ void BRepExtrema_ProximityDistTool::LoadAdditionalPointsFirstSet (const BVH_Arra
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : goThroughtSet1
|
//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,
|
void BRepExtrema_ProximityDistTool::goThroughtSet1 (const BVH_Array3d& theVertices1,
|
||||||
const Standard_Boolean theIsAdditionalSet)
|
const Standard_Boolean theIsAdditionalSet)
|
||||||
|
@@ -88,7 +88,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//! Creates new unitialized tool.
|
//! Creates new uninitialized tool.
|
||||||
Standard_EXPORT BRepExtrema_ProximityDistTool();
|
Standard_EXPORT BRepExtrema_ProximityDistTool();
|
||||||
|
|
||||||
//! Creates new tool for the given element sets.
|
//! Creates new tool for the given element sets.
|
||||||
@@ -169,7 +169,7 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
//! Goes throught vertices from the 1st set.
|
//! Goes through vertices from the 1st set.
|
||||||
void goThroughtSet1 (const BVH_Array3d& aVertices1,
|
void goThroughtSet1 (const BVH_Array3d& aVertices1,
|
||||||
const Standard_Boolean theIsAdditionalSet);
|
const Standard_Boolean theIsAdditionalSet);
|
||||||
|
|
||||||
|
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : BRepExtrema_ProximityValueTool
|
//function : BRepExtrema_ProximityValueTool
|
||||||
//purpose : Creates new unitialized proximity tool
|
//purpose : Creates new uninitialized proximity tool
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
BRepExtrema_ProximityValueTool::BRepExtrema_ProximityValueTool()
|
BRepExtrema_ProximityValueTool::BRepExtrema_ProximityValueTool()
|
||||||
: myIsRefinementRequired1 (Standard_False),
|
: myIsRefinementRequired1 (Standard_False),
|
||||||
@@ -262,8 +262,8 @@ Standard_Boolean BRepExtrema_ProximityValueTool::getEdgeAdditionalVertices (
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : doRecurTrgSplit
|
//function : doRecurTrgSplit
|
||||||
//purpose : Splits the triangle into two ones recursively, halving the longest side
|
//purpose : Splits the triangle into two ones recursively, halving the longest side
|
||||||
// untill the area of the current triangle > input step
|
// until the area of the current triangle > input step
|
||||||
//! @param theTrg points of the triangle to be splitted
|
//! @param theTrg points of the triangle to be split
|
||||||
//! @param theEdgesStatus status of triangle edges - on the border or middle of the face
|
//! @param theEdgesStatus status of triangle edges - on the border or middle of the face
|
||||||
//! @param theTol telerance used in search of coincidence points
|
//! @param theTol telerance used in search of coincidence points
|
||||||
//! @param theStep minimum area of the resulting triangle
|
//! @param theStep minimum area of the resulting triangle
|
||||||
|
@@ -90,7 +90,7 @@ class BRepExtrema_ProximityValueTool
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//! Creates new unitialized proximity tool.
|
//! Creates new uninitialized proximity tool.
|
||||||
Standard_EXPORT BRepExtrema_ProximityValueTool();
|
Standard_EXPORT BRepExtrema_ProximityValueTool();
|
||||||
|
|
||||||
//! Creates new proximity tool for the given element sets.
|
//! Creates new proximity tool for the given element sets.
|
||||||
|
@@ -194,7 +194,7 @@ private:
|
|||||||
|
|
||||||
//! Reference point of the proximity value on the 1st shape.
|
//! Reference point of the proximity value on the 1st shape.
|
||||||
gp_Pnt myProxPoint1;
|
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;
|
gp_Pnt myProxPoint2;
|
||||||
|
|
||||||
//! Status of reference points of the proximity value.
|
//! 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
|
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.
|
// Make Fuse.
|
||||||
BRepLib_MakeFace MkF;
|
BRepLib_MakeFace MkF;
|
||||||
MkF.Init(Surf, Standard_True, Precision::Confusion());
|
MkF.Init(Surf, Standard_True, Precision::Confusion());
|
||||||
|
@@ -3144,7 +3144,7 @@ void CutEdgeProf (const TopoDS_Edge& E,
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : CutEdge
|
//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.
|
// Closed circles are also cut in two.
|
||||||
// If <Cuts> are empty the edge is not modified.
|
// If <Cuts> are empty the edge is not modified.
|
||||||
// The first and the last vertex of the original edge
|
// The first and the last vertex of the original edge
|
||||||
|
@@ -122,18 +122,18 @@ public:
|
|||||||
protected:
|
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.
|
//! be called by the constructors of Inherited class.
|
||||||
Standard_EXPORT void Init (const TopoDS_Wire& Path);
|
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.
|
//! It is the default mode.
|
||||||
Standard_EXPORT void TangentIsMain();
|
Standard_EXPORT void TangentIsMain();
|
||||||
|
|
||||||
//! To preseve if possible the Normal in transformations
|
//! To preserve if possible the Normal in transformations
|
||||||
Standard_EXPORT void NormalIsMain();
|
Standard_EXPORT void NormalIsMain();
|
||||||
|
|
||||||
//! To preseve if possible the BiNormal in transformations
|
//! To preserve if possible the BiNormal in transformations
|
||||||
Standard_EXPORT void BiNormalIsMain();
|
Standard_EXPORT void BiNormalIsMain();
|
||||||
|
|
||||||
TopoDS_Wire myPath;
|
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)
|
TopoDS_Wire BRepFill_Pipe::PipeLine(const gp_Pnt& Point)
|
||||||
{
|
{
|
||||||
// Postioning
|
// Positioning
|
||||||
gp_Pnt P;
|
gp_Pnt P;
|
||||||
P = Point;
|
P = Point;
|
||||||
P.Transform(myTrsf);
|
P.Transform(myTrsf);
|
||||||
|
@@ -1155,7 +1155,7 @@ void BRepFill_PipeShell::Generated(const TopoDS_Shape& theShape,
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : Place
|
//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
|
// and return its parameter on the trajectory
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void BRepFill_PipeShell::Place(const BRepFill_Section& Sec,
|
void BRepFill_PipeShell::Place(const BRepFill_Section& Sec,
|
||||||
|
@@ -48,7 +48,7 @@ class BRepFill_PipeShell;
|
|||||||
DEFINE_STANDARD_HANDLE(BRepFill_PipeShell, Standard_Transient)
|
DEFINE_STANDARD_HANDLE(BRepFill_PipeShell, Standard_Transient)
|
||||||
|
|
||||||
//! Computes a topological shell using some wires
|
//! Computes a topological shell using some wires
|
||||||
//! (spines and profiles) and diplacement option
|
//! (spines and profiles) and displacement option
|
||||||
//! Perform general sweeping construction
|
//! Perform general sweeping construction
|
||||||
class BRepFill_PipeShell : public Standard_Transient
|
class BRepFill_PipeShell : public Standard_Transient
|
||||||
{
|
{
|
||||||
@@ -116,7 +116,7 @@ public:
|
|||||||
//! to be C0.
|
//! to be C0.
|
||||||
//! Give section to sweep.
|
//! Give section to sweep.
|
||||||
//! Possibilities are :
|
//! Possibilities are :
|
||||||
//! - Give one or sevral profile
|
//! - Give one or several profile
|
||||||
//! - Give one profile and an homotetic law.
|
//! - Give one profile and an homotetic law.
|
||||||
//! - Automatic compute of correspondence between profile, and section on the sweeped shape
|
//! - 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
|
//! - 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);
|
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 :
|
//! Perform simulation of the sweep :
|
||||||
//! Somes Section are returned.
|
//! Some Section are returned.
|
||||||
Standard_EXPORT void Simulate (const Standard_Integer NumberOfSection, TopTools_ListOfShape& Sections);
|
Standard_EXPORT void Simulate (const Standard_Integer NumberOfSection, TopTools_ListOfShape& Sections);
|
||||||
|
|
||||||
//! Builds the resulting shape (redefined from MakeShape).
|
//! Builds the resulting shape (redefined from MakeShape).
|
||||||
|
@@ -2890,7 +2890,7 @@ BRepFill_Sweep::BRepFill_Sweep(const Handle(BRepFill_SectionLaw)& Section,
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : Build
|
//function : Build
|
||||||
//purpose : Construt the result of sweeping
|
//purpose : Construct the result of sweeping
|
||||||
//======================================================================
|
//======================================================================
|
||||||
void BRepFill_Sweep::Build(TopTools_MapOfShape& ReversedEdges,
|
void BRepFill_Sweep::Build(TopTools_MapOfShape& ReversedEdges,
|
||||||
BRepFill_DataMapOfShapeHArray2OfShape& Tapes,
|
BRepFill_DataMapOfShapeHArray2OfShape& Tapes,
|
||||||
|
@@ -64,7 +64,7 @@ public:
|
|||||||
//! Tolerance To controle Corner management.
|
//! Tolerance To controle Corner management.
|
||||||
//!
|
//!
|
||||||
//! If the discontinuity is lesser than <AngleMin> in radian The
|
//! 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);
|
Standard_EXPORT void SetAngularControl (const Standard_Real AngleMin = 0.01, const Standard_Real AngleMax = 6.0);
|
||||||
|
|
||||||
//! Set the flag that indicates attempt to approximate
|
//! Set the flag that indicates attempt to approximate
|
||||||
@@ -72,13 +72,13 @@ public:
|
|||||||
//! to be C0.
|
//! to be C0.
|
||||||
Standard_EXPORT void SetForceApproxC1 (const Standard_Boolean ForceApproxC1);
|
Standard_EXPORT void SetForceApproxC1 (const Standard_Boolean ForceApproxC1);
|
||||||
|
|
||||||
//! Build the Sweep Surface
|
//! Build the Sweep Surface
|
||||||
//! Transition define Transition strategy
|
//! Transition define Transition strategy
|
||||||
//! Approx define Approximation Strategy
|
//! Approx define Approximation Strategy
|
||||||
//! - GeomFill_Section : The composed Function Location X Section
|
//! - GeomFill_Section : The composed Function Location X Section
|
||||||
//! is directly approximated.
|
//! is directly approximated.
|
||||||
//! - GeomFill_Location : The location law is approximated, and the
|
//! - 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
|
//! of approximated location law and section law
|
||||||
//! This option is Ok, if Section.Surface() methode
|
//! This option is Ok, if Section.Surface() methode
|
||||||
//! is effective.
|
//! is effective.
|
||||||
|
@@ -3915,10 +3915,9 @@ TopoDS_Shape BRepOffset_Tool::Deboucle3D(const TopoDS_Shape& S,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!Boundary.IsEmpty() && !Boundary.Contains(anEdge) && !BRep_Tool::Degenerated(anEdge))
|
if (!Boundary.Contains(anEdge) &&
|
||||||
{
|
!BRep_Tool::Degenerated(anEdge))
|
||||||
JeGarde = Standard_False;
|
JeGarde = Standard_False;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (JeGarde) SS = S;
|
if (JeGarde) SS = S;
|
||||||
|
@@ -37,7 +37,7 @@ class TopoDS_Edge;
|
|||||||
//! - define if necessary a new tolerance
|
//! - define if necessary a new tolerance
|
||||||
//! - set if necessary analysis of degenerated shapes off
|
//! - set if necessary analysis of degenerated shapes off
|
||||||
//! - add shapes to be controlled -> Add
|
//! - add shapes to be controlled -> Add
|
||||||
//! - compute -> Perfom
|
//! - compute -> Perform
|
||||||
//! - output couples of connected edges for control
|
//! - output couples of connected edges for control
|
||||||
//! - output the problems if any
|
//! - output the problems if any
|
||||||
class BRepOffsetAPI_FindContigousEdges
|
class BRepOffsetAPI_FindContigousEdges
|
||||||
|
@@ -166,7 +166,7 @@ void BRepOffsetAPI_MakeOffset::Init(const GeomAbs_JoinType Join,
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : SetApprox
|
//function : SetApprox
|
||||||
//purpose : Set approximation flag
|
//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
|
// 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);
|
Standard_EXPORT void Init (const GeomAbs_JoinType Join = GeomAbs_Arc, const Standard_Boolean IsOpenResult = Standard_False);
|
||||||
|
|
||||||
//! Set approximation flag
|
//! 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.
|
//! 2D circular arcs and 2D linear segments only.
|
||||||
Standard_EXPORT void SetApprox (const Standard_Boolean ToApprox);
|
Standard_EXPORT void SetApprox (const Standard_Boolean ToApprox);
|
||||||
|
|
||||||
|
@@ -114,7 +114,7 @@ public:
|
|||||||
const Standard_Boolean RemoveIntEdges = Standard_False,
|
const Standard_Boolean RemoveIntEdges = Standard_False,
|
||||||
const Message_ProgressRange& theRange = Message_ProgressRange());
|
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;
|
Standard_EXPORT virtual const BRepOffset_MakeOffset& MakeOffset() const;
|
||||||
|
|
||||||
//! Does nothing.
|
//! Does nothing.
|
||||||
|
@@ -112,7 +112,7 @@ public:
|
|||||||
//! along the path.
|
//! along the path.
|
||||||
//! Give section to sweep.
|
//! Give section to sweep.
|
||||||
//! Possibilities are :
|
//! Possibilities are :
|
||||||
//! - Give one or sevral section
|
//! - Give one or several section
|
||||||
//! - Give one profile and an homotetic law.
|
//! - Give one profile and an homotetic law.
|
||||||
//! - Automatic compute of correspondence between spine, and section
|
//! - Automatic compute of correspondence between spine, and section
|
||||||
//! on the sweeped shape
|
//! 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);
|
Standard_Boolean status = algo.Perform(radius);
|
||||||
if (!status)
|
if (!status)
|
||||||
{
|
{
|
||||||
di << "Error: the algrithm failed.";
|
di << "Error: the algorithm failed.";
|
||||||
return 1;
|
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);
|
TopoDS_Edge fillet = algo.Result(common, M1, M2);
|
||||||
if (fillet.IsNull())
|
if (fillet.IsNull())
|
||||||
{
|
{
|
||||||
di << "Error: the algrithm produced no result.";
|
di << "Error: the algorithm produced no result.";
|
||||||
return 1;
|
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);
|
TopoDS_Edge chamfer = algo.Result(M1, M2, length1, length2);
|
||||||
if (chamfer.IsNull())
|
if (chamfer.IsNull())
|
||||||
{
|
{
|
||||||
di << "Error: the algrithm produced no result.";
|
di << "Error: the algorithm produced no result.";
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -234,7 +234,7 @@ Standard_Integer BRepToIGESBRep_Entity::AddEdge(const TopoDS_Edge& myedge,
|
|||||||
Standard_Integer index = myEdges.FindIndex(E);
|
Standard_Integer index = myEdges.FindIndex(E);
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
index = myEdges.Add(E);
|
index = myEdges.Add(E);
|
||||||
myCurves.Add(C);
|
myCurves.Append(C);
|
||||||
}
|
}
|
||||||
|
|
||||||
return index;
|
return index;
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include <TopTools_IndexedMapOfShape.hxx>
|
#include <TopTools_IndexedMapOfShape.hxx>
|
||||||
#include <TColStd_IndexedMapOfTransient.hxx>
|
#include <TColStd_IndexedMapOfTransient.hxx>
|
||||||
|
#include <TColStd_SequenceOfTransient.hxx>
|
||||||
#include <BRepToIGES_BREntity.hxx>
|
#include <BRepToIGES_BREntity.hxx>
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <Message_ProgressRange.hxx>
|
#include <Message_ProgressRange.hxx>
|
||||||
@@ -136,7 +137,7 @@ private:
|
|||||||
|
|
||||||
TopTools_IndexedMapOfShape myVertices;
|
TopTools_IndexedMapOfShape myVertices;
|
||||||
TopTools_IndexedMapOfShape myEdges;
|
TopTools_IndexedMapOfShape myEdges;
|
||||||
TColStd_IndexedMapOfTransient myCurves;
|
TColStd_SequenceOfTransient myCurves;
|
||||||
Handle(IGESSolid_EdgeList) myEdgeList;
|
Handle(IGESSolid_EdgeList) myEdgeList;
|
||||||
Handle(IGESSolid_VertexList) myVertexList;
|
Handle(IGESSolid_VertexList) myVertexList;
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||||
// commercial license or contractual agreement.
|
// 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 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
|
// 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)
|
if(st == TopAbs_VERTEX || st == TopAbs_SHAPE)
|
||||||
return shape;
|
return shape;
|
||||||
// define allowed types of components
|
// 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 ) {
|
switch ( st ) {
|
||||||
case TopAbs_COMPOUND: subt = TopAbs_SHAPE; break;
|
case TopAbs_COMPOUND: subt = TopAbs_SHAPE; break;
|
||||||
@@ -402,14 +402,14 @@ TopoDS_Shape BRepTools_ReShape::Apply (const TopoDS_Shape& shape,
|
|||||||
if ( isEmpty )
|
if ( isEmpty )
|
||||||
isEmpty = Standard_False;
|
isEmpty = Standard_False;
|
||||||
locStatus |= EncodeStatus(3);//ShapeExtend::EncodeStatus ( ShapeExtend_DONE3 );
|
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 );
|
B.Add ( result, newsh );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Standard_Integer nitems = 0;
|
Standard_Integer nitems = 0;
|
||||||
for ( TopoDS_Iterator subit(newsh); subit.More(); subit.Next(), nitems++ ) {
|
for ( TopoDS_Iterator subit(newsh); subit.More(); subit.Next(), nitems++ ) {
|
||||||
const TopoDS_Shape& subsh = subit.Value();
|
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 );
|
else locStatus |= EncodeStatus(10);//ShapeExtend::EncodeStatus ( ShapeExtend_FAIL1 );
|
||||||
}
|
}
|
||||||
if ( ! nitems ) 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.
|
//! Clears the content of the set.
|
||||||
Standard_EXPORT virtual void Clear() Standard_OVERRIDE;
|
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;
|
Standard_EXPORT virtual void AddGeometry (const TopoDS_Shape& S) Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Dumps the geometry of me on the stream <OS>.
|
//! Dumps the geometry of me on the stream <OS>.
|
||||||
|
@@ -171,7 +171,7 @@ Standard_Boolean BRepTools_TrsfModification::NewTriangulation
|
|||||||
// modify normals
|
// modify normals
|
||||||
if (theTriangulation->HasNormals())
|
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);
|
gp_Dir aNormal = theTriangulation->Normal(anInd);
|
||||||
aNormal.Transform(aTrsf);
|
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;
|
kk2 = kk1;
|
||||||
i = kk1 - FirstNonZeroBsplineIndex + 2;
|
i = kk1 - FirstNonZeroBsplineIndex + 2;
|
||||||
if ((kk1+1) <= LastIndex) {
|
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;
|
ukk2 = ukk1;
|
||||||
i = ukk1 - UFirstNonZeroBsplineIndex + 2;
|
i = ukk1 - UFirstNonZeroBsplineIndex + 2;
|
||||||
if ((ukk1+1) <= ULastIndex) {
|
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;
|
vkk2 = vkk1;
|
||||||
j = vkk1 - VFirstNonZeroBsplineIndex + 2;
|
j = vkk1 - VFirstNonZeroBsplineIndex + 2;
|
||||||
if ((vkk1+1) <= VLastIndex) {
|
if ((vkk1+1) <= VLastIndex) {
|
||||||
|
@@ -31,7 +31,7 @@ public:
|
|||||||
//! \param theDegreeU degree along the first parameter (U) of the surface
|
//! \param theDegreeU degree along the first parameter (U) of the surface
|
||||||
//! \param thePeriodicU identify the surface is periodical along U axis
|
//! \param thePeriodicU identify the surface is periodical along U axis
|
||||||
//! \param theFlatKnotsU knots of the surface (with repetition) 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 thePeriodicV identify the surface is periodical along V axis
|
||||||
//! \param theFlatKnotsV knots of the surface (with repetition) along V axis
|
//! \param theFlatKnotsV knots of the surface (with repetition) along V axis
|
||||||
//! \param theWeights array of weights of corresponding poles
|
//! \param theWeights array of weights of corresponding poles
|
||||||
|
@@ -115,7 +115,7 @@ public:
|
|||||||
//! Returns the point on the first support.
|
//! Returns the point on the first support.
|
||||||
Standard_EXPORT virtual const gp_Pnt& Pnt2() const = 0;
|
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;
|
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! Returns the length of the maximum section
|
||||||
@@ -145,7 +145,7 @@ public:
|
|||||||
Standard_Integer& NbPoles2d) = 0;
|
Standard_Integer& NbPoles2d) = 0;
|
||||||
|
|
||||||
//! Returns the tolerance to reach in approximation
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -156,7 +156,7 @@ public:
|
|||||||
//! but the values calculated can be senseless.
|
//! 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;
|
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;
|
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -150,7 +150,7 @@ public:
|
|||||||
//! specific to the function.
|
//! specific to the function.
|
||||||
Standard_EXPORT virtual Standard_Boolean Decroch (const math_Vector& Sol, gp_Vec& NS, gp_Vec& TgS) const = 0;
|
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;
|
Standard_EXPORT virtual Standard_Boolean IsRational() const = 0;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -116,7 +116,7 @@ public:
|
|||||||
|
|
||||||
Standard_EXPORT void Set (const Standard_Real Radius, const Standard_Integer Choix);
|
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.
|
//! approximations.
|
||||||
Standard_EXPORT void Set (const BlendFunc_SectionShape TypeSection);
|
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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! Returns the length of the maximum section
|
||||||
@@ -143,7 +143,7 @@ public:
|
|||||||
//! <S>. May be one if Continuity(me) >= <S>
|
//! <S>. May be one if Continuity(me) >= <S>
|
||||||
Standard_EXPORT Standard_Integer NbIntervals (const GeomAbs_Shape S) const Standard_OVERRIDE;
|
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>.
|
//! of continuity <S>.
|
||||||
//!
|
//!
|
||||||
//! The array must provide enough room to accommodate
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -111,7 +111,7 @@ public:
|
|||||||
//! Utile pour une visu rapide et approximative de la surface.
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -62,7 +62,7 @@ BlendFunc_ConstRad::BlendFunc_ConstRad(const Handle(Adaptor3d_Surface)& S1,
|
|||||||
distmin(RealLast()),
|
distmin(RealLast()),
|
||||||
mySShape(BlendFunc_Rational)
|
mySShape(BlendFunc_Rational)
|
||||||
{
|
{
|
||||||
// Initialisaton of cash control variables.
|
// Initialisation of cash control variables.
|
||||||
tval = -9.876e100;
|
tval = -9.876e100;
|
||||||
xval.Init(-9.876e100);
|
xval.Init(-9.876e100);
|
||||||
myXOrder = -1;
|
myXOrder = -1;
|
||||||
|
@@ -116,7 +116,7 @@ public:
|
|||||||
//! Utile pour une visu rapide et approximative de la surface.
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -108,14 +108,14 @@ public:
|
|||||||
|
|
||||||
Standard_EXPORT void Set (const Standard_Integer Choix);
|
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.
|
//! approximations.
|
||||||
Standard_EXPORT void Set (const BlendFunc_SectionShape TypeSection);
|
Standard_EXPORT void Set (const BlendFunc_SectionShape TypeSection);
|
||||||
|
|
||||||
//! Method for graphic traces
|
//! 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);
|
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;
|
Standard_EXPORT Standard_Boolean IsRational() const Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the length of the maximum section
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! SurfTol error inside the surface.
|
||||||
|
@@ -105,7 +105,7 @@ public:
|
|||||||
Standard_Integer& NbPoles2d) Standard_OVERRIDE;
|
Standard_Integer& NbPoles2d) Standard_OVERRIDE;
|
||||||
|
|
||||||
//! Returns the tolerance to reach in approximation
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! 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;
|
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
|
//! Returns the tolerance to reach in approximation
|
||||||
//! to respecte
|
//! to respect
|
||||||
//! BoundTol error at the Boundary
|
//! BoundTol error at the Boundary
|
||||||
//! AngleTol tangent error at the Boundary
|
//! AngleTol tangent error at the Boundary
|
||||||
//! SurfTol error inside the surface.
|
//! 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 xs1,Standard_Real ys1,
|
||||||
Standard_Real xs2,Standard_Real ys2)
|
Standard_Real xs2,Standard_Real ys2)
|
||||||
{
|
{
|
||||||
Standard_Real eps = RealSmall();
|
constexpr Standard_Real eps = RealSmall();
|
||||||
Standard_Real xsmin = Min (xs1, xs2);
|
Standard_Real xsmin = Min (xs1, xs2);
|
||||||
Standard_Real xsmax = Max (xs1, xs2);
|
Standard_Real xsmax = Max (xs1, xs2);
|
||||||
Standard_Real ysmin = Min (ys1, ys2);
|
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;
|
if (IsWhole()) return Standard_False;
|
||||||
else if (IsVoid()) return Standard_True;
|
else if (IsVoid()) return Standard_True;
|
||||||
|
|
||||||
Standard_Real eps = RealSmall();
|
constexpr Standard_Real eps = RealSmall();
|
||||||
Standard_Real myXmin, myYmin, myZmin, myXmax, myYmax, myZmax;
|
Standard_Real myXmin, myYmin, myZmin, myXmax, myYmax, myZmax;
|
||||||
Get (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.
|
// Get 3 coordinate axes of the plane.
|
||||||
const gp_Dir &aNorm = aPlane.Axis().Direction();
|
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
|
// Get location of the plane as its barycenter
|
||||||
gp_Pnt aLocation = BaryCenter(aPlane, aUMin, aUMax, aVMin, aVMax);
|
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.
|
// theMinIdx - minimum poles index, that can be used.
|
||||||
// theMaxIdx - maximum poles index, that can be used.
|
// theMaxIdx - maximum poles index, that can be used.
|
||||||
// theShiftCoeff - shift between flatknots array and poles array.
|
// 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).
|
// and (degree + 1) - mults(the lowest index).
|
||||||
|
|
||||||
void ComputePolesIndexes(const TColStd_Array1OfReal &theKnots,
|
void ComputePolesIndexes(const TColStd_Array1OfReal &theKnots,
|
||||||
|
@@ -451,7 +451,7 @@ void CPnts_AbscissaPoint::Perform(const Standard_Real Abscissa,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Standard_Real Ui = U0 + (Abscissa / myL) * (myUMax - myUMin) / 3.;
|
Standard_Real Ui = U0 + (Abscissa / myL) * (myUMax - myUMin) / 3.;
|
||||||
// exercice : why 3 ?
|
// exercise : why 3 ?
|
||||||
Perform(Abscissa,U0,Ui,Resolution);
|
Perform(Abscissa,U0,Ui,Resolution);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -157,7 +157,7 @@ static Standard_Boolean SearchFD(TopOpeBRepDS_DataStructure& DStr,
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ToricCorner
|
//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).
|
// (or spherical limited by isos).
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
@@ -601,7 +601,7 @@ void ChFi3d_FilBuilder::PerformThreeCorner(const Standard_Integer Jndex)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// the contour to be fillet consists of straight lines uv in beginning and end
|
// 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.
|
// on piv and the opposite face.
|
||||||
Handle(GeomFill_Boundary) Bdeb,Bfin,Bpiv,Bfac;
|
Handle(GeomFill_Boundary) Bdeb,Bfin,Bpiv,Bfac;
|
||||||
Handle(Geom2d_Curve) PCurveOnFace;
|
Handle(Geom2d_Curve) PCurveOnFace;
|
||||||
|
@@ -51,7 +51,7 @@
|
|||||||
//! TrueIntervals : the nth polynomial has to be mapped linearly to be
|
//! TrueIntervals : the nth polynomial has to be mapped linearly to be
|
||||||
//! defined on the following interval :
|
//! defined on the following interval :
|
||||||
//! myTrueIntervals->Value(n) and myTrueIntervals->Value(n+1)
|
//! 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
|
//! required continuity
|
||||||
class Convert_CompPolynomialToPoles
|
class Convert_CompPolynomialToPoles
|
||||||
{
|
{
|
||||||
@@ -85,7 +85,7 @@ public:
|
|||||||
//! TrueIntervals[2] = {-1, 1}
|
//! 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);
|
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
|
//! 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);
|
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