mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a552a72514 |
@@ -596,15 +596,8 @@ jobs:
|
||||
if: steps.check_failures.outputs.failed_count > 0
|
||||
run: |
|
||||
cd install/results/windows-x64-retest
|
||||
$failedCount = 0
|
||||
if (Test-Path tests.log) {
|
||||
$content = Get-Content tests.log
|
||||
$totalLine = $content | Select-String "Total cases:"
|
||||
if ($totalLine) {
|
||||
if ($totalLine -match "FAILED") {
|
||||
$failedCount = ($totalLine | ForEach-Object { $_.Line -replace '.*?(\d+) FAILED.*','$1' }) -as [int]
|
||||
}
|
||||
}
|
||||
$failedCount = (Select-String -Path tests.log -Pattern "Total cases:.*FAILED" | ForEach-Object { $_.Matches } | ForEach-Object { $_.Groups[1].Value }) -as [int]
|
||||
if ($failedCount -gt 0) {
|
||||
Write-Error "Number of FAILED tests ($failedCount) exceeds threshold of 0"
|
||||
echo "FAILED_COUNT=$failedCount" >> $env:GITHUB_ENV
|
||||
@@ -837,15 +830,8 @@ jobs:
|
||||
if: steps.check_failures.outputs.failed_count > 0
|
||||
run: |
|
||||
cd install/results/windows-clang-x64-retest
|
||||
$failedCount = 0
|
||||
if (Test-Path tests.log) {
|
||||
$content = Get-Content tests.log
|
||||
$totalLine = $content | Select-String "Total cases:"
|
||||
if ($totalLine) {
|
||||
if ($totalLine -match "FAILED") {
|
||||
$failedCount = ($totalLine | ForEach-Object { $_.Line -replace '.*?(\d+) FAILED.*','$1' }) -as [int]
|
||||
}
|
||||
}
|
||||
$failedCount = (Select-String -Path tests.log -Pattern "Total cases:.*FAILED" | ForEach-Object { $_.Matches } | ForEach-Object { $_.Groups[1].Value }) -as [int]
|
||||
if ($failedCount -gt 0) {
|
||||
Write-Error "Number of FAILED tests ($failedCount) exceeds threshold of 0"
|
||||
echo "FAILED_COUNT=$failedCount" >> $env:GITHUB_ENV
|
||||
|
@@ -93,10 +93,6 @@ if ("${BUILD_LIBRARY_TYPE}" STREQUAL "Shared")
|
||||
set (BUILD_SHARED_LIBRARY_NAME_POSTFIX "" CACHE STRING "${BUILD_SHARED_LIBRARY_NAME_POSTFIX_DESCR}" FORCE)
|
||||
endif()
|
||||
else()
|
||||
message(AUTHOR_WARNING "OCCT is licensed under LGPL 2.1, which has limitations on"
|
||||
"static linking with proprietary software."
|
||||
"OCCT3D offers commercial licensing exceptions to LGPL 2.1."
|
||||
"Please use our contact form at https://occt3d.com/")
|
||||
unset (BUILD_SHARED_LIBS)
|
||||
unset (BUILD_SHARED_LIBRARY_NAME_POSTFIX)
|
||||
endif()
|
||||
@@ -979,9 +975,6 @@ message (STATUS "\nInfo: \(${CURRENT_TIME}\) Start collecting all OCCT header fi
|
||||
# collect all the headers to <binary dir>/inc folder
|
||||
COLLECT_AND_INSTALL_OCCT_HEADER_FILES ("${CMAKE_BINARY_DIR}" "${BUILD_TOOLKITS}" "src" "${INSTALL_DIR_INCLUDE}")
|
||||
|
||||
# Create and install Standard_Version.hxx
|
||||
CONFIGURE_AND_INSTALL_VERSION_HEADER()
|
||||
|
||||
string(TIMESTAMP CURRENT_TIME "%H:%M:%S")
|
||||
message (STATUS "Info: \(${CURRENT_TIME}\) End the collecting")
|
||||
|
||||
|
@@ -38,17 +38,17 @@ If HTML documentation is not available in your package, you can:
|
||||
- **Generate together with sources:** You need to have CMake and 1.8.4 (or above) installed on your system. Enable `BUILD_DOC_Overview` CMake parameter and set the path to Doxygen `3RDPARTY_DOXYGEN_EXECUTABLE`. Then build ALL or only `Overview`.
|
||||
- **Read documentation in source plain text (Markdown) format** found in the subfolder `dox` or [GitHub Wiki](https://github.com/Open-Cascade-SAS/OCCT/wiki).
|
||||
|
||||
See [dox/build/build_documentation/building_documentation.md](dox/build/build_documentation/building_documentation.md) or [Building Documentation](https://dev.opencascade.org/doc/occt-7.8.0/overview/html/build_upgrade__building_documentation.html) for details.
|
||||
See `dox/dev_guides/documentation/documentation.md` or [Building Documentation](https://dev.opencascade.org/doc/occt-7.8.0/overview/html/build_upgrade__building_documentation.html) for details.
|
||||
|
||||
## Building
|
||||
|
||||
In most cases, you need to rebuild OCCT on your platform (OS, compiler) before using it in your project to ensure binary compatibility.
|
||||
|
||||
Consult the file [dox/build/build_occt/building_occt.md](dox/build/build_occt/building_occt.md) or [Building OCCT](https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html) or [Building OCCT Wiki](https://github.com/Open-Cascade-SAS/OCCT/wiki/build_upgrade) for instructions on building OCCT from sources on supported platforms.
|
||||
Consult the file `dox/dev_guides/building/building.md` or [Building OCCT](https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html) or [Building OCCT Wiki](https://github.com/Open-Cascade-SAS/OCCT/wiki/build_upgrade) for instructions on building OCCT from sources on supported platforms.
|
||||
|
||||
## Version
|
||||
|
||||
The current version of OCCT can be found in the file [`adm/cmake/version.cmake`](adm/cmake/version.cmake).
|
||||
The current version of OCCT can be found in the file `src/Standard/Standard_Version.hxx`.
|
||||
|
||||
## Development
|
||||
|
||||
|
@@ -75,10 +75,6 @@ endmacro()
|
||||
# COMPILER variable
|
||||
macro (OCCT_MAKE_COMPILER_SHORT_NAME)
|
||||
if (MSVC)
|
||||
if (MSVC_VERSION LESS 1914)
|
||||
message (AUTHOR_WARNING "Microsoft Visual C++ 19.14 (VS 2017 15.7) or newer is required for C++17 support")
|
||||
endif()
|
||||
|
||||
if ((MSVC_VERSION EQUAL 1300) OR (MSVC_VERSION EQUAL 1310))
|
||||
set (COMPILER vc7)
|
||||
elseif (MSVC_VERSION EQUAL 1400)
|
||||
@@ -96,39 +92,20 @@ macro (OCCT_MAKE_COMPILER_SHORT_NAME)
|
||||
elseif ((MSVC_VERSION GREATER 1900) AND (MSVC_VERSION LESS 2000))
|
||||
# Since Visual Studio 15 (2017), its version diverged from version of
|
||||
# compiler which is 14.1; as that compiler uses the same run-time as 14.0,
|
||||
# we keep its id as "vc14" to be compatible
|
||||
# we keep its id as "vc14" to be compatibille
|
||||
set (COMPILER vc14)
|
||||
else()
|
||||
message (FATAL_ERROR "Unrecognized MSVC_VERSION")
|
||||
endif()
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
|
||||
message (AUTHOR_WARNING "GCC version 8.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
set (COMPILER gcc)
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
|
||||
message (AUTHOR_WARNING "GCC version 8.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
set (COMPILER gxx)
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
if(APPLE)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.0)
|
||||
message (AUTHOR_WARNING "Apple Clang version 11.0.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
|
||||
message (AUTHOR_WARNING "Clang version 7.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
endif()
|
||||
set (COMPILER clang)
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Ii][Nn][Tt][Ee][Ll]")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.1.1)
|
||||
message (AUTHOR_WARNING "Intel C++ Compiler version 17.1.1 or newer is required for C++17 support")
|
||||
endif()
|
||||
set (COMPILER icc)
|
||||
else()
|
||||
message (AUTHOR_WARNING "Unknown compiler - please verify C++17 support")
|
||||
set (COMPILER ${CMAKE_GENERATOR})
|
||||
string (REGEX REPLACE " " "" COMPILER ${COMPILER})
|
||||
endif()
|
||||
@@ -481,18 +458,6 @@ function (COLLECT_AND_INSTALL_OCCT_HEADER_FILES THE_ROOT_TARGET_OCCT_DIR THE_OCC
|
||||
install (FILES ${OCCT_HEADER_FILES_INSTALLATION} DESTINATION "${INSTALL_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}")
|
||||
endfunction()
|
||||
|
||||
# Macro to configure and install Standard_Version.hxx file
|
||||
macro (CONFIGURE_AND_INSTALL_VERSION_HEADER)
|
||||
if (DEFINED BUILD_OCCT_VERSION_EXT AND "${BUILD_OCCT_VERSION_EXT}" STREQUAL "${OCC_VERSION_STRING_EXT}" AND EXISTS "${CMAKE_BINARY_DIR}/${INSTALL_DIR_INCLUDE}/Standard_Version.hxx")
|
||||
install(FILES "${OCCT_BINARY_DIR}/${INSTALL_DIR_INCLUDE}/Standard_Version.hxx" DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_INCLUDE}")
|
||||
else()
|
||||
set(BUILD_OCCT_VERSION_EXT "${OCC_VERSION_STRING_EXT}" CACHE STRING "OCCT Version string. Used only for caching, can't impact on build. For modification of version, please check adm/cmake/version.cmake" FORCE)
|
||||
mark_as_advanced(BUILD_OCCT_VERSION_EXT)
|
||||
string(TIMESTAMP OCCT_VERSION_DATE "%Y-%m-%d" UTC)
|
||||
OCCT_CONFIGURE_AND_INSTALL ("adm/templates/Standard_Version.hxx.in" "${INSTALL_DIR_INCLUDE}/Standard_Version.hxx" "Standard_Version.hxx" "${INSTALL_DIR}/${INSTALL_DIR_INCLUDE}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
function(ADD_PRECOMPILED_HEADER INPUT_TARGET PRECOMPILED_HEADER THE_IS_PRIVATE)
|
||||
if (NOT BUILD_USE_PCH)
|
||||
return()
|
||||
@@ -585,69 +550,42 @@ function (OCCT_MODULES_AND_TOOLKITS FILE_NAME TOOLKITS_NAME_SUFFIX MODULE_LIST)
|
||||
set (${MODULE_LIST} ${${MODULE_LIST}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
||||
# Macro to extract git hash from the source directory
|
||||
# and store it in the variable GIT_HASH
|
||||
# in case if git is not found or error occurs, GIT_HASH is set to empty string
|
||||
macro(OCCT_GET_GIT_HASH)
|
||||
set(GIT_HASH "")
|
||||
|
||||
find_package(Git QUIET)
|
||||
if(GIT_FOUND)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_HASH
|
||||
ERROR_VARIABLE GIT_ERROR
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT GIT_ERROR)
|
||||
# Check if working directory is clean
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} status --porcelain
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_STATUS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT "${GIT_STATUS}" STREQUAL "")
|
||||
message(DEBUG "Git working directory is not clean. Git hash may be incorrect.")
|
||||
endif()
|
||||
else()
|
||||
set(GIT_HASH "")
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# Returns OCC version string
|
||||
# Returns OCC version string from file Standard_Version.hxx (if available)
|
||||
function (OCC_VERSION OCC_VERSION_MAJOR OCC_VERSION_MINOR OCC_VERSION_MAINTENANCE OCC_VERSION_DEVELOPMENT OCC_VERSION_STRING_EXT)
|
||||
|
||||
include (version)
|
||||
set (OCC_VERSION_COMPLETE "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}")
|
||||
set (OCC_VERSION_MAJOR 7)
|
||||
set (OCC_VERSION_MINOR 0)
|
||||
set (OCC_VERSION_MAINTENANCE 0)
|
||||
set (OCC_VERSION_DEVELOPMENT dev)
|
||||
set (OCC_VERSION_COMPLETE "7.0.0")
|
||||
|
||||
set (STANDARD_VERSION_FILE "${CMAKE_SOURCE_DIR}/src/Standard/Standard_Version.hxx")
|
||||
if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/src/Standard/Standard_Version.hxx")
|
||||
set (STANDARD_VERSION_FILE "${BUILD_PATCH}/src/Standard/Standard_Version.hxx")
|
||||
endif()
|
||||
|
||||
if (EXISTS "${STANDARD_VERSION_FILE}")
|
||||
foreach (SOUGHT_VERSION OCC_VERSION_MAJOR OCC_VERSION_MINOR OCC_VERSION_MAINTENANCE)
|
||||
file (STRINGS "${STANDARD_VERSION_FILE}" ${SOUGHT_VERSION} REGEX "^#define ${SOUGHT_VERSION} .*")
|
||||
string (REGEX REPLACE ".*${SOUGHT_VERSION} .*([^ ]+).*" "\\1" ${SOUGHT_VERSION} "${${SOUGHT_VERSION}}" )
|
||||
endforeach()
|
||||
|
||||
foreach (SOUGHT_VERSION OCC_VERSION_DEVELOPMENT OCC_VERSION_COMPLETE)
|
||||
file (STRINGS "${STANDARD_VERSION_FILE}" ${SOUGHT_VERSION} REGEX "^#define ${SOUGHT_VERSION} .*")
|
||||
string (REGEX REPLACE ".*${SOUGHT_VERSION} .*\"([^ ]+)\".*" "\\1" ${SOUGHT_VERSION} "${${SOUGHT_VERSION}}" )
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
set (OCC_VERSION_MAJOR "${OCC_VERSION_MAJOR}" PARENT_SCOPE)
|
||||
set (OCC_VERSION_MINOR "${OCC_VERSION_MINOR}" PARENT_SCOPE)
|
||||
set (OCC_VERSION_MAINTENANCE "${OCC_VERSION_MAINTENANCE}" PARENT_SCOPE)
|
||||
set (OCCT_ON_DEVELOPMENT OFF)
|
||||
if (NOT "${OCC_VERSION_DEVELOPMENT}" STREQUAL "" AND NOT "${OCC_VERSION_DEVELOPMENT}" STREQUAL "OCC_VERSION_DEVELOPMENT")
|
||||
set (OCCT_ON_DEVELOPMENT ON)
|
||||
endif()
|
||||
if (${OCCT_ON_DEVELOPMENT})
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
endif()
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
|
||||
set (SET_OCC_VERSION_DEVELOPMENT "")
|
||||
if (${OCCT_ON_DEVELOPMENT})
|
||||
OCCT_GET_GIT_HASH()
|
||||
if (NOT "${GIT_HASH}" STREQUAL "")
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}-${GIT_HASH}")
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
endif()
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}.${OCC_VERSION_DEVELOPMENT}")
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_STRING_EXT}" PARENT_SCOPE)
|
||||
set (SET_OCC_VERSION_DEVELOPMENT "#define OCC_VERSION_DEVELOPMENT \"${OCC_VERSION_DEVELOPMENT}\"")
|
||||
if (OCC_VERSION_DEVELOPMENT AND OCC_VERSION_COMPLETE)
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}.${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
else()
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}" PARENT_SCOPE)
|
||||
endif()
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_STRING_EXT}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
macro (CHECK_PATH_FOR_CONSISTENCY THE_ROOT_PATH_NAME THE_BEING_CHECKED_PATH_NAME THE_VAR_TYPE THE_MESSAGE_OF_BEING_CHECKED_PATH)
|
||||
|
@@ -1,22 +0,0 @@
|
||||
#======================================================================
|
||||
#
|
||||
# Purpose: Defines macros identifying current version of Open CASCADE
|
||||
#
|
||||
# OCC_VERSION_MAJOR : (integer) number identifying major version
|
||||
# OCC_VERSION_MINOR : (integer) number identifying minor version
|
||||
# OCC_VERSION_MAINTENANCE : (integer) number identifying maintenance version
|
||||
# OCC_VERSION_DEVELOPMENT : (string) if defined, indicates development or modified version
|
||||
# in case of release, remove the value
|
||||
#
|
||||
# Sample values of OCC_VERSION_DEVELOPMENT:
|
||||
# - "dev" for development version between releases
|
||||
# - "beta..." or "rc..." for beta releases or release candidates
|
||||
# - "project..." for version containing project-specific fixes
|
||||
#
|
||||
# For development version git commit hash can be added to the version string
|
||||
#======================================================================
|
||||
|
||||
set (OCC_VERSION_MAJOR 7 )
|
||||
set (OCC_VERSION_MINOR 8 )
|
||||
set (OCC_VERSION_MAINTENANCE 2 )
|
||||
set (OCC_VERSION_DEVELOPMENT "dev" )
|
@@ -142,20 +142,17 @@ proc OCCDoc_GetRelPath {thePathFrom thePathTo} {
|
||||
return $thePathTo
|
||||
}
|
||||
|
||||
# Returns OCCT version string from version.cmake (if available)
|
||||
# Returns OCCT version string from file Standard_Version.hxx (if available)
|
||||
proc OCCDoc_DetectCasVersion {} {
|
||||
set occt_ver "7.8.0"
|
||||
set occt_ver 6.7.0
|
||||
set occt_ver_add ""
|
||||
set filename "[OCCDoc_GetSourceDir]/../adm/cmake/version.cmake"
|
||||
set filename "[OCCDoc_GetSourceDir]/Standard/Standard_Version.hxx"
|
||||
if { [file exists $filename] } {
|
||||
set fh [open $filename "r"]
|
||||
set fh_loaded [read $fh]
|
||||
close $fh
|
||||
regexp {set\s+OCC_VERSION_MAJOR\s+([0-9]+)} $fh_loaded dummy major
|
||||
regexp {set\s+OCC_VERSION_MINOR\s+([0-9]+)} $fh_loaded dummy minor
|
||||
regexp {set\s+OCC_VERSION_MAINTENANCE\s+([0-9]+)} $fh_loaded dummy maint
|
||||
regexp {set\s+OCC_VERSION_DEVELOPMENT\s+\"([^\"]+)\"} $fh_loaded dummy occt_ver_add
|
||||
set occt_ver "$major.$minor.$maint"
|
||||
regexp {[^/]\s*#\s*define\s+OCC_VERSION_COMPLETE\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver
|
||||
regexp {[^/]\s*#\s*define\s+OCC_VERSION_DEVELOPMENT\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver_add
|
||||
if { "$occt_ver_add" != "" } { set occt_ver ${occt_ver}.$occt_ver_add }
|
||||
}
|
||||
return $occt_ver
|
||||
|
@@ -67,9 +67,8 @@ if ["%toCMake%"] == ["1"] (
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
set "aGitBranch="
|
||||
rem Get OCCT version
|
||||
call "%~dp0build_common.bat"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
for %%s in (%anNdkAbiList%) do (
|
||||
|
@@ -1,8 +0,0 @@
|
||||
@echo OFF
|
||||
|
||||
rem Extract version info from version.cmake
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr OCC_VERSION_DEVELOPMENT "%~dp0\..\cmake\version.cmake"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=3 %%i in ('findstr OCC_VERSION_MAJOR "%~dp0\..\cmake\version.cmake"') do ( set "OCC_VERSION_MAJOR=%%i" )
|
||||
for /f tokens^=3 %%i in ('findstr OCC_VERSION_MINOR "%~dp0\..\cmake\version.cmake"') do ( set "OCC_VERSION_MINOR=%%i" )
|
||||
for /f tokens^=3 %%i in ('findstr OCC_VERSION_MAINTENANCE "%~dp0\..\cmake\version.cmake"') do ( set "OCC_VERSION_MAINTENANCE=%%i" )
|
||||
set "anOcctVersion=%OCC_VERSION_MAJOR%.%OCC_VERSION_MINOR%.%OCC_VERSION_MAINTENANCE%"
|
@@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Ensure script dir is defined
|
||||
if [ -z "$aScriptDir" ]; then
|
||||
aScriptDir=$(dirname "$0")
|
||||
fi
|
||||
|
||||
# Check if version file exists
|
||||
versionFile="$aScriptDir/../cmake/version.cmake"
|
||||
if [ ! -f "$versionFile" ]; then
|
||||
echo "Error: version.cmake not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extract version info from version.cmake
|
||||
OCC_VERSION_MAJOR=$(awk '/set.*OCC_VERSION_MAJOR/ {print $3}' "$versionFile")
|
||||
OCC_VERSION_MINOR=$(awk '/set.*OCC_VERSION_MINOR/ {print $3}' "$versionFile")
|
||||
OCC_VERSION_MAINTENANCE=$(awk '/set.*OCC_VERSION_MAINTENANCE/ {print $3}' "$versionFile")
|
||||
anOcctVerSuffix=$(awk '/set.*OCC_VERSION_DEVELOPMENT/ {
|
||||
if (NF > 2) {
|
||||
gsub(/[)" ]/, "", $3)
|
||||
print $3
|
||||
} else {
|
||||
print ""
|
||||
}
|
||||
}' "$versionFile")
|
||||
|
||||
# Combine version string
|
||||
anOcctVersion="${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}"
|
||||
|
@@ -49,7 +49,8 @@ if [[ -f "${aScriptDir}/ios_custom.sh" ]]; then
|
||||
source "${aScriptDir}/ios_custom.sh"
|
||||
fi
|
||||
|
||||
source "${aScriptDir}/build_common.sh"
|
||||
anOcctVerSuffix=`grep -e "#define OCC_VERSION_DEVELOPMENT" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
anOcctVersion=`grep -e "#define OCC_VERSION_COMPLETE" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
YEAR=$(date +"%Y")
|
||||
|
@@ -51,7 +51,8 @@ if [[ -f "${aScriptDir}/macos_custom.sh" ]]; then
|
||||
source "${aScriptDir}/macos_custom.sh"
|
||||
fi
|
||||
|
||||
source "${aScriptDir}/build_common.sh"
|
||||
anOcctVerSuffix=`grep -e "#define OCC_VERSION_DEVELOPMENT" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
anOcctVersion=`grep -e "#define OCC_VERSION_COMPLETE" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
YEAR=$(date +"%Y")
|
||||
|
@@ -53,8 +53,9 @@ if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
call "%~dp0build_common.bat"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
|
@@ -55,8 +55,8 @@ if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
set "aGitBranch="
|
||||
call "%~dp0build_common.bat"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
|
@@ -20,7 +20,7 @@ BEGIN
|
||||
VALUE "LegalCopyright", "\251 OPEN CASCADE SAS\000"
|
||||
VALUE "ProductName", "Open CASCADE Technology\000"
|
||||
VALUE "ProductVersion", OCC_VERSION_STRING_EXT "\000"
|
||||
VALUE "OfficialSite", "www.occt3d.com\000"
|
||||
VALUE "OfficialSite", "www.opencascade.com\000"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@@ -956,19 +956,9 @@ void AIS_InteractiveContext::RecomputeSelectionOnly(const Handle(AIS_Interactive
|
||||
mgrSelector->Deactivate(theIO, aModesIter.Value());
|
||||
}
|
||||
|
||||
const Handle(AIS_GlobalStatus)* aStatus = myObjects.Seek(theIO);
|
||||
if (aStatus != NULL)
|
||||
{
|
||||
if (!myLastPicked.IsNull() && myLastPicked->IsSameSelectable(theIO))
|
||||
{
|
||||
clearDynamicHighlight();
|
||||
myLastPicked.Nullify();
|
||||
}
|
||||
|
||||
unselectOwners(theIO);
|
||||
}
|
||||
|
||||
mgrSelector->RecomputeSelection(theIO);
|
||||
|
||||
const Handle(AIS_GlobalStatus)* aStatus = myObjects.Seek(theIO);
|
||||
if (aStatus == NULL || theIO->DisplayStatus() != PrsMgr_DisplayStatus_Displayed)
|
||||
{
|
||||
return;
|
||||
|
@@ -163,7 +163,6 @@ public: //! @name object display management
|
||||
Standard_EXPORT void RemoveAll(const Standard_Boolean theToUpdateViewer);
|
||||
|
||||
//! Recomputes the seen parts presentation of the Object.
|
||||
//! The object will be also unhighlighted and removed from selection.
|
||||
//! If theAllModes equals true, all presentations are present in the object even if unseen.
|
||||
Standard_EXPORT void Redisplay(const Handle(AIS_InteractiveObject)& theIObj,
|
||||
const Standard_Boolean theToUpdateViewer,
|
||||
@@ -176,14 +175,13 @@ public: //! @name object display management
|
||||
const Standard_Boolean theToUpdateViewer);
|
||||
|
||||
//! Recomputes the displayed presentations, flags the others.
|
||||
//! Doesn't update selections.
|
||||
//! Doesn't update presentations.
|
||||
Standard_EXPORT void RecomputePrsOnly(const Handle(AIS_InteractiveObject)& theIObj,
|
||||
const Standard_Boolean theToUpdateViewer,
|
||||
const Standard_Boolean theAllModes = Standard_False);
|
||||
|
||||
//! Recomputes the active selections, flags the others.
|
||||
//! Doesn't update presentations.
|
||||
//! The object will be also unhighlighted and removed from selection.
|
||||
Standard_EXPORT void RecomputeSelectionOnly(const Handle(AIS_InteractiveObject)& anIObj);
|
||||
|
||||
//! Updates displayed interactive object by checking and recomputing its flagged as "to be
|
||||
|
@@ -331,15 +331,6 @@ void AIS_Manipulator::EnableMode(const AIS_ManipulatorMode theMode)
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
void AIS_Manipulator::attachToPoint(const gp_Pnt& thePoint)
|
||||
{
|
||||
gp_Ax2 aPosition = gp::XOY();
|
||||
aPosition.SetLocation(thePoint);
|
||||
SetPosition(aPosition);
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
void AIS_Manipulator::attachToBox(const Bnd_Box& theBox)
|
||||
{
|
||||
if (theBox.IsVoid())
|
||||
@@ -401,15 +392,7 @@ void AIS_Manipulator::Attach(const Handle(AIS_ManipulatorObjectSequence)& theObj
|
||||
|
||||
if (theOptions.AdjustPosition)
|
||||
{
|
||||
const Handle(Graphic3d_TransformPers)& aTransPers = aCurObject->TransformPersistence();
|
||||
if (!aTransPers.IsNull() && (aTransPers->IsZoomOrRotate() || aTransPers->IsAxial()))
|
||||
{
|
||||
attachToPoint(aTransPers->AnchorPoint());
|
||||
}
|
||||
else
|
||||
{
|
||||
attachToBox(aBox);
|
||||
}
|
||||
attachToBox(aBox);
|
||||
}
|
||||
|
||||
if (theOptions.AdjustSize)
|
||||
@@ -763,18 +746,9 @@ void AIS_Manipulator::Transform(const gp_Trsf& theTrsf)
|
||||
NCollection_Sequence<gp_Trsf>::Iterator aTrsfIter(myStartTrsfs);
|
||||
for (; anObjIter.More(); anObjIter.Next(), aTrsfIter.Next())
|
||||
{
|
||||
const Handle(AIS_InteractiveObject)& anObj = anObjIter.ChangeValue();
|
||||
const Handle(Graphic3d_TransformPers)& aTransPers = anObj->TransformPersistence();
|
||||
if (!aTransPers.IsNull() && (aTransPers->IsZoomOrRotate() || aTransPers->IsAxial()))
|
||||
{
|
||||
gp_XYZ aNewAnchorPoint = aTransPers->AnchorPoint().XYZ() - myPosition.Location().XYZ();
|
||||
aNewAnchorPoint += myStartPosition.Location().Transformed(theTrsf).XYZ();
|
||||
aTransPers->SetAnchorPoint(aNewAnchorPoint);
|
||||
continue;
|
||||
}
|
||||
|
||||
const gp_Trsf& anOldTrsf = aTrsfIter.Value();
|
||||
const Handle(TopLoc_Datum3D)& aParentTrsf = anObj->CombinedParentTransformation();
|
||||
const Handle(AIS_InteractiveObject)& anObj = anObjIter.ChangeValue();
|
||||
const gp_Trsf& anOldTrsf = aTrsfIter.Value();
|
||||
const Handle(TopLoc_Datum3D)& aParentTrsf = anObj->CombinedParentTransformation();
|
||||
if (!aParentTrsf.IsNull() && aParentTrsf->Form() != gp_Identity)
|
||||
{
|
||||
// recompute local transformation relative to parent transformation
|
||||
|
@@ -416,8 +416,6 @@ protected:
|
||||
Standard_EXPORT Handle(Graphic3d_Group) getGroup(const Standard_Integer theIndex,
|
||||
const AIS_ManipulatorMode theMode) const;
|
||||
|
||||
Standard_EXPORT void attachToPoint(const gp_Pnt& thePoint);
|
||||
|
||||
Standard_EXPORT void attachToBox(const Bnd_Box& theBox);
|
||||
|
||||
Standard_EXPORT void adjustSize(const Bnd_Box& theBox);
|
||||
|
@@ -206,7 +206,7 @@ TCollection_AsciiString defaultActionsManifestInit()
|
||||
return aCasRoot + "/XRResources/src/" + THE_ACTIONS_JSON;
|
||||
}
|
||||
}
|
||||
return OSD_Process::ExecutableFolder() + "/occtvr_actions.json";
|
||||
return OSD_Process::ExecutablePath() + "/occtvr_actions.json";
|
||||
}
|
||||
} // namespace
|
||||
#endif
|
||||
|
@@ -119,12 +119,6 @@ static TopoDS_Wire WireFromList(TopTools_ListOfShape& Edges)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!itl.More())
|
||||
{
|
||||
Message::SendWarning() << "Warning: WireFromList: can't find the next edge. The wire is not "
|
||||
"complete, some edges are lost.";
|
||||
break;
|
||||
}
|
||||
BB.Add(aWire, anEdge);
|
||||
Edges.Remove(itl);
|
||||
}
|
||||
@@ -563,13 +557,6 @@ void BRepFill_Filling::Build()
|
||||
myTolAng,
|
||||
myTolCurv,
|
||||
myAnisotropie));
|
||||
|
||||
if (myBoundary.IsEmpty())
|
||||
{
|
||||
myIsDone = Standard_False;
|
||||
return;
|
||||
}
|
||||
|
||||
TopoDS_Edge CurEdge;
|
||||
TopoDS_Face CurFace;
|
||||
Standard_Integer i, j;
|
||||
|
@@ -773,7 +773,6 @@ void BRepLib_MakeEdge::Init(const Handle(Geom_Curve)& CC,
|
||||
}
|
||||
B.Range(E, p1, p2);
|
||||
B.Degenerated(E, degenerated);
|
||||
E.Closed(closed);
|
||||
|
||||
myError = BRepLib_EdgeDone;
|
||||
Done();
|
||||
|
@@ -1899,9 +1899,9 @@ Standard_Boolean BRepOffset_Tool::TryProject(const TopoDS_Face& F1,
|
||||
{
|
||||
BRepLib::BuildCurve3d(CurE, BRep_Tool::Tolerance(CurE));
|
||||
C = BRep_Tool::Curve(CurE, L, f, l);
|
||||
if (C.IsNull()) // not 3d curve, can be degenerated, need to skip
|
||||
if (C.IsNull())
|
||||
{
|
||||
continue;
|
||||
return Standard_False;
|
||||
}
|
||||
}
|
||||
C = new Geom_TrimmedCurve(C, f, l);
|
||||
|
@@ -515,16 +515,15 @@ Standard_Boolean BRepTools_NurbsConvertModification::NewPolygon(const TopoDS_Edg
|
||||
Standard_Real aFirst, aLast;
|
||||
Handle(Geom_Curve) aCurve = BRep_Tool::Curve(theEdge, aFirst, aLast);
|
||||
Handle(Geom_Curve) aNewCurve = newCurve(myMap, theEdge, aFirst, aLast);
|
||||
if (aCurve.IsNull() || aNewCurve.IsNull()) // skip processing degenerated edges
|
||||
if (!aCurve.IsNull() && !aNewCurve.IsNull()) // skip processing degenerated edges
|
||||
{
|
||||
return Standard_False;
|
||||
}
|
||||
TColStd_Array1OfReal& aParams = thePoly->ChangeParameters();
|
||||
for (Standard_Integer anInd = aParams.Lower(); anInd <= aParams.Upper(); ++anInd)
|
||||
{
|
||||
Standard_Real& aParam = aParams(anInd);
|
||||
gp_Pnt aPoint = aCurve->Value(aParam);
|
||||
newParameter(aPoint, aNewCurve, aFirst, aLast, aTol, aParam);
|
||||
TColStd_Array1OfReal& aParams = thePoly->ChangeParameters();
|
||||
for (Standard_Integer anInd = aParams.Lower(); anInd <= aParams.Upper(); ++anInd)
|
||||
{
|
||||
Standard_Real& aParam = aParams(anInd);
|
||||
gp_Pnt aPoint = aCurve->Value(aParam);
|
||||
newParameter(aPoint, aNewCurve, aFirst, aLast, aTol, aParam);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Standard_True;
|
||||
|
@@ -427,11 +427,11 @@ struct SurfaceCalculator<T, 2>
|
||||
{
|
||||
static T Area(const typename BVH_Box<T, 2>::BVH_VecNt& theSize)
|
||||
{
|
||||
const T anArea = std::abs(theSize.x() * theSize.y());
|
||||
const T anArea = std::abs (theSize.x() * theSize.y());
|
||||
|
||||
if (anArea < std::numeric_limits<T>::epsilon())
|
||||
{
|
||||
return std::abs(theSize.x()) + std::abs(theSize.y());
|
||||
return std::abs (theSize.x()) + std::abs (theSize.y());
|
||||
}
|
||||
|
||||
return anArea;
|
||||
@@ -443,13 +443,15 @@ struct SurfaceCalculator<T, 3>
|
||||
{
|
||||
static T Area(const typename BVH_Box<T, 3>::BVH_VecNt& theSize)
|
||||
{
|
||||
const T anArea = (std::abs(theSize.x() * theSize.y()) + std::abs(theSize.x() * theSize.z())
|
||||
+ std::abs(theSize.z() * theSize.y()))
|
||||
* static_cast<T>(2.0);
|
||||
const T anArea =
|
||||
(std::abs (theSize.x() * theSize.y()) +
|
||||
std::abs (theSize.x() * theSize.z()) +
|
||||
std::abs (theSize.z() * theSize.y()))
|
||||
* static_cast<T>(2.0);
|
||||
|
||||
if (anArea < std::numeric_limits<T>::epsilon())
|
||||
{
|
||||
return std::abs(theSize.x()) + std::abs(theSize.y()) + std::abs(theSize.z());
|
||||
return std::abs (theSize.x()) + std::abs (theSize.y()) + std::abs (theSize.z());
|
||||
}
|
||||
|
||||
return anArea;
|
||||
@@ -461,13 +463,15 @@ struct SurfaceCalculator<T, 4>
|
||||
{
|
||||
static T Area(const typename BVH_Box<T, 4>::BVH_VecNt& theSize)
|
||||
{
|
||||
const T anArea = (std::abs(theSize.x() * theSize.y()) + std::abs(theSize.x() * theSize.z())
|
||||
+ std::abs(theSize.z() * theSize.y()))
|
||||
* static_cast<T>(2.0);
|
||||
const T anArea =
|
||||
(std::abs (theSize.x() * theSize.y()) +
|
||||
std::abs (theSize.x() * theSize.z()) +
|
||||
std::abs (theSize.z() * theSize.y()))
|
||||
* static_cast<T>(2.0);
|
||||
|
||||
if (anArea < std::numeric_limits<T>::epsilon())
|
||||
{
|
||||
return std::abs(theSize.x()) + std::abs(theSize.y()) + std::abs(theSize.z());
|
||||
return std::abs (theSize.x()) + std::abs (theSize.y()) + std::abs (theSize.z());
|
||||
}
|
||||
|
||||
return anArea;
|
||||
|
@@ -125,18 +125,17 @@ private:
|
||||
|
||||
//! Print message to Module.printMessage callback.
|
||||
EM_JS(void, occJSPrintMessage, (const char* theStr, int theGravity), {
|
||||
const aStr = Number(theStr); // bigintToI53Checked(theStr);
|
||||
if (Module.printMessage != undefined && Module.printMessage != null)
|
||||
{
|
||||
Module.printMessage(UTF8ToString(aStr), theGravity);
|
||||
Module.printMessage(UTF8ToString(theStr), theGravity);
|
||||
}
|
||||
else if (Module.print != undefined && Module.print != null)
|
||||
{
|
||||
Module.print(UTF8ToString(aStr));
|
||||
Module.print(UTF8ToString(theStr));
|
||||
}
|
||||
else
|
||||
{
|
||||
// console.info (UTF8ToString(aStr));
|
||||
// console.info (UTF8ToString(theStr));
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -439,7 +439,7 @@ void GeomPlate_BuildAveragePlane::BasePlan(const gp_Vec& OZ)
|
||||
|| ((Abs(n1) <= myTol) && (Abs(n3) <= myTol)))
|
||||
{
|
||||
myOX.SetCoord(V3(1), V3(2), V3(3));
|
||||
myOY = OZ ^ myOX;
|
||||
myOY.SetCoord(0, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -89,12 +89,6 @@ public:
|
||||
//! Sets camera used by the view.
|
||||
virtual void SetCamera(const Handle(Graphic3d_Camera)& theCamera) { myCamera = theCamera; }
|
||||
|
||||
//! Returns necessity to flip OY in projection matrix
|
||||
virtual Standard_Boolean ToFlipOutput() const { return Standard_False; }
|
||||
|
||||
//! Sets state of flip OY necessity in projection matrix
|
||||
virtual void SetToFlipOutput(const Standard_Boolean) {}
|
||||
|
||||
public:
|
||||
//! Returns default Shading Model of the view; Graphic3d_TypeOfShadingModel_Phong by default.
|
||||
Graphic3d_TypeOfShadingModel ShadingModel() const { return myRenderParams.ShadingModel; }
|
||||
|
@@ -195,11 +195,8 @@ void IntPatch_Intersection::Perform(const Handle(Adaptor3d_Surface)& S1,
|
||||
aProjectedCurve.FirstParameter(),
|
||||
aProjectedCurve.LastParameter());
|
||||
Geom2dInt_GInter Intersector(AC, Precision::Confusion(), Precision::Confusion());
|
||||
if (Intersector.IsDone()
|
||||
&& (Intersector.IsEmpty() || (AC.IsClosed() && Intersector.NbPoints() == 1)))
|
||||
{
|
||||
if (Intersector.IsDone() && Intersector.IsEmpty())
|
||||
break;
|
||||
}
|
||||
}
|
||||
Standard_FALLTHROUGH
|
||||
default: {
|
||||
|
@@ -63,28 +63,16 @@ static android_LogPriority getAndroidLogPriority(const Message_Gravity theGravit
|
||||
#include <emscripten/emscripten.h>
|
||||
|
||||
//! Print message to console.debug().
|
||||
EM_JS(void, occJSConsoleDebug, (const char* theStr), {
|
||||
const aStr = Number(theStr); // bigintToI53Checked(theStr);
|
||||
console.debug(UTF8ToString(aStr));
|
||||
});
|
||||
EM_JS(void, occJSConsoleDebug, (const char* theStr), { console.debug(UTF8ToString(theStr)); });
|
||||
|
||||
//! Print message to console.info().
|
||||
EM_JS(void, occJSConsoleInfo, (const char* theStr), {
|
||||
const aStr = Number(theStr); // bigintToI53Checked(theStr);
|
||||
console.info(UTF8ToString(aStr));
|
||||
});
|
||||
EM_JS(void, occJSConsoleInfo, (const char* theStr), { console.info(UTF8ToString(theStr)); });
|
||||
|
||||
//! Print message to console.warn().
|
||||
EM_JS(void, occJSConsoleWarn, (const char* theStr), {
|
||||
const aStr = Number(theStr); // bigintToI53Checked(theStr);
|
||||
console.warn(UTF8ToString(aStr));
|
||||
});
|
||||
EM_JS(void, occJSConsoleWarn, (const char* theStr), { console.warn(UTF8ToString(theStr)); });
|
||||
|
||||
//! Print message to console.error().
|
||||
EM_JS(void, occJSConsoleError, (const char* theStr), {
|
||||
const aStr = Number(theStr); // bigintToI53Checked(theStr);
|
||||
console.error(UTF8ToString(aStr));
|
||||
});
|
||||
EM_JS(void, occJSConsoleError, (const char* theStr), { console.error(UTF8ToString(theStr)); });
|
||||
#else
|
||||
#include <syslog.h>
|
||||
|
||||
|
@@ -37,7 +37,7 @@
|
||||
#include <emscripten.h>
|
||||
|
||||
//! Return WebAssembly heap size in bytes.
|
||||
EM_JS(double, OSD_MemInfo_getModuleHeapLength, (), { return Module.HEAP8.length; });
|
||||
EM_JS(size_t, OSD_MemInfo_getModuleHeapLength, (), { return Module.HEAP8.length; });
|
||||
#endif
|
||||
|
||||
// =======================================================================
|
||||
@@ -168,7 +168,7 @@ void OSD_MemInfo::Update()
|
||||
}
|
||||
if (IsActive(MemVirtual))
|
||||
{
|
||||
myCounters[MemVirtual] = (size_t)OSD_MemInfo_getModuleHeapLength();
|
||||
myCounters[MemVirtual] = OSD_MemInfo_getModuleHeapLength();
|
||||
}
|
||||
#elif (defined(__linux__) || defined(__linux))
|
||||
if (IsActive(MemHeapUsage))
|
||||
|
@@ -3137,7 +3137,7 @@ bool OpenGl_Context::GetBufferSubData(unsigned int theTarget,
|
||||
}
|
||||
#ifdef __EMSCRIPTEN__
|
||||
EM_ASM_(
|
||||
{ Module.ctx.getBufferSubData($0, Number($1), HEAPU8.subarray(Number($2), Number($2 + $3))); },
|
||||
{ Module.ctx.getBufferSubData($0, $1, HEAPU8.subarray($2, $2 + $3)); },
|
||||
theTarget,
|
||||
theOffset,
|
||||
theData,
|
||||
|
@@ -666,7 +666,7 @@ void OpenGl_GraduatedTrihedron::Render(const Handle(OpenGl_Workspace)& theWorksp
|
||||
|
||||
if (anAxesState & OOZ_XOZ)
|
||||
{
|
||||
renderLine(myAxes[0].Line, theWorkspace, aModelMatrix, myMin.x(), myMin.y(), myMax.z());
|
||||
renderLine(myAxes[0].Line, theWorkspace, aModelMatrix, myMin.z(), myMin.y(), myMax.z());
|
||||
}
|
||||
|
||||
if (anAxesState & OOZ_OYZ)
|
||||
|
@@ -340,15 +340,6 @@ public: //! @name obsolete Graduated Trihedron functionality
|
||||
const Graphic3d_Vec3 theMax)
|
||||
Standard_OVERRIDE;
|
||||
|
||||
//! Returns necessity to flip OY in projection matrix
|
||||
virtual Standard_Boolean ToFlipOutput() const Standard_OVERRIDE { return myToFlipOutput; }
|
||||
|
||||
//! Sets state of flip OY necessity in projection matrix
|
||||
virtual void SetToFlipOutput(const Standard_Boolean theFlip) Standard_OVERRIDE
|
||||
{
|
||||
myToFlipOutput = theFlip;
|
||||
}
|
||||
|
||||
protected: //! @name Internal methods for managing GL resources
|
||||
//! Initializes OpenGl resource for environment texture.
|
||||
void initTextureEnv(const Handle(OpenGl_Context)& theContext);
|
||||
|
@@ -66,9 +66,6 @@
|
||||
#include <TDataStd_Name.hxx>
|
||||
#include <AppCont_Function.hxx>
|
||||
#include <math_ComputeKronrodPointsAndWeights.hxx>
|
||||
#include <STEPCAFControl_Writer.hxx>
|
||||
#include <STEPCAFControl_Controller.hxx>
|
||||
#include <ShapeAnalysis_ShapeContents.hxx>
|
||||
|
||||
#include <limits>
|
||||
|
||||
@@ -4926,155 +4923,6 @@ static Standard_Integer OCC33048(Draw_Interpretor&, Standard_Integer, const char
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
static Standard_Integer OCC33657_1(Draw_Interpretor&, Standard_Integer, const char**)
|
||||
{
|
||||
STEPCAFControl_Controller::Init();
|
||||
// Checking constructors working in parallel.
|
||||
OSD_Parallel::For(0, 1000, [](int) {
|
||||
STEPCAFControl_Reader aReader;
|
||||
aReader.SetColorMode(true);
|
||||
STEPCAFControl_Writer aWriter;
|
||||
aWriter.SetDimTolMode(true);
|
||||
});
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
static Standard_Integer OCC33657_2(Draw_Interpretor& theDI,
|
||||
Standard_Integer theArgC,
|
||||
const char** theArgV)
|
||||
{
|
||||
if (theArgC < 2)
|
||||
{
|
||||
theDI << "Use: " << theArgV[0] << " file\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
STEPCAFControl_Controller::Init();
|
||||
// Checking readers working in parallel.
|
||||
OSD_Parallel::For(0, 100, [&](int) {
|
||||
STEPControl_Reader aReader;
|
||||
aReader.ReadFile(theArgV[1], DESTEP_Parameters{});
|
||||
aReader.TransferRoots();
|
||||
});
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
static Standard_Integer OCC33657_3(Draw_Interpretor&, Standard_Integer, const char**)
|
||||
{
|
||||
STEPCAFControl_Controller::Init();
|
||||
const TopoDS_Shape aShape = BRepPrimAPI_MakeBox(10.0, 20.0, 30.0).Shape();
|
||||
// Checking writers working in parallel.
|
||||
OSD_Parallel::For(0, 100, [&](int) {
|
||||
STEPControl_Writer aWriter;
|
||||
aWriter.Transfer(aShape, STEPControl_StepModelType::STEPControl_AsIs, DESTEP_Parameters{});
|
||||
std::ostringstream aStream;
|
||||
aWriter.WriteStream(aStream);
|
||||
});
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
static Standard_Integer OCC33657_4(Draw_Interpretor& theDI,
|
||||
Standard_Integer theArgC,
|
||||
const char** theArgV)
|
||||
{
|
||||
if (theArgC < 2)
|
||||
{
|
||||
theDI << "Use: " << theArgV[0] << " file\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
STEPCAFControl_Controller::Init();
|
||||
|
||||
// Acquire shape to write/read.
|
||||
STEPControl_Reader aReader;
|
||||
aReader.ReadFile(theArgV[1], DESTEP_Parameters{});
|
||||
aReader.TransferRoots();
|
||||
TopoDS_Shape aSourceShape = aReader.OneShape();
|
||||
|
||||
// Analyzer to compare the shape with the the same shape after write-read sequence.
|
||||
ShapeAnalysis_ShapeContents aSourceAnalyzer;
|
||||
aSourceAnalyzer.Perform(aSourceShape);
|
||||
|
||||
// Flag is set to false if any error is detected.
|
||||
// Reads and writes to the flag are performed exclusively in relaxed memory order
|
||||
// in order to avoid inter-thread syncronization that can potentially omit some problems.
|
||||
std::atomic_bool anErrorOccurred(false);
|
||||
|
||||
OSD_Parallel::For(0, 100, [&](int) {
|
||||
if (anErrorOccurred.load(std::memory_order_relaxed))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Writing.
|
||||
STEPControl_Writer aWriter;
|
||||
aWriter.Transfer(aSourceShape,
|
||||
STEPControl_StepModelType::STEPControl_AsIs,
|
||||
DESTEP_Parameters{});
|
||||
std::stringstream aStream;
|
||||
aWriter.WriteStream(aStream);
|
||||
|
||||
// Reading.
|
||||
STEPControl_Reader aReader;
|
||||
aReader.ReadStream("", DESTEP_Parameters{}, aStream);
|
||||
aReader.TransferRoots();
|
||||
const TopoDS_Shape aResultShape = aReader.OneShape();
|
||||
ShapeAnalysis_ShapeContents aResultAnalyzer;
|
||||
aResultAnalyzer.Perform(aResultShape);
|
||||
|
||||
// Making sure that shape is unchanged.
|
||||
if (aSourceAnalyzer.NbSolids() != aResultAnalyzer.NbSolids())
|
||||
{
|
||||
theDI << "Error: Wrong number of solids in the result shape.\nExpected: "
|
||||
<< aSourceAnalyzer.NbSolids() << "\nActual" << aResultAnalyzer.NbSolids() << "\n";
|
||||
anErrorOccurred.store(true, std::memory_order_relaxed);
|
||||
}
|
||||
if (aSourceAnalyzer.NbShells() != aResultAnalyzer.NbShells())
|
||||
{
|
||||
theDI << "Error: Wrong number of shells in the result shape.\nExpected: "
|
||||
<< aSourceAnalyzer.NbShells() << "\nActual" << aResultAnalyzer.NbShells() << "\n";
|
||||
anErrorOccurred.store(true, std::memory_order_relaxed);
|
||||
}
|
||||
if (aSourceAnalyzer.NbFaces() != aResultAnalyzer.NbFaces())
|
||||
{
|
||||
theDI << "Error: Wrong number of faces in the result shape.\nExpected: "
|
||||
<< aSourceAnalyzer.NbFaces() << "\nActual" << aResultAnalyzer.NbFaces() << "\n";
|
||||
anErrorOccurred.store(true, std::memory_order_relaxed);
|
||||
}
|
||||
if (aSourceAnalyzer.NbWires() != aResultAnalyzer.NbWires())
|
||||
{
|
||||
theDI << "Error: Wrong number of wires in the result shape.\nExpected: "
|
||||
<< aSourceAnalyzer.NbWires() << "\nActual" << aResultAnalyzer.NbWires() << "\n";
|
||||
anErrorOccurred.store(true, std::memory_order_relaxed);
|
||||
}
|
||||
if (aSourceAnalyzer.NbEdges() != aResultAnalyzer.NbEdges())
|
||||
{
|
||||
theDI << "Error: Wrong number of edges in the result shape.\nExpected: "
|
||||
<< aSourceAnalyzer.NbEdges() << "\nActual" << aResultAnalyzer.NbEdges() << "\n";
|
||||
anErrorOccurred.store(true, std::memory_order_relaxed);
|
||||
}
|
||||
if (aSourceAnalyzer.NbVertices() != aResultAnalyzer.NbVertices())
|
||||
{
|
||||
theDI << "Error: Wrong number of vertices in the result shape.\nExpected: "
|
||||
<< aSourceAnalyzer.NbVertices() << "\nActual" << aResultAnalyzer.NbVertices() << "\n";
|
||||
anErrorOccurred.store(true, std::memory_order_relaxed);
|
||||
}
|
||||
});
|
||||
|
||||
return anErrorOccurred;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
// function : QACheckBends
|
||||
// purpose :
|
||||
@@ -5435,30 +5283,5 @@ void QABugs::Commands_20(Draw_Interpretor& theCommands)
|
||||
OCC26441,
|
||||
group);
|
||||
|
||||
theCommands.Add(
|
||||
"OCC33657_1",
|
||||
"Check performance of STEPCAFControl_Reader/Writer constructors in multithreading environment.",
|
||||
__FILE__,
|
||||
OCC33657_1,
|
||||
group);
|
||||
|
||||
theCommands.Add("OCC33657_2",
|
||||
"Check performance of STEPControl_Reader in multithreading environment.",
|
||||
__FILE__,
|
||||
OCC33657_2,
|
||||
group);
|
||||
|
||||
theCommands.Add("OCC33657_3",
|
||||
"Check performance of STEPControl_Writer in multithreading environment.",
|
||||
__FILE__,
|
||||
OCC33657_3,
|
||||
group);
|
||||
|
||||
theCommands.Add("OCC33657_4",
|
||||
"Check performance of STEPControl_Reader/Writer in multithreading environment.",
|
||||
__FILE__,
|
||||
OCC33657_4,
|
||||
group);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@@ -93,7 +93,6 @@ Standard_TypeDef.hxx
|
||||
Standard_TypeMismatch.hxx
|
||||
Standard_Underflow.hxx
|
||||
Standard_UUID.hxx
|
||||
Standard_VersionInfo.cxx
|
||||
Standard_VersionInfo.hxx
|
||||
Standard_Version.hxx
|
||||
Standard_WarningsDisable.hxx
|
||||
Standard_WarningsRestore.hxx
|
||||
|
@@ -1,5 +1,6 @@
|
||||
// Created on: @OCCT_VERSION_DATE@
|
||||
// Copyright (c) 2002-2025 OPEN CASCADE SAS
|
||||
// Created on: 2002-07-09
|
||||
// Created by: Andrey BETENEV
|
||||
// Copyright (c) 2002-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
@@ -36,21 +37,21 @@ major, minor, and patch number
|
||||
#define _Standard_Version_HeaderFile
|
||||
|
||||
// Primary definitions
|
||||
#define OCC_VERSION_MAJOR @OCC_VERSION_MAJOR@
|
||||
#define OCC_VERSION_MINOR @OCC_VERSION_MINOR@
|
||||
#define OCC_VERSION_MAINTENANCE @OCC_VERSION_MAINTENANCE@
|
||||
#define OCC_VERSION_MAJOR 7
|
||||
#define OCC_VERSION_MINOR 8
|
||||
#define OCC_VERSION_MAINTENANCE 2
|
||||
|
||||
//! This macro must be commented in official release, and set to non-empty
|
||||
//! string in other situations, to identify specifics of the version, e.g.:
|
||||
//! - "dev" for development version between releases
|
||||
//! - "beta..." or "rc..." for beta releases or release candidates
|
||||
//! - "project..." for version containing project-specific fixes
|
||||
@SET_OCC_VERSION_DEVELOPMENT@
|
||||
#define OCC_VERSION_DEVELOPMENT "dev"
|
||||
|
||||
// Derived (manually): version as real and string (major.minor)
|
||||
#define OCC_VERSION @OCC_VERSION_MAJOR@.@OCC_VERSION_MINOR@
|
||||
#define OCC_VERSION_STRING "@OCC_VERSION_MAJOR@.@OCC_VERSION_MINOR@"
|
||||
#define OCC_VERSION_COMPLETE "@OCC_VERSION_MAJOR@.@OCC_VERSION_MINOR@.@OCC_VERSION_MAINTENANCE@"
|
||||
#define OCC_VERSION 7.8
|
||||
#define OCC_VERSION_STRING "7.8"
|
||||
#define OCC_VERSION_COMPLETE "7.8.2"
|
||||
|
||||
//! Derived: extended version as string ("major.minor.maintenance.dev")
|
||||
#ifdef OCC_VERSION_DEVELOPMENT
|
@@ -1,55 +0,0 @@
|
||||
// Copyright (c) 2025 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 <Standard_VersionInfo.hxx>
|
||||
|
||||
#include <Standard_Version.hxx>
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
const char* OCCT_DevelopmentVersion()
|
||||
{
|
||||
#ifdef OCC_VERSION_DEVELOPMENT
|
||||
return OCC_VERSION_DEVELOPMENT;
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
double OCCT_Version_Double()
|
||||
{
|
||||
return OCC_VERSION;
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
const char* OCCT_Version_String()
|
||||
{
|
||||
return OCC_VERSION_STRING;
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
const char* OCCT_Version_String_Complete()
|
||||
{
|
||||
return OCC_VERSION_COMPLETE;
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
const char* OCCT_Version_String_Extended()
|
||||
{
|
||||
return OCC_VERSION_STRING_EXT;
|
||||
}
|
@@ -1,48 +0,0 @@
|
||||
// Copyright (c) 2025 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 _Standard_VersionInfo_HeaderFile
|
||||
#define _Standard_VersionInfo_HeaderFile
|
||||
|
||||
#include <Standard_Macro.hxx>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
//! Returns development version of Open CASCADE Technology.
|
||||
//! "" - in case of official release,
|
||||
//! "dev" - in case of development version between releases,
|
||||
//! "beta..." or "rc..." - in case of beta releases or release candidates,
|
||||
//! "project..." - in case of version containing project-specific fixes.
|
||||
Standard_EXPORT const char* OCCT_DevelopmentVersion();
|
||||
|
||||
//! Returns version of Open CASCADE Technology as a double "major.minor"
|
||||
Standard_EXPORT double OCCT_Version_Double();
|
||||
|
||||
//! Returns version of Open CASCADE Technology as a string "major.minor"
|
||||
Standard_EXPORT const char* OCCT_Version_String();
|
||||
|
||||
//! Returns complete version of Open CASCADE Technology as a string "major.minor.maintenance"
|
||||
Standard_EXPORT const char* OCCT_Version_String_Complete();
|
||||
|
||||
//! Returns extended version of Open CASCADE Technology as a string
|
||||
//! "major.minor.maintenance.devext". In case if no development version is defined, returns the
|
||||
//! same as OCCT_Version_String_Complete().
|
||||
Standard_EXPORT const char* OCCT_Version_String_Extended();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Standard_VersionInfo_HeaderFile */
|
@@ -31,7 +31,6 @@
|
||||
|
||||
#include <Standard_ErrorHandler.hxx>
|
||||
#include <Standard_Failure.hxx>
|
||||
#include <Standard_Mutex.hxx>
|
||||
|
||||
#include <Message.hxx>
|
||||
#include <Message_Messenger.hxx>
|
||||
@@ -47,11 +46,6 @@
|
||||
#define CHRONOMESURE
|
||||
#endif
|
||||
|
||||
namespace
|
||||
{
|
||||
static Standard_Mutex THE_GLOBAL_READ_MUTEX;
|
||||
}
|
||||
|
||||
void StepFile_Interrupt(Standard_CString theErrorMessage, const Standard_Boolean theIsFail)
|
||||
{
|
||||
if (theErrorMessage == NULL)
|
||||
@@ -119,8 +113,7 @@ static Standard_Integer StepFile_Read(const char* the
|
||||
|
||||
sout << " ... STEP File Read ...\n";
|
||||
|
||||
Standard_Mutex::Sentry aLocker(THE_GLOBAL_READ_MUTEX);
|
||||
Standard_Integer nbhead, nbrec, nbpar;
|
||||
Standard_Integer nbhead, nbrec, nbpar;
|
||||
aFileDataModel.GetFileNbR(&nbhead, &nbrec, &nbpar); // renvoi par lex/yacc
|
||||
Handle(StepData_StepReaderData) undirec =
|
||||
// clang-format off
|
||||
|
@@ -12,5 +12,7 @@ TKGeomAlgo
|
||||
TKHLR
|
||||
CSF_user32
|
||||
CSF_gdi32
|
||||
CSF_OpenGlLibs
|
||||
CSF_XwLibs
|
||||
CSF_FREETYPE
|
||||
CSF_TBB
|
||||
|
@@ -5193,8 +5193,6 @@ static int VDisplay2(Draw_Interpretor& theDI, Standard_Integer theArgNb, const c
|
||||
}
|
||||
}
|
||||
|
||||
// invalidate picking cache
|
||||
ViewerTest::CurrentEventManager()->ResetPreviousMoveTo();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -134,19 +134,13 @@ typedef Aspect_NeutralWindow ViewerTest_Window;
|
||||
#endif
|
||||
|
||||
#if defined(__EMSCRIPTEN__)
|
||||
#if defined(_LP64)
|
||||
EM_JS(char*, occJSNumberToPtr, (double thePtr), { return BigInt(thePtr); });
|
||||
#else
|
||||
EM_JS(char*, occJSNumberToPtr, (double thePtr), { return thePtr; });
|
||||
#endif
|
||||
|
||||
//! Return DOM id of default WebGL canvas from Module.canvas.
|
||||
EM_JS(char*, occJSModuleCanvasId, (), {
|
||||
const aCanvasId = Module.canvas.id;
|
||||
const aNbBytes = lengthBytesUTF8(aCanvasId) + 1;
|
||||
const aStrPtr = Module._malloc(aNbBytes);
|
||||
stringToUTF8(aCanvasId, aStrPtr, aNbBytes);
|
||||
return occJSNumberToPtr(aStrPtr);
|
||||
return aStrPtr;
|
||||
});
|
||||
|
||||
//! Return DOM id of default WebGL canvas from Module.canvas.
|
||||
@@ -11033,20 +11027,6 @@ static Standard_Integer VRenderParams(Draw_Interpretor& theDI,
|
||||
++anArgIter;
|
||||
}
|
||||
}
|
||||
else if (aFlag == "-flip")
|
||||
{
|
||||
if (toPrint)
|
||||
{
|
||||
theDI << (aView->View()->ToFlipOutput() ? "on " : "off ");
|
||||
continue;
|
||||
}
|
||||
Standard_Boolean isToFlipOutput = Standard_False;
|
||||
if (anArgIter + 1 < theArgNb && Draw::ParseOnOff(theArgVec[anArgIter + 1], isToFlipOutput))
|
||||
{
|
||||
aView->View()->SetToFlipOutput(isToFlipOutput);
|
||||
++anArgIter;
|
||||
}
|
||||
}
|
||||
else if (aFlag == "-rendscale" || aFlag == "-renderscale" || aFlag == "-renderresolutionscale")
|
||||
{
|
||||
if (toPrint)
|
||||
@@ -12103,8 +12083,7 @@ static int VManipulator(Draw_Interpretor& theDi, Standard_Integer theArgsNb, con
|
||||
NCollection_Sequence<ManipAxisModeOnOff> aParts;
|
||||
gp_XYZ aLocation(RealLast(), RealLast(), RealLast()), aVDir, anXDir;
|
||||
//
|
||||
bool toDetach = false;
|
||||
bool toAddObject = false;
|
||||
bool toDetach = false;
|
||||
AIS_Manipulator::OptionsForAttach anAttachOptions;
|
||||
Handle(AIS_InteractiveObject) anAttachObject;
|
||||
Handle(V3d_View) aViewAffinity;
|
||||
@@ -12294,10 +12273,6 @@ static int VManipulator(Draw_Interpretor& theDi, Standard_Integer theArgsNb, con
|
||||
aTrsf.SetRotation(gp_Ax1(gp_Pnt(aRotPnt), gp_Dir(aRotAxis)), aTmpReal);
|
||||
}
|
||||
//
|
||||
else if (anArg == "-addobject")
|
||||
{
|
||||
toAddObject = true;
|
||||
}
|
||||
else if (anArg == "-detach")
|
||||
{
|
||||
toDetach = true;
|
||||
@@ -12455,16 +12430,7 @@ static int VManipulator(Draw_Interpretor& theDi, Standard_Integer theArgsNb, con
|
||||
|
||||
if (!anAttachObject.IsNull())
|
||||
{
|
||||
if (toAddObject && aManipulator->IsAttached())
|
||||
{
|
||||
Handle(AIS_ManipulatorObjectSequence) anAttachObjects = aManipulator->Objects();
|
||||
anAttachObjects->Append(anAttachObject);
|
||||
aManipulator->Attach(anAttachObjects, anAttachOptions);
|
||||
}
|
||||
else
|
||||
{
|
||||
aManipulator->Attach(anAttachObject, anAttachOptions);
|
||||
}
|
||||
aManipulator->Attach(anAttachObject, anAttachOptions);
|
||||
}
|
||||
if (!aViewAffinity.IsNull())
|
||||
{
|
||||
@@ -14416,7 +14382,7 @@ vrenderparams [-raster] [-shadingModel {unlit|facet|gouraud|phong|pbr|pbr_facet}
|
||||
[-shadows {on|off}=on] [-shadowMapResolution value=1024] [-shadowMapBias value=0.005]
|
||||
[-depthPrePass {on|off}=off] [-alphaToCoverage {on|off}=on]
|
||||
[-frustumCulling {on|off|noupdate}=on] [-lineFeather width=1.0]
|
||||
[-sync {default|views}] [-reset] [-flip {on|off}=off]
|
||||
[-sync {default|views}] [-reset]
|
||||
-raster Disables GPU ray-tracing.
|
||||
-shadingModel Controls shading model.
|
||||
-msaa Specifies number of samples for MSAA.
|
||||
@@ -14438,7 +14404,6 @@ vrenderparams [-raster] [-shadingModel {unlit|facet|gouraud|phong|pbr|pbr_facet}
|
||||
sets state to check structures culled previously.
|
||||
-sync Sets active View parameters as Viewer defaults / to other Views.
|
||||
-reset Resets active View parameters to Viewer defaults.
|
||||
-flip Flips View Vertically.
|
||||
|
||||
Diagnostic output (on-screen overlay):
|
||||
vrenderparams [-perfCounters none|fps|cpu|layers|structures|groups|arrays|triangles|points
|
||||
@@ -14525,7 +14490,6 @@ Options:
|
||||
'-enableModes {0|1}' enable modes when attaching
|
||||
'-view {active | [name of view]}' display manipulator only in defined view,
|
||||
by default it is displayed in all views of the current viewer
|
||||
'-addObject allows attach manipulator to multiple objects (replace by default)
|
||||
'-detach' detach manipulator
|
||||
'-startTransform mouse_x mouse_y' - invoke start of transformation
|
||||
'-transform mouse_x mouse_y' - invoke transformation
|
||||
|
@@ -168,9 +168,13 @@ TDF_Label XCAFDoc_ColorTool::AddColor(const Quantity_ColorRGBA& theColor) const
|
||||
if (XCAFDoc_ColorTool_AutoNaming)
|
||||
{
|
||||
// set name according to color value
|
||||
const NCollection_Vec4<float>& anRgbaF = theColor;
|
||||
const NCollection_Vec4<unsigned int> anRgba(anRgbaF * 255.0f);
|
||||
char aColorHex[32];
|
||||
Sprintf(aColorHex, "%02X%02X%02X%02X", anRgba.r(), anRgba.g(), anRgba.b(), anRgba.a());
|
||||
const TCollection_AsciiString aName =
|
||||
TCollection_AsciiString(Quantity_Color::StringName(theColor.GetRGB().Name())) + " ("
|
||||
+ Quantity_ColorRGBA::ColorToHex(theColor) + ")";
|
||||
TCollection_AsciiString(Quantity_Color::StringName(theColor.GetRGB().Name())) + " (#"
|
||||
+ aColorHex + ")";
|
||||
TDataStd_Name::Set(aLab, aName);
|
||||
}
|
||||
|
||||
|
@@ -32,11 +32,6 @@
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(XSControl_WorkSession, IFSelect_WorkSession)
|
||||
|
||||
namespace
|
||||
{
|
||||
static Standard_Mutex WS_GLOBAL_MUTEX; //!< Mutex to prevent data races during reading and writing.
|
||||
}
|
||||
|
||||
//=================================================================================================
|
||||
|
||||
XSControl_WorkSession::XSControl_WorkSession()
|
||||
@@ -72,7 +67,6 @@ void XSControl_WorkSession::ClearData(const Standard_Integer mode)
|
||||
|
||||
Standard_Boolean XSControl_WorkSession::SelectNorm(const Standard_CString normname)
|
||||
{
|
||||
const Standard_Mutex::Sentry aMutexLock(WS_GLOBAL_MUTEX);
|
||||
// Old norm and results
|
||||
myTransferReader->Clear(-1);
|
||||
// ???? En toute rigueur, menage a faire dans XWS : virer les items
|
||||
@@ -430,7 +424,6 @@ Standard_Integer XSControl_WorkSession::TransferReadRoots(const Message_Progress
|
||||
|
||||
Handle(Interface_InterfaceModel) XSControl_WorkSession::NewModel()
|
||||
{
|
||||
const Standard_Mutex::Sentry aMutexLock(WS_GLOBAL_MUTEX);
|
||||
Handle(Interface_InterfaceModel) newmod;
|
||||
if (myController.IsNull())
|
||||
return newmod;
|
||||
@@ -453,8 +446,7 @@ IFSelect_ReturnStatus XSControl_WorkSession::TransferWriteShape(
|
||||
const Standard_Boolean compgraph,
|
||||
const Message_ProgressRange& theProgress)
|
||||
{
|
||||
const Standard_Mutex::Sentry aMutexLock(WS_GLOBAL_MUTEX);
|
||||
IFSelect_ReturnStatus status;
|
||||
IFSelect_ReturnStatus status;
|
||||
if (myController.IsNull())
|
||||
return IFSelect_RetError;
|
||||
const Handle(Interface_InterfaceModel)& model = Model();
|
||||
|
@@ -196,7 +196,6 @@ private:
|
||||
//! Clears binders
|
||||
Standard_EXPORT void ClearBinders();
|
||||
|
||||
private:
|
||||
Handle(XSControl_Controller) myController;
|
||||
Handle(XSControl_TransferReader) myTransferReader;
|
||||
Handle(XSControl_TransferWriter) myTransferWriter;
|
||||
|
@@ -1,4 +0,0 @@
|
||||
# Check performance of STEPCAFControl_Reader/Writer constructors in multithreading environment.
|
||||
# If no crash occures, its fine.
|
||||
pload QAcommands
|
||||
OCC33657_1
|
@@ -1,4 +0,0 @@
|
||||
# Check performance of STEPControl_Reader in multithreading environment.
|
||||
# If no crash occures, its fine.
|
||||
pload QAcommands
|
||||
OCC33657_2 [locate_data_file bug21802_as1-oc-214.stp]
|
@@ -1,4 +0,0 @@
|
||||
# Check performance of STEPControl_Writer in multithreading environment.
|
||||
# If no crash occures, its fine.
|
||||
pload QAcommands
|
||||
OCC33657_1
|
@@ -1,3 +0,0 @@
|
||||
# Check performance of STEPControl_Reader/Writer in multithreading environment.
|
||||
pload QAcommands
|
||||
OCC33657_4 [locate_data_file bug21802_as1-oc-214.stp]
|
@@ -1,41 +0,0 @@
|
||||
puts "============"
|
||||
puts "0032116: Visualization - AIS_Manipulator is unusable when attaching to objects with Graphic3d_TMF_ZoomPers"
|
||||
puts "============"
|
||||
puts ""
|
||||
|
||||
pload MODELING VISUALIZATION
|
||||
|
||||
box b1 10 10 10 10 20 30
|
||||
box b2 50 50 50 10 20 30
|
||||
|
||||
vinit View1
|
||||
vdisplay b1 -dispmode 1 -trsfPers zoom -trsfPersPos 0 0 0
|
||||
vdisplay b2 -dispmode 1 -trsfPers zoom -trsfPersPos 10 10 10
|
||||
vfit
|
||||
|
||||
vmanipulator m -attach b1 -addObject
|
||||
vmanipulator m -attach b2 -addObject
|
||||
|
||||
set mouse_pick {90 225}
|
||||
set mouse_drag {90 150}
|
||||
|
||||
vmoveto {*}$mouse_pick
|
||||
vselect {*}$mouse_pick
|
||||
vmanipulator m -startTransform {*}$mouse_pick
|
||||
vmanipulator m -transform {*}$mouse_drag
|
||||
vmanipulator m -stopTransform
|
||||
vmoveto {*}$mouse_drag
|
||||
|
||||
if { [vreadpixel {*}$mouse_drag -rgb -name] != "CYAN" } { puts "Error: wrong manipulator position" }
|
||||
if { [vreadpixel 115 170 -rgb -name] != "DARKGOLDENROD" } { puts "Error: wrong b1 tranformation" }
|
||||
if { [vreadpixel 400 10 -rgb -name] != "DARKGOLDENROD" } { puts "Error: wrong b2 tranformation" }
|
||||
|
||||
vdump ${imagedir}/${casename}_1.png
|
||||
|
||||
vmoveto 0 0
|
||||
vzoom 0.2
|
||||
|
||||
if { [vreadpixel 210 170 -rgb -name] != "DARKGOLDENROD" } { puts "Error: wrong b1 tranformation" }
|
||||
if { [vreadpixel 310 120 -rgb -name] != "DARKGOLDENROD" } { puts "Error: wrong b2 tranformation" }
|
||||
|
||||
vdump ${imagedir}/${casename}_2.png
|
Reference in New Issue
Block a user