mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
Compare commits
22 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
656b0d217f | ||
|
83bb2a329d | ||
|
5b0f5b52b9 | ||
|
06282d9c7c | ||
|
60792f26f0 | ||
|
6ef56849a5 | ||
|
e8605596c9 | ||
|
ffd7a3aa4f | ||
|
8147976d9f | ||
|
40b80d8d66 | ||
|
7036facf10 | ||
|
a6e425d0a6 | ||
|
b9fbc699b5 | ||
|
0435edfe54 | ||
|
bd651bbbd9 | ||
|
3aeea1e96e | ||
|
ed85665b55 | ||
|
1103eb60af | ||
|
6dbfade692 | ||
|
588ee924e4 | ||
|
f0c6e6fc8d | ||
|
58390c4eb1 |
@@ -35,6 +35,14 @@ macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
# set using memory manager option for TKernel
|
||||||
|
set (USE_MMGR_TYPE "NATIVE" CACHE STRING "Select using memory manager tool.")
|
||||||
|
set_property(CACHE USE_MMGR_TYPE PROPERTY STRINGS "NATIVE" "FLEXIBLE" "TBB" "JEMALLOC")
|
||||||
|
|
||||||
|
# set profile for C++ compiler and linker
|
||||||
|
set (BUILD_OPT_PROFILE "Default" CACHE STRING "Select profile for compiler and linker.")
|
||||||
|
set_property(CACHE BUILD_OPT_PROFILE PROPERTY STRINGS "Default" "Production")
|
||||||
|
|
||||||
# include variable description
|
# include variable description
|
||||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vardescr")
|
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vardescr")
|
||||||
|
|
||||||
@@ -834,6 +842,14 @@ else()
|
|||||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FLEX_EXECUTABLE")
|
OCCT_CHECK_AND_UNSET ("3RDPARTY_FLEX_EXECUTABLE")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Jemalloc
|
||||||
|
if ("${USE_MMGR_TYPE}" STREQUAL "JEMALLOC")
|
||||||
|
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/jemalloc")
|
||||||
|
else()
|
||||||
|
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_JEMALLOC")
|
||||||
|
OCCT_CHECK_AND_UNSET ("INSTALL_JEMALLOC")
|
||||||
|
endif()
|
||||||
|
|
||||||
# qt for inspector and samples
|
# qt for inspector and samples
|
||||||
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
||||||
# check qt 3rdparty path
|
# check qt 3rdparty path
|
||||||
|
@@ -3,6 +3,6 @@ ModelingData TKG2d TKG3d TKGeomBase TKBRep
|
|||||||
ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing
|
ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing
|
||||||
Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
|
Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
|
||||||
ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
|
ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
|
||||||
DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade
|
DataExchange TKDE TKXSBase TKDESTEP TKDEIGES TKDESTL TKDEVRML TKDECascade TKDEOBJ TKDEGLTF TKDEPLY TKXCAF TKXmlXCAF TKBinXCAF TKRWMesh
|
||||||
Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
|
|
||||||
DETools TKExpress ExpToCasExe
|
DETools TKExpress ExpToCasExe
|
||||||
|
Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE TKXSDRAWDE TKXSDRAWGLTF TKXSDRAWIGES TKXSDRAWOBJ TKXSDRAWPLY TKXSDRAWSTEP TKXSDRAWSTL TKXSDRAWVRML
|
||||||
|
36
adm/UDLIST
36
adm/UDLIST
@@ -32,6 +32,7 @@ n UnitsAPI
|
|||||||
n gp
|
n gp
|
||||||
n math
|
n math
|
||||||
r OS
|
r OS
|
||||||
|
n FlexLexer
|
||||||
t TKMath
|
t TKMath
|
||||||
t TKernel
|
t TKernel
|
||||||
n Adaptor2d
|
n Adaptor2d
|
||||||
@@ -376,18 +377,13 @@ r SHMessage
|
|||||||
r XSMessage
|
r XSMessage
|
||||||
r XSTEPResource
|
r XSTEPResource
|
||||||
t TKBinXCAF
|
t TKBinXCAF
|
||||||
t TKIGES
|
t TKDESTL
|
||||||
t TKSTEP
|
t TKDEVRML
|
||||||
t TKSTEP209
|
|
||||||
t TKSTEPAttr
|
|
||||||
t TKSTEPBase
|
|
||||||
t TKSTL
|
|
||||||
t TKVRML
|
|
||||||
t TKXCAF
|
t TKXCAF
|
||||||
t TKXDE
|
t TKDE
|
||||||
t TKXDECascade
|
t TKDECascade
|
||||||
t TKXDEIGES
|
t TKDEIGES
|
||||||
t TKXDESTEP
|
t TKDESTEP
|
||||||
t TKXSBase
|
t TKXSBase
|
||||||
t TKXmlXCAF
|
t TKXmlXCAF
|
||||||
n BOPTest
|
n BOPTest
|
||||||
@@ -419,7 +415,12 @@ n XDEDRAW
|
|||||||
n XSDRAW
|
n XSDRAW
|
||||||
n XSDRAWIGES
|
n XSDRAWIGES
|
||||||
n XSDRAWSTEP
|
n XSDRAWSTEP
|
||||||
n XSDRAWSTLVRML
|
n XSDRAWSTL
|
||||||
|
n XSDRAWVRML
|
||||||
|
n XSDRAWDE
|
||||||
|
n XSDRAWGLTF
|
||||||
|
n XSDRAWOBJ
|
||||||
|
n XSDRAWPLY
|
||||||
r DrawResources
|
r DrawResources
|
||||||
t TKDCAF
|
t TKDCAF
|
||||||
t TKDraw
|
t TKDraw
|
||||||
@@ -431,6 +432,14 @@ t TKD3DHostTest
|
|||||||
t TKViewerTest
|
t TKViewerTest
|
||||||
t TKXDEDRAW
|
t TKXDEDRAW
|
||||||
t TKXSDRAW
|
t TKXSDRAW
|
||||||
|
t TKXSDRAWIGES
|
||||||
|
t TKXSDRAWSTEP
|
||||||
|
t TKXSDRAWSTL
|
||||||
|
t TKXSDRAWVRML
|
||||||
|
t TKXSDRAWDE
|
||||||
|
t TKXSDRAWGLTF
|
||||||
|
t TKXSDRAWOBJ
|
||||||
|
t TKXSDRAWPLY
|
||||||
x DRAWEXE
|
x DRAWEXE
|
||||||
n QADraw
|
n QADraw
|
||||||
n QANCollection
|
n QANCollection
|
||||||
@@ -456,6 +465,9 @@ t TKVCAF
|
|||||||
n XCAFView
|
n XCAFView
|
||||||
n XCAFNoteObjects
|
n XCAFNoteObjects
|
||||||
t TKRWMesh
|
t TKRWMesh
|
||||||
|
t TKDEGLTF
|
||||||
|
t TKDEOBJ
|
||||||
|
t TKDEPLY
|
||||||
n RWGltf
|
n RWGltf
|
||||||
n RWMesh
|
n RWMesh
|
||||||
n RWObj
|
n RWObj
|
||||||
|
143
adm/cmake/jemalloc.cmake
Normal file
143
adm/cmake/jemalloc.cmake
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
# JeMalloc
|
||||||
|
|
||||||
|
if (NOT DEFINED INSTALL_JEMALLOC)
|
||||||
|
set (INSTALL_JEMALLOC OFF CACHE BOOL "${INSTALL_INSTALL_JEMALLOC_DESCR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# include occt macros. compiler_bitness, os_with_bit, compiler
|
||||||
|
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||||
|
|
||||||
|
# specify JEMALLOC folder in connection with 3RDPARTY_DIR
|
||||||
|
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||||
|
if (NOT 3RDPARTY_JEMALLOC_DIR OR NOT EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" jemalloc JEMALLOC_DIR_NAME)
|
||||||
|
if (JEMALLOC_DIR_NAME)
|
||||||
|
set (3RDPARTY_JEMALLOC_DIR "${3RDPARTY_DIR}/${JEMALLOC_DIR_NAME}" CACHE PATH "The directory containing JEMALLOC" FORCE)
|
||||||
|
set (3RDPARTY_JEMALLOC_DIR "${3RDPARTY_DIR}/${JEMALLOC_DIR_NAME}")
|
||||||
|
message(STATUS "Info: JEMALLOC detected in ${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# define required JEMALLOC variables
|
||||||
|
if (NOT DEFINED 3RDPARTY_JEMALLOC_INCLUDE_DIR)
|
||||||
|
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "" CACHE PATH "the path of headers directory")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# check 3RDPARTY_${PRODUCT_NAME}_ paths for consistency with specified 3RDPARTY_${PRODUCT_NAME}_DIR
|
||||||
|
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_JEMALLOC_DIR 3RDPARTY_JEMALLOC_INCLUDE_DIR PATH "the path to JEMALLOC")
|
||||||
|
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_JEMALLOC_DIR 3RDPARTY_JEMALLOC_LIBRARY_DIR FILEPATH "The directory containing JEMALLOC libraries")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# header
|
||||||
|
if (NOT 3RDPARTY_JEMALLOC_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||||
|
set (HEADER_NAMES jemalloc.h)
|
||||||
|
|
||||||
|
# set 3RDPARTY_JEMALLOC_INCLUDE_DIR as notfound, otherwise find_library can't assign a new value to 3RDPARTY_JEMALLOC_INCLUDE_DIR
|
||||||
|
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "3RDPARTY_JEMALLOC_INCLUDE_DIR-NOTFOUND" CACHE FILEPATH "the path to header directory" FORCE)
|
||||||
|
|
||||||
|
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
find_path (3RDPARTY_JEMALLOC_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||||
|
PATHS ${3RDPARTY_JEMALLOC_DIR}
|
||||||
|
PATH_SUFFIXES include/jemalloc
|
||||||
|
CMAKE_FIND_ROOT_PATH_BOTH
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (3RDPARTY_JEMALLOC_INCLUDE_DIR AND EXISTS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||||
|
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||||
|
else()
|
||||||
|
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_JEMALLOC_INCLUDE_DIR)
|
||||||
|
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "" CACHE FILEPATH "the path to jemalloc.h" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Installing destination path
|
||||||
|
if (WIN32)
|
||||||
|
set (JEMALLOC_INSTALL_DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_BIN}")
|
||||||
|
else()
|
||||||
|
set (JEMALLOC_INSTALL_DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
macro (JEMALLOC_LIB_SEARCH MMGR_LIB PREFIX)
|
||||||
|
if (NOT 3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB})
|
||||||
|
set (JEMALLOC_PATH_SUFFIXES "lib" "bin")
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} "3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}-NOTFOUND")
|
||||||
|
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
find_library (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} NAMES ${MMGR_LIB}
|
||||||
|
PATHS "${3RDPARTY_JEMALLOC_LIBRARY_DIR}" "${3RDPARTY_JEMALLOC_DIR}"
|
||||||
|
PATH_SUFFIXES ${JEMALLOC_PATH_SUFFIXES}
|
||||||
|
CMAKE_FIND_ROOT_PATH_BOTH
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
|
else()
|
||||||
|
find_library (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} NAMES ${MMGR_LIB}
|
||||||
|
PATH_SUFFIXES ${JEMALLOC_PATH_SUFFIXES}
|
||||||
|
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||||
|
endif()
|
||||||
|
if (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB})
|
||||||
|
get_filename_component (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}}" PATH)
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}")
|
||||||
|
else()
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
if (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB})
|
||||||
|
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}")
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_DIR "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}" CACHE PATH "The directory containing JEMALLOC libraries" FORCE)
|
||||||
|
else()
|
||||||
|
message("Cannot find ${MMGR_LIB} library in jemalloc 3rdparty")
|
||||||
|
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB})
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} "")
|
||||||
|
endif()
|
||||||
|
set (JEMALLOC_IS_STATIC_LIB FALSE)
|
||||||
|
if (((${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} MATCHES "\.lib$")) OR ((${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} MATCHES "\.a$")))
|
||||||
|
get_filename_component(STATIC_LIB_NAME ${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} NAME)
|
||||||
|
list(APPEND CSF_MMGR "${STATIC_LIB_NAME}")
|
||||||
|
set (JEMALLOC_IS_STATIC_LIB TRUE)
|
||||||
|
endif()
|
||||||
|
# install instructions
|
||||||
|
if (INSTALL_JEMALLOC AND NOT JEMALLOC_IS_STATIC_LIB)
|
||||||
|
OCCT_MAKE_OS_WITH_BITNESS()
|
||||||
|
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||||
|
get_filename_component(3RDPARTY_JEMALLOC_LIBRARY ${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} REALPATH)
|
||||||
|
if (SINGLE_GENERATOR)
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}")
|
||||||
|
else()
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
CONFIGURATIONS Debug
|
||||||
|
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}d")
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
CONFIGURATIONS Release
|
||||||
|
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}")
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
CONFIGURATIONS RelWithDebInfo
|
||||||
|
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}i")
|
||||||
|
endif()
|
||||||
|
set (USED_3RDPARTY_JEMALLOC_DIR "")
|
||||||
|
elseif(NOT JEMALLOC_IS_STATIC_LIB)
|
||||||
|
# the library directory for using by the executable
|
||||||
|
set (USED_3RDPARTY_JEMALLOC_DIR ${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}})
|
||||||
|
endif()
|
||||||
|
unset(3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} CACHE)
|
||||||
|
unset(3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} CACHE)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
# Reset CSF variable
|
||||||
|
set (CSF_MMGR "")
|
||||||
|
|
||||||
|
# find static jemalloc lib
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
|
||||||
|
if (WIN32)
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc" "STATIC")
|
||||||
|
elseif(NOT WIN32)
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc_pic" "STATIC")
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES "" "so")
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc.so.2" "SHARED")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find shared jemalloc lib
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".so")
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc" "SHARED")
|
@@ -44,9 +44,25 @@ elseif (MSVC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
# string pooling (GF), function-level linking (Gy)
|
if ("${BUILD_OPT_PROFILE}" STREQUAL "Production")
|
||||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy")
|
# string pooling (GF), function-level linking (Gy)
|
||||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy")
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy")
|
||||||
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy")
|
||||||
|
|
||||||
|
# Favor fast code (Ot), Omit frame pointers (Oy)
|
||||||
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ot /Oy")
|
||||||
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Ot /Oy")
|
||||||
|
|
||||||
|
# Whole Program Optimisation (GL), Enable intrinsic functions (Oi)
|
||||||
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL /Oi")
|
||||||
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GL /Oi")
|
||||||
|
|
||||||
|
# Link-Time Code Generation(LTCG) is requared for Whole Program Optimisation(GL)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
endif()
|
||||||
if (BUILD_FORCE_RelWithDebInfo)
|
if (BUILD_FORCE_RelWithDebInfo)
|
||||||
# generate debug info (Zi), inline expansion level (Ob1)
|
# generate debug info (Zi), inline expansion level (Ob1)
|
||||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi /Ob1")
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi /Ob1")
|
||||||
@@ -118,6 +134,22 @@ if (MSVC)
|
|||||||
endif()
|
endif()
|
||||||
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]"))
|
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]"))
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
|
||||||
|
|
||||||
|
if ("${BUILD_OPT_PROFILE}" STREQUAL "Production")
|
||||||
|
# /Ot (favor speed over size) is similar to -O2 or -O3 in GCC/Clang.
|
||||||
|
# /Oy (omit frame pointers) is similar to -fomit-frame-pointer in GCC/Clang.
|
||||||
|
# /GL (whole program optimization) is similar to -flto (Link Time Optimization) in GCC/Clang.
|
||||||
|
# /GF (eliminate duplicate strings) doesn't have a direct equivalent in GCC/Clang, but the compilers do string pooling automatically.
|
||||||
|
# /Gy (enable function-level linking) is similar to -ffunction-sections in GCC/Clang.
|
||||||
|
# /fp:precise (improve floating-point consistency) is similar to -ffloat-store in GCC, but there isn't a perfect equivalent in Clang.
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fomit-frame-pointer -flto -ffunction-sections -ffloat-store")
|
||||||
|
|
||||||
|
# Link-Time Code Generation(LTCG) is requared for Whole Program Optimisation(GL)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto")
|
||||||
|
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} -flto")
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -flto")
|
||||||
|
endif()
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshorten-64-to-32")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshorten-64-to-32")
|
||||||
endif()
|
endif()
|
||||||
|
@@ -14,6 +14,7 @@ if /I "%VCVER%" == "@COMPILER@" (
|
|||||||
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
||||||
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
|
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
|
||||||
set "FFMPEG_DIR=@3RDPARTY_FFMPEG_DLL_DIR@"
|
set "FFMPEG_DIR=@3RDPARTY_FFMPEG_DLL_DIR@"
|
||||||
|
set "JEMALLOC_DIR=@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||||
set "OPENVR_DIR=@3RDPARTY_OPENVR_DLL_DIRS@"
|
set "OPENVR_DIR=@3RDPARTY_OPENVR_DLL_DIRS@"
|
||||||
|
|
||||||
if not "@3RDPARTY_QT_DIR@" == "" (
|
if not "@3RDPARTY_QT_DIR@" == "" (
|
||||||
|
@@ -12,6 +12,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
|||||||
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
|
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
|
||||||
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
||||||
export FFMPEG_DIR="@3RDPARTY_FFMPEG_LIBRARY_DIR@"
|
export FFMPEG_DIR="@3RDPARTY_FFMPEG_LIBRARY_DIR@"
|
||||||
|
export JEMALLOC_DIR="@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||||
|
|
||||||
if [ "x@3RDPARTY_QT_DIR" != "x" ]; then
|
if [ "x@3RDPARTY_QT_DIR" != "x" ]; then
|
||||||
export QTDIR="@3RDPARTY_QT_DIR@"
|
export QTDIR="@3RDPARTY_QT_DIR@"
|
||||||
|
@@ -16,6 +16,7 @@ if /I "%VCVER%" == "@COMPILER@" (
|
|||||||
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
|
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
|
||||||
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
|
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
|
||||||
set "FFMPEG_DIR=@USED_3RDPARTY_FFMPEG_DIR@"
|
set "FFMPEG_DIR=@USED_3RDPARTY_FFMPEG_DIR@"
|
||||||
|
set "JEMALLOC_DIR=@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||||
set "OPENVR_DIR=@USED_3RDPARTY_OPENVR_DIR@"
|
set "OPENVR_DIR=@USED_3RDPARTY_OPENVR_DIR@"
|
||||||
|
|
||||||
if not "@USED_3RDPARTY_QT_DIR@" == "" (
|
if not "@USED_3RDPARTY_QT_DIR@" == "" (
|
||||||
|
@@ -12,6 +12,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
|||||||
export TBB_DIR="@USED_3RDPARTY_TBB_DIR@"
|
export TBB_DIR="@USED_3RDPARTY_TBB_DIR@"
|
||||||
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
|
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
|
||||||
export FFMPEG_DIR="@USED_3RDPARTY_FFMPEG_DIR@"
|
export FFMPEG_DIR="@USED_3RDPARTY_FFMPEG_DIR@"
|
||||||
|
export JEMALLOC_DIR="@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||||
|
|
||||||
if [ "x@USED_3RDPARTY_QT_DIR@" != "x" ]; then
|
if [ "x@USED_3RDPARTY_QT_DIR@" != "x" ]; then
|
||||||
export QTDIR="@USED_3RDPARTY_QT_DIR@"
|
export QTDIR="@USED_3RDPARTY_QT_DIR@"
|
||||||
|
@@ -154,6 +154,7 @@ if not ["%GLES2_DIR%"] == [""] set "PATH=%GLES2_DIR%;%PATH%"
|
|||||||
if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
|
if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
|
||||||
if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%"
|
if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%"
|
||||||
if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%"
|
if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%"
|
||||||
|
if not ["%JEMALLOC_DIR%"] == [""] set "PATH=%JEMALLOC_DIR%;%PATH%"
|
||||||
if not ["%OPENVR_DIR%"] == [""] set "PATH=%OPENVR_DIR%;%PATH%"
|
if not ["%OPENVR_DIR%"] == [""] set "PATH=%OPENVR_DIR%;%PATH%"
|
||||||
|
|
||||||
rem ----- Set path to 3rd party and OCCT libraries -----
|
rem ----- Set path to 3rd party and OCCT libraries -----
|
||||||
|
@@ -69,6 +69,10 @@ if [ "$FFMPEG_DIR" != "" ]; then
|
|||||||
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$JEMALLOC_DIR" != "" ]; then
|
||||||
|
THRDPARTY_PATH="${JEMALLOC_DIR}:${THRDPARTY_PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$QTDIR" != "" ]; then
|
if [ "$QTDIR" != "" ]; then
|
||||||
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
@@ -71,6 +71,10 @@ if [ "$FFMPEG_DIR" != "" ]; then
|
|||||||
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$JEMALLOC_DIR" != "" ]; then
|
||||||
|
THRDPARTY_PATH="${JEMALLOC_DIR}:${THRDPARTY_PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$QTDIR" != "" ]; then
|
if [ "$QTDIR" != "" ]; then
|
||||||
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
@@ -1089,10 +1089,10 @@ This group allows testing extended data exchange packages.
|
|||||||
| Draw | TKDraw, TKTopTest, TKViewerTest, TKXSDRAW, TKDCAF, TKXDEDRAW, TKTObjDRAW, TKQADraw, DRAWEXE, Problems of testing system | draw |
|
| Draw | TKDraw, TKTopTest, TKViewerTest, TKXSDRAW, TKDCAF, TKXDEDRAW, TKTObjDRAW, TKQADraw, DRAWEXE, Problems of testing system | draw |
|
||||||
| Shape Healing | TKShHealing | heal |
|
| Shape Healing | TKShHealing | heal |
|
||||||
| Mesh | TKMesh, TKXMesh | mesh |
|
| Mesh | TKMesh, TKXMesh | mesh |
|
||||||
| Data Exchange | TKIGES | iges |
|
| Data Exchange | TKDEIGES | iges |
|
||||||
| Data Exchange | TKSTEPBase, TKSTEPAttr, TKSTEP209, TKSTEP | step |
|
| Data Exchange | TKDESTEP | step |
|
||||||
| Data Exchange | TKSTL, TKVRML | stlvrml |
|
| Data Exchange | TKDESTL, TKDEVRML | stlvrml |
|
||||||
| Data Exchange | TKXSBase, TKXCAF, TKXCAFSchema, TKXDEIGES, TKXDESTEP, TKXmlXCAF, TKBinXCAF | xde |
|
| Data Exchange | TKXSBase, TKXCAF, TKXCAFSchema, TKXmlXCAF, TKBinXCAF | xde |
|
||||||
| Foundation Classes | TKernel, TKMath | fclasses |
|
| Foundation Classes | TKernel, TKMath | fclasses |
|
||||||
| Modeling_algorithms | TKGeomAlgo, TKTopAlgo, TKPrim, TKBO, TKBool, TKHLR, TKFillet, TKOffset, TKFeat, TKXMesh | modalg |
|
| Modeling_algorithms | TKGeomAlgo, TKTopAlgo, TKPrim, TKBO, TKBool, TKHLR, TKFillet, TKOffset, TKFeat, TKXMesh | modalg |
|
||||||
| Modeling Data | TKG2d, TKG3d, TKGeomBase, TKBRep | moddata |
|
| Modeling Data | TKG2d, TKG3d, TKGeomBase, TKBRep | moddata |
|
||||||
|
@@ -7,7 +7,7 @@ Upgrade from older OCCT versions {#occt__upgrade}
|
|||||||
|
|
||||||
This document provides technical details on changes made in particular versions of OCCT. It can help to upgrade user applications based on previous versions of OCCT to newer ones.
|
This document provides technical details on changes made in particular versions of OCCT. It can help to upgrade user applications based on previous versions of OCCT to newer ones.
|
||||||
|
|
||||||
@ref upgrade_occt770 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.7.0)"
|
@ref upgrade_occt780 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.8.0)"
|
||||||
|
|
||||||
@subsection upgrade_intro_precautions Precautions
|
@subsection upgrade_intro_precautions Precautions
|
||||||
|
|
||||||
@@ -2343,3 +2343,69 @@ Please use `BRepLib_ToolTriangulatedShape::ComputeNormals()` to fill in normal a
|
|||||||
|
|
||||||
A new way of using the `BRepExtrema_ShapeProximity` class was provided for computing a proximity value between two shapes.
|
A new way of using the `BRepExtrema_ShapeProximity` class was provided for computing a proximity value between two shapes.
|
||||||
If at initialization of the `BRepExtrema_ShapeProximity` class the *theTolerance* parameter is not defined (Precision::Infinite() by default), the proximity value will be computed.
|
If at initialization of the `BRepExtrema_ShapeProximity` class the *theTolerance* parameter is not defined (Precision::Infinite() by default), the proximity value will be computed.
|
||||||
|
|
||||||
|
@section upgrade_occt780 Upgrade to OCCT 7.8.0
|
||||||
|
|
||||||
|
@subsection upgrade_780_recommendations New Features and Recommendations
|
||||||
|
|
||||||
|
The NCollection containers have been modernized to work with move semantics through the new `Move operator` and `Move constructor`. It is recommended to leverage this functionality in the development process.<br />
|
||||||
|
Backward compatibility with STL allocators has been implemented to use the OCCT memory manager with STL allocators (NCollection_Allocator, NCollection_OccAllocator).<br />
|
||||||
|
Additionally, utilities have been introduced to work with `shared_ptr` and `unique_ptr` using the OCCT memory manager (`Standard_MemoryUtils.hxx`).
|
||||||
|
|
||||||
|
@subsection upgrade_780_ncollection_update Change in Default Clear Behavior for Containers
|
||||||
|
|
||||||
|
NCollection container's `Clear(const bool theReleaseMemory = true)` have been changed to `Clear(const bool theReleaseMemory = false)`.<br />
|
||||||
|
Impacted classes include `IndexedMap`, `IndexedDataMap`, `Map`, `DataMap`, `DynamicArray(Vector)`, `IncAllocator`.<br />
|
||||||
|
This means that allocated memory for the container will be reused. In this case, it's necessary to be careful with `IncAllocator::Reset()` to control owners of memory blocks.
|
||||||
|
|
||||||
|
@subsection upgrade_780_hash_utils Reworked Hash Mechanism for Hash Map (NCollection's map)
|
||||||
|
|
||||||
|
The `HashCode(value, upperBound)` static method has been removed and `IsEqual(value1, value2)` is no longer used in the map.<br />
|
||||||
|
NCollection's map now operates on an STL-like hash mechanism: a struct with a public operator `size_t operator()(object&) const` and `bool operator(object&, object&) const`.<br />
|
||||||
|
The difference between STL and OCCT is that the hash struct and comparator are combined into a single struct to reduce conflicts on OCCT's user side.<br />
|
||||||
|
Hash utils have been implemented to hash objects, returning `uint32_t` and `uint64_t` depending on the template (`Standard_HashUtils.hxx`). Algorithms used are `MurmurHash` and `FNVHash`.<br />
|
||||||
|
Benefits:
|
||||||
|
* x64 using 8 bytes to store the hash instead of 4 bytes.
|
||||||
|
* OCCT classes will now be usable as elements in STL `unordered_map` and `unordered_set`.
|
||||||
|
|
||||||
|
The migration problem will occur at compile time. Make sure that `int HashCode` has been changed anywhere to `size operator` and `bool IsEqual` to `bool operator`.
|
||||||
|
|
||||||
|
@subsection upgrade_780_removed_files Removed Hash Specialization Classes
|
||||||
|
|
||||||
|
The majority of include files containing only specialized hashes have been removed.
|
||||||
|
Their functionality has been consolidated into the hashed object include file (in the "std" namespace).<br />
|
||||||
|
It is guaranteed that each removed hash class has been transferred to the native hash mechanism of the hashed class.
|
||||||
|
|
||||||
|
The migration problem may arise at compile time. Ensure that you remove any files that have been deprecated.
|
||||||
|
|
||||||
|
@subsection upgrade_780_tk_rework Reorganized DE TK
|
||||||
|
|
||||||
|
DE TK components have been combined or separated based on specific CAD formats to support plug-in ability.
|
||||||
|
* Components now have a "TKDE" prefix. The available list includes `TKDESTEP`, `TKDEOBJ`, `TKDEIGES`, `TKDEGLTF`, `TKDEVRML`, `TKDEPLY`, `TKDESTL`.
|
||||||
|
* The DE DRAW TK has been updated in a similar way: DRAW components now have a "TKXSDRAW" prefix. The available list includes `TKXSDRAWSTEP`, `TKXSDRAWOBJ`, `TKXSDRAWIGES`, `TKXSDRAWGLTF`, `TKXSDRAWVRML`, `TKXSDRAWPLY`, `TKXSDRAWSTL`.
|
||||||
|
|
||||||
|
Migration problems may occur during configuration time or compile time. Ensure that you update your project configuration accordingly.
|
||||||
|
|
||||||
|
@subsection upgrade_780_step_thread_safety Implemented STEP Thread-safety Interface
|
||||||
|
|
||||||
|
The STEP interface now uses Static_Interface to extract exchange settings.<br />
|
||||||
|
A new ability has been implemented to determine parameters in STEP, avoiding Static_Interface.
|
||||||
|
* For reading, use an additional argument with STEP's parameters in `ReadFile` or `Perform`.
|
||||||
|
* For writing, use an additional argument with STEP's parameters in `Transfer` or `Perform`.
|
||||||
|
|
||||||
|
@subsection upgrade_780_new_memory_manager New Memory Management Functionality
|
||||||
|
|
||||||
|
`Standard.hxx` has a new method `AllocateOptimal` for allocating without post-processing (cleaning).<br />
|
||||||
|
New profiles to allocate memory (defined at configuration time):
|
||||||
|
* `Native` - allocates with standard `malloc` and `calloc` functionality, performance depends on the OS.
|
||||||
|
* `TBB` - allocates with TBB's `scalable` allocator functionality.
|
||||||
|
* `JeMalloc` - allocates with `jemalloc` functions.
|
||||||
|
* `Flexible` - old-way allocation which defines allocation method in real-time by environment variables.<br />
|
||||||
|
|
||||||
|
The most recommended manager is `JeMalloc`. To use it with a plugin system, like `DRAW`, please ensure that JeMalloc was built with the `--disable-initial-exec-tls` flag. For more details, visit [JeMalloc](http://jemalloc.net/).
|
||||||
|
|
||||||
|
@subsection upgrade_780_optimization_profiles New CMake Variable for Optimization Profiles
|
||||||
|
|
||||||
|
`BUILD_OPT_PROFILE` is a new variable to define optimization level. Available profiles:
|
||||||
|
* `Default` - specializes only in quality-dependent parameters for the compiler.
|
||||||
|
* `Production` - specializes in performance and quality-dependent parameters for the compiler and linker.
|
||||||
|
@@ -1498,7 +1498,7 @@ It is necessary to call command *newmodel* to perform a new translation of the n
|
|||||||
|
|
||||||
@section occt_step_7 Reading from and writing to STEP
|
@section occt_step_7 Reading from and writing to STEP
|
||||||
|
|
||||||
The *STEPCAFControl* package (TKXDESTEP toolkit) provides tools to read and write STEP files (see XDE User's Guide).
|
The *STEPCAFControl* package (TKDESTEP toolkit) provides tools to read and write STEP files (see XDE User's Guide).
|
||||||
|
|
||||||
In addition to the translation of shapes implemented in basic translator, it provides the following:
|
In addition to the translation of shapes implemented in basic translator, it provides the following:
|
||||||
* STEP assemblies, read as OCCT compounds by basic translator, are translated to XDE assemblies;
|
* STEP assemblies, read as OCCT compounds by basic translator, are translated to XDE assemblies;
|
||||||
|
@@ -43,10 +43,10 @@
|
|||||||
#pragma comment(lib, "TKService.lib")
|
#pragma comment(lib, "TKService.lib")
|
||||||
#pragma comment(lib, "TKV3d.lib")
|
#pragma comment(lib, "TKV3d.lib")
|
||||||
#pragma comment(lib, "TKOpenGl.lib")
|
#pragma comment(lib, "TKOpenGl.lib")
|
||||||
#pragma comment(lib, "TKIGES.lib")
|
#pragma comment(lib, "TKDEIGES.lib")
|
||||||
#pragma comment(lib, "TKSTEP.lib")
|
#pragma comment(lib, "TKDESTEP.lib")
|
||||||
#pragma comment(lib, "TKStl.lib")
|
#pragma comment(lib, "TKDESTL.lib")
|
||||||
#pragma comment(lib, "TKVrml.lib")
|
#pragma comment(lib, "TKDEVRML.lib")
|
||||||
#pragma comment(lib, "TKLCAF.lib")
|
#pragma comment(lib, "TKLCAF.lib")
|
||||||
|
|
||||||
//! Auxiliary tool for converting C# string into UTF-8 string.
|
//! Auxiliary tool for converting C# string into UTF-8 string.
|
||||||
|
@@ -51,10 +51,10 @@
|
|||||||
#pragma comment(lib, "TKV3d.lib")
|
#pragma comment(lib, "TKV3d.lib")
|
||||||
#pragma comment(lib, "TKOpenGl.lib")
|
#pragma comment(lib, "TKOpenGl.lib")
|
||||||
#pragma comment(lib, "TKD3dHost.lib")
|
#pragma comment(lib, "TKD3dHost.lib")
|
||||||
#pragma comment(lib, "TKIGES.lib")
|
#pragma comment(lib, "TKDEIGES.lib")
|
||||||
#pragma comment(lib, "TKSTEP.lib")
|
#pragma comment(lib, "TKDESTEP.lib")
|
||||||
#pragma comment(lib, "TKStl.lib")
|
#pragma comment(lib, "TKDESTL.lib")
|
||||||
#pragma comment(lib, "TKVrml.lib")
|
#pragma comment(lib, "TKDEVRML.lib")
|
||||||
#pragma comment(lib, "TKLCAF.lib")
|
#pragma comment(lib, "TKLCAF.lib")
|
||||||
|
|
||||||
#pragma comment(lib, "D3D9.lib")
|
#pragma comment(lib, "D3D9.lib")
|
||||||
|
@@ -63,7 +63,7 @@ set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKG2d TKG3d TKGeomBase TKBRep) # M
|
|||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing) # ModelingAlgorithms
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing) # ModelingAlgorithms
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKService TKV3d TKOpenGl TKMeshVS TKIVtk TKD3DHost) # Visualization
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKService TKV3d TKOpenGl TKMeshVS TKIVtk TKD3DHost) # Visualization
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF) # ApplicationFramework
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF) # ApplicationFramework
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh) # DataExchange
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKXSBase TKXCAF TKDEIGES TKDESTEP TKDESTL TKDEVRML TKXmlXCAF TKBinXCAF TKRWMesh TKDEGLTF TKDEOBJ TKDEPLY) # DataExchange
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKDraw TKViewerTest) # Draw
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKDraw TKViewerTest) # Draw
|
||||||
|
|
||||||
# validate location of OCCT libraries and headers
|
# validate location of OCCT libraries and headers
|
||||||
|
@@ -26,14 +26,10 @@
|
|||||||
0A7DEDFC1E2D29FF00267B9B /* libTKV3d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF71E2D29F800267B9B /* libTKV3d.a */; };
|
0A7DEDFC1E2D29FF00267B9B /* libTKV3d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF71E2D29F800267B9B /* libTKV3d.a */; };
|
||||||
0A7DEDFD1E2D29FF00267B9B /* libTKVCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF81E2D29FB00267B9B /* libTKVCAF.a */; };
|
0A7DEDFD1E2D29FF00267B9B /* libTKVCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF81E2D29FB00267B9B /* libTKVCAF.a */; };
|
||||||
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */; };
|
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */; };
|
||||||
0A7DEE2E1E2D2AE000267B9B /* libTKSTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */; };
|
0A7DEE2E1E2D2AE000267B9B /* libTKDESTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */; };
|
||||||
0A7DEE301E2D2AE000267B9B /* libTKSTEPAttr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE101E2D2AAE00267B9B /* libTKSTEPAttr.a */; };
|
|
||||||
0A7DEE311E2D2AE000267B9B /* libTKSTEPBase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE111E2D2AB200267B9B /* libTKSTEPBase.a */; };
|
|
||||||
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */; };
|
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */; };
|
||||||
0A7DEE371E2D2AE000267B9B /* libTKXDESTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE171E2D2AC700267B9B /* libTKXDESTEP.a */; };
|
|
||||||
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE021E2D2A7F00267B9B /* libTKBO.a */; };
|
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE021E2D2A7F00267B9B /* libTKBO.a */; };
|
||||||
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */; };
|
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */; };
|
||||||
0A7DEE401E2D2BEA00267B9B /* libTKSTEP209.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */; };
|
|
||||||
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE1D1E2D2ADC00267B9B /* libTKXSBase.a */; };
|
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE1D1E2D2ADC00267B9B /* libTKXSBase.a */; };
|
||||||
0AAE0DE61EAF816E00C1F65B /* screw.step in Resources */ = {isa = PBXBuildFile; fileRef = 0AAE0DE51EAF816D00C1F65B /* screw.step */; };
|
0AAE0DE61EAF816E00C1F65B /* screw.step in Resources */ = {isa = PBXBuildFile; fileRef = 0AAE0DE51EAF816D00C1F65B /* screw.step */; };
|
||||||
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AE286631EB0D29A00A9D719 /* libz.tbd */; };
|
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AE286631EB0D29A00A9D719 /* libz.tbd */; };
|
||||||
@@ -79,7 +75,7 @@
|
|||||||
0A7DEE031E2D2A8200267B9B /* libTKBool.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKBool.a; path = ../occt/lib/libTKBool.a; sourceTree = "<group>"; };
|
0A7DEE031E2D2A8200267B9B /* libTKBool.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKBool.a; path = ../occt/lib/libTKBool.a; sourceTree = "<group>"; };
|
||||||
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFeat.a; path = ../occt/lib/libTKFeat.a; sourceTree = "<group>"; };
|
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFeat.a; path = ../occt/lib/libTKFeat.a; sourceTree = "<group>"; };
|
||||||
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFillet.a; path = ../occt/lib/libTKFillet.a; sourceTree = "<group>"; };
|
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFillet.a; path = ../occt/lib/libTKFillet.a; sourceTree = "<group>"; };
|
||||||
0A7DEE061E2D2A8C00267B9B /* libTKIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKIGES.a; path = ../occt/lib/libTKIGES.a; sourceTree = "<group>"; };
|
0A7DEE061E2D2A8C00267B9B /* libTKDEIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDEIGES.a; path = ../occt/lib/libTKDEIGES.a; sourceTree = "<group>"; };
|
||||||
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKMeshVS.a; path = ../occt/lib/libTKMeshVS.a; sourceTree = "<group>"; };
|
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKMeshVS.a; path = ../occt/lib/libTKMeshVS.a; sourceTree = "<group>"; };
|
||||||
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOffset.a; path = ../occt/lib/libTKOffset.a; sourceTree = "<group>"; };
|
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOffset.a; path = ../occt/lib/libTKOffset.a; sourceTree = "<group>"; };
|
||||||
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOpenGles.a; path = ../occt/lib/libTKOpenGles.a; sourceTree = "<group>"; };
|
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOpenGles.a; path = ../occt/lib/libTKOpenGles.a; sourceTree = "<group>"; };
|
||||||
@@ -87,16 +83,11 @@
|
|||||||
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKService.a; path = ../occt/lib/libTKService.a; sourceTree = "<group>"; };
|
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKService.a; path = ../occt/lib/libTKService.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStd.a; path = ../occt/lib/libTKStd.a; sourceTree = "<group>"; };
|
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStd.a; path = ../occt/lib/libTKStd.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStdL.a; path = ../occt/lib/libTKStdL.a; sourceTree = "<group>"; };
|
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStdL.a; path = ../occt/lib/libTKStdL.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEP.a; path = ../occt/lib/libTKSTEP.a; sourceTree = "<group>"; };
|
0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDESTEP.a; path = ../occt/lib/libTKDESTEP.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEP209.a; path = ../occt/lib/libTKSTEP209.a; sourceTree = "<group>"; };
|
0A7DEE121E2D2AB500267B9B /* libTKDESTL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDESTL.a; path = ../occt/lib/libTKDESTL.a; sourceTree = "<group>"; };
|
||||||
0A7DEE101E2D2AAE00267B9B /* libTKSTEPAttr.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEPAttr.a; path = ../occt/lib/libTKSTEPAttr.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE111E2D2AB200267B9B /* libTKSTEPBase.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEPBase.a; path = ../occt/lib/libTKSTEPBase.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE121E2D2AB500267B9B /* libTKSTL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTL.a; path = ../occt/lib/libTKSTL.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKTObj.a; path = ../occt/lib/libTKTObj.a; sourceTree = "<group>"; };
|
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKTObj.a; path = ../occt/lib/libTKTObj.a; sourceTree = "<group>"; };
|
||||||
0A7DEE141E2D2ABC00267B9B /* libTKVRML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKVRML.a; path = ../occt/lib/libTKVRML.a; sourceTree = "<group>"; };
|
0A7DEE141E2D2ABC00267B9B /* libTKDEVRML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDEVRML.a; path = ../occt/lib/libTKDEVRML.a; sourceTree = "<group>"; };
|
||||||
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXCAF.a; path = ../occt/lib/libTKXCAF.a; sourceTree = "<group>"; };
|
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXCAF.a; path = ../occt/lib/libTKXCAF.a; sourceTree = "<group>"; };
|
||||||
0A7DEE161E2D2AC300267B9B /* libTKXDEIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXDEIGES.a; path = ../occt/lib/libTKXDEIGES.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE171E2D2AC700267B9B /* libTKXDESTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXDESTEP.a; path = ../occt/lib/libTKXDESTEP.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXMesh.a; path = ../occt/lib/libTKXMesh.a; sourceTree = "<group>"; };
|
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXMesh.a; path = ../occt/lib/libTKXMesh.a; sourceTree = "<group>"; };
|
||||||
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXml.a; path = ../occt/lib/libTKXml.a; sourceTree = "<group>"; };
|
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXml.a; path = ../occt/lib/libTKXml.a; sourceTree = "<group>"; };
|
||||||
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXmlL.a; path = ../occt/lib/libTKXmlL.a; sourceTree = "<group>"; };
|
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXmlL.a; path = ../occt/lib/libTKXmlL.a; sourceTree = "<group>"; };
|
||||||
@@ -134,13 +125,10 @@
|
|||||||
files = (
|
files = (
|
||||||
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */,
|
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */,
|
||||||
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */,
|
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */,
|
||||||
0A7DEE401E2D2BEA00267B9B /* libTKSTEP209.a in Frameworks */,
|
|
||||||
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */,
|
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */,
|
||||||
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */,
|
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */,
|
||||||
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */,
|
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */,
|
||||||
0A7DEE2E1E2D2AE000267B9B /* libTKSTEP.a in Frameworks */,
|
0A7DEE2E1E2D2AE000267B9B /* libTKDESTEP.a in Frameworks */,
|
||||||
0A7DEE301E2D2AE000267B9B /* libTKSTEPAttr.a in Frameworks */,
|
|
||||||
0A7DEE311E2D2AE000267B9B /* libTKSTEPBase.a in Frameworks */,
|
|
||||||
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */,
|
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */,
|
||||||
0A7DEE371E2D2AE000267B9B /* libTKXDESTEP.a in Frameworks */,
|
0A7DEE371E2D2AE000267B9B /* libTKXDESTEP.a in Frameworks */,
|
||||||
0A7DEDE71E2D28E300267B9B /* libTKBRep.a in Frameworks */,
|
0A7DEDE71E2D28E300267B9B /* libTKBRep.a in Frameworks */,
|
||||||
@@ -231,7 +219,7 @@
|
|||||||
0A7DEE031E2D2A8200267B9B /* libTKBool.a */,
|
0A7DEE031E2D2A8200267B9B /* libTKBool.a */,
|
||||||
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */,
|
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */,
|
||||||
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */,
|
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */,
|
||||||
0A7DEE061E2D2A8C00267B9B /* libTKIGES.a */,
|
0A7DEE061E2D2A8C00267B9B /* libTKDEIGES.a */,
|
||||||
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */,
|
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */,
|
||||||
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */,
|
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */,
|
||||||
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */,
|
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */,
|
||||||
@@ -239,16 +227,11 @@
|
|||||||
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */,
|
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */,
|
||||||
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */,
|
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */,
|
||||||
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */,
|
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */,
|
||||||
0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */,
|
0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */,
|
||||||
0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */,
|
0A7DEE121E2D2AB500267B9B /* libTKDESTL.a */,
|
||||||
0A7DEE101E2D2AAE00267B9B /* libTKSTEPAttr.a */,
|
|
||||||
0A7DEE111E2D2AB200267B9B /* libTKSTEPBase.a */,
|
|
||||||
0A7DEE121E2D2AB500267B9B /* libTKSTL.a */,
|
|
||||||
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */,
|
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */,
|
||||||
0A7DEE141E2D2ABC00267B9B /* libTKVRML.a */,
|
0A7DEE141E2D2ABC00267B9B /* libTKDEVRML.a */,
|
||||||
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */,
|
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */,
|
||||||
0A7DEE161E2D2AC300267B9B /* libTKXDEIGES.a */,
|
|
||||||
0A7DEE171E2D2AC700267B9B /* libTKXDESTEP.a */,
|
|
||||||
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */,
|
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */,
|
||||||
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */,
|
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */,
|
||||||
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */,
|
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */,
|
||||||
|
@@ -23,12 +23,11 @@
|
|||||||
#define CafShapePrs_h
|
#define CafShapePrs_h
|
||||||
|
|
||||||
#include <TDF_Label.hxx>
|
#include <TDF_Label.hxx>
|
||||||
#include <TDF_LabelMapHasher.hxx>
|
|
||||||
#include <XCAFPrs_AISObject.hxx>
|
#include <XCAFPrs_AISObject.hxx>
|
||||||
#include <XCAFPrs_Style.hxx>
|
#include <XCAFPrs_Style.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<TopoDS_Shape, Handle(AIS_ColoredDrawer), TopTools_ShapeMapHasher> CafDataMapOfShapeColor;
|
typedef NCollection_DataMap<TopoDS_Shape, Handle(AIS_ColoredDrawer), TopTools_ShapeMapHasher> CafDataMapOfShapeColor;
|
||||||
typedef NCollection_DataMap<TDF_Label, Handle(AIS_InteractiveObject), TDF_LabelMapHasher> MapOfPrsForShapes;
|
typedef NCollection_DataMap<TDF_Label, Handle(AIS_InteractiveObject)> MapOfPrsForShapes;
|
||||||
|
|
||||||
//! Interactive object for shape in DECAF document
|
//! Interactive object for shape in DECAF document
|
||||||
class CafShapePrs : public XCAFPrs_AISObject
|
class CafShapePrs : public XCAFPrs_AISObject
|
||||||
|
@@ -138,11 +138,8 @@ public class OcctJniActivity extends Activity implements OnClickListener
|
|||||||
|| !loadLibVerbose ("TKFillet", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKFillet", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKOffset", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKOffset", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKXSBase", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKXSBase", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKIGES", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKDEIGES", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKSTEPBase", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKDESTEP", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKSTEPAttr", aLoaded, aFailed)
|
|
||||||
|| !loadLibVerbose ("TKSTEP209", aLoaded, aFailed)
|
|
||||||
|| !loadLibVerbose ("TKSTEP", aLoaded, aFailed)
|
|
||||||
// OCCT Visualization
|
// OCCT Visualization
|
||||||
|| !loadLibVerbose ("TKService", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKService", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKHLR", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKHLR", aLoaded, aFailed)
|
||||||
|
@@ -8,8 +8,8 @@ set (anOcctLibs
|
|||||||
# exchange
|
# exchange
|
||||||
TKPrim TKBO TKBool TKFillet TKOffset
|
TKPrim TKBO TKBool TKFillet TKOffset
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP
|
TKDESTEP
|
||||||
# OCCT Visualization
|
# OCCT Visualization
|
||||||
TKService TKHLR TKV3d TKOpenGles
|
TKService TKHLR TKV3d TKOpenGles
|
||||||
)
|
)
|
||||||
|
@@ -116,7 +116,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../..\win64\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
<OutputFile>../../../..\win64\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -61,4 +61,4 @@ include_directories (${CMAKE_BINARY_DIR}/inc
|
|||||||
${Modeling_SRC_DIR}
|
${Modeling_SRC_DIR}
|
||||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||||
|
|
||||||
target_link_libraries (Modeling mfcsample TKSTEP209 TKSTEPAttr TKSTEPBase TKBO)
|
target_link_libraries (Modeling mfcsample TKDESTEP TKBO)
|
||||||
|
@@ -115,7 +115,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -200,7 +200,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -116,7 +116,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -199,7 +199,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -241,7 +241,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -158,15 +158,12 @@ include_directories( ${CMAKE_BINARY_DIR}/inc
|
|||||||
${COMMON_RESOURCE2D_DIR})
|
${COMMON_RESOURCE2D_DIR})
|
||||||
|
|
||||||
# OCCT libraries for using
|
# OCCT libraries for using
|
||||||
set (mfcsample_USED_LIBS TKVRML
|
set (mfcsample_USED_LIBS TKDEVRML
|
||||||
TKSTL
|
TKDESTL
|
||||||
TKBRep
|
TKBRep
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEPBase
|
|
||||||
TKSTEP209
|
|
||||||
TKSTEPAttr
|
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKBool
|
TKBool
|
||||||
TKBO
|
TKBO
|
||||||
|
@@ -115,7 +115,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
<ResourceOutputFileName>$(IntDir)%(Filename).res</ResourceOutputFileName>
|
<ResourceOutputFileName>$(IntDir)%(Filename).res</ResourceOutputFileName>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -8,7 +8,7 @@ TKG3d
|
|||||||
TKGeomAlgo
|
TKGeomAlgo
|
||||||
TKGeomBase
|
TKGeomBase
|
||||||
TKHLR
|
TKHLR
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKernel
|
TKernel
|
||||||
TKMath
|
TKMath
|
||||||
TKMesh
|
TKMesh
|
||||||
@@ -17,13 +17,10 @@ TKOpenGl
|
|||||||
TKPrim
|
TKPrim
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKService
|
TKService
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEP209
|
TKDESTL
|
||||||
TKSTEPAttr
|
|
||||||
TKSTEPBase
|
|
||||||
TKSTL
|
|
||||||
TKTopAlgo
|
TKTopAlgo
|
||||||
TKV3d
|
TKV3d
|
||||||
TKVRML
|
TKDEVRML
|
||||||
TKXSBase
|
TKXSBase
|
||||||
|
|
||||||
|
@@ -72,8 +72,8 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
||||||
-lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
|
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \
|
||||||
-lTKSTEPBase -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
||||||
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
||||||
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ TKGeomAlgo
|
|||||||
TKGeomBase
|
TKGeomBase
|
||||||
TKernel
|
TKernel
|
||||||
TKHLR
|
TKHLR
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKMath
|
TKMath
|
||||||
TKMesh
|
TKMesh
|
||||||
TKOffset
|
TKOffset
|
||||||
@@ -18,14 +18,11 @@ TKOpenGl
|
|||||||
TKPrim
|
TKPrim
|
||||||
TKService
|
TKService
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEP209
|
TKDESTL
|
||||||
TKSTEPAttr
|
|
||||||
TKSTEPBase
|
|
||||||
TKSTL
|
|
||||||
TKTopAlgo
|
TKTopAlgo
|
||||||
TKV3d
|
TKV3d
|
||||||
TKVRML
|
TKDEVRML
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKLCAF
|
TKLCAF
|
||||||
TKCAF
|
TKCAF
|
||||||
|
@@ -75,8 +75,8 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
||||||
-lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
|
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \
|
||||||
-lTKSTEPBase -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
||||||
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
||||||
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF -lTKCAF -lTKVCAF \
|
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF -lTKCAF -lTKVCAF \
|
||||||
-lTKBin -lTKXml
|
-lTKBin -lTKXml
|
||||||
|
@@ -9,7 +9,7 @@ TKGeomAlgo
|
|||||||
TKGeomBase
|
TKGeomBase
|
||||||
TKernel
|
TKernel
|
||||||
TKHLR
|
TKHLR
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKMath
|
TKMath
|
||||||
TKMesh
|
TKMesh
|
||||||
TKOffset
|
TKOffset
|
||||||
@@ -17,13 +17,10 @@ TKOpenGl
|
|||||||
TKPrim
|
TKPrim
|
||||||
TKService
|
TKService
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEP209
|
TKDESTL
|
||||||
TKSTEPAttr
|
|
||||||
TKSTEPBase
|
|
||||||
TKSTL
|
|
||||||
TKTopAlgo
|
TKTopAlgo
|
||||||
TKV3d
|
TKV3d
|
||||||
TKVRML
|
TKDEVRML
|
||||||
TKXSBase
|
TKXSBase
|
||||||
|
|
||||||
|
@@ -73,8 +73,8 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
||||||
-lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
|
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \
|
||||||
-lTKSTEPBase -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
||||||
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
||||||
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
||||||
|
|
||||||
|
@@ -59,7 +59,7 @@ else()
|
|||||||
set(OCCT_BIN_DIR)
|
set(OCCT_BIN_DIR)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OpenCASCADE_LIBS TKRWMesh TKBinXCAF TKBin TKBinL TKOpenGles TKXCAF TKVCAF TKCAF TKV3d TKHLR TKMesh TKService TKShHealing TKPrim TKTopAlgo TKGeomAlgo TKBRep TKGeomBase TKG3d TKG2d TKMath TKLCAF TKCDF TKernel)
|
set(OpenCASCADE_LIBS TKRWMesh TKDEGLTF TKDEOBJ TKDEPLY TKBinXCAF TKBin TKBinL TKOpenGles TKXCAF TKVCAF TKCAF TKV3d TKHLR TKMesh TKService TKShHealing TKPrim TKTopAlgo TKGeomAlgo TKBRep TKGeomBase TKG3d TKG2d TKMath TKLCAF TKCDF TKernel)
|
||||||
|
|
||||||
add_executable(${APP_TARGET} ${SOURCES})
|
add_executable(${APP_TARGET} ${SOURCES})
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
|
@@ -102,11 +102,11 @@ set (uwp_USED_LIBS TKernel
|
|||||||
TKHLR
|
TKHLR
|
||||||
TKOffset
|
TKOffset
|
||||||
TKXMesh
|
TKXMesh
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKSTL
|
TKDESTL
|
||||||
TKVRML
|
TKDEVRML
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (uwp ${uwp_USED_LIBS})
|
target_link_libraries (uwp ${uwp_USED_LIBS})
|
||||||
|
@@ -21,7 +21,6 @@
|
|||||||
#include <NCollection_IndexedDataMap.hxx>
|
#include <NCollection_IndexedDataMap.hxx>
|
||||||
#include <TopoDS_Compound.hxx>
|
#include <TopoDS_Compound.hxx>
|
||||||
#include <TopTools_MapOfShape.hxx>
|
#include <TopTools_MapOfShape.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
|
|
||||||
class StdSelect_BRepOwner;
|
class StdSelect_BRepOwner;
|
||||||
|
|
||||||
@@ -104,7 +103,7 @@ protected: //! @name override presentation computation
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
typedef NCollection_IndexedDataMap<Handle(AIS_ColoredDrawer), TopoDS_Compound, TColStd_MapTransientHasher> DataMapOfDrawerCompd;
|
typedef NCollection_IndexedDataMap<Handle(AIS_ColoredDrawer), TopoDS_Compound> DataMapOfDrawerCompd;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@@ -30,7 +30,6 @@
|
|||||||
#include <StdSelect.hxx>
|
#include <StdSelect.hxx>
|
||||||
#include <StdSelect_BRepOwner.hxx>
|
#include <StdSelect_BRepOwner.hxx>
|
||||||
#include <TopoDS_Shape.hxx>
|
#include <TopoDS_Shape.hxx>
|
||||||
#include <TopTools_OrientedShapeMapHasher.hxx>
|
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(AIS_ConnectedInteractive,AIS_InteractiveObject)
|
IMPLEMENT_STANDARD_RTTIEXT(AIS_ConnectedInteractive,AIS_InteractiveObject)
|
||||||
|
|
||||||
@@ -241,7 +240,7 @@ void AIS_ConnectedInteractive::computeSubShapeSelection (const Handle(SelectMgr_
|
|||||||
const Standard_Integer theMode)
|
const Standard_Integer theMode)
|
||||||
{
|
{
|
||||||
typedef NCollection_List<Handle(Select3D_SensitiveEntity)> SensitiveList;
|
typedef NCollection_List<Handle(Select3D_SensitiveEntity)> SensitiveList;
|
||||||
typedef NCollection_DataMap<TopoDS_Shape, SensitiveList, TopTools_OrientedShapeMapHasher>
|
typedef NCollection_DataMap<TopoDS_Shape, SensitiveList>
|
||||||
Shapes2EntitiesMap;
|
Shapes2EntitiesMap;
|
||||||
|
|
||||||
if (!myReference->HasSelection (theMode))
|
if (!myReference->HasSelection (theMode))
|
||||||
|
@@ -19,11 +19,10 @@
|
|||||||
|
|
||||||
#include <AIS_InteractiveObject.hxx>
|
#include <AIS_InteractiveObject.hxx>
|
||||||
#include <AIS_GlobalStatus.hxx>
|
#include <AIS_GlobalStatus.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus),TColStd_MapTransientHasher> AIS_DataMapOfIOStatus;
|
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus)> AIS_DataMapOfIOStatus;
|
||||||
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus),TColStd_MapTransientHasher>::Iterator AIS_DataMapIteratorOfDataMapOfIOStatus;
|
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus)>::Iterator AIS_DataMapIteratorOfDataMapOfIOStatus;
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,10 +17,11 @@
|
|||||||
//! Dragging action.
|
//! Dragging action.
|
||||||
enum AIS_DragAction
|
enum AIS_DragAction
|
||||||
{
|
{
|
||||||
AIS_DragAction_Start, //!< (try) start dragging object
|
AIS_DragAction_Start, //!< (try) start dragging object
|
||||||
AIS_DragAction_Update, //!< perform dragging (update position)
|
AIS_DragAction_Confirmed, //!< dragging interaction is confirmed.
|
||||||
AIS_DragAction_Stop, //!< stop dragging (save position)
|
AIS_DragAction_Update, //!< perform dragging (update position)
|
||||||
AIS_DragAction_Abort, //!< abort dragging (restore initial position)
|
AIS_DragAction_Stop, //!< stop dragging (save position)
|
||||||
|
AIS_DragAction_Abort, //!< abort dragging (restore initial position)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _AIS_DragAction_HeaderFile
|
#endif // _AIS_DragAction_HeaderFile
|
||||||
|
@@ -259,6 +259,10 @@ Standard_Boolean AIS_LightSource::ProcessDragging (const Handle(AIS_InteractiveC
|
|||||||
myLocTrsfStart = LocalTransformation();
|
myLocTrsfStart = LocalTransformation();
|
||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
|
case AIS_DragAction_Confirmed:
|
||||||
|
{
|
||||||
|
return Standard_True;
|
||||||
|
}
|
||||||
case AIS_DragAction_Update:
|
case AIS_DragAction_Update:
|
||||||
{
|
{
|
||||||
mySensSphere->ResetLastDetectedPoint();
|
mySensSphere->ResetLastDetectedPoint();
|
||||||
|
@@ -661,6 +661,10 @@ Standard_Boolean AIS_Manipulator::ProcessDragging (const Handle(AIS_InteractiveC
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case AIS_DragAction_Confirmed:
|
||||||
|
{
|
||||||
|
return Standard_True;
|
||||||
|
}
|
||||||
case AIS_DragAction_Update:
|
case AIS_DragAction_Update:
|
||||||
{
|
{
|
||||||
Transform (theDragTo.x(), theDragTo.y(), theView);
|
Transform (theDragTo.x(), theDragTo.y(), theView);
|
||||||
|
@@ -332,6 +332,11 @@ void AIS_ViewController::flushBuffers (const Handle(AIS_InteractiveContext)& ,
|
|||||||
myGL.Dragging.ToStart = true;
|
myGL.Dragging.ToStart = true;
|
||||||
myGL.Dragging.PointStart = myUI.Dragging.PointStart;
|
myGL.Dragging.PointStart = myUI.Dragging.PointStart;
|
||||||
}
|
}
|
||||||
|
if (myUI.Dragging.ToConfirm)
|
||||||
|
{
|
||||||
|
myUI.Dragging.ToConfirm = false;
|
||||||
|
myGL.Dragging.ToConfirm = true;
|
||||||
|
}
|
||||||
if (myUI.Dragging.ToMove)
|
if (myUI.Dragging.ToMove)
|
||||||
{
|
{
|
||||||
myUI.Dragging.ToMove = false;
|
myUI.Dragging.ToMove = false;
|
||||||
@@ -928,6 +933,7 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
|
|||||||
myMouseClickCounter = 0;
|
myMouseClickCounter = 0;
|
||||||
myMouseSingleButton = -1;
|
myMouseSingleButton = -1;
|
||||||
myMouseStopDragOnUnclick = true;
|
myMouseStopDragOnUnclick = true;
|
||||||
|
myUI.Dragging.ToConfirm = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2738,6 +2744,17 @@ void AIS_ViewController::OnObjectDragged (const Handle(AIS_InteractiveContext)&
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
case AIS_DragAction_Confirmed:
|
||||||
|
{
|
||||||
|
if (myDragObject.IsNull())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
myDragObject->ProcessDragging (theCtx, theView, myDragOwner, myGL.Dragging.PointStart,
|
||||||
|
myGL.Dragging.PointTo, theAction);
|
||||||
|
return;
|
||||||
|
}
|
||||||
case AIS_DragAction_Update:
|
case AIS_DragAction_Update:
|
||||||
{
|
{
|
||||||
if (myDragObject.IsNull())
|
if (myDragObject.IsNull())
|
||||||
@@ -3057,6 +3074,10 @@ void AIS_ViewController::handleDynamicHighlight (const Handle(AIS_InteractiveCon
|
|||||||
}
|
}
|
||||||
else if (myGL.Dragging.ToMove)
|
else if (myGL.Dragging.ToMove)
|
||||||
{
|
{
|
||||||
|
if (myGL.Dragging.ToConfirm)
|
||||||
|
{
|
||||||
|
OnObjectDragged (theCtx, theView, AIS_DragAction_Confirmed);
|
||||||
|
}
|
||||||
OnObjectDragged (theCtx, theView, AIS_DragAction_Update);
|
OnObjectDragged (theCtx, theView, AIS_DragAction_Update);
|
||||||
myGL.OrbitRotation.ToRotate = false;
|
myGL.OrbitRotation.ToRotate = false;
|
||||||
myGL.ViewRotation .ToRotate = false;
|
myGL.ViewRotation .ToRotate = false;
|
||||||
|
@@ -640,18 +640,9 @@ protected:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
//! Trivial hasher to avoid ambiguity with enumeration type.
|
NCollection_DataMap<V3d_TypeOfOrientation, TCollection_AsciiString>
|
||||||
struct IntegerHasher
|
|
||||||
{
|
|
||||||
static Standard_Integer HashCode (Standard_Integer theValue, Standard_Integer theUpper) { return ::HashCode (theValue, theUpper); }
|
|
||||||
static Standard_Boolean IsEqual (Standard_Integer theA, Standard_Integer theB) { return theA == theB; }
|
|
||||||
};
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
NCollection_DataMap<V3d_TypeOfOrientation, TCollection_AsciiString, IntegerHasher>
|
|
||||||
myBoxSideLabels; //!< map with box side labels
|
myBoxSideLabels; //!< map with box side labels
|
||||||
NCollection_DataMap<Prs3d_DatumParts, TCollection_AsciiString, IntegerHasher>
|
NCollection_DataMap<Prs3d_DatumParts, TCollection_AsciiString>
|
||||||
myAxesLabels; //!< map with axes labels
|
myAxesLabels; //!< map with axes labels
|
||||||
Handle(Prs3d_ShadingAspect) myBoxEdgeAspect; //!< style for box edges
|
Handle(Prs3d_ShadingAspect) myBoxEdgeAspect; //!< style for box edges
|
||||||
Handle(Prs3d_ShadingAspect) myBoxCornerAspect; //!< style for box corner
|
Handle(Prs3d_ShadingAspect) myBoxCornerAspect; //!< style for box corner
|
||||||
|
@@ -87,13 +87,14 @@ public:
|
|||||||
struct _draggingParams
|
struct _draggingParams
|
||||||
{
|
{
|
||||||
bool ToStart; //!< start dragging
|
bool ToStart; //!< start dragging
|
||||||
|
bool ToConfirm; //!< confirm dragging
|
||||||
bool ToMove; //!< perform dragging
|
bool ToMove; //!< perform dragging
|
||||||
bool ToStop; //!< stop dragging
|
bool ToStop; //!< stop dragging
|
||||||
bool ToAbort; //!< abort dragging (restore previous position)
|
bool ToAbort; //!< abort dragging (restore previous position)
|
||||||
Graphic3d_Vec2i PointStart; //!< drag start point
|
Graphic3d_Vec2i PointStart; //!< drag start point
|
||||||
Graphic3d_Vec2i PointTo; //!< drag end point
|
Graphic3d_Vec2i PointTo; //!< drag end point
|
||||||
|
|
||||||
_draggingParams() : ToStart (false), ToMove (false), ToStop (false), ToAbort (false) {}
|
_draggingParams() : ToStart (false), ToConfirm (false), ToMove (false), ToStop (false), ToAbort (false) {}
|
||||||
} Dragging;
|
} Dragging;
|
||||||
|
|
||||||
struct _orbitRotation
|
struct _orbitRotation
|
||||||
@@ -139,12 +140,13 @@ public:
|
|||||||
Selection.ToApplyTool = false;
|
Selection.ToApplyTool = false;
|
||||||
IsNewGesture = false;
|
IsNewGesture = false;
|
||||||
ZoomActions.Clear();
|
ZoomActions.Clear();
|
||||||
Panning.ToStart = false;
|
Panning.ToStart = false;
|
||||||
Panning.ToPan = false;
|
Panning.ToPan = false;
|
||||||
Dragging.ToStart = false;
|
Dragging.ToStart = false;
|
||||||
Dragging.ToMove = false;
|
Dragging.ToConfirm = false;
|
||||||
Dragging.ToStop = false;
|
Dragging.ToMove = false;
|
||||||
Dragging.ToAbort = false;
|
Dragging.ToStop = false;
|
||||||
|
Dragging.ToAbort = false;
|
||||||
OrbitRotation.ToStart = false;
|
OrbitRotation.ToStart = false;
|
||||||
OrbitRotation.ToRotate = false;
|
OrbitRotation.ToRotate = false;
|
||||||
ViewRotation.ToStart = false;
|
ViewRotation.ToStart = false;
|
||||||
|
@@ -30,7 +30,6 @@
|
|||||||
#include <TColgp_HArray2OfPnt2d.hxx>
|
#include <TColgp_HArray2OfPnt2d.hxx>
|
||||||
#include <TColgp_HArray2OfPnt.hxx>
|
#include <TColgp_HArray2OfPnt.hxx>
|
||||||
#include <TColStd_HArray1OfInteger.hxx>
|
#include <TColStd_HArray1OfInteger.hxx>
|
||||||
#include <Standard_Address.hxx>
|
|
||||||
#include <AdvApprox_EvaluatorFunction.hxx>
|
#include <AdvApprox_EvaluatorFunction.hxx>
|
||||||
#include <TColStd_Array1OfInteger.hxx>
|
#include <TColStd_Array1OfInteger.hxx>
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
|
@@ -24,7 +24,6 @@
|
|||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <TColStd_HArray1OfReal.hxx>
|
#include <TColStd_HArray1OfReal.hxx>
|
||||||
#include <TColStd_HArray2OfReal.hxx>
|
#include <TColStd_HArray2OfReal.hxx>
|
||||||
#include <Standard_Address.hxx>
|
|
||||||
#include <GeomAbs_Shape.hxx>
|
#include <GeomAbs_Shape.hxx>
|
||||||
#include <AdvApprox_EvaluatorFunction.hxx>
|
#include <AdvApprox_EvaluatorFunction.hxx>
|
||||||
#include <TColStd_Array1OfInteger.hxx>
|
#include <TColStd_Array1OfInteger.hxx>
|
||||||
|
@@ -1238,7 +1238,7 @@ void VBernstein(const Standard_Integer classe,
|
|||||||
if (nbpoints > 24) throw Standard_DimensionError("VBernstein: nbpoints > 24");
|
if (nbpoints > 24) throw Standard_DimensionError("VBernstein: nbpoints > 24");
|
||||||
// math_Matrix VB(classe, nbpoints);
|
// math_Matrix VB(classe, nbpoints);
|
||||||
|
|
||||||
Standard_Integer i, j, k = 0, Som;
|
Standard_Integer i, j, Som;
|
||||||
// 300 = 1+2+ ... +24 points.
|
// 300 = 1+2+ ... +24 points.
|
||||||
Som = (Standard_Integer )( 300*((classe-1)*classe/2.-1) + classe * (nbpoints-1)*nbpoints/2.);
|
Som = (Standard_Integer )( 300*((classe-1)*classe/2.-1) + classe * (nbpoints-1)*nbpoints/2.);
|
||||||
|
|
||||||
@@ -1248,7 +1248,6 @@ void VBernstein(const Standard_Integer classe,
|
|||||||
for (j = 1; j <= nbpoints; j++) {
|
for (j = 1; j <= nbpoints; j++) {
|
||||||
M(i, j) = *tmpVB;
|
M(i, j) = *tmpVB;
|
||||||
tmpVB++;
|
tmpVB++;
|
||||||
k++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
#include <math_Matrix.hxx>
|
#include <math_Matrix.hxx>
|
||||||
#include <NCollection_Array1.hxx>
|
#include <NCollection_Array1.hxx>
|
||||||
#include <AppParCurves_Constraint.hxx>
|
#include <AppParCurves_Constraint.hxx>
|
||||||
|
#include <math_Vector.hxx>
|
||||||
|
|
||||||
struct PeriodicityInfo
|
struct PeriodicityInfo
|
||||||
{
|
{
|
||||||
|
@@ -13,7 +13,6 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
#include <Approx_ParametrizationType.hxx>
|
#include <Approx_ParametrizationType.hxx>
|
||||||
#include Approx_ParLeastSquareOfMyGradient_hxx
|
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
#include <TColgp_Array1OfPnt.hxx>
|
#include <TColgp_Array1OfPnt.hxx>
|
||||||
#include <TColgp_Array1OfPnt2d.hxx>
|
#include <TColgp_Array1OfPnt2d.hxx>
|
||||||
@@ -1392,7 +1391,7 @@ Standard_Boolean Approx_ComputeLine::ComputeCurve(const MultiLine& Line,
|
|||||||
Standard_Boolean Parallel;
|
Standard_Boolean Parallel;
|
||||||
#endif
|
#endif
|
||||||
Standard_Integer myfirstpt = firstpt, mylastpt = lastpt;
|
Standard_Integer myfirstpt = firstpt, mylastpt = lastpt;
|
||||||
Standard_Integer nbp = lastpt-firstpt+1, Kopt = 0;
|
Standard_Integer nbp = lastpt-firstpt+1;
|
||||||
math_Vector Para(firstpt, lastpt);
|
math_Vector Para(firstpt, lastpt);
|
||||||
|
|
||||||
Parameters(Line, firstpt, lastpt, Para);
|
Parameters(Line, firstpt, lastpt, Para);
|
||||||
@@ -1427,11 +1426,6 @@ Standard_Boolean Approx_ComputeLine::ComputeCurve(const MultiLine& Line,
|
|||||||
Tangent1 = LineTool::Tangency(Line, myfirstpt, tabV1);
|
Tangent1 = LineTool::Tangency(Line, myfirstpt, tabV1);
|
||||||
Tangent2 = LineTool::Tangency(Line, mylastpt, tabV2);
|
Tangent2 = LineTool::Tangency(Line, mylastpt, tabV2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Tangent1) Kopt++;
|
|
||||||
if (Tangent2) Kopt++;
|
|
||||||
|
|
||||||
|
|
||||||
if (nbp == 2) {
|
if (nbp == 2) {
|
||||||
// S il n y a que 2 points, on verifie quand meme que les tangentes sont
|
// S il n y a que 2 points, on verifie quand meme que les tangentes sont
|
||||||
// alignees.
|
// alignees.
|
||||||
|
@@ -14,34 +14,21 @@
|
|||||||
#ifndef _ApproxInt_KnotTools_HeaderFile
|
#ifndef _ApproxInt_KnotTools_HeaderFile
|
||||||
#define _ApproxInt_KnotTools_HeaderFile
|
#define _ApproxInt_KnotTools_HeaderFile
|
||||||
|
|
||||||
#ifndef _Standard_DefineAlloc_HeaderFile
|
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#endif
|
|
||||||
#ifndef _Standard_Macro_HeaderFile
|
|
||||||
#include <Standard_Macro.hxx>
|
#include <Standard_Macro.hxx>
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _Standard_Boolean_HeaderFile
|
|
||||||
#include <Standard_Boolean.hxx>
|
#include <Standard_Boolean.hxx>
|
||||||
#endif
|
|
||||||
#ifndef _Standard_Real_HeaderFile
|
|
||||||
#include <Standard_Real.hxx>
|
#include <Standard_Real.hxx>
|
||||||
#endif
|
|
||||||
#ifndef _Standard_Integer_HeaderFile
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <TColgp_Array1OfPnt2d.hxx>
|
#include <TColgp_Array1OfPnt2d.hxx>
|
||||||
|
#include <NCollection_Sequence.hxx>
|
||||||
|
#include <NCollection_List.hxx>
|
||||||
|
#include <math_Vector.hxx>
|
||||||
#include <TColgp_Array1OfPnt.hxx>
|
#include <TColgp_Array1OfPnt.hxx>
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
#include <NCollection_LocalArray.hxx>
|
#include <NCollection_LocalArray.hxx>
|
||||||
|
#include <NCollection_Vector.hxx>
|
||||||
#include <Approx_ParametrizationType.hxx>
|
#include <Approx_ParametrizationType.hxx>
|
||||||
|
|
||||||
class math_Vector;
|
|
||||||
template <class A> class NCollection_Sequence;
|
|
||||||
template <class A> class NCollection_List;
|
|
||||||
template <class A> class NCollection_Vector;
|
|
||||||
|
|
||||||
class IntPatch_WLine;
|
class IntPatch_WLine;
|
||||||
|
|
||||||
// Corresponds for debug information output.
|
// Corresponds for debug information output.
|
||||||
|
@@ -53,6 +53,6 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//! Map of actions with action Id as a key.
|
//! Map of actions with action Id as a key.
|
||||||
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRAction), TCollection_AsciiString> Aspect_XRActionMap;
|
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRAction)> Aspect_XRActionMap;
|
||||||
|
|
||||||
#endif // _Aspect_XRAction_HeaderFile
|
#endif // _Aspect_XRAction_HeaderFile
|
||||||
|
@@ -50,6 +50,6 @@ protected:
|
|||||||
Aspect_XRActionMap myActions; //!< map of actions
|
Aspect_XRActionMap myActions; //!< map of actions
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRActionSet), TCollection_AsciiString> Aspect_XRActionSetMap;
|
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRActionSet)> Aspect_XRActionSetMap;
|
||||||
|
|
||||||
#endif // _Aspect_XRActionSet_HeaderFile
|
#endif // _Aspect_XRActionSet_HeaderFile
|
||||||
|
@@ -167,7 +167,7 @@ void BOPAlgo_BuilderFace::Perform(const Message_ProgressRange& theRange)
|
|||||||
void BOPAlgo_BuilderFace::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
void BOPAlgo_BuilderFace::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
||||||
{
|
{
|
||||||
Standard_Boolean bFound;
|
Standard_Boolean bFound;
|
||||||
Standard_Integer i, iCnt, aNbV, aNbE;
|
Standard_Integer i, aNbV, aNbE;
|
||||||
TopTools_IndexedDataMapOfShapeListOfShape aMVE;
|
TopTools_IndexedDataMapOfShapeListOfShape aMVE;
|
||||||
TopTools_ListIteratorOfListOfShape aIt;
|
TopTools_ListIteratorOfListOfShape aIt;
|
||||||
//
|
//
|
||||||
@@ -175,14 +175,11 @@ void BOPAlgo_BuilderFace::PerformShapesToAvoid(const Message_ProgressRange& theR
|
|||||||
//
|
//
|
||||||
Message_ProgressScope aPS(theRange, NULL, 1);
|
Message_ProgressScope aPS(theRange, NULL, 1);
|
||||||
//
|
//
|
||||||
iCnt=0;
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
if (UserBreak(aPS))
|
if (UserBreak(aPS))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
++iCnt;
|
|
||||||
bFound=Standard_False;
|
bFound=Standard_False;
|
||||||
//
|
//
|
||||||
// 1. MEF
|
// 1. MEF
|
||||||
|
@@ -142,7 +142,7 @@ void BOPAlgo_BuilderSolid::Perform(const Message_ProgressRange& theRange)
|
|||||||
void BOPAlgo_BuilderSolid::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
void BOPAlgo_BuilderSolid::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
||||||
{
|
{
|
||||||
Standard_Boolean bFound;
|
Standard_Boolean bFound;
|
||||||
Standard_Integer i, iCnt, aNbE, aNbF;
|
Standard_Integer i, aNbE, aNbF;
|
||||||
TopAbs_Orientation aOrE;
|
TopAbs_Orientation aOrE;
|
||||||
TopTools_IndexedDataMapOfShapeListOfShape aMEF;
|
TopTools_IndexedDataMapOfShapeListOfShape aMEF;
|
||||||
TopTools_ListIteratorOfListOfShape aIt;
|
TopTools_ListIteratorOfListOfShape aIt;
|
||||||
@@ -151,12 +151,10 @@ void BOPAlgo_BuilderSolid::PerformShapesToAvoid(const Message_ProgressRange& the
|
|||||||
//
|
//
|
||||||
Message_ProgressScope aPS(theRange, NULL, 1);
|
Message_ProgressScope aPS(theRange, NULL, 1);
|
||||||
//
|
//
|
||||||
iCnt=0;
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
if (UserBreak(aPS)) {
|
if (UserBreak(aPS)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
++iCnt;
|
|
||||||
bFound=Standard_False;
|
bFound=Standard_False;
|
||||||
//
|
//
|
||||||
// 1. MEF
|
// 1. MEF
|
||||||
|
@@ -549,8 +549,7 @@ void BOPAlgo_Builder::BuildSplitFaces(const Message_ProgressRange& theRange)
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
typedef
|
typedef
|
||||||
NCollection_IndexedDataMap<BOPTools_Set,
|
NCollection_IndexedDataMap<BOPTools_Set,
|
||||||
TopTools_ListOfShape,
|
TopTools_ListOfShape> BOPAlgo_IndexedDataMapOfSetListOfShape;
|
||||||
BOPTools_SetMapHasher> BOPAlgo_IndexedDataMapOfSetListOfShape;
|
|
||||||
|
|
||||||
static void AddEdgeSet(const TopoDS_Shape& theS,
|
static void AddEdgeSet(const TopoDS_Shape& theS,
|
||||||
BOPAlgo_IndexedDataMapOfSetListOfShape& theMap,
|
BOPAlgo_IndexedDataMapOfSetListOfShape& theMap,
|
||||||
@@ -619,8 +618,7 @@ void BOPAlgo_Builder::FillSameDomainFaces(const Message_ProgressRange& theRange)
|
|||||||
|
|
||||||
// Data map of set of edges with all faces having this set
|
// Data map of set of edges with all faces having this set
|
||||||
NCollection_IndexedDataMap<BOPTools_Set,
|
NCollection_IndexedDataMap<BOPTools_Set,
|
||||||
TopTools_ListOfShape,
|
TopTools_ListOfShape> anESetFaces(1, aAllocator);
|
||||||
BOPTools_SetMapHasher> anESetFaces(1, aAllocator);
|
|
||||||
// Map of planar bounded faces. If such faces have the same Edge set
|
// Map of planar bounded faces. If such faces have the same Edge set
|
||||||
// they are considered Same domain, without additional check.
|
// they are considered Same domain, without additional check.
|
||||||
TopTools_MapOfShape aMFPlanar(1, aAllocator);
|
TopTools_MapOfShape aMFPlanar(1, aAllocator);
|
||||||
@@ -700,7 +698,7 @@ void BOPAlgo_Builder::FillSameDomainFaces(const Message_ProgressRange& theRange)
|
|||||||
if (bCheckPlanar && aMFPlanar.Contains(aF2))
|
if (bCheckPlanar && aMFPlanar.Contains(aF2))
|
||||||
{
|
{
|
||||||
// Consider planar bounded faces as Same Domain without additional check
|
// Consider planar bounded faces as Same Domain without additional check
|
||||||
BOPAlgo_Tools::FillMap<TopoDS_Shape, TopTools_ShapeMapHasher>(aF1, aF2, aDMSLS, aAllocator);
|
BOPAlgo_Tools::FillMap(aF1, aF2, aDMSLS, aAllocator);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// Add pair for analysis
|
// Add pair for analysis
|
||||||
@@ -736,14 +734,12 @@ void BOPAlgo_Builder::FillSameDomainFaces(const Message_ProgressRange& theRange)
|
|||||||
{
|
{
|
||||||
BOPAlgo_PairOfShapeBoolean& aPSB = aVPSB(i);
|
BOPAlgo_PairOfShapeBoolean& aPSB = aVPSB(i);
|
||||||
if (aPSB.Flag())
|
if (aPSB.Flag())
|
||||||
BOPAlgo_Tools::FillMap<TopoDS_Shape, TopTools_ShapeMapHasher>
|
BOPAlgo_Tools::FillMap(aPSB.Shape1(), aPSB.Shape2(), aDMSLS, aAllocator);
|
||||||
(aPSB.Shape1(), aPSB.Shape2(), aDMSLS, aAllocator);
|
|
||||||
}
|
}
|
||||||
aVPSB.Clear();
|
aVPSB.Clear();
|
||||||
|
|
||||||
// Make blocks of SD faces using the back and forth map
|
// Make blocks of SD faces using the back and forth map
|
||||||
BOPAlgo_Tools::MakeBlocks<TopoDS_Shape, TopTools_ShapeMapHasher>
|
BOPAlgo_Tools::MakeBlocks(aDMSLS, aMBlocks, aAllocator);
|
||||||
(aDMSLS, aMBlocks, aAllocator);
|
|
||||||
|
|
||||||
Message_ProgressScope aPS(aPSOuter.Next(3), "Filling same domain faces map", aMBlocks.Size());
|
Message_ProgressScope aPS(aPSOuter.Next(3), "Filling same domain faces map", aMBlocks.Size());
|
||||||
// Fill same domain faces map
|
// Fill same domain faces map
|
||||||
@@ -1027,7 +1023,7 @@ TopoDS_Face BuildDraftFace(const TopoDS_Face& theFace,
|
|||||||
TopTools_ListIteratorOfListOfShape aItLEIm(*pLEIm);
|
TopTools_ListIteratorOfListOfShape aItLEIm(*pLEIm);
|
||||||
for (; aItLEIm.More(); aItLEIm.Next())
|
for (; aItLEIm.More(); aItLEIm.Next())
|
||||||
{
|
{
|
||||||
TopoDS_Edge& aSp = TopoDS::Edge(aItLEIm.Value());
|
TopoDS_Edge& aSp = TopoDS::Edge(aItLEIm.ChangeValue());
|
||||||
|
|
||||||
// Check if the split has multi-connected vertices
|
// Check if the split has multi-connected vertices
|
||||||
if (!bIsDegenerated && HasMultiConnected(aSp, aVerticesCounter))
|
if (!bIsDegenerated && HasMultiConnected(aSp, aVerticesCounter))
|
||||||
|
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
|
|
||||||
#include <TopTools_OrientedShapeMapHasher.hxx>
|
|
||||||
|
|
||||||
//! BOPAlgo_MakeConnected is the algorithm for making the touching
|
//! BOPAlgo_MakeConnected is the algorithm for making the touching
|
||||||
//! shapes connected or glued, i.e. for making the coinciding geometries
|
//! shapes connected or glued, i.e. for making the coinciding geometries
|
||||||
@@ -321,8 +320,7 @@ protected: //! @name Fields
|
|||||||
// Results
|
// Results
|
||||||
NCollection_DataMap
|
NCollection_DataMap
|
||||||
<TopoDS_Shape,
|
<TopoDS_Shape,
|
||||||
TopTools_ListOfShape,
|
TopTools_ListOfShape> myMaterials; //!< Map of the materials associations
|
||||||
TopTools_OrientedShapeMapHasher> myMaterials; //!< Map of the materials associations
|
|
||||||
//! for the border elements
|
//! for the border elements
|
||||||
TopTools_DataMapOfShapeListOfShape myOrigins; //!< Map of origins
|
TopTools_DataMapOfShapeListOfShape myOrigins; //!< Map of origins
|
||||||
//! (allows tracking the shape's ancestors)
|
//! (allows tracking the shape's ancestors)
|
||||||
|
@@ -180,13 +180,11 @@ protected:
|
|||||||
|
|
||||||
typedef NCollection_DataMap
|
typedef NCollection_DataMap
|
||||||
<Handle(BOPDS_PaveBlock),
|
<Handle(BOPDS_PaveBlock),
|
||||||
Bnd_Box,
|
Bnd_Box> BOPAlgo_DataMapOfPaveBlockBndBox;
|
||||||
TColStd_MapTransientHasher> BOPAlgo_DataMapOfPaveBlockBndBox;
|
|
||||||
|
|
||||||
typedef NCollection_DataMap
|
typedef NCollection_DataMap
|
||||||
<Handle(BOPDS_PaveBlock),
|
<Handle(BOPDS_PaveBlock),
|
||||||
TColStd_ListOfInteger,
|
TColStd_ListOfInteger> BOPAlgo_DataMapOfPaveBlockListOfInteger;
|
||||||
TColStd_MapTransientHasher> BOPAlgo_DataMapOfPaveBlockListOfInteger;
|
|
||||||
|
|
||||||
typedef NCollection_DataMap
|
typedef NCollection_DataMap
|
||||||
<Standard_Integer,
|
<Standard_Integer,
|
||||||
@@ -658,8 +656,8 @@ protected: //! Fields
|
|||||||
//! on a section curve.
|
//! on a section curve.
|
||||||
|
|
||||||
NCollection_DataMap <BOPDS_Pair,
|
NCollection_DataMap <BOPDS_Pair,
|
||||||
NCollection_List<EdgeRangeDistance>,
|
NCollection_List<EdgeRangeDistance>>
|
||||||
BOPDS_PairMapHasher> myDistances; //!< Map to store minimal distances between shapes
|
myDistances; //!< Map to store minimal distances between shapes
|
||||||
//! which have no real intersections
|
//! which have no real intersections
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@@ -75,7 +75,7 @@ void BOPAlgo_PaveFiller::PerformVV(const Message_ProgressRange& theRange)
|
|||||||
//
|
//
|
||||||
if (myDS->HasInterf(n1, n2))
|
if (myDS->HasInterf(n1, n2))
|
||||||
{
|
{
|
||||||
BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher>(n1, n2, aMILI, aAllocator);
|
BOPAlgo_Tools::FillMap(n1, n2, aMILI, aAllocator);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,12 +91,12 @@ void BOPAlgo_PaveFiller::PerformVV(const Message_ProgressRange& theRange)
|
|||||||
|
|
||||||
iFlag = BOPTools_AlgoTools::ComputeVV(aV1, aV2, myFuzzyValue);
|
iFlag = BOPTools_AlgoTools::ComputeVV(aV1, aV2, myFuzzyValue);
|
||||||
if (!iFlag) {
|
if (!iFlag) {
|
||||||
BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher>(n1, n2, aMILI, aAllocator);
|
BOPAlgo_Tools::FillMap(n1, n2, aMILI, aAllocator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// 2. Make blocks
|
// 2. Make blocks
|
||||||
BOPAlgo_Tools::MakeBlocks<Standard_Integer, TColStd_MapIntegerHasher>(aMILI, aMBlocks, aAllocator);
|
BOPAlgo_Tools::MakeBlocks(aMILI, aMBlocks, aAllocator);
|
||||||
//
|
//
|
||||||
// 3. Make vertices
|
// 3. Make vertices
|
||||||
NCollection_List<TColStd_ListOfInteger>::Iterator aItB(aMBlocks);
|
NCollection_List<TColStd_ListOfInteger>::Iterator aItB(aMBlocks);
|
||||||
|
@@ -229,7 +229,7 @@ void BOPAlgo_PaveFiller::IntersectVE
|
|||||||
// for all vertices having the same SD vertex.
|
// for all vertices having the same SD vertex.
|
||||||
// It will also be used as a Fence map to avoid repeated
|
// It will also be used as a Fence map to avoid repeated
|
||||||
// intersection of the same SD vertex with edge
|
// intersection of the same SD vertex with edge
|
||||||
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger, BOPDS_PairMapHasher> aDMVSD;
|
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger> aDMVSD;
|
||||||
//
|
//
|
||||||
Message_ProgressScope aPSOuter(theRange, NULL, 10);
|
Message_ProgressScope aPSOuter(theRange, NULL, 10);
|
||||||
for (i = 1; i <= aNbVE; ++i) {
|
for (i = 1; i <= aNbVE; ++i) {
|
||||||
@@ -407,8 +407,7 @@ void BOPAlgo_PaveFiller::SplitPaveBlocks(const TColStd_MapOfInteger& theMEdges,
|
|||||||
BOPDS_MapOfPair aMPairs;
|
BOPDS_MapOfPair aMPairs;
|
||||||
// Map to treat the Common Blocks
|
// Map to treat the Common Blocks
|
||||||
NCollection_IndexedDataMap<Handle(BOPDS_CommonBlock),
|
NCollection_IndexedDataMap<Handle(BOPDS_CommonBlock),
|
||||||
BOPDS_ListOfPaveBlock,
|
BOPDS_ListOfPaveBlock> aMCBNewPB;
|
||||||
TColStd_MapTransientHasher> aMCBNewPB;
|
|
||||||
//
|
//
|
||||||
// Map of vertices to init the pave blocks for them
|
// Map of vertices to init the pave blocks for them
|
||||||
TColStd_MapOfInteger aMVerticesToInitPB;
|
TColStd_MapOfInteger aMVerticesToInitPB;
|
||||||
@@ -507,7 +506,7 @@ void BOPAlgo_PaveFiller::SplitPaveBlocks(const TColStd_MapOfInteger& theMEdges,
|
|||||||
const BOPDS_ListOfPaveBlock& aLPBN = aMCBNewPB(i);
|
const BOPDS_ListOfPaveBlock& aLPBN = aMCBNewPB(i);
|
||||||
//
|
//
|
||||||
// For each group of pave blocks with the same vertices make new common block
|
// For each group of pave blocks with the same vertices make new common block
|
||||||
NCollection_IndexedDataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher> aMInds;
|
NCollection_IndexedDataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock> aMInds;
|
||||||
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBN);
|
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBN);
|
||||||
for (; aItLPB.More(); aItLPB.Next()) {
|
for (; aItLPB.More(); aItLPB.Next()) {
|
||||||
const Handle(BOPDS_PaveBlock)& aPB = aItLPB.Value();
|
const Handle(BOPDS_PaveBlock)& aPB = aItLPB.Value();
|
||||||
|
@@ -526,7 +526,7 @@ void BOPAlgo_PaveFiller::PerformEE(const Message_ProgressRange& theRange)
|
|||||||
// 2
|
// 2
|
||||||
myDS->AddInterf(nE1, nE2);
|
myDS->AddInterf(nE1, nE2);
|
||||||
//
|
//
|
||||||
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher>(aPB1, aPB2, aMPBLPB, aAllocator);
|
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock)>(aPB1, aPB2, aMPBLPB, aAllocator);
|
||||||
}//case TopAbs_EDGE
|
}//case TopAbs_EDGE
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -964,8 +964,7 @@ void BOPAlgo_PaveFiller::ForceInterfEE(const Message_ProgressRange& theRange)
|
|||||||
// Fill the connection map from bounding vertices to pave blocks
|
// Fill the connection map from bounding vertices to pave blocks
|
||||||
// having those bounding vertices
|
// having those bounding vertices
|
||||||
NCollection_IndexedDataMap<BOPDS_Pair,
|
NCollection_IndexedDataMap<BOPDS_Pair,
|
||||||
BOPDS_ListOfPaveBlock,
|
BOPDS_ListOfPaveBlock> aPBMap(1, anAlloc);
|
||||||
BOPDS_PairMapHasher> aPBMap(1, anAlloc);
|
|
||||||
// Fence map of pave blocks
|
// Fence map of pave blocks
|
||||||
BOPDS_MapOfPaveBlock aMPBFence(1, anAlloc);
|
BOPDS_MapOfPaveBlock aMPBFence(1, anAlloc);
|
||||||
|
|
||||||
@@ -1147,7 +1146,7 @@ void BOPAlgo_PaveFiller::ForceInterfEE(const Message_ProgressRange& theRange)
|
|||||||
|
|
||||||
aPBMap.Clear();
|
aPBMap.Clear();
|
||||||
aMPBFence.Clear();
|
aMPBFence.Clear();
|
||||||
anAlloc->Reset();
|
anAlloc->Reset(false);
|
||||||
|
|
||||||
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for coinciding edges", aNbPairs);
|
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for coinciding edges", aNbPairs);
|
||||||
for (Standard_Integer i = 0; i < aNbPairs; i++)
|
for (Standard_Integer i = 0; i < aNbPairs; i++)
|
||||||
@@ -1221,14 +1220,11 @@ void BOPAlgo_PaveFiller::ForceInterfEE(const Message_ProgressRange& theRange)
|
|||||||
const BOPDS_ListOfPaveBlock& aLPBCB = myDS->CommonBlock(aPB[j])->PaveBlocks();
|
const BOPDS_ListOfPaveBlock& aLPBCB = myDS->CommonBlock(aPB[j])->PaveBlocks();
|
||||||
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBCB);
|
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBCB);
|
||||||
for (; aItLPB.More(); aItLPB.Next())
|
for (; aItLPB.More(); aItLPB.Next())
|
||||||
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock),
|
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock)>(aPB[j], aItLPB.Value(), aMPBLPB, anAlloc);
|
||||||
TColStd_MapTransientHasher>(aPB[j], aItLPB.Value(), aMPBLPB, anAlloc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock),
|
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock)>(aPB[0], aPB[1], aMPBLPB, anAlloc);
|
||||||
TColStd_MapTransientHasher>(aPB[0], aPB[1], aMPBLPB, anAlloc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create new common blocks of coinciding pairs.
|
// Create new common blocks of coinciding pairs.
|
||||||
BOPAlgo_Tools::PerformCommonBlocks(aMPBLPB, anAlloc, myDS);
|
BOPAlgo_Tools::PerformCommonBlocks(aMPBLPB, anAlloc, myDS);
|
||||||
}
|
}
|
||||||
|
@@ -172,7 +172,7 @@ void BOPAlgo_PaveFiller::PerformVF(const Message_ProgressRange& theRange)
|
|||||||
//
|
//
|
||||||
// Avoid repeated intersection of the same vertex with face in case
|
// Avoid repeated intersection of the same vertex with face in case
|
||||||
// the group of vertices formed a single SD vertex
|
// the group of vertices formed a single SD vertex
|
||||||
NCollection_DataMap<BOPDS_Pair, TColStd_MapOfInteger, BOPDS_PairMapHasher> aMVFPairs;
|
NCollection_DataMap<BOPDS_Pair, TColStd_MapOfInteger> aMVFPairs;
|
||||||
for (; myIterator->More(); myIterator->Next()) {
|
for (; myIterator->More(); myIterator->Next()) {
|
||||||
if (UserBreak(aPSOuter))
|
if (UserBreak(aPSOuter))
|
||||||
{
|
{
|
||||||
|
@@ -573,30 +573,11 @@ Standard_Boolean BOPAlgo_PaveFiller::CheckFacePaves
|
|||||||
const TColStd_MapOfInteger& aMIFOn,
|
const TColStd_MapOfInteger& aMIFOn,
|
||||||
const TColStd_MapOfInteger& aMIFIn)
|
const TColStd_MapOfInteger& aMIFIn)
|
||||||
{
|
{
|
||||||
Standard_Boolean bRet;
|
if (aMIFOn.Contains(nVx) || aMIFIn.Contains(nVx))
|
||||||
Standard_Integer nV;
|
{
|
||||||
TColStd_MapIteratorOfMapOfInteger aIt;
|
return true;
|
||||||
//
|
|
||||||
bRet=Standard_False;
|
|
||||||
//
|
|
||||||
aIt.Initialize(aMIFOn);
|
|
||||||
for (; aIt.More(); aIt.Next()) {
|
|
||||||
nV=aIt.Value();
|
|
||||||
if (nV==nVx) {
|
|
||||||
bRet=!bRet;
|
|
||||||
return bRet;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
aIt.Initialize(aMIFIn);
|
return false;
|
||||||
for (; aIt.More(); aIt.Next()) {
|
|
||||||
nV=aIt.Value();
|
|
||||||
if (nV==nVx) {
|
|
||||||
bRet=!bRet;
|
|
||||||
return bRet;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//
|
|
||||||
return bRet;
|
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// function: CheckFacePaves
|
// function: CheckFacePaves
|
||||||
@@ -1073,7 +1054,7 @@ void BOPAlgo_PaveFiller::ForceInterfEF(const BOPDS_IndexedMapOfPaveBlock& theMPB
|
|||||||
aPSOuter.Next(0.7);
|
aPSOuter.Next(0.7);
|
||||||
|
|
||||||
aPBMap.Clear();
|
aPBMap.Clear();
|
||||||
anAlloc->Reset();
|
anAlloc->Reset(false);
|
||||||
|
|
||||||
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for edges coinciding with faces", aNbEFs);
|
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for edges coinciding with faces", aNbEFs);
|
||||||
for (Standard_Integer i = 0; i < aNbEFs; i++)
|
for (Standard_Integer i = 0; i < aNbEFs; i++)
|
||||||
|
@@ -281,7 +281,7 @@ void BOPAlgo_PaveFiller::PerformFF(const Message_ProgressRange& theRange)
|
|||||||
//
|
//
|
||||||
// Collect all pairs of Edge/Edge interferences to check if
|
// Collect all pairs of Edge/Edge interferences to check if
|
||||||
// some faces have to be moved to obtain more precise intersection
|
// some faces have to be moved to obtain more precise intersection
|
||||||
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger, BOPDS_PairMapHasher> aEEMap;
|
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger> aEEMap;
|
||||||
const BOPDS_VectorOfInterfEE& aVEEs = myDS->InterfEE();
|
const BOPDS_VectorOfInterfEE& aVEEs = myDS->InterfEE();
|
||||||
for (Standard_Integer iEE = 0; iEE < aVEEs.Size(); ++iEE)
|
for (Standard_Integer iEE = 0; iEE < aVEEs.Size(); ++iEE)
|
||||||
{
|
{
|
||||||
@@ -1198,8 +1198,7 @@ void BOPAlgo_PaveFiller::PostTreatFF
|
|||||||
// Map to store the real tolerance of the common block
|
// Map to store the real tolerance of the common block
|
||||||
// and avoid repeated computation of it
|
// and avoid repeated computation of it
|
||||||
NCollection_DataMap<Handle(BOPDS_CommonBlock),
|
NCollection_DataMap<Handle(BOPDS_CommonBlock),
|
||||||
Standard_Real,
|
Standard_Real> aMCBTol;
|
||||||
TColStd_MapTransientHasher> aMCBTol;
|
|
||||||
// Map to avoid creation of different pave blocks for
|
// Map to avoid creation of different pave blocks for
|
||||||
// the same intersection edge
|
// the same intersection edge
|
||||||
NCollection_DataMap<Standard_Integer, Handle(BOPDS_PaveBlock)> aMEPB;
|
NCollection_DataMap<Standard_Integer, Handle(BOPDS_PaveBlock)> aMEPB;
|
||||||
|
@@ -119,7 +119,7 @@ void BOPAlgo_Tools::PerformCommonBlocks(BOPDS_IndexedDataMapOfPaveBlockListOfPav
|
|||||||
}
|
}
|
||||||
// Make Blocks of the pave blocks
|
// Make Blocks of the pave blocks
|
||||||
NCollection_List<BOPDS_ListOfPaveBlock> aMBlocks(aAllocator);
|
NCollection_List<BOPDS_ListOfPaveBlock> aMBlocks(aAllocator);
|
||||||
BOPAlgo_Tools::MakeBlocks<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher>(aMPBLPB, aMBlocks, aAllocator);
|
BOPAlgo_Tools::MakeBlocks(aMPBLPB, aMBlocks, aAllocator);
|
||||||
|
|
||||||
// Use temporary allocator for the local fence map
|
// Use temporary allocator for the local fence map
|
||||||
Handle(NCollection_IncAllocator) anAllocTmp = new NCollection_IncAllocator;
|
Handle(NCollection_IncAllocator) anAllocTmp = new NCollection_IncAllocator;
|
||||||
@@ -132,7 +132,7 @@ void BOPAlgo_Tools::PerformCommonBlocks(BOPDS_IndexedDataMapOfPaveBlockListOfPav
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Reset the allocator
|
// Reset the allocator
|
||||||
anAllocTmp->Reset();
|
anAllocTmp->Reset(false);
|
||||||
// New common block
|
// New common block
|
||||||
Handle(BOPDS_CommonBlock) aCB;
|
Handle(BOPDS_CommonBlock) aCB;
|
||||||
// Faces of the common block
|
// Faces of the common block
|
||||||
@@ -1068,11 +1068,11 @@ void BOPAlgo_Tools::IntersectVertices(const TopTools_IndexedDataMapOfShapeReal&
|
|||||||
for (Standard_Integer iPair = 0; iPair < aNbPairs; ++iPair)
|
for (Standard_Integer iPair = 0; iPair < aNbPairs; ++iPair)
|
||||||
{
|
{
|
||||||
const BOPTools_BoxPairSelector::PairIDs& aPair = aPairs[iPair];
|
const BOPTools_BoxPairSelector::PairIDs& aPair = aPairs[iPair];
|
||||||
BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher> (aPair.ID1, aPair.ID2, aMILI, anAlloc);
|
BOPAlgo_Tools::FillMap (aPair.ID1, aPair.ID2, aMILI, anAlloc);
|
||||||
}
|
}
|
||||||
|
|
||||||
NCollection_List<TColStd_ListOfInteger> aBlocks (anAlloc);
|
NCollection_List<TColStd_ListOfInteger> aBlocks(anAlloc);
|
||||||
BOPAlgo_Tools::MakeBlocks<Standard_Integer, TColStd_MapIntegerHasher> (aMILI, aBlocks, anAlloc);
|
BOPAlgo_Tools::MakeBlocks (aMILI, aBlocks, anAlloc);
|
||||||
|
|
||||||
NCollection_List<TColStd_ListOfInteger>::Iterator itLI (aBlocks);
|
NCollection_List<TColStd_ListOfInteger>::Iterator itLI (aBlocks);
|
||||||
for (; itLI.More(); itLI.Next())
|
for (; itLI.More(); itLI.Next())
|
||||||
|
@@ -42,31 +42,31 @@ class BOPAlgo_Tools
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//! Makes the chains of the connected elements from the given connexity map
|
//! Makes the chains of the connected elements from the given convexity map
|
||||||
template <class theType, class theTypeHasher>
|
template <class TheMap, class TheList>
|
||||||
static void MakeBlocks(const NCollection_IndexedDataMap<theType, NCollection_List<theType>, theTypeHasher>& theMILI,
|
static void MakeBlocks(const TheMap& theMILI,
|
||||||
NCollection_List<NCollection_List<theType>>& theMBlocks,
|
TheList& theMBlocks,
|
||||||
const Handle(NCollection_BaseAllocator)& theAllocator)
|
const Handle(NCollection_BaseAllocator)& theAllocator)
|
||||||
{
|
{
|
||||||
NCollection_Map<theType, theTypeHasher> aMFence;
|
NCollection_Map<typename TheMap::key_type, typename TheMap::hasher> aMFence;
|
||||||
Standard_Integer i, aNb = theMILI.Extent();
|
Standard_Integer i, aNb = theMILI.Extent();
|
||||||
for (i = 1; i <= aNb; ++i) {
|
for (i = 1; i <= aNb; ++i) {
|
||||||
const theType& n = theMILI.FindKey(i);
|
const typename TheMap::key_type& n = theMILI.FindKey(i);
|
||||||
if (!aMFence.Add(n))
|
if (!aMFence.Add(n))
|
||||||
continue;
|
continue;
|
||||||
//
|
//
|
||||||
// Start the chain
|
// Start the chain
|
||||||
NCollection_List<theType>& aChain = theMBlocks.Append(NCollection_List<theType>(theAllocator));
|
typename TheList::value_type& aChain = theMBlocks.Append(typename TheList::value_type(theAllocator));
|
||||||
aChain.Append(n);
|
aChain.Append(n);
|
||||||
// Look for connected elements
|
// Look for connected elements
|
||||||
typename NCollection_List<theType>::Iterator aItLChain(aChain);
|
typename TheList::value_type::Iterator aItLChain(aChain);
|
||||||
for (; aItLChain.More(); aItLChain.Next()) {
|
for (; aItLChain.More(); aItLChain.Next()) {
|
||||||
const theType& n1 = aItLChain.Value();
|
const typename TheMap::key_type& n1 = aItLChain.Value();
|
||||||
const NCollection_List<theType>& aLI = theMILI.FindFromKey(n1);
|
const typename TheList::value_type& aLI = theMILI.FindFromKey(n1);
|
||||||
// Add connected elements into the chain
|
// Add connected elements into the chain
|
||||||
typename NCollection_List<theType>::Iterator aItLI(aLI);
|
typename TheList::value_type::Iterator aItLI(aLI);
|
||||||
for (; aItLI.More(); aItLI.Next()) {
|
for (; aItLI.More(); aItLI.Next()) {
|
||||||
const theType& n2 = aItLI.Value();
|
const typename TheMap::key_type& n2 = aItLI.Value();
|
||||||
if (aMFence.Add(n2)) {
|
if (aMFence.Add(n2)) {
|
||||||
aChain.Append(n2);
|
aChain.Append(n2);
|
||||||
}
|
}
|
||||||
@@ -76,21 +76,21 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! Fills the map with the connected entities
|
//! Fills the map with the connected entities
|
||||||
template <class theType, class theTypeHasher>
|
template <class TheType, class TheMap>
|
||||||
static void FillMap(const theType& n1,
|
static void FillMap(const TheType& n1,
|
||||||
const theType& n2,
|
const TheType& n2,
|
||||||
NCollection_IndexedDataMap<theType, NCollection_List<theType>, theTypeHasher>& theMILI,
|
TheMap& theMILI,
|
||||||
const Handle(NCollection_BaseAllocator)& theAllocator)
|
const Handle(NCollection_BaseAllocator)& theAllocator)
|
||||||
{
|
{
|
||||||
NCollection_List<theType> *pList1 = theMILI.ChangeSeek(n1);
|
typename TheMap::value_type *pList1 = theMILI.ChangeSeek(n1);
|
||||||
if (!pList1) {
|
if (!pList1) {
|
||||||
pList1 = &theMILI(theMILI.Add(n1, NCollection_List<theType>(theAllocator)));
|
pList1 = &theMILI(theMILI.Add(n1, NCollection_List<TheType>(theAllocator)));
|
||||||
}
|
}
|
||||||
pList1->Append(n2);
|
pList1->Append(n2);
|
||||||
//
|
//
|
||||||
NCollection_List<theType> *pList2 = theMILI.ChangeSeek(n2);
|
typename TheMap::value_type*pList2 = theMILI.ChangeSeek(n2);
|
||||||
if (!pList2) {
|
if (!pList2) {
|
||||||
pList2 = &theMILI(theMILI.Add(n2, NCollection_List<theType>(theAllocator)));
|
pList2 = &theMILI(theMILI.Add(n2, typename TheMap::value_type(theAllocator)));
|
||||||
}
|
}
|
||||||
pList2->Append(n1);
|
pList2->Append(n1);
|
||||||
}
|
}
|
||||||
|
@@ -965,8 +965,8 @@ void BOPDS_DS::UpdateCommonBlock(const Handle(BOPDS_CommonBlock)& theCB,
|
|||||||
Standard_Integer nE, iRef, n1, n2;
|
Standard_Integer nE, iRef, n1, n2;
|
||||||
BOPDS_ListIteratorOfListOfPaveBlock aItPB, aItPBCB, aItPBN;
|
BOPDS_ListIteratorOfListOfPaveBlock aItPB, aItPBCB, aItPBN;
|
||||||
BOPDS_ListOfPaveBlock aLPBN;
|
BOPDS_ListOfPaveBlock aLPBN;
|
||||||
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher> aMPKLPB;
|
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock> aMPKLPB;
|
||||||
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher>::Iterator aItMPKLPB;
|
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock>::Iterator aItMPKLPB;
|
||||||
Handle(BOPDS_PaveBlock) aPB;
|
Handle(BOPDS_PaveBlock) aPB;
|
||||||
Handle(BOPDS_CommonBlock) aCBx;
|
Handle(BOPDS_CommonBlock) aCBx;
|
||||||
BOPDS_Pair aPK;
|
BOPDS_Pair aPK;
|
||||||
|
@@ -18,6 +18,6 @@
|
|||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <BOPDS_ListOfPaveBlock.hxx>
|
#include <BOPDS_ListOfPaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Standard_Integer, BOPDS_ListOfPaveBlock, TColStd_MapIntegerHasher> BOPDS_DataMapOfIntegerListOfPaveBlock;
|
typedef NCollection_DataMap<Standard_Integer, BOPDS_ListOfPaveBlock> BOPDS_DataMapOfIntegerListOfPaveBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,10 +17,9 @@
|
|||||||
#define BOPDS_DataMapOfPaveBlockCommonBlock_HeaderFile
|
#define BOPDS_DataMapOfPaveBlockCommonBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_CommonBlock.hxx>
|
#include <BOPDS_CommonBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), Handle(BOPDS_CommonBlock), TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockCommonBlock;
|
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), Handle(BOPDS_CommonBlock)> BOPDS_DataMapOfPaveBlockCommonBlock;
|
||||||
typedef BOPDS_DataMapOfPaveBlockCommonBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockCommonBlock;
|
typedef BOPDS_DataMapOfPaveBlockCommonBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockCommonBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_DataMapOfPaveBlockListOfInteger_HeaderFile
|
#define BOPDS_DataMapOfPaveBlockListOfInteger_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <TColStd_ListOfInteger.hxx>
|
#include <TColStd_ListOfInteger.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), TColStd_ListOfInteger, TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockListOfInteger;
|
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), TColStd_ListOfInteger> BOPDS_DataMapOfPaveBlockListOfInteger;
|
||||||
typedef BOPDS_DataMapOfPaveBlockListOfInteger::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfInteger;
|
typedef BOPDS_DataMapOfPaveBlockListOfInteger::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfInteger;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,11 +16,10 @@
|
|||||||
#define BOPDS_DataMapOfPaveBlockListOfPaveBlock_HeaderFile
|
#define BOPDS_DataMapOfPaveBlockListOfPaveBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_PaveBlock.hxx>
|
#include <BOPDS_PaveBlock.hxx>
|
||||||
#include <BOPDS_ListOfPaveBlock.hxx>
|
#include <BOPDS_ListOfPaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock, TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockListOfPaveBlock;
|
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock> BOPDS_DataMapOfPaveBlockListOfPaveBlock;
|
||||||
typedef BOPDS_DataMapOfPaveBlockListOfPaveBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfPaveBlock;
|
typedef BOPDS_DataMapOfPaveBlockListOfPaveBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfPaveBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_IndexedDataMapOfPaveBlockListOfInteger_HeaderFile
|
#define BOPDS_IndexedDataMapOfPaveBlockListOfInteger_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_IndexedDataMap.hxx>
|
#include <NCollection_IndexedDataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <TColStd_ListOfInteger.hxx>
|
#include <TColStd_ListOfInteger.hxx>
|
||||||
#include <BOPDS_PaveBlock.hxx>
|
#include <BOPDS_PaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_IndexedDataMap<Handle(BOPDS_PaveBlock), TColStd_ListOfInteger, TColStd_MapTransientHasher> BOPDS_IndexedDataMapOfPaveBlockListOfInteger;
|
typedef NCollection_IndexedDataMap<Handle(BOPDS_PaveBlock), TColStd_ListOfInteger> BOPDS_IndexedDataMapOfPaveBlockListOfInteger;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_HeaderFile
|
#define BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_IndexedDataMap.hxx>
|
#include <NCollection_IndexedDataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_PaveBlock.hxx>
|
#include <BOPDS_PaveBlock.hxx>
|
||||||
#include <BOPDS_ListOfPaveBlock.hxx>
|
#include <BOPDS_ListOfPaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_IndexedDataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock, TColStd_MapTransientHasher> BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock;
|
typedef NCollection_IndexedDataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock> BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,9 +16,8 @@
|
|||||||
#define BOPDS_IndexedMapOfPaveBlock_HeaderFile
|
#define BOPDS_IndexedMapOfPaveBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_IndexedMap.hxx>
|
#include <NCollection_IndexedMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_PaveBlock.hxx>
|
#include <BOPDS_PaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_IndexedMap<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher> BOPDS_IndexedMapOfPaveBlock;
|
typedef NCollection_IndexedMap<Handle(BOPDS_PaveBlock)> BOPDS_IndexedMapOfPaveBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -15,9 +15,11 @@
|
|||||||
#ifndef BOPDS_ListOfPaveBlock_HeaderFile
|
#ifndef BOPDS_ListOfPaveBlock_HeaderFile
|
||||||
#define BOPDS_ListOfPaveBlock_HeaderFile
|
#define BOPDS_ListOfPaveBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_List.hxx>
|
#include <NCollection_List.hxx>
|
||||||
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
class BOPDS_PaveBlock;
|
class BOPDS_PaveBlock;
|
||||||
|
|
||||||
typedef NCollection_List<Handle(BOPDS_PaveBlock)> BOPDS_ListOfPaveBlock;
|
typedef NCollection_List<Handle(BOPDS_PaveBlock)> BOPDS_ListOfPaveBlock;
|
||||||
typedef BOPDS_ListOfPaveBlock::Iterator BOPDS_ListIteratorOfListOfPaveBlock;
|
typedef BOPDS_ListOfPaveBlock::Iterator BOPDS_ListIteratorOfListOfPaveBlock;
|
||||||
|
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_MapOfCommonBlock_HeaderFile
|
#define BOPDS_MapOfCommonBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_Map.hxx>
|
#include <NCollection_Map.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_CommonBlock.hxx>
|
#include <BOPDS_CommonBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_Map<Handle(BOPDS_CommonBlock), TColStd_MapTransientHasher> BOPDS_MapOfCommonBlock;
|
typedef NCollection_Map<Handle(BOPDS_CommonBlock)> BOPDS_MapOfCommonBlock;
|
||||||
typedef BOPDS_MapOfCommonBlock::Iterator BOPDS_MapIteratorOfMapOfCommonBlock;
|
typedef BOPDS_MapOfCommonBlock::Iterator BOPDS_MapIteratorOfMapOfCommonBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_MapOfPair_HeaderFile
|
#define BOPDS_MapOfPair_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_Map.hxx>
|
#include <NCollection_Map.hxx>
|
||||||
#include <BOPDS_PairMapHasher.hxx>
|
|
||||||
#include <BOPDS_Pair.hxx>
|
#include <BOPDS_Pair.hxx>
|
||||||
|
|
||||||
typedef NCollection_Map<BOPDS_Pair, BOPDS_PairMapHasher> BOPDS_MapOfPair;
|
typedef NCollection_Map<BOPDS_Pair> BOPDS_MapOfPair;
|
||||||
typedef BOPDS_MapOfPair::Iterator BOPDS_MapIteratorOfMapOfPair;
|
typedef BOPDS_MapOfPair::Iterator BOPDS_MapIteratorOfMapOfPair;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_MapOfPave_HeaderFile
|
#define BOPDS_MapOfPave_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_Map.hxx>
|
#include <NCollection_Map.hxx>
|
||||||
#include <BOPDS_PaveMapHasher.hxx>
|
|
||||||
#include <BOPDS_Pave.hxx>
|
#include <BOPDS_Pave.hxx>
|
||||||
|
|
||||||
typedef NCollection_Map<BOPDS_Pave, BOPDS_PaveMapHasher> BOPDS_MapOfPave;
|
typedef NCollection_Map<BOPDS_Pave> BOPDS_MapOfPave;
|
||||||
typedef BOPDS_MapOfPave::Iterator BOPDS_MapIteratorOfMapOfPave;
|
typedef BOPDS_MapOfPave::Iterator BOPDS_MapIteratorOfMapOfPave;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_MapOfPaveBlock_HeaderFile
|
#define BOPDS_MapOfPaveBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_Map.hxx>
|
#include <NCollection_Map.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_PaveBlock.hxx>
|
#include <BOPDS_PaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_Map<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher> BOPDS_MapOfPaveBlock;
|
typedef NCollection_Map<Handle(BOPDS_PaveBlock)> BOPDS_MapOfPaveBlock;
|
||||||
typedef BOPDS_MapOfPaveBlock::Iterator BOPDS_MapIteratorOfMapOfPaveBlock;
|
typedef BOPDS_MapOfPaveBlock::Iterator BOPDS_MapIteratorOfMapOfPaveBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
|
#include <Standard_HashUtils.hxx>
|
||||||
|
|
||||||
//! The class is to provide the pair of indices of interfering shapes.
|
//! The class is to provide the pair of indices of interfering shapes.
|
||||||
|
|
||||||
@@ -62,12 +63,9 @@ class BOPDS_Pair {
|
|||||||
(myIndex1 == theOther.myIndex2 && myIndex2 == theOther.myIndex1);
|
(myIndex1 == theOther.myIndex2 && myIndex2 == theOther.myIndex1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Computes a hash code for this pair, in the range [1, theUpperBound]
|
bool operator==(const BOPDS_Pair& theOther) const
|
||||||
//! @param theUpperBound the upper bound of the range a computing hash code must be within
|
|
||||||
//! @return a computed hash code, in the range [1, theUpperBound]
|
|
||||||
Standard_Integer HashCode (const Standard_Integer theUpperBound) const
|
|
||||||
{
|
{
|
||||||
return ::HashCode(myIndex1 + myIndex2, theUpperBound);
|
return IsEqual(theOther);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -75,4 +73,23 @@ class BOPDS_Pair {
|
|||||||
Standard_Integer myIndex2;
|
Standard_Integer myIndex2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
template <>
|
||||||
|
struct hash<BOPDS_Pair>
|
||||||
|
{
|
||||||
|
size_t operator()(const BOPDS_Pair& thePair) const noexcept
|
||||||
|
{
|
||||||
|
// Combine two int values into a single hash value.
|
||||||
|
int aCombination[2];
|
||||||
|
thePair.Indices(aCombination[0], aCombination[1]);
|
||||||
|
if (aCombination[0] > aCombination[1])
|
||||||
|
{
|
||||||
|
std::swap(aCombination[0], aCombination[1]);
|
||||||
|
}
|
||||||
|
return opencascade::hashBytes(aCombination, sizeof(aCombination));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif // _BOPDS_Pair
|
#endif // _BOPDS_Pair
|
@@ -1,53 +0,0 @@
|
|||||||
// Created by: Eugeny MALTCHIKOV
|
|
||||||
// Copyright (c) 2017 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 _BOPDS_PairMapHasher_HeaderFile
|
|
||||||
#define _BOPDS_PairMapHasher_HeaderFile
|
|
||||||
|
|
||||||
#include <Standard.hxx>
|
|
||||||
#include <Standard_DefineAlloc.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Integer.hxx>
|
|
||||||
#include <BOPDS_Pair.hxx>
|
|
||||||
|
|
||||||
class BOPDS_Pair;
|
|
||||||
|
|
||||||
class BOPDS_PairMapHasher
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
DEFINE_STANDARD_ALLOC
|
|
||||||
|
|
||||||
//! Computes a hash code for the given pair, in the range [1, theUpperBound]
|
|
||||||
//! @param thePair the pair which hash code is to be computed
|
|
||||||
//! @param theUpperBound the upper bound of the range a computing hash code must be within
|
|
||||||
//! @return a computed hash code, in the range [1, theUpperBound]
|
|
||||||
static Standard_Integer HashCode (const BOPDS_Pair& thePair, const Standard_Integer theUpperBound)
|
|
||||||
{
|
|
||||||
return thePair.HashCode (theUpperBound);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Standard_Boolean IsEqual(const BOPDS_Pair& thePair1,
|
|
||||||
const BOPDS_Pair& thePair2)
|
|
||||||
{
|
|
||||||
return thePair1.IsEqual(thePair2);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // _BOPDS_PairMapHasher_HeaderFile
|
|
@@ -103,6 +103,20 @@ private:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
template <>
|
||||||
|
struct hash<BOPDS_Pave>
|
||||||
|
{
|
||||||
|
size_t operator()(const BOPDS_Pave& thePave) const noexcept
|
||||||
|
{
|
||||||
|
size_t aCombination[2];
|
||||||
|
aCombination[0] = opencascade::hash(thePave.Index());
|
||||||
|
aCombination[1] = opencascade::hash(thePave.Parameter());
|
||||||
|
return opencascade::hashBytes(aCombination, sizeof(aCombination));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#include <BOPDS_Pave.lxx>
|
#include <BOPDS_Pave.lxx>
|
||||||
|
|
||||||
|
@@ -1,64 +0,0 @@
|
|||||||
// Created by: Eugeny MALTCHIKOV
|
|
||||||
// Copyright (c) 1999-2014 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 _BOPDS_PaveMapHasher_HeaderFile
|
|
||||||
#define _BOPDS_PaveMapHasher_HeaderFile
|
|
||||||
|
|
||||||
#include <Standard.hxx>
|
|
||||||
#include <Standard_DefineAlloc.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Integer.hxx>
|
|
||||||
class BOPDS_Pave;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class BOPDS_PaveMapHasher
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
DEFINE_STANDARD_ALLOC
|
|
||||||
|
|
||||||
//! Computes a hash code for the given pave, in the range [1, theUpperBound]
|
|
||||||
//! @param thePave the pave which hash code is to be computed
|
|
||||||
//! @param theUpperBound the upper bound of the range a computing hash code must be within
|
|
||||||
//! @return a computed hash code, in the range [1, theUpperBound]
|
|
||||||
static Standard_Integer HashCode (const BOPDS_Pave& thePave, Standard_Integer theUpperBound);
|
|
||||||
|
|
||||||
static Standard_Boolean IsEqual (const BOPDS_Pave& aPave1, const BOPDS_Pave& aPave2);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#include <BOPDS_PaveMapHasher.lxx>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _BOPDS_PaveMapHasher_HeaderFile
|
|
@@ -1,35 +0,0 @@
|
|||||||
// Created by: Eugeny MALTCHIKOV
|
|
||||||
// Copyright (c) 1999-2014 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 <BOPDS_Pave.hxx>
|
|
||||||
|
|
||||||
//=======================================================================
|
|
||||||
// function : HashCode
|
|
||||||
// purpose :
|
|
||||||
//=======================================================================
|
|
||||||
inline Standard_Integer BOPDS_PaveMapHasher::HashCode (const BOPDS_Pave& thePave, const Standard_Integer theUpperBound)
|
|
||||||
{
|
|
||||||
return ::HashCode (thePave.Index(), theUpperBound);
|
|
||||||
}
|
|
||||||
|
|
||||||
//=======================================================================
|
|
||||||
//function :IsEqual
|
|
||||||
//purpose :
|
|
||||||
//=======================================================================
|
|
||||||
inline
|
|
||||||
Standard_Boolean BOPDS_PaveMapHasher::IsEqual(const BOPDS_Pave& aPave1,
|
|
||||||
const BOPDS_Pave& aPave2)
|
|
||||||
{
|
|
||||||
return aPave1.IsEqual(aPave2);
|
|
||||||
}
|
|
@@ -35,8 +35,6 @@ BOPDS_Pave.hxx
|
|||||||
BOPDS_Pave.lxx
|
BOPDS_Pave.lxx
|
||||||
BOPDS_PaveBlock.cxx
|
BOPDS_PaveBlock.cxx
|
||||||
BOPDS_PaveBlock.hxx
|
BOPDS_PaveBlock.hxx
|
||||||
BOPDS_PaveMapHasher.hxx
|
|
||||||
BOPDS_PaveMapHasher.lxx
|
|
||||||
BOPDS_PDS.hxx
|
BOPDS_PDS.hxx
|
||||||
BOPDS_PIterator.hxx
|
BOPDS_PIterator.hxx
|
||||||
BOPDS_PIteratorSI.hxx
|
BOPDS_PIteratorSI.hxx
|
||||||
@@ -67,7 +65,6 @@ BOPDS_VectorOfPave.hxx
|
|||||||
BOPDS_VectorOfPoint.hxx
|
BOPDS_VectorOfPoint.hxx
|
||||||
BOPDS_VectorOfShapeInfo.hxx
|
BOPDS_VectorOfShapeInfo.hxx
|
||||||
BOPDS_Pair.hxx
|
BOPDS_Pair.hxx
|
||||||
BOPDS_PairMapHasher.hxx
|
|
||||||
BOPDS_MapOfPair.hxx
|
BOPDS_MapOfPair.hxx
|
||||||
BOPDS_VectorOfPair.hxx
|
BOPDS_VectorOfPair.hxx
|
||||||
BOPDS_VectorOfVectorOfPair.hxx
|
BOPDS_VectorOfVectorOfPair.hxx
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPTools_IndexedDataMapOfSetShape_HeaderFile
|
#define BOPTools_IndexedDataMapOfSetShape_HeaderFile
|
||||||
|
|
||||||
#include <BOPTools_Set.hxx>
|
#include <BOPTools_Set.hxx>
|
||||||
#include <BOPTools_SetMapHasher.hxx>
|
|
||||||
#include <NCollection_IndexedDataMap.hxx>
|
#include <NCollection_IndexedDataMap.hxx>
|
||||||
#include <TopoDS_Shape.hxx>
|
#include <TopoDS_Shape.hxx>
|
||||||
|
|
||||||
typedef NCollection_IndexedDataMap<BOPTools_Set, TopoDS_Shape, BOPTools_SetMapHasher> BOPTools_IndexedDataMapOfSetShape;
|
typedef NCollection_IndexedDataMap<BOPTools_Set, TopoDS_Shape> BOPTools_IndexedDataMapOfSetShape;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,11 +16,10 @@
|
|||||||
#define BOPTools_MapOfSet_HeaderFile
|
#define BOPTools_MapOfSet_HeaderFile
|
||||||
|
|
||||||
#include <BOPTools_Set.hxx>
|
#include <BOPTools_Set.hxx>
|
||||||
#include <BOPTools_SetMapHasher.hxx>
|
|
||||||
|
|
||||||
#include <NCollection_Map.hxx>
|
#include <NCollection_Map.hxx>
|
||||||
|
|
||||||
typedef NCollection_Map<BOPTools_Set, BOPTools_SetMapHasher> BOPTools_MapOfSet;
|
typedef NCollection_Map<BOPTools_Set> BOPTools_MapOfSet;
|
||||||
typedef BOPTools_MapOfSet::Iterator BOPTools_MapIteratorOfMapOfSet;
|
typedef BOPTools_MapOfSet::Iterator BOPTools_MapIteratorOfMapOfSet;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -50,25 +50,6 @@ class BOPTools_Parallel
|
|||||||
template<class TypeSolverVector, class TypeContext>
|
template<class TypeSolverVector, class TypeContext>
|
||||||
class ContextFunctor
|
class ContextFunctor
|
||||||
{
|
{
|
||||||
//! Auxiliary thread ID hasher.
|
|
||||||
struct Hasher
|
|
||||||
{
|
|
||||||
//! Computes a hash code for the given thread identifier, in the range [1, theUpperBound]
|
|
||||||
//! @param theThreadId the thread identifier which hash code is to be computed
|
|
||||||
//! @param theUpperBound the upper bound of the range a computing hash code must be within
|
|
||||||
//! @return a computed hash code, in the range [1, theUpperBound]
|
|
||||||
static Standard_Integer HashCode (const Standard_ThreadId theThreadId, const Standard_Integer theUpperBound)
|
|
||||||
{
|
|
||||||
return ::HashCode (theThreadId, theUpperBound);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Standard_Boolean IsEqual(const Standard_ThreadId theKey1,
|
|
||||||
const Standard_ThreadId theKey2)
|
|
||||||
{
|
|
||||||
return theKey1 == theKey2;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//! Constructor
|
//! Constructor
|
||||||
@@ -116,7 +97,7 @@ class BOPTools_Parallel
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
TypeSolverVector& mySolverVector;
|
TypeSolverVector& mySolverVector;
|
||||||
mutable NCollection_DataMap<Standard_ThreadId, opencascade::handle<TypeContext>, Hasher> myContextMap;
|
mutable NCollection_DataMap<Standard_ThreadId, opencascade::handle<TypeContext>> myContextMap;
|
||||||
mutable Standard_Mutex myMutex;
|
mutable Standard_Mutex myMutex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -21,8 +21,8 @@
|
|||||||
#include <TopTools_MapOfShape.hxx>
|
#include <TopTools_MapOfShape.hxx>
|
||||||
|
|
||||||
static
|
static
|
||||||
Standard_Integer NormalizedIds(const Standard_Integer aId,
|
size_t NormalizedIds(const size_t aId,
|
||||||
const Standard_Integer aDiv);
|
const Standard_Integer aDiv);
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function :
|
//function :
|
||||||
@@ -127,15 +127,6 @@ const TopoDS_Shape& BOPTools_Set::Shape()const
|
|||||||
return myShape;
|
return myShape;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
|
||||||
// function : HashCode
|
|
||||||
// purpose :
|
|
||||||
//=======================================================================
|
|
||||||
Standard_Integer BOPTools_Set::HashCode (const Standard_Integer theUpperBound) const
|
|
||||||
{
|
|
||||||
return ::HashCode (mySum, theUpperBound);
|
|
||||||
}
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : IsEqual
|
//function : IsEqual
|
||||||
//purpose :
|
//purpose :
|
||||||
@@ -177,7 +168,7 @@ Standard_Boolean BOPTools_Set::IsEqual
|
|||||||
void BOPTools_Set::Add(const TopoDS_Shape& theS,
|
void BOPTools_Set::Add(const TopoDS_Shape& theS,
|
||||||
const TopAbs_ShapeEnum theType)
|
const TopAbs_ShapeEnum theType)
|
||||||
{
|
{
|
||||||
Standard_Integer aId, aIdN;
|
size_t aId, aIdN;
|
||||||
TopAbs_Orientation aOr;
|
TopAbs_Orientation aOr;
|
||||||
TopExp_Explorer aExp;
|
TopExp_Explorer aExp;
|
||||||
//
|
//
|
||||||
@@ -223,7 +214,7 @@ void BOPTools_Set::Add(const TopoDS_Shape& theS,
|
|||||||
aIt.Initialize(myShapes);
|
aIt.Initialize(myShapes);
|
||||||
for (; aIt.More(); aIt.Next()) {
|
for (; aIt.More(); aIt.Next()) {
|
||||||
const TopoDS_Shape& aSx=aIt.Value();
|
const TopoDS_Shape& aSx=aIt.Value();
|
||||||
aId=aSx.HashCode(myUpper);
|
aId = TopTools_ShapeMapHasher{}(aSx) % myUpper + 1;
|
||||||
aIdN=NormalizedIds(aId, myNbShapes);
|
aIdN=NormalizedIds(aId, myNbShapes);
|
||||||
mySum+=aIdN;
|
mySum+=aIdN;
|
||||||
}
|
}
|
||||||
@@ -232,13 +223,13 @@ void BOPTools_Set::Add(const TopoDS_Shape& theS,
|
|||||||
// function: NormalizedIds
|
// function: NormalizedIds
|
||||||
// purpose :
|
// purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
Standard_Integer NormalizedIds(const Standard_Integer aId,
|
size_t NormalizedIds(const size_t aId,
|
||||||
const Standard_Integer aDiv)
|
const Standard_Integer aDiv)
|
||||||
{
|
{
|
||||||
Standard_Integer aMax, aTresh, aIdRet;
|
size_t aMax, aTresh, aIdRet;
|
||||||
//
|
//
|
||||||
aIdRet=aId;
|
aIdRet=aId;
|
||||||
aMax=::IntegerLast();
|
aMax=SIZE_MAX;
|
||||||
aTresh=aMax/aDiv;
|
aTresh=aMax/aDiv;
|
||||||
if (aId>aTresh) {
|
if (aId>aTresh) {
|
||||||
aIdRet=aId%aTresh;
|
aIdRet=aId%aTresh;
|
||||||
|
@@ -55,11 +55,12 @@ BOPTools_Set& operator = (const BOPTools_Set& Other)
|
|||||||
|
|
||||||
Standard_EXPORT Standard_Boolean IsEqual (const BOPTools_Set& aOther) const;
|
Standard_EXPORT Standard_Boolean IsEqual (const BOPTools_Set& aOther) const;
|
||||||
|
|
||||||
//! Computes a hash code for this set, in the range [1, theUpperBound]
|
bool operator==(const BOPTools_Set& theOther) const
|
||||||
//! @param theUpperBound the upper bound of the range a computing hash code must be within
|
{
|
||||||
//! @return a computed hash code, in the range [1, theUpperBound]
|
return IsEqual(theOther);
|
||||||
Standard_EXPORT Standard_Integer HashCode (Standard_Integer theUpperBound) const;
|
}
|
||||||
|
|
||||||
|
size_t GetSum() const { return mySum; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@@ -71,22 +72,20 @@ protected:
|
|||||||
TopTools_ListOfShape myShapes;
|
TopTools_ListOfShape myShapes;
|
||||||
TopoDS_Shape myShape;
|
TopoDS_Shape myShape;
|
||||||
Standard_Integer myNbShapes;
|
Standard_Integer myNbShapes;
|
||||||
Standard_Integer mySum;
|
size_t mySum;
|
||||||
Standard_Integer myUpper;
|
Standard_Integer myUpper;
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
template <>
|
||||||
|
struct hash<BOPTools_Set>
|
||||||
|
{
|
||||||
|
size_t operator()(const BOPTools_Set& theSet) const noexcept
|
||||||
|
{
|
||||||
|
return theSet.GetSum();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif // _BOPTools_Set_HeaderFile
|
#endif // _BOPTools_Set_HeaderFile
|
||||||
|
@@ -1,64 +0,0 @@
|
|||||||
// Created by: Peter KURNEV
|
|
||||||
// Copyright (c) 1999-2014 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 _BOPTools_SetMapHasher_HeaderFile
|
|
||||||
#define _BOPTools_SetMapHasher_HeaderFile
|
|
||||||
|
|
||||||
#include <Standard.hxx>
|
|
||||||
#include <Standard_DefineAlloc.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Integer.hxx>
|
|
||||||
class BOPTools_Set;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class BOPTools_SetMapHasher
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
DEFINE_STANDARD_ALLOC
|
|
||||||
|
|
||||||
//! Computes a hash code for the given set, in the range [1, theUpperBound]
|
|
||||||
//! @param theSet the set which hash code is to be computed
|
|
||||||
//! @param theUpperBound the upper bound of the range a computing hash code must be within
|
|
||||||
//! @return a computed hash code, in the range [1, theUpperBound]
|
|
||||||
static Standard_Integer HashCode (const BOPTools_Set& theSet, Standard_Integer theUpperBound);
|
|
||||||
|
|
||||||
static Standard_Boolean IsEqual (const BOPTools_Set& aSet1, const BOPTools_Set& aSet2);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#include <BOPTools_SetMapHasher.lxx>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _BOPTools_SetMapHasher_HeaderFile
|
|
@@ -1,35 +0,0 @@
|
|||||||
// Created by: Peter KURNEV
|
|
||||||
// Copyright (c) 1999-2014 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 <BOPTools_SetMapHasher.ixx>
|
|
||||||
|
|
||||||
//=======================================================================
|
|
||||||
// function : HashCode
|
|
||||||
// purpose :
|
|
||||||
//=======================================================================
|
|
||||||
inline Standard_Integer BOPTools_SetMapHasher::HashCode (const BOPTools_Set& theSet,
|
|
||||||
const Standard_Integer theUpperBound)
|
|
||||||
{
|
|
||||||
return theSet.HashCode (theUpperBound);
|
|
||||||
}
|
|
||||||
|
|
||||||
//=======================================================================
|
|
||||||
//function :IsEqual
|
|
||||||
//purpose :
|
|
||||||
//=======================================================================
|
|
||||||
inline Standard_Boolean BOPTools_SetMapHasher::IsEqual(const BOPTools_Set& theSS1,
|
|
||||||
const BOPTools_Set& theSS2)
|
|
||||||
{
|
|
||||||
return theSS1.IsEqual(theSS2);
|
|
||||||
}
|
|
@@ -19,5 +19,3 @@ BOPTools_PairSelector.hxx
|
|||||||
BOPTools_Parallel.hxx
|
BOPTools_Parallel.hxx
|
||||||
BOPTools_Set.cxx
|
BOPTools_Set.cxx
|
||||||
BOPTools_Set.hxx
|
BOPTools_Set.hxx
|
||||||
BOPTools_SetMapHasher.hxx
|
|
||||||
BOPTools_SetMapHasher.lxx
|
|
||||||
|
@@ -356,7 +356,7 @@ static void UpdateCurves(BRep_ListOfCurveRepresentation& lcr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (itcr.More()) {
|
if (itcr.More()) {
|
||||||
Handle(BRep_CurveRepresentation)& cr = itcr.Value();
|
Handle(BRep_CurveRepresentation) cr = itcr.Value();
|
||||||
cr->Continuity(C);
|
cr->Continuity(C);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -380,7 +380,7 @@ static void UpdatePoints(BRep_ListOfPointRepresentation& lpr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (itpr.More()) {
|
if (itpr.More()) {
|
||||||
Handle(BRep_PointRepresentation)& pr = itpr.Value();
|
Handle(BRep_PointRepresentation) pr = itpr.Value();
|
||||||
pr->Parameter(p);
|
pr->Parameter(p);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -404,7 +404,7 @@ static void UpdatePoints(BRep_ListOfPointRepresentation& lpr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (itpr.More()) {
|
if (itpr.More()) {
|
||||||
Handle(BRep_PointRepresentation)& pr = itpr.Value();
|
Handle(BRep_PointRepresentation) pr = itpr.Value();
|
||||||
pr->Parameter(p);
|
pr->Parameter(p);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -430,7 +430,7 @@ static void UpdatePoints(BRep_ListOfPointRepresentation& lpr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (itpr.More()) {
|
if (itpr.More()) {
|
||||||
Handle(BRep_PointRepresentation)& pr = itpr.Value();
|
Handle(BRep_PointRepresentation) pr = itpr.Value();
|
||||||
pr->Parameter(p1);
|
pr->Parameter(p1);
|
||||||
// pr->Parameter(p2); // skv
|
// pr->Parameter(p2); // skv
|
||||||
pr->Parameter2(p2); // skv
|
pr->Parameter2(p2); // skv
|
||||||
|
@@ -1053,7 +1053,7 @@ void BRep_Tool::SetUVPoints(const TopoDS_Edge& E,
|
|||||||
BRep_ListIteratorOfListOfCurveRepresentation itcr(TE->Curves());
|
BRep_ListIteratorOfListOfCurveRepresentation itcr(TE->Curves());
|
||||||
|
|
||||||
while (itcr.More()) {
|
while (itcr.More()) {
|
||||||
Handle(BRep_CurveRepresentation)& cr = itcr.Value();
|
Handle(BRep_CurveRepresentation) cr = itcr.Value();
|
||||||
if (cr->IsCurveOnSurface(S,l)) {
|
if (cr->IsCurveOnSurface(S,l)) {
|
||||||
if (cr->IsCurveOnClosedSurface() && Eisreversed)
|
if (cr->IsCurveOnClosedSurface() && Eisreversed)
|
||||||
{
|
{
|
||||||
|
@@ -384,7 +384,7 @@ void BRepAlgo_FaceRestrictor::PerformWithCorrection()
|
|||||||
// Reorientation of all closed wires to the left.
|
// Reorientation of all closed wires to the left.
|
||||||
//---------------------------------------------------------
|
//---------------------------------------------------------
|
||||||
for (; it.More(); it.Next()) {
|
for (; it.More(); it.Next()) {
|
||||||
TopoDS_Wire& W = TopoDS::Wire(it.Value());
|
TopoDS_Wire& W = TopoDS::Wire(it.ChangeValue());
|
||||||
TopoDS_Shape aLocalShape = myFace.EmptyCopied();
|
TopoDS_Shape aLocalShape = myFace.EmptyCopied();
|
||||||
TopoDS_Face NF = TopoDS::Face(aLocalShape);
|
TopoDS_Face NF = TopoDS::Face(aLocalShape);
|
||||||
// TopoDS_Face NF = TopoDS::Face(myFace.EmptyCopied());
|
// TopoDS_Face NF = TopoDS::Face(myFace.EmptyCopied());
|
||||||
@@ -402,7 +402,7 @@ void BRepAlgo_FaceRestrictor::PerformWithCorrection()
|
|||||||
// Classification of wires ones compared to the others.
|
// Classification of wires ones compared to the others.
|
||||||
//---------------------------------------------------------
|
//---------------------------------------------------------
|
||||||
for (it.Initialize(wires) ; it.More(); it.Next()) {
|
for (it.Initialize(wires) ; it.More(); it.Next()) {
|
||||||
TopoDS_Wire& W1 = TopoDS::Wire(it.Value());
|
const TopoDS_Wire& W1 = TopoDS::Wire(it.Value());
|
||||||
TopTools_ListIteratorOfListOfShape it2(wires);
|
TopTools_ListIteratorOfListOfShape it2(wires);
|
||||||
|
|
||||||
if (IsClosed(W1)) {
|
if (IsClosed(W1)) {
|
||||||
|
@@ -572,7 +572,7 @@ void BRepAlgo_Loop::Perform()
|
|||||||
if (pLCE)
|
if (pLCE)
|
||||||
{
|
{
|
||||||
for (itl1.Initialize(*pLCE); itl1.More(); itl1.Next()) {
|
for (itl1.Initialize(*pLCE); itl1.More(); itl1.Next()) {
|
||||||
TopoDS_Edge& E = TopoDS::Edge(itl1.Value());
|
TopoDS_Edge& E = TopoDS::Edge(itl1.ChangeValue());
|
||||||
if (!Emap.Add(E))
|
if (!Emap.Add(E))
|
||||||
continue;
|
continue;
|
||||||
StoreInMVE(myFace,E,MVE,YaCouture,myVerticesForSubstitute, myTolConf);
|
StoreInMVE(myFace,E,MVE,YaCouture,myVerticesForSubstitute, myTolConf);
|
||||||
@@ -585,7 +585,7 @@ void BRepAlgo_Loop::Perform()
|
|||||||
// => call only once StoreInMVE which should double them
|
// => call only once StoreInMVE which should double them
|
||||||
TopTools_MapOfShape DejaVu;
|
TopTools_MapOfShape DejaVu;
|
||||||
for (itl.Initialize(myConstEdges); itl.More(); itl.Next()) {
|
for (itl.Initialize(myConstEdges); itl.More(); itl.Next()) {
|
||||||
TopoDS_Edge& E = TopoDS::Edge(itl.Value());
|
TopoDS_Edge& E = TopoDS::Edge(itl.ChangeValue());
|
||||||
if (DejaVu.Add(E))
|
if (DejaVu.Add(E))
|
||||||
StoreInMVE(myFace,E,MVE,YaCouture,myVerticesForSubstitute, myTolConf);
|
StoreInMVE(myFace,E,MVE,YaCouture,myVerticesForSubstitute, myTolConf);
|
||||||
}
|
}
|
||||||
@@ -900,7 +900,7 @@ void BRepAlgo_Loop::WiresToFaces()
|
|||||||
// Standard_False);
|
// Standard_False);
|
||||||
TopTools_ListIteratorOfListOfShape it(myNewWires);
|
TopTools_ListIteratorOfListOfShape it(myNewWires);
|
||||||
for (; it.More(); it.Next()) {
|
for (; it.More(); it.Next()) {
|
||||||
FR.Add(TopoDS::Wire(it.Value()));
|
FR.Add(TopoDS::Wire(it.ChangeValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
FR.Perform();
|
FR.Perform();
|
||||||
|
@@ -21,7 +21,6 @@
|
|||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
#include <Standard_Address.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <Standard_Boolean.hxx>
|
#include <Standard_Boolean.hxx>
|
||||||
#include <Standard_Real.hxx>
|
#include <Standard_Real.hxx>
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_Type.hxx>
|
#include <Standard_Type.hxx>
|
||||||
|
|
||||||
#include <Standard_Address.hxx>
|
|
||||||
#include <math_Vector.hxx>
|
#include <math_Vector.hxx>
|
||||||
#include <Blend_Point.hxx>
|
#include <Blend_Point.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include <BRepBuilderAPI_MakeVertex.hxx>
|
#include <BRepBuilderAPI_MakeVertex.hxx>
|
||||||
#include <BRepBuilderAPI_MakeWire.hxx>
|
#include <BRepBuilderAPI_MakeWire.hxx>
|
||||||
#include <NCollection_IndexedDataMap.hxx>
|
#include <NCollection_IndexedDataMap.hxx>
|
||||||
|
#include <Standard_HashUtils.hxx>
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@@ -47,32 +48,30 @@ namespace
|
|||||||
return Standard_False;
|
return Standard_False;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool operator==(const Edge& theOther) const
|
||||||
|
{
|
||||||
|
return theOther.Idx1 == Idx1 && theOther.Idx2 == Idx2;
|
||||||
|
}
|
||||||
|
|
||||||
//! First index. It is lower or equal than the second.
|
//! First index. It is lower or equal than the second.
|
||||||
Standard_Integer Idx1;
|
Standard_Integer Idx1;
|
||||||
|
|
||||||
//! Second index.
|
//! Second index.
|
||||||
Standard_Integer Idx2;
|
Standard_Integer Idx2;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
//! Hasher of Edge structure.
|
namespace std
|
||||||
struct EdgeHasher
|
{
|
||||||
|
template <>
|
||||||
|
struct hash<Edge>
|
||||||
{
|
{
|
||||||
|
size_t operator()(const Edge& theEdge) const noexcept
|
||||||
//! Returns hash code for the given edge.
|
|
||||||
static Standard_Integer HashCode(const Edge& theEdge,
|
|
||||||
const Standard_Integer theUpperBound)
|
|
||||||
{
|
{
|
||||||
// Circle-based collisions.
|
// Combine two int values into a single hash value.
|
||||||
return ::HashCode(theEdge.Idx1 * theEdge.Idx1 + theEdge.Idx2 * theEdge.Idx2, theUpperBound);
|
int aCombination[2]{ theEdge.Idx1, theEdge.Idx2 };
|
||||||
|
return opencascade::hashBytes(aCombination, sizeof(aCombination));
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Returns true if two edges are equal.
|
|
||||||
static Standard_Boolean IsEqual(const Edge& theEdge1,
|
|
||||||
const Edge& theEdge2)
|
|
||||||
{
|
|
||||||
return theEdge1.Idx1 == theEdge2.Idx1 && theEdge1.Idx2 == theEdge2.Idx2;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,7 +114,7 @@ void BRepBuilderAPI_MakeShapeOnMesh::Build(const Message_ProgressRange& theRange
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Build shared edges.
|
// Build shared edges.
|
||||||
NCollection_IndexedDataMap<Edge, TopoDS_Edge, EdgeHasher> anEdgeToTEgeMap;
|
NCollection_IndexedDataMap<Edge, TopoDS_Edge> anEdgeToTEgeMap;
|
||||||
for (Standard_Integer i = 1; i <= aNbTriangles; ++i)
|
for (Standard_Integer i = 1; i <= aNbTriangles; ++i)
|
||||||
{
|
{
|
||||||
aPS.Next();
|
aPS.Next();
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user