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

Compare commits

..

3 Commits

Author SHA1 Message Date
Eugene Belousov
d211a207f8 Text corrections and improvements 2023-03-15 15:21:42 +00:00
dpasukhi
8861ebe73a // fixing remarks 2023-03-14 11:05:33 +00:00
dpasukhi
c319670add 0033092: Data Exchange, Documentation - Implementation of DE_Wrapper documentation
Implement new user-guide documentation for DE Wrapper
2023-03-10 11:40:46 +00:00
1472 changed files with 21750 additions and 25802 deletions

View File

@@ -35,14 +35,6 @@ 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")
@@ -828,6 +820,12 @@ else()
OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE") OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE")
endif() endif()
# ExpToCasExe
if (EMSCRIPTEN)
list (REMOVE_ITEM BUILD_TOOLKITS TKExpress)
list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe)
endif()
# bison # bison
if (BUILD_YACCLEX) if (BUILD_YACCLEX)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison") OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison")
@@ -842,14 +840,6 @@ 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

View File

@@ -3,6 +3,5 @@ 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 TKDE TKXSBase TKDESTEP TKDEIGES TKDESTL TKDEVRML TKDECascade TKDEOBJ TKDEGLTF TKDEPLY TKXCAF TKXmlXCAF TKBinXCAF TKRWMesh DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade TKExpress ExpToCasExe
DETools TKExpress ExpToCasExe Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE TKXSDRAWDE TKXSDRAWGLTF TKXSDRAWIGES TKXSDRAWOBJ TKXSDRAWPLY TKXSDRAWSTEP TKXSDRAWSTL TKXSDRAWVRML

View File

@@ -32,7 +32,6 @@ 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
@@ -377,13 +376,18 @@ r SHMessage
r XSMessage r XSMessage
r XSTEPResource r XSTEPResource
t TKBinXCAF t TKBinXCAF
t TKDESTL t TKIGES
t TKDEVRML t TKSTEP
t TKSTEP209
t TKSTEPAttr
t TKSTEPBase
t TKSTL
t TKVRML
t TKXCAF t TKXCAF
t TKDE t TKXDE
t TKDECascade t TKXDECascade
t TKDEIGES t TKXDEIGES
t TKDESTEP t TKXDESTEP
t TKXSBase t TKXSBase
t TKXmlXCAF t TKXmlXCAF
n BOPTest n BOPTest
@@ -415,12 +419,7 @@ n XDEDRAW
n XSDRAW n XSDRAW
n XSDRAWIGES n XSDRAWIGES
n XSDRAWSTEP n XSDRAWSTEP
n XSDRAWSTL n XSDRAWSTLVRML
n XSDRAWVRML
n XSDRAWDE
n XSDRAWGLTF
n XSDRAWOBJ
n XSDRAWPLY
r DrawResources r DrawResources
t TKDCAF t TKDCAF
t TKDraw t TKDraw
@@ -432,14 +431,6 @@ 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
@@ -465,9 +456,6 @@ 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

View File

@@ -1,143 +0,0 @@
# 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")

View File

@@ -44,25 +44,9 @@ elseif (MSVC)
endif() endif()
if (MSVC) if (MSVC)
if ("${BUILD_OPT_PROFILE}" STREQUAL "Production") # string pooling (GF), function-level linking (Gy)
# string pooling (GF), function-level linking (Gy) set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_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")
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")
@@ -134,22 +118,6 @@ 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()

View File

@@ -70,16 +70,6 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]lex" SOURCE_FILES_FLEX) OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]lex" SOURCE_FILES_FLEX)
list (LENGTH SOURCE_FILES_FLEX SOURCE_FILES_FLEX_LEN) list (LENGTH SOURCE_FILES_FLEX SOURCE_FILES_FLEX_LEN)
# remove old general version of FlexLexer
if (EXISTS ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
message (STATUS "Info: remove old FLEX header file: ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h")
file(REMOVE ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
endif()
# install copy of FlexLexer.h locally to allow further building without flex
if (FLEX_INCLUDE_DIR AND EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
endif()
# bison files # bison files
OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]yacc" SOURCE_FILES_BISON) OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]yacc" SOURCE_FILES_BISON)
list (LENGTH SOURCE_FILES_BISON SOURCE_FILES_BISON_LEN) list (LENGTH SOURCE_FILES_BISON SOURCE_FILES_BISON_LEN)
@@ -117,11 +107,21 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
endif() endif()
endforeach() endforeach()
if (EXISTS ${FLEX_BISON_TARGET_DIR}/FlexLexer.h)
message (STATUS "Info: remove old FLEX header file: ${FLEX_BISON_TARGET_DIR}/FlexLexer.h")
file(REMOVE ${FLEX_BISON_TARGET_DIR}/FlexLexer.h)
endif()
file (STRINGS "${CURRENT_FLEX_FILE}" FILE_FLEX_CONTENT) file (STRINGS "${CURRENT_FLEX_FILE}" FILE_FLEX_CONTENT)
foreach (FILE_FLEX_CONTENT_LINE ${FILE_FLEX_CONTENT}) foreach (FILE_FLEX_CONTENT_LINE ${FILE_FLEX_CONTENT})
string (REGEX MATCH "%option c\\+\\+" CXX_FLEX_LANGUAGE_FOUND ${FILE_FLEX_CONTENT_LINE}) string (REGEX MATCH "%option c\\+\\+" CXX_FLEX_LANGUAGE_FOUND ${FILE_FLEX_CONTENT_LINE})
if (CXX_FLEX_LANGUAGE_FOUND) if (CXX_FLEX_LANGUAGE_FOUND)
set (FLEX_OUTPUT_FILE_EXT "cxx") set (FLEX_OUTPUT_FILE_EXT "cxx")
# install copy of FlexLexer.h locally to allow further building without flex
if (FLEX_INCLUDE_DIR AND EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${FLEX_BISON_TARGET_DIR}/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
endif()
endif() endif()
endforeach() endforeach()
set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT}) set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT})
@@ -284,15 +284,9 @@ else()
else() else()
set (aReleasePdbConf) set (aReleasePdbConf)
endif() endif()
if (BUILD_SHARED_LIBS) install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo
DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}") DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}")
else()
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo
DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}")
endif()
endif() endif()
if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "") if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "")

View File

@@ -116,7 +116,6 @@ endmacro()
BUILD_MODULE_MESSAGE (BUILD_MODULE_ApplicationFramework "ApplicationFramework") BUILD_MODULE_MESSAGE (BUILD_MODULE_ApplicationFramework "ApplicationFramework")
BUILD_MODULE_MESSAGE (BUILD_MODULE_DataExchange "DataExchange") BUILD_MODULE_MESSAGE (BUILD_MODULE_DataExchange "DataExchange")
BUILD_MODULE_MESSAGE (BUILD_MODULE_DETools "DETools")
BUILD_MODULE_MESSAGE (BUILD_MODULE_Draw "Draw") BUILD_MODULE_MESSAGE (BUILD_MODULE_Draw "Draw")
BUILD_MODULE_MESSAGE (BUILD_MODULE_FoundationClasses "FoundationClasses") BUILD_MODULE_MESSAGE (BUILD_MODULE_FoundationClasses "FoundationClasses")
BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingAlgorithms "ModelingAlgorithms") BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingAlgorithms "ModelingAlgorithms")

View File

@@ -33,7 +33,6 @@ set "BUILD_ModelingAlgorithms=ON"
set "BUILD_Visualization=ON" set "BUILD_Visualization=ON"
set "BUILD_ApplicationFramework=ON" set "BUILD_ApplicationFramework=ON"
set "BUILD_DataExchange=ON" set "BUILD_DataExchange=ON"
set "BUILD_DETools=OFF"
rem Optional 3rd-party libraries to enable rem Optional 3rd-party libraries to enable
set "USE_FREETYPE=ON" set "USE_FREETYPE=ON"
@@ -167,7 +166,6 @@ if ["%toCMake%"] == ["1"] (
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^ -D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^ -D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^ -D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
-D BUILD_MODULE_DETools:BOOL="OFF" ^
-D BUILD_MODULE_Draw:BOOL="OFF" ^ -D BUILD_MODULE_Draw:BOOL="OFF" ^
-D BUILD_DOC_Overview:BOOL="OFF" ^ -D BUILD_DOC_Overview:BOOL="OFF" ^
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^ -D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^

View File

@@ -27,7 +27,6 @@ rem set "BUILD_ModelingAlgorithms=ON"
rem set "BUILD_Visualization=ON" rem set "BUILD_Visualization=ON"
rem set "BUILD_ApplicationFramework=ON" rem set "BUILD_ApplicationFramework=ON"
rem set "BUILD_DataExchange=ON" rem set "BUILD_DataExchange=ON"
rem set "BUILD_MODULE_DETools=OFF"
rem Optional 3rd-party libraries to enable rem Optional 3rd-party libraries to enable
rem set "USE_RAPIDJSON=ON" rem set "USE_RAPIDJSON=ON"

View File

@@ -33,7 +33,6 @@ rem set BUILD_PATCH=
rem set BUILD_MODULE_ApplicationFramework=ON rem set BUILD_MODULE_ApplicationFramework=ON
rem set BUILD_MODULE_DataExchange=ON rem set BUILD_MODULE_DataExchange=ON
rem set BUILD_MODULE_DETools=OFF
rem set BUILD_MODULE_Draw=ON rem set BUILD_MODULE_Draw=ON
rem set BUILD_MODULE_ModelingAlgorithms=ON rem set BUILD_MODULE_ModelingAlgorithms=ON
rem set BUILD_MODULE_ModelingData=ON rem set BUILD_MODULE_ModelingData=ON

View File

@@ -26,7 +26,6 @@ FREETYPE_DIR="$OCCT3RDPARTY/freetype-2.7.1"
#BUILD_MODULE_ApplicationFramework=ON #BUILD_MODULE_ApplicationFramework=ON
#BUILD_MODULE_DataExchange=ON #BUILD_MODULE_DataExchange=ON
#BUILD_MODULE_DETools=OFF
#BUILD_MODULE_Draw=ON #BUILD_MODULE_Draw=ON
#BUILD_MODULE_ModelingAlgorithms=ON #BUILD_MODULE_ModelingAlgorithms=ON
#BUILD_MODULE_ModelingData=ON #BUILD_MODULE_ModelingData=ON

View File

@@ -28,7 +28,6 @@ set BUILD_FORCE_RelWithDebInfo=OFF
set BUILD_MODULE_ApplicationFramework=ON set BUILD_MODULE_ApplicationFramework=ON
set BUILD_MODULE_DataExchange=ON set BUILD_MODULE_DataExchange=ON
set BUILD_MODULE_DETools=OFF
set BUILD_MODULE_Draw=ON set BUILD_MODULE_Draw=ON
set BUILD_MODULE_ModelingAlgorithms=ON set BUILD_MODULE_ModelingAlgorithms=ON
set BUILD_MODULE_ModelingData=ON set BUILD_MODULE_ModelingData=ON
@@ -63,7 +62,6 @@ cmake -G "%arch_compile%" ^
-D BUILD_LIBRARY_TYPE:STRING=%BUILD_LIBRARY_TYPE% ^ -D BUILD_LIBRARY_TYPE:STRING=%BUILD_LIBRARY_TYPE% ^
-D BUILD_MODULE_ApplicationFramework:BOOL=%BUILD_MODULE_ApplicationFramework% ^ -D BUILD_MODULE_ApplicationFramework:BOOL=%BUILD_MODULE_ApplicationFramework% ^
-D BUILD_MODULE_DataExchange:BOOL=%BUILD_MODULE_DataExchange% ^ -D BUILD_MODULE_DataExchange:BOOL=%BUILD_MODULE_DataExchange% ^
-D BUILD_MODULE_DETools:BOOL=%BUILD_MODULE_DETools% ^
-D BUILD_MODULE_Draw:BOOL=%BUILD_MODULE_Draw% ^ -D BUILD_MODULE_Draw:BOOL=%BUILD_MODULE_Draw% ^
-D BUILD_MODULE_FoundationClasses:BOOL=ON ^ -D BUILD_MODULE_FoundationClasses:BOOL=ON ^
-D BUILD_MODULE_ModelingAlgorithms:BOOL=%BUILD_MODULE_ModelingAlgorithms% ^ -D BUILD_MODULE_ModelingAlgorithms:BOOL=%BUILD_MODULE_ModelingAlgorithms% ^

View File

@@ -31,7 +31,6 @@ BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
BUILD_MODULE_ApplicationFramework=ON BUILD_MODULE_ApplicationFramework=ON
BUILD_MODULE_DataExchange=ON BUILD_MODULE_DataExchange=ON
BUILD_MODULE_DETools=OFF
BUILD_MODULE_Draw=ON BUILD_MODULE_Draw=ON
BUILD_MODULE_ModelingAlgorithms=ON BUILD_MODULE_ModelingAlgorithms=ON
BUILD_MODULE_ModelingData=ON BUILD_MODULE_ModelingData=ON
@@ -64,7 +63,6 @@ cmake -G "Unix Makefiles" \
-D BUILD_LIBRARY_TYPE:STRING=$BUILD_LIBRARY_TYPE \ -D BUILD_LIBRARY_TYPE:STRING=$BUILD_LIBRARY_TYPE \
-D BUILD_MODULE_ApplicationFramework:BOOL=$BUILD_MODULE_ApplicationFramework \ -D BUILD_MODULE_ApplicationFramework:BOOL=$BUILD_MODULE_ApplicationFramework \
-D BUILD_MODULE_DataExchange:BOOL=$BUILD_MODULE_DataExchange \ -D BUILD_MODULE_DataExchange:BOOL=$BUILD_MODULE_DataExchange \
-D BUILD_MODULE_DETools:BOOL=$BUILD_MODULE_DETools \
-D BUILD_MODULE_Draw:BOOL=$BUILD_MODULE_Draw \ -D BUILD_MODULE_Draw:BOOL=$BUILD_MODULE_Draw \
-D BUILD_MODULE_FoundationClasses:BOOL=ON \ -D BUILD_MODULE_FoundationClasses:BOOL=ON \
-D BUILD_MODULE_ModelingAlgorithms:BOOL=$BUILD_MODULE_ModelingAlgorithms \ -D BUILD_MODULE_ModelingAlgorithms:BOOL=$BUILD_MODULE_ModelingAlgorithms \

View File

@@ -34,7 +34,6 @@ export BUILD_ModelingAlgorithms=ON
export BUILD_Visualization=ON export BUILD_Visualization=ON
export BUILD_ApplicationFramework=ON export BUILD_ApplicationFramework=ON
export BUILD_DataExchange=ON export BUILD_DataExchange=ON
export BUILD_DETools=OFF
export USE_FREETYPE=ON export USE_FREETYPE=ON
export USE_FREEIMAGE=OFF export USE_FREEIMAGE=OFF
@@ -149,7 +148,6 @@ function buildArch {
-D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \ -D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
-D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \ -D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
-D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \ -D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
-D BUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
-D BUILD_MODULE_Draw:BOOL="OFF" \ -D BUILD_MODULE_Draw:BOOL="OFF" \
-D BUILD_DOC_Overview:BOOL="OFF" \ -D BUILD_DOC_Overview:BOOL="OFF" \
"$aCasSrc" 2>&1 | tee -a "$aLogFile" "$aCasSrc" 2>&1 | tee -a "$aLogFile"

View File

@@ -20,7 +20,6 @@ export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-ios"
#export BUILD_Visualization=ON #export BUILD_Visualization=ON
#export BUILD_ApplicationFramework=ON #export BUILD_ApplicationFramework=ON
#export BUILD_DataExchange=ON #export BUILD_DataExchange=ON
#export BUILD_DETools=OFF
#export USE_RAPIDJSON=ON #export USE_RAPIDJSON=ON
#export USE_DRACO=ON #export USE_DRACO=ON

View File

@@ -34,7 +34,6 @@ export BUILD_ModelingAlgorithms=ON
export BUILD_Visualization=ON export BUILD_Visualization=ON
export BUILD_ApplicationFramework=ON export BUILD_ApplicationFramework=ON
export BUILD_DataExchange=ON export BUILD_DataExchange=ON
export BUILD_DETools=OFF
export BUILD_Draw=ON export BUILD_Draw=ON
export USE_FREETYPE=ON export USE_FREETYPE=ON
@@ -146,7 +145,6 @@ function buildArch {
-D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \ -D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
-D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \ -D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
-D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \ -D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
-D BUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
-D BUILD_MODULE_Draw:BOOL="${BUILD_Draw}" \ -D BUILD_MODULE_Draw:BOOL="${BUILD_Draw}" \
-D BUILD_DOC_Overview:BOOL="OFF" \ -D BUILD_DOC_Overview:BOOL="OFF" \
"$aCasSrc" 2>&1 | tee -a "$aLogFile" "$aCasSrc" 2>&1 | tee -a "$aLogFile"

View File

@@ -19,7 +19,6 @@ export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-macos"
#export BUILD_Visualization=ON #export BUILD_Visualization=ON
#export BUILD_ApplicationFramework=ON #export BUILD_ApplicationFramework=ON
#export BUILD_DataExchange=ON #export BUILD_DataExchange=ON
#export BUILD_DETools=OFF
#export BUILD_Draw=ON #export BUILD_Draw=ON
#export USE_RAPIDJSON=ON #export USE_RAPIDJSON=ON

View File

@@ -32,7 +32,6 @@ set "BUILD_ModelingAlgorithms=ON"
set "BUILD_Visualization=ON" set "BUILD_Visualization=ON"
set "BUILD_ApplicationFramework=ON" set "BUILD_ApplicationFramework=ON"
set "BUILD_DataExchange=ON" set "BUILD_DataExchange=ON"
set "BUILD_DETools=OFF"
set "BUILD_Draw=ON" set "BUILD_Draw=ON"
rem Optional 3rd-party libraries to enable rem Optional 3rd-party libraries to enable
@@ -156,7 +155,6 @@ if ["%toCMake%"] == ["1"] (
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^ -D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^ -D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^ -D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
-D BUILD_MODULE_DETools:BOOL="%BUILD_DETools%" ^
-D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^ -D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
-D 3RDPARTY_TCL_DIR:PATH="%aTclTk%" ^ -D 3RDPARTY_TCL_DIR:PATH="%aTclTk%" ^
-D 3RDPARTY_TCL_INCLUDE_DIR:FILEPATH="%aTclTk%/include" ^ -D 3RDPARTY_TCL_INCLUDE_DIR:FILEPATH="%aTclTk%/include" ^

View File

@@ -22,7 +22,6 @@ rem set "BUILD_ModelingAlgorithms=ON"
rem set "BUILD_Visualization=ON" rem set "BUILD_Visualization=ON"
rem set "BUILD_ApplicationFramework=ON" rem set "BUILD_ApplicationFramework=ON"
rem set "BUILD_DataExchange=ON" rem set "BUILD_DataExchange=ON"
rem set "BUILD_DETools=OFF"
rem set "BUILD_Draw=ON" rem set "BUILD_Draw=ON"
rem set "USE_RAPIDJSON=ON" rem set "USE_RAPIDJSON=ON"

View File

@@ -32,7 +32,6 @@ set "BUILD_ModelingAlgorithms=ON"
set "BUILD_Visualization=ON" set "BUILD_Visualization=ON"
set "BUILD_ApplicationFramework=ON" set "BUILD_ApplicationFramework=ON"
set "BUILD_DataExchange=ON" set "BUILD_DataExchange=ON"
set "BUILD_DETools=OFF"
set "BUILD_Draw=OFF" set "BUILD_Draw=OFF"
rem Optional 3rd-party libraries to enable rem Optional 3rd-party libraries to enable
@@ -176,7 +175,6 @@ if ["%toCMake%"] == ["1"] (
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^ -D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^ -D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^ -D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
-D BUILD_MODULE_DETools:BOOL="%BUILD_DETools%" ^
-D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^ -D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
-D BUILD_DOC_Overview:BOOL="OFF" ^ -D BUILD_DOC_Overview:BOOL="OFF" ^
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^ -D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^

View File

@@ -20,7 +20,6 @@ export BUILD_ModelingAlgorithms=ON
export BUILD_Visualization=ON export BUILD_Visualization=ON
export BUILD_ApplicationFramework=ON export BUILD_ApplicationFramework=ON
export BUILD_DataExchange=ON export BUILD_DataExchange=ON
export BUILD_DETools=OFF
if [ -f "${aScriptDir}/wasm_custom.sh" ] ; then if [ -f "${aScriptDir}/wasm_custom.sh" ] ; then
. "${aScriptDir}/wasm_custom.sh" . "${aScriptDir}/wasm_custom.sh"
@@ -75,7 +74,6 @@ echo cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
-DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \ -DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \ -DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \ -DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
-DBUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
-DBUILD_MODULE_Draw:BOOL="OFF" \ -DBUILD_MODULE_Draw:BOOL="OFF" \
-DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}" -DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"
@@ -94,7 +92,6 @@ cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
-DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \ -DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \ -DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \ -DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
-DBUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
-DBUILD_MODULE_Draw:BOOL="OFF" \ -DBUILD_MODULE_Draw:BOOL="OFF" \
-DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}" -DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"

View File

@@ -23,7 +23,6 @@ rem set "BUILD_ModelingAlgorithms=ON"
rem set "BUILD_Visualization=ON" rem set "BUILD_Visualization=ON"
rem set "BUILD_ApplicationFramework=ON" rem set "BUILD_ApplicationFramework=ON"
rem set "BUILD_DataExchange=ON" rem set "BUILD_DataExchange=ON"
rem set "BUILD_DETools=OFF"
rem set "USE_RAPIDJSON=ON" rem set "USE_RAPIDJSON=ON"
rem set "USE_DRACO=ON" rem set "USE_DRACO=ON"

View File

@@ -14,4 +14,3 @@ export EMSDK_ROOT="$aSrcRoot/../emsdk"
#export BUILD_Visualization=ON #export BUILD_Visualization=ON
#export BUILD_ApplicationFramework=ON #export BUILD_ApplicationFramework=ON
#export BUILD_DataExchange=ON #export BUILD_DataExchange=ON
#export BUILD_DETools=OFF

View File

@@ -14,7 +14,6 @@ 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@" == "" (

View File

@@ -12,7 +12,6 @@ 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@"

View File

@@ -16,7 +16,6 @@ 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@" == "" (

View File

@@ -12,7 +12,6 @@ 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@"

View File

@@ -154,7 +154,6 @@ 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 -----

View File

@@ -69,10 +69,6 @@ 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

View File

@@ -71,10 +71,6 @@ 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

View File

@@ -725,7 +725,7 @@ Another possible problem is the order of initialization of global variables defi
Avoid explicit usage of basic types (*int*, *float*, *double*, etc.), use Open CASCADE Technology types from package *Standard: Standard_Integer, Standard_Real, Standard_ShortReal, Standard_Boolean, Standard_CString* and others or a specific *typedef* instead. Avoid explicit usage of basic types (*int*, *float*, *double*, etc.), use Open CASCADE Technology types from package *Standard: Standard_Integer, Standard_Real, Standard_ShortReal, Standard_Boolean, Standard_CString* and others or a specific *typedef* instead.
### Use sizeof() to calculate sizes [MANDATORY] ### Use *sizeof()* to calculate sizes [MANDATORY]
Do not assume sizes of types. Use *sizeof()* instead to calculate sizes. Do not assume sizes of types. Use *sizeof()* instead to calculate sizes.
@@ -738,7 +738,7 @@ It is recommended to follow this rule for any plain text files for consistency a
The rules listed in this chapter are important for stability of the programs that use Open CASCADE Technology libraries. The rules listed in this chapter are important for stability of the programs that use Open CASCADE Technology libraries.
### Use OSD::SetSignal() to catch exceptions ### Use *OSD::SetSignal()* to catch exceptions
When using Open CASCADE Technology in an application, call *OSD::SetSignal()* function when the application is initialized. When using Open CASCADE Technology in an application, call *OSD::SetSignal()* function when the application is initialized.
@@ -787,7 +787,7 @@ See the following example:
In C++ use *new* and *delete* operators instead of *malloc()* and *free()*. Try not to mix different memory allocation techniques. In C++ use *new* and *delete* operators instead of *malloc()* and *free()*. Try not to mix different memory allocation techniques.
### Match new and delete [MANDATORY] ### Match *new* and *delete* [MANDATORY]
Use the same form of new and delete. Use the same form of new and delete.
@@ -812,7 +812,7 @@ Standard_Integer aTmpVar2 = 0; // OK
Uninitialized variables might be kept only within performance-sensitive code blocks and only when their initialization is guaranteed by subsequent code. Uninitialized variables might be kept only within performance-sensitive code blocks and only when their initialization is guaranteed by subsequent code.
### Do not hide global new ### Do not hide global *new*
Avoid hiding the global *new* operator. Avoid hiding the global *new* operator.

View File

@@ -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 | TKDEIGES | iges | | Data Exchange | TKIGES | iges |
| Data Exchange | TKDESTEP | step | | Data Exchange | TKSTEPBase, TKSTEPAttr, TKSTEP209, TKSTEP | step |
| Data Exchange | TKDESTL, TKDEVRML | stlvrml | | Data Exchange | TKSTL, TKVRML | stlvrml |
| Data Exchange | TKXSBase, TKXCAF, TKXCAFSchema, TKXmlXCAF, TKBinXCAF | xde | | Data Exchange | TKXSBase, TKXCAF, TKXCAFSchema, TKXDEIGES, TKXDESTEP, 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 |

View File

@@ -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_occt780 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.8.0)" @ref upgrade_occt770 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.7.0)"
@subsection upgrade_intro_precautions Precautions @subsection upgrade_intro_precautions Precautions
@@ -2343,69 +2343,3 @@ 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.

View File

@@ -780,7 +780,7 @@ restore theBox
@subsubsection occt_draw_3_3_1 set @subsubsection occt_draw_3_3_1 set
#### In DrawTrSurf package: #### In *DrawTrSurf* package:
~~~~{.php} ~~~~{.php}
void Set(Standard_CString& Name,const gp_Pnt& G) ; void Set(Standard_CString& Name,const gp_Pnt& G) ;
@@ -797,7 +797,7 @@ void Set(Standard_CString& Name,
const Handle(Poly_Polygon2D)& P) ; const Handle(Poly_Polygon2D)& P) ;
~~~~ ~~~~
#### In DBRep package: #### In *DBRep* package:
~~~~{.php} ~~~~{.php}
void Set(const Standard_CString Name, void Set(const Standard_CString Name,
@@ -822,13 +822,13 @@ DBRep::Set(char*,B);
@subsubsection occt_draw_3_3_2 get @subsubsection occt_draw_3_3_2 get
#### In DrawTrSurf package: #### In *DrawTrSurf* package:
~~~~{.php} ~~~~{.php}
Handle_Geom_Geometry Get(Standard_CString& Name) ; Handle_Geom_Geometry Get(Standard_CString& Name) ;
~~~~ ~~~~
#### In DBRep package: #### In *DBRep* package:
~~~~{.php} ~~~~{.php}
TopoDS_Shape Get(Standard_CString& Name, TopoDS_Shape Get(Standard_CString& Name,

View File

@@ -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 (TKDESTEP toolkit) provides tools to read and write STEP files (see XDE User's Guide). The *STEPCAFControl* package (TKXDESTEP 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;

View File

@@ -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, "TKDEIGES.lib") #pragma comment(lib, "TKIGES.lib")
#pragma comment(lib, "TKDESTEP.lib") #pragma comment(lib, "TKSTEP.lib")
#pragma comment(lib, "TKDESTL.lib") #pragma comment(lib, "TKStl.lib")
#pragma comment(lib, "TKDEVRML.lib") #pragma comment(lib, "TKVrml.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.

View File

@@ -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, "TKDEIGES.lib") #pragma comment(lib, "TKIGES.lib")
#pragma comment(lib, "TKDESTEP.lib") #pragma comment(lib, "TKSTEP.lib")
#pragma comment(lib, "TKDESTL.lib") #pragma comment(lib, "TKStl.lib")
#pragma comment(lib, "TKDEVRML.lib") #pragma comment(lib, "TKVrml.lib")
#pragma comment(lib, "TKLCAF.lib") #pragma comment(lib, "TKLCAF.lib")
#pragma comment(lib, "D3D9.lib") #pragma comment(lib, "D3D9.lib")

View File

@@ -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 TKXCAF TKDEIGES TKDESTEP TKDESTL TKDEVRML TKXmlXCAF TKBinXCAF TKRWMesh TKDEGLTF TKDEOBJ TKDEPLY) # DataExchange 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} 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

View File

@@ -26,10 +26,14 @@
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 /* libTKDESTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */; }; 0A7DEE2E1E2D2AE000267B9B /* libTKSTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.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 */; };
@@ -75,7 +79,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 /* libTKDEIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDEIGES.a; path = ../occt/lib/libTKDEIGES.a; sourceTree = "<group>"; }; 0A7DEE061E2D2A8C00267B9B /* libTKIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKIGES.a; path = ../occt/lib/libTKIGES.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>"; };
@@ -83,11 +87,16 @@
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 /* libTKDESTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDESTEP.a; path = ../occt/lib/libTKDESTEP.a; sourceTree = "<group>"; }; 0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEP.a; path = ../occt/lib/libTKSTEP.a; sourceTree = "<group>"; };
0A7DEE121E2D2AB500267B9B /* libTKDESTL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDESTL.a; path = ../occt/lib/libTKDESTL.a; sourceTree = "<group>"; }; 0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEP209.a; path = ../occt/lib/libTKSTEP209.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 /* libTKDEVRML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDEVRML.a; path = ../occt/lib/libTKDEVRML.a; sourceTree = "<group>"; }; 0A7DEE141E2D2ABC00267B9B /* libTKVRML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKVRML.a; path = ../occt/lib/libTKVRML.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>"; };
@@ -125,10 +134,13 @@
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 /* libTKDESTEP.a in Frameworks */, 0A7DEE2E1E2D2AE000267B9B /* libTKSTEP.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 */,
@@ -219,7 +231,7 @@
0A7DEE031E2D2A8200267B9B /* libTKBool.a */, 0A7DEE031E2D2A8200267B9B /* libTKBool.a */,
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */, 0A7DEE041E2D2A8500267B9B /* libTKFeat.a */,
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */, 0A7DEE051E2D2A8900267B9B /* libTKFillet.a */,
0A7DEE061E2D2A8C00267B9B /* libTKDEIGES.a */, 0A7DEE061E2D2A8C00267B9B /* libTKIGES.a */,
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */, 0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */,
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */, 0A7DEE081E2D2A9300267B9B /* libTKOffset.a */,
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */, 0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */,
@@ -227,11 +239,16 @@
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */, 0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */,
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */, 0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */,
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */, 0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */,
0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */, 0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */,
0A7DEE121E2D2AB500267B9B /* libTKDESTL.a */, 0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */,
0A7DEE101E2D2AAE00267B9B /* libTKSTEPAttr.a */,
0A7DEE111E2D2AB200267B9B /* libTKSTEPBase.a */,
0A7DEE121E2D2AB500267B9B /* libTKSTL.a */,
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */, 0A7DEE131E2D2AB900267B9B /* libTKTObj.a */,
0A7DEE141E2D2ABC00267B9B /* libTKDEVRML.a */, 0A7DEE141E2D2ABC00267B9B /* libTKVRML.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 */,

View File

@@ -23,11 +23,12 @@
#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)> MapOfPrsForShapes; typedef NCollection_DataMap<TDF_Label, Handle(AIS_InteractiveObject), TDF_LabelMapHasher> 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

View File

@@ -138,8 +138,11 @@ 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 ("TKDEIGES", aLoaded, aFailed) || !loadLibVerbose ("TKIGES", aLoaded, aFailed)
|| !loadLibVerbose ("TKDESTEP", aLoaded, aFailed) || !loadLibVerbose ("TKSTEPBase", 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)

View File

@@ -8,8 +8,8 @@ set (anOcctLibs
# exchange # exchange
TKPrim TKBO TKBool TKFillet TKOffset TKPrim TKBO TKBool TKFillet TKOffset
TKXSBase TKXSBase
TKDEIGES TKIGES
TKDESTEP TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP
# OCCT Visualization # OCCT Visualization
TKService TKHLR TKV3d TKOpenGles TKService TKHLR TKV3d TKOpenGles
) )

View File

@@ -116,7 +116,7 @@
<Culture>0x0409</Culture> <Culture>0x0409</Culture>
</ResourceCompile> </ResourceCompile>
<Link> <Link>
<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> <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>
<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;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> <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>
<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;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> <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>
<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;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> <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>
<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>

View File

@@ -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 TKDESTEP TKBO) target_link_libraries (Modeling mfcsample TKSTEP209 TKSTEPAttr TKSTEPBase TKBO)

View File

@@ -115,7 +115,7 @@
<Culture>0x0409</Culture> <Culture>0x0409</Culture>
</ResourceCompile> </ResourceCompile>
<Link> <Link>
<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> <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>
<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;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> <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>
<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;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> <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>
<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;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> <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>
<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>

View File

@@ -116,7 +116,7 @@
<Culture>0x0409</Culture> <Culture>0x0409</Culture>
</ResourceCompile> </ResourceCompile>
<Link> <Link>
<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> <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>
<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;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> <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>
<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;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> <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>
<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;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> <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>
<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>

View File

@@ -158,12 +158,15 @@ include_directories( ${CMAKE_BINARY_DIR}/inc
${COMMON_RESOURCE2D_DIR}) ${COMMON_RESOURCE2D_DIR})
# OCCT libraries for using # OCCT libraries for using
set (mfcsample_USED_LIBS TKDEVRML set (mfcsample_USED_LIBS TKVRML
TKDESTL TKSTL
TKBRep TKBRep
TKDEIGES TKIGES
TKShHealing TKShHealing
TKDESTEP TKSTEP
TKSTEPBase
TKSTEP209
TKSTEPAttr
TKXSBase TKXSBase
TKBool TKBool
TKBO TKBO

View File

@@ -115,7 +115,7 @@
<Culture>0x0409</Culture> <Culture>0x0409</Culture>
</ResourceCompile> </ResourceCompile>
<Link> <Link>
<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> <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>
<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;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> <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>
<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;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> <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>
<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;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> <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>
<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>

View File

@@ -8,7 +8,7 @@ TKG3d
TKGeomAlgo TKGeomAlgo
TKGeomBase TKGeomBase
TKHLR TKHLR
TKDEIGES TKIGES
TKernel TKernel
TKMath TKMath
TKMesh TKMesh
@@ -17,10 +17,13 @@ TKOpenGl
TKPrim TKPrim
TKShHealing TKShHealing
TKService TKService
TKDESTEP TKSTEP
TKDESTL TKSTEP209
TKSTEPAttr
TKSTEPBase
TKSTL
TKTopAlgo TKTopAlgo
TKV3d TKV3d
TKDEVRML TKVRML
TKXSBase TKXSBase

View File

@@ -72,8 +72,8 @@ win32 {
} }
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \ LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \ -lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \ -lTKSTEPBase -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 \

View File

@@ -10,7 +10,7 @@ TKGeomAlgo
TKGeomBase TKGeomBase
TKernel TKernel
TKHLR TKHLR
TKDEIGES TKIGES
TKMath TKMath
TKMesh TKMesh
TKOffset TKOffset
@@ -18,11 +18,14 @@ TKOpenGl
TKPrim TKPrim
TKService TKService
TKShHealing TKShHealing
TKDESTEP TKSTEP
TKDESTL TKSTEP209
TKSTEPAttr
TKSTEPBase
TKSTL
TKTopAlgo TKTopAlgo
TKV3d TKV3d
TKDEVRML TKVRML
TKXSBase TKXSBase
TKLCAF TKLCAF
TKCAF TKCAF

View File

@@ -75,8 +75,8 @@ win32 {
} }
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \ LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \ -lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \ -lTKSTEPBase -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

View File

@@ -9,7 +9,7 @@ TKGeomAlgo
TKGeomBase TKGeomBase
TKernel TKernel
TKHLR TKHLR
TKDEIGES TKIGES
TKMath TKMath
TKMesh TKMesh
TKOffset TKOffset
@@ -17,10 +17,13 @@ TKOpenGl
TKPrim TKPrim
TKService TKService
TKShHealing TKShHealing
TKDESTEP TKSTEP
TKDESTL TKSTEP209
TKSTEPAttr
TKSTEPBase
TKSTL
TKTopAlgo TKTopAlgo
TKV3d TKV3d
TKDEVRML TKVRML
TKXSBase TKXSBase

View File

@@ -73,8 +73,8 @@ win32 {
} }
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \ LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \ -lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \ -lTKSTEPBase -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 \

View File

@@ -59,7 +59,7 @@ else()
set(OCCT_BIN_DIR) set(OCCT_BIN_DIR)
endif() endif()
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) 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)
add_executable(${APP_TARGET} ${SOURCES}) add_executable(${APP_TARGET} ${SOURCES})
target_link_libraries( target_link_libraries(

View File

@@ -102,11 +102,11 @@ set (uwp_USED_LIBS TKernel
TKHLR TKHLR
TKOffset TKOffset
TKXMesh TKXMesh
TKDEIGES TKIGES
TKDESTEP TKSTEP
TKXSBase TKXSBase
TKDESTL TKSTL
TKDEVRML TKVRML
) )
target_link_libraries (uwp ${uwp_USED_LIBS}) target_link_libraries (uwp ${uwp_USED_LIBS})

View File

@@ -56,7 +56,7 @@ AIS_C0RegularityFilter::AIS_C0RegularityFilter(const TopoDS_Shape& aShape)
} }
} }
if (Ok) { if (Ok) {
const TopoDS_Shape& curEdge = SubShapes.FindKey( i ); TopoDS_Shape curEdge = SubShapes.FindKey( i );
myMapOfEdges.Add(curEdge); myMapOfEdges.Add(curEdge);
} }
} }

View File

@@ -21,6 +21,7 @@
#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;
@@ -103,7 +104,7 @@ protected: //! @name override presentation computation
protected: protected:
typedef NCollection_IndexedDataMap<Handle(AIS_ColoredDrawer), TopoDS_Compound> DataMapOfDrawerCompd; typedef NCollection_IndexedDataMap<Handle(AIS_ColoredDrawer), TopoDS_Compound, TColStd_MapTransientHasher> DataMapOfDrawerCompd;
protected: protected:

View File

@@ -30,6 +30,7 @@
#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)
@@ -240,7 +241,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> typedef NCollection_DataMap<TopoDS_Shape, SensitiveList, TopTools_OrientedShapeMapHasher>
Shapes2EntitiesMap; Shapes2EntitiesMap;
if (!myReference->HasSelection (theMode)) if (!myReference->HasSelection (theMode))

View File

@@ -19,10 +19,11 @@
#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)> AIS_DataMapOfIOStatus; typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus),TColStd_MapTransientHasher> AIS_DataMapOfIOStatus;
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus)>::Iterator AIS_DataMapIteratorOfDataMapOfIOStatus; typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus),TColStd_MapTransientHasher>::Iterator AIS_DataMapIteratorOfDataMapOfIOStatus;
#endif #endif

View File

@@ -17,11 +17,10 @@
//! 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_Confirmed, //!< dragging interaction is confirmed. AIS_DragAction_Update, //!< perform dragging (update position)
AIS_DragAction_Update, //!< perform dragging (update position) AIS_DragAction_Stop, //!< stop dragging (save position)
AIS_DragAction_Stop, //!< stop dragging (save position) AIS_DragAction_Abort, //!< abort dragging (restore initial position)
AIS_DragAction_Abort, //!< abort dragging (restore initial position)
}; };
#endif // _AIS_DragAction_HeaderFile #endif // _AIS_DragAction_HeaderFile

View File

@@ -945,7 +945,7 @@ void AIS_InteractiveContext::Redisplay (const AIS_KindOfInteractive theKOI,
Standard_Boolean isRedisplayed = Standard_False; Standard_Boolean isRedisplayed = Standard_False;
for (AIS_DataMapIteratorOfDataMapOfIOStatus anObjIter (myObjects); anObjIter.More(); anObjIter.Next()) for (AIS_DataMapIteratorOfDataMapOfIOStatus anObjIter (myObjects); anObjIter.More(); anObjIter.Next())
{ {
const Handle(AIS_InteractiveObject)& anObj = anObjIter.Key(); Handle(AIS_InteractiveObject) anObj = anObjIter.Key();
if (anObj->Type() != theKOI) if (anObj->Type() != theKOI)
{ {
continue; continue;
@@ -1155,7 +1155,7 @@ void AIS_InteractiveContext::SetDisplayMode(const Standard_Integer theMode,
continue; continue;
} }
const Handle(AIS_GlobalStatus)& aStatus = anObjIter.Value(); Handle(AIS_GlobalStatus) aStatus = anObjIter.Value();
aStatus->SetDisplayMode (theMode); aStatus->SetDisplayMode (theMode);
if (anObj->DisplayStatus() == PrsMgr_DisplayStatus_Displayed) if (anObj->DisplayStatus() == PrsMgr_DisplayStatus_Displayed)
@@ -2251,7 +2251,7 @@ Bnd_Box AIS_InteractiveContext::BoundingBoxOfSelection (const Handle(V3d_View)&
for (AIS_MapIteratorOfMapOfObjectOwners anIter (anObjectOwnerMap); anIter.More(); anIter.Next()) for (AIS_MapIteratorOfMapOfObjectOwners anIter (anObjectOwnerMap); anIter.More(); anIter.Next())
{ {
const Handle(SelectMgr_SelectableObject)& anObject = anIter.Key(); const Handle(SelectMgr_SelectableObject) anObject = anIter.Key();
Bnd_Box aTmpBox = anObject->BndBoxOfSelected (anIter.ChangeValue()); Bnd_Box aTmpBox = anObject->BndBoxOfSelected (anIter.ChangeValue());
aBndSelected.Add (aTmpBox); aBndSelected.Add (aTmpBox);
} }
@@ -3228,30 +3228,6 @@ void AIS_InteractiveContext::ClearSelected (const Standard_Boolean theToUpdateVi
} }
} }
//=======================================================================
//function : isDetected
//purpose :
//=======================================================================
Standard_Boolean AIS_InteractiveContext::isDetected (const Handle(AIS_InteractiveObject)& theObject)
{
for (Standard_Integer aDetIter = myDetectedSeq.Lower(); aDetIter <= myDetectedSeq.Upper(); aDetIter++)
{
Handle(SelectMgr_EntityOwner) aPicked = MainSelector()->Picked(myDetectedSeq(aDetIter));
Handle(AIS_InteractiveObject) anObj;
if (!aPicked.IsNull())
{
anObj = Handle(AIS_InteractiveObject)::DownCast(aPicked->Selectable());
}
if (!anObj.IsNull()
&& anObj == theObject)
{
return Standard_True;
}
}
return Standard_False;
}
//======================================================================= //=======================================================================
//function : SetSelected //function : SetSelected
//purpose : Sets the whole object as selected and highlights it with selection color //purpose : Sets the whole object as selected and highlights it with selection color
@@ -3312,8 +3288,7 @@ void AIS_InteractiveContext::SetSelected (const Handle(AIS_InteractiveObject)& t
} }
// added to avoid untimely viewer update... // added to avoid untimely viewer update...
const Handle(AIS_InteractiveObject) anObj = Handle(AIS_InteractiveObject)::DownCast (anOwner->Selectable()); mySelection->ClearAndSelect (anOwner);
mySelection->ClearAndSelect (anOwner, myFilters, isDetected (anObj));
if (myAutoHilight) if (myAutoHilight)
{ {
@@ -3375,7 +3350,7 @@ void AIS_InteractiveContext::SetSelected (const Handle(SelectMgr_EntityOwner)& t
unhighlightSelected(); unhighlightSelected();
} }
mySelection->ClearAndSelect (theOwner, myFilters, isDetected (anObject)); mySelection->ClearAndSelect (theOwner);
if (myAutoHilight) if (myAutoHilight)
{ {
Handle(Prs3d_Drawer) aCustomStyle; Handle(Prs3d_Drawer) aCustomStyle;
@@ -3426,17 +3401,16 @@ void AIS_InteractiveContext::AddOrRemoveSelected (const Handle(SelectMgr_EntityO
return; return;
} }
if (!myFilters->IsOk (theOwner) && !theOwner->IsSelected()) if (!myFilters->IsOk(theOwner) && !theOwner->IsSelected())
{ {
return; return;
} }
AIS_SelectionScheme aSelScheme = theOwner->IsSelected() ? AIS_SelectionScheme_Remove : AIS_SelectionScheme_Add; mySelection->Select (theOwner);
const Handle(AIS_InteractiveObject) anObj = Handle(AIS_InteractiveObject)::DownCast (theOwner->Selectable());
mySelection->Select (theOwner, myFilters, aSelScheme, isDetected (anObj));
if (myAutoHilight) if (myAutoHilight)
{ {
const Handle(AIS_InteractiveObject) anObj = Handle(AIS_InteractiveObject)::DownCast (theOwner->Selectable());
Handle(AIS_GlobalStatus)* aStatusPtr = myObjects.ChangeSeek (anObj); Handle(AIS_GlobalStatus)* aStatusPtr = myObjects.ChangeSeek (anObj);
if (!aStatusPtr) if (!aStatusPtr)
{ {
@@ -3495,8 +3469,7 @@ Standard_Boolean AIS_InteractiveContext::SetSelectedState (const Handle(SelectMg
} }
else else
{ {
const Handle(AIS_InteractiveObject) anObj = Handle(AIS_InteractiveObject)::DownCast(theEntity->Selectable()); const AIS_SelectStatus aSelStatus = mySelection->Select (theEntity);
const AIS_SelectStatus aSelStatus = mySelection->Select (theEntity, myFilters, AIS_SelectionScheme_Remove, isDetected (anObj));
theEntity->SetSelected (false); theEntity->SetSelected (false);
return aSelStatus == AIS_SS_Removed; return aSelStatus == AIS_SS_Removed;
} }

View File

@@ -1302,9 +1302,6 @@ protected: //! @name internal methods
Standard_EXPORT AIS_StatusOfDetection moveTo (const Handle(V3d_View)& theView, Standard_EXPORT AIS_StatusOfDetection moveTo (const Handle(V3d_View)& theView,
const Standard_Boolean theToRedrawOnUpdate); const Standard_Boolean theToRedrawOnUpdate);
//! Returns True if the object is detected.
Standard_EXPORT Standard_Boolean isDetected (const Handle(AIS_InteractiveObject)& theObject);
//! Helper function to unhighlight all entity owners currently highlighted with seleciton color. //! Helper function to unhighlight all entity owners currently highlighted with seleciton color.
Standard_EXPORT void unselectOwners (const Handle(AIS_InteractiveObject)& theObject); Standard_EXPORT void unselectOwners (const Handle(AIS_InteractiveObject)& theObject);

View File

@@ -259,10 +259,6 @@ 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();

View File

@@ -661,10 +661,6 @@ 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);

View File

@@ -55,38 +55,24 @@ void AIS_Selection::Clear()
//function : Select //function : Select
//purpose : //purpose :
//======================================================================= //=======================================================================
AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& theOwner, AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& theObject)
const Handle(SelectMgr_Filter)& theFilter,
const AIS_SelectionScheme theSelScheme,
const Standard_Boolean theIsDetected)
{ {
if (theOwner.IsNull() if (theObject.IsNull()
|| !theOwner->HasSelectable()) || !theObject->HasSelectable())
{ {
return AIS_SS_NotDone; return AIS_SS_NotDone;
} }
const Standard_Boolean isDetected = theIsDetected if (!myResultMap.IsBound (theObject))
&& (theFilter.IsNull() || theFilter->IsOk (theOwner));
const Standard_Boolean wasSelected = theOwner->IsSelected();
const Standard_Boolean toSelect = theOwner->Select (theSelScheme, isDetected);
if (toSelect && !wasSelected)
{ {
AIS_NListOfEntityOwner::Iterator aListIter; AIS_NListOfEntityOwner::Iterator aListIter;
myresult.Append (theOwner, aListIter); myresult.Append (theObject, aListIter);
myResultMap.Bind (theOwner, aListIter); myResultMap.Bind (theObject, aListIter);
theOwner->SetSelected (Standard_True); theObject->SetSelected (Standard_True);
return AIS_SS_Added; return AIS_SS_Added;
} }
if (!toSelect && !wasSelected) AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theObject);
{
return AIS_SS_NotDone;
}
AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theOwner);
if (myIterator == aListIter) if (myIterator == aListIter)
{ {
if (myIterator.More()) if (myIterator.More())
@@ -102,14 +88,14 @@ AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& the
// In the mode of advanced mesh selection only one owner is created for all selection modes. // In the mode of advanced mesh selection only one owner is created for all selection modes.
// It is necessary to check the current detected entity // It is necessary to check the current detected entity
// and remove the owner from map only if the detected entity is the same as previous selected (IsForcedHilight call) // and remove the owner from map only if the detected entity is the same as previous selected (IsForcedHilight call)
if (theOwner->IsForcedHilight()) if (theObject->IsForcedHilight())
{ {
return AIS_SS_Added; return AIS_SS_Added;
} }
myresult.Remove (aListIter); myresult.Remove (aListIter);
myResultMap.UnBind (theOwner); myResultMap.UnBind (theObject);
theOwner->SetSelected (Standard_False); theObject->SetSelected (Standard_False);
// update list iterator for next object in <myresult> list if any // update list iterator for next object in <myresult> list if any
if (aListIter.More()) if (aListIter.More())
@@ -156,39 +142,86 @@ void AIS_Selection::SelectOwners (const AIS_NArray1OfEntityOwner& thePickedOwner
const Standard_Boolean theToAllowSelOverlap, const Standard_Boolean theToAllowSelOverlap,
const Handle(SelectMgr_Filter)& theFilter) const Handle(SelectMgr_Filter)& theFilter)
{ {
(void)theToAllowSelOverlap; (void )theToAllowSelOverlap;
switch (theSelScheme)
if (theSelScheme == AIS_SelectionScheme_ReplaceExtra
&& thePickedOwners.Size() == myresult.Size())
{ {
// If picked owners is equivalent to the selected then just clear selected. case AIS_SelectionScheme_UNKNOWN:
Standard_Boolean isTheSame = Standard_True;
for (AIS_NArray1OfEntityOwner::Iterator aPickedIter (thePickedOwners); aPickedIter.More(); aPickedIter.Next())
{ {
if (!myResultMap.IsBound (aPickedIter.Value())) return;
}
case AIS_SelectionScheme_ReplaceExtra:
{
// If picked owners is equivalent to the selected then just clear selected
// Else go to AIS_SelectionScheme_Replace
if (thePickedOwners.Size() == myresult.Size())
{ {
isTheSame = Standard_False; Standard_Boolean isTheSame = Standard_True;
break; for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
{
if (!myResultMap.IsBound (aSelIter.Value()))
{
isTheSame = Standard_False;
break;
}
}
if (isTheSame)
{
Clear();
return;
}
} }
} }
if (isTheSame) Standard_FALLTHROUGH
case AIS_SelectionScheme_Replace:
{ {
Clear(); Clear();
return; for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
{
appendOwner (aSelIter.Value(), theFilter);
}
return;
} }
} case AIS_SelectionScheme_Add:
{
for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
{
appendOwner (aSelIter.Value(), theFilter);
}
return;
}
case AIS_SelectionScheme_Remove:
{
for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
{
if (myResultMap.IsBound (aSelIter.Value()))
{
Select (aSelIter.Value());
}
}
return;
}
case AIS_SelectionScheme_XOR:
{
for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
{
const Handle(SelectMgr_EntityOwner)& anOwner = aSelIter.Value();
if (anOwner.IsNull()
|| !anOwner->HasSelectable()
|| !theFilter->IsOk (anOwner))
{
continue;
}
if (theSelScheme == AIS_SelectionScheme_Replace Select (anOwner);
|| theSelScheme == AIS_SelectionScheme_ReplaceExtra }
|| theSelScheme == AIS_SelectionScheme_Clear) return;
{ }
Clear(); case AIS_SelectionScheme_Clear:
} {
Clear();
for (AIS_NArray1OfEntityOwner::Iterator aPickedIter (thePickedOwners); aPickedIter.More(); aPickedIter.Next()) return;
{ }
const Handle(SelectMgr_EntityOwner)& anOwner = aPickedIter.Value();
Select (anOwner, theFilter, theSelScheme, true);
} }
} }

View File

@@ -34,36 +34,23 @@ public:
//! creates a new selection. //! creates a new selection.
Standard_EXPORT AIS_Selection(); Standard_EXPORT AIS_Selection();
//! removes all the object of the selection. //! removes all the object of the selection.
Standard_EXPORT virtual void Clear(); Standard_EXPORT virtual void Clear();
//! if the object is not yet in the selection, it will be added. //! if the object is not yet in the selection, it will be added.
//! if the object is already in the selection, it will be removed. //! if the object is already in the selection, it will be removed.
//! @param[in] theOwner element to change selection state Standard_EXPORT virtual AIS_SelectStatus Select (const Handle(SelectMgr_EntityOwner)& theObject);
//! @param[in] theFilter context filter
//! @param[in] theSelScheme selection scheme
//! @param[in] theIsDetected flag of object detection
//! @return result of selection
Standard_EXPORT virtual AIS_SelectStatus Select (const Handle(SelectMgr_EntityOwner)& theOwner,
const Handle(SelectMgr_Filter)& theFilter,
const AIS_SelectionScheme theSelScheme,
const Standard_Boolean theIsDetected);
//! the object is always add int the selection. //! the object is always add int the selection.
//! faster when the number of objects selected is great. //! faster when the number of objects selected is great.
Standard_EXPORT virtual AIS_SelectStatus AddSelect (const Handle(SelectMgr_EntityOwner)& theObject); Standard_EXPORT virtual AIS_SelectStatus AddSelect (const Handle(SelectMgr_EntityOwner)& theObject);
//! clears the selection and adds the object in the selection. //! clears the selection and adds the object in the selection.
//! @param[in] theObject element to change selection state virtual void ClearAndSelect (const Handle(SelectMgr_EntityOwner)& theObject)
//! @param[in] theFilter context filter
//! @param[in] theIsDetected flag of object detection
virtual void ClearAndSelect (const Handle(SelectMgr_EntityOwner)& theObject,
const Handle(SelectMgr_Filter)& theFilter,
const Standard_Boolean theIsDetected)
{ {
Clear(); Clear();
Select (theObject, theFilter, AIS_SelectionScheme_Add, theIsDetected); Select (theObject);
} }
//! checks if the object is in the selection. //! checks if the object is in the selection.

View File

@@ -332,11 +332,6 @@ 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;
@@ -933,7 +928,6 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
myMouseClickCounter = 0; myMouseClickCounter = 0;
myMouseSingleButton = -1; myMouseSingleButton = -1;
myMouseStopDragOnUnclick = true; myMouseStopDragOnUnclick = true;
myUI.Dragging.ToConfirm = true;
} }
} }
@@ -1053,13 +1047,11 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
: 0.0; : 0.0;
if (double (Abs (aDelta.x())) > aZoomTol) if (double (Abs (aDelta.x())) > aZoomTol)
{ {
UpdateZoom (Aspect_ScrollDelta (aDelta.x())); if (UpdateZoom (Aspect_ScrollDelta (aDelta.x())))
{
myUI.Dragging.ToMove = true; toUpdateView = true;
myUI.Dragging.PointTo = thePoint; }
myMouseProgressPoint = thePoint; myMouseProgressPoint = thePoint;
toUpdateView = true;
} }
break; break;
} }
@@ -1083,6 +1075,7 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
} }
aDelta.y() = -aDelta.y(); aDelta.y() = -aDelta.y();
myMouseProgressPoint = thePoint;
if (myUI.Panning.ToPan) if (myUI.Panning.ToPan)
{ {
myUI.Panning.Delta += aDelta; myUI.Panning.Delta += aDelta;
@@ -1092,12 +1085,6 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
myUI.Panning.ToPan = true; myUI.Panning.ToPan = true;
myUI.Panning.Delta = aDelta; myUI.Panning.Delta = aDelta;
} }
myUI.Dragging.ToMove = true;
myUI.Dragging.PointTo = thePoint;
myMouseProgressPoint = thePoint;
toUpdateView = true; toUpdateView = true;
} }
break; break;
@@ -2744,17 +2731,6 @@ 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())
@@ -3074,15 +3050,9 @@ 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;
myGL.Panning .ToPan = false;
myGL.ZoomActions.Clear();
} }
} }
} }

View File

@@ -640,9 +640,18 @@ protected:
protected: protected:
NCollection_DataMap<V3d_TypeOfOrientation, TCollection_AsciiString> //! Trivial hasher to avoid ambiguity with enumeration type.
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> NCollection_DataMap<Prs3d_DatumParts, TCollection_AsciiString, IntegerHasher>
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

View File

@@ -87,14 +87,13 @@ 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), ToConfirm (false), ToMove (false), ToStop (false), ToAbort (false) {} _draggingParams() : ToStart (false), ToMove (false), ToStop (false), ToAbort (false) {}
} Dragging; } Dragging;
struct _orbitRotation struct _orbitRotation
@@ -140,13 +139,12 @@ 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.ToConfirm = false; Dragging.ToMove = false;
Dragging.ToMove = false; Dragging.ToStop = false;
Dragging.ToStop = false; Dragging.ToAbort = false;
Dragging.ToAbort = false;
OrbitRotation.ToStart = false; OrbitRotation.ToStart = false;
OrbitRotation.ToRotate = false; OrbitRotation.ToRotate = false;
ViewRotation.ToStart = false; ViewRotation.ToStart = false;

View File

@@ -162,7 +162,7 @@ void APIHeaderSection_MakeHeader::Apply
Handle(StepData_Protocol) stepro = Handle(StepData_Protocol)::DownCast Handle(StepData_Protocol) stepro = Handle(StepData_Protocol)::DownCast
( model->Protocol()); ( model->Protocol());
if (!stepro.IsNull()) sch = new TCollection_HAsciiString if (!stepro.IsNull()) sch = new TCollection_HAsciiString
(stepro->SchemaName(model)); (stepro->SchemaName());
if (!sch.IsNull()) schid->SetValue (1,sch); if (!sch.IsNull()) schid->SetValue (1,sch);
} }
header.AddItem(fs); header.AddItem(fs);

View File

@@ -911,9 +911,10 @@ int macrmsg_(const char *,//crout,
/* Parameter adjustments */ /* Parameter adjustments */
ct -= ct_len; ct -= ct_len;
(void )ct; // unused (void )ct; // unused
(void )xt; // unused
(void )it; // unused
--xt;
--it;
/* Function Body */ /* Function Body */
mamdlng_(cln, 3L); mamdlng_(cln, 3L);
@@ -1788,7 +1789,7 @@ int maoverf_(integer *nbentr,
/* Loop. The upper limit is the integer value of the logarithm of base 2 /* Loop. The upper limit is the integer value of the logarithm of base 2
*/ */
/* of NBENTR/NLONGR. */ /* of NBENTR/NLONGR. */
i__1 = (integer) (std::log((real) (*nbentr) / (float)63.) / std::log((float)2.)) i__1 = (integer) (log((real) (*nbentr) / (float)63.) / log((float)2.))
; ;
for (ibid = 1; ibid <= i__1; ++ibid) { for (ibid = 1; ibid <= i__1; ++ibid) {

View File

@@ -30,6 +30,7 @@
#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>

View File

@@ -24,6 +24,7 @@
#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>

View File

@@ -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, Som; Standard_Integer i, j, k = 0, 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,6 +1248,7 @@ 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++;
} }
} }
} }

View File

@@ -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
{ {

View File

@@ -13,6 +13,7 @@
// 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>
@@ -1391,7 +1392,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; Standard_Integer nbp = lastpt-firstpt+1, Kopt = 0;
math_Vector Para(firstpt, lastpt); math_Vector Para(firstpt, lastpt);
Parameters(Line, firstpt, lastpt, Para); Parameters(Line, firstpt, lastpt, Para);
@@ -1426,6 +1427,11 @@ 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.

View File

@@ -556,7 +556,7 @@ void Approx_CurveOnSurface::Perform(const Standard_Integer theMaxSegments,
//function : isIsoLine //function : isIsoLine
//purpose : //purpose :
//============================================================================= //=============================================================================
Standard_Boolean Approx_CurveOnSurface::isIsoLine(const Handle(Adaptor2d_Curve2d)& theC2D, Standard_Boolean Approx_CurveOnSurface::isIsoLine(const Handle(Adaptor2d_Curve2d) theC2D,
Standard_Boolean& theIsU, Standard_Boolean& theIsU,
Standard_Real& theParam, Standard_Real& theParam,
Standard_Boolean& theIsForward) const Standard_Boolean& theIsForward) const
@@ -638,7 +638,7 @@ Standard_Boolean Approx_CurveOnSurface::isIsoLine(const Handle(Adaptor2d_Curve2d
//function : buildC3dOnIsoLine //function : buildC3dOnIsoLine
//purpose : //purpose :
//============================================================================= //=============================================================================
Standard_Boolean Approx_CurveOnSurface::buildC3dOnIsoLine(const Handle(Adaptor2d_Curve2d)& theC2D, Standard_Boolean Approx_CurveOnSurface::buildC3dOnIsoLine(const Handle(Adaptor2d_Curve2d) theC2D,
const Standard_Boolean theIsU, const Standard_Boolean theIsU,
const Standard_Real theParam, const Standard_Real theParam,
const Standard_Boolean theIsForward) const Standard_Boolean theIsForward)

View File

@@ -85,7 +85,7 @@ protected:
//! @param theParam Line parameter. //! @param theParam Line parameter.
//! @param theIsForward Flag indicating forward parameterization on a isoline. //! @param theIsForward Flag indicating forward parameterization on a isoline.
//! @return Standard_True when 2d curve is a line and Standard_False otherwise. //! @return Standard_True when 2d curve is a line and Standard_False otherwise.
Standard_Boolean isIsoLine(const Handle(Adaptor2d_Curve2d)& theC2D, Standard_Boolean isIsoLine(const Handle(Adaptor2d_Curve2d) theC2D,
Standard_Boolean& theIsU, Standard_Boolean& theIsU,
Standard_Real& theParam, Standard_Real& theParam,
Standard_Boolean& theIsForward) const; Standard_Boolean& theIsForward) const;
@@ -97,7 +97,7 @@ protected:
//! @param theParam Line parameter. //! @param theParam Line parameter.
//! @param theIsForward Flag indicating forward parameterization on a isoline. //! @param theIsForward Flag indicating forward parameterization on a isoline.
//! @return Standard_True when 3d curve is built and Standard_False otherwise. //! @return Standard_True when 3d curve is built and Standard_False otherwise.
Standard_Boolean buildC3dOnIsoLine(const Handle(Adaptor2d_Curve2d)& theC2D, Standard_Boolean buildC3dOnIsoLine(const Handle(Adaptor2d_Curve2d) theC2D,
const Standard_Boolean theIsU, const Standard_Boolean theIsU,
const Standard_Real theParam, const Standard_Real theParam,
const Standard_Boolean theIsForward); const Standard_Boolean theIsForward);

View File

@@ -14,21 +14,34 @@
#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.

View File

@@ -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)> Aspect_XRActionMap; typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRAction), TCollection_AsciiString> Aspect_XRActionMap;
#endif // _Aspect_XRAction_HeaderFile #endif // _Aspect_XRAction_HeaderFile

View File

@@ -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)> Aspect_XRActionSetMap; typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRActionSet), TCollection_AsciiString> Aspect_XRActionSetMap;
#endif // _Aspect_XRActionSet_HeaderFile #endif // _Aspect_XRActionSet_HeaderFile

View File

@@ -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, aNbV, aNbE; Standard_Integer i, iCnt, aNbV, aNbE;
TopTools_IndexedDataMapOfShapeListOfShape aMVE; TopTools_IndexedDataMapOfShapeListOfShape aMVE;
TopTools_ListIteratorOfListOfShape aIt; TopTools_ListIteratorOfListOfShape aIt;
// //
@@ -175,11 +175,14 @@ 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

View File

@@ -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, aNbE, aNbF; Standard_Integer i, iCnt, aNbE, aNbF;
TopAbs_Orientation aOrE; TopAbs_Orientation aOrE;
TopTools_IndexedDataMapOfShapeListOfShape aMEF; TopTools_IndexedDataMapOfShapeListOfShape aMEF;
TopTools_ListIteratorOfListOfShape aIt; TopTools_ListIteratorOfListOfShape aIt;
@@ -151,10 +151,12 @@ 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
@@ -731,7 +733,7 @@ void MakeInternalShells(const TopTools_IndexedMapOfShape& theMF,
// //
aNbF = theMF.Extent(); aNbF = theMF.Extent();
for (i = 1; i <= aNbF; ++i) { for (i = 1; i <= aNbF; ++i) {
const TopoDS_Shape& aF = theMF(i); TopoDS_Shape aF = theMF(i);
TopExp::MapShapesAndAncestors(aF, TopExp::MapShapesAndAncestors(aF,
TopAbs_EDGE, TopAbs_FACE, TopAbs_EDGE, TopAbs_FACE,
aMEF); aMEF);

View File

@@ -549,7 +549,8 @@ void BOPAlgo_Builder::BuildSplitFaces(const Message_ProgressRange& theRange)
//======================================================================= //=======================================================================
typedef typedef
NCollection_IndexedDataMap<BOPTools_Set, NCollection_IndexedDataMap<BOPTools_Set,
TopTools_ListOfShape> BOPAlgo_IndexedDataMapOfSetListOfShape; TopTools_ListOfShape,
BOPTools_SetMapHasher> BOPAlgo_IndexedDataMapOfSetListOfShape;
static void AddEdgeSet(const TopoDS_Shape& theS, static void AddEdgeSet(const TopoDS_Shape& theS,
BOPAlgo_IndexedDataMapOfSetListOfShape& theMap, BOPAlgo_IndexedDataMapOfSetListOfShape& theMap,
@@ -618,7 +619,8 @@ 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> anESetFaces(1, aAllocator); TopTools_ListOfShape,
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);
@@ -698,7 +700,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(aF1, aF2, aDMSLS, aAllocator); BOPAlgo_Tools::FillMap<TopoDS_Shape, TopTools_ShapeMapHasher>(aF1, aF2, aDMSLS, aAllocator);
continue; continue;
} }
// Add pair for analysis // Add pair for analysis
@@ -734,12 +736,14 @@ 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(aPSB.Shape1(), aPSB.Shape2(), aDMSLS, aAllocator); BOPAlgo_Tools::FillMap<TopoDS_Shape, TopTools_ShapeMapHasher>
(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(aDMSLS, aMBlocks, aAllocator); BOPAlgo_Tools::MakeBlocks<TopoDS_Shape, TopTools_ShapeMapHasher>
(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
@@ -1023,7 +1027,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.ChangeValue()); TopoDS_Edge& aSp = TopoDS::Edge(aItLEIm.Value());
// 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))

View File

@@ -27,6 +27,7 @@
#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
@@ -320,7 +321,8 @@ protected: //! @name Fields
// Results // Results
NCollection_DataMap NCollection_DataMap
<TopoDS_Shape, <TopoDS_Shape,
TopTools_ListOfShape> myMaterials; //!< Map of the materials associations TopTools_ListOfShape,
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)

View File

@@ -180,11 +180,13 @@ protected:
typedef NCollection_DataMap typedef NCollection_DataMap
<Handle(BOPDS_PaveBlock), <Handle(BOPDS_PaveBlock),
Bnd_Box> BOPAlgo_DataMapOfPaveBlockBndBox; Bnd_Box,
TColStd_MapTransientHasher> BOPAlgo_DataMapOfPaveBlockBndBox;
typedef NCollection_DataMap typedef NCollection_DataMap
<Handle(BOPDS_PaveBlock), <Handle(BOPDS_PaveBlock),
TColStd_ListOfInteger> BOPAlgo_DataMapOfPaveBlockListOfInteger; TColStd_ListOfInteger,
TColStd_MapTransientHasher> BOPAlgo_DataMapOfPaveBlockListOfInteger;
typedef NCollection_DataMap typedef NCollection_DataMap
<Standard_Integer, <Standard_Integer,
@@ -656,8 +658,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>,
myDistances; //!< Map to store minimal distances between shapes BOPDS_PairMapHasher> myDistances; //!< Map to store minimal distances between shapes
//! which have no real intersections //! which have no real intersections
}; };

View File

@@ -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(n1, n2, aMILI, aAllocator); BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher>(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(n1, n2, aMILI, aAllocator); BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher>(n1, n2, aMILI, aAllocator);
} }
} }
// //
// 2. Make blocks // 2. Make blocks
BOPAlgo_Tools::MakeBlocks(aMILI, aMBlocks, aAllocator); BOPAlgo_Tools::MakeBlocks<Standard_Integer, TColStd_MapIntegerHasher>(aMILI, aMBlocks, aAllocator);
// //
// 3. Make vertices // 3. Make vertices
NCollection_List<TColStd_ListOfInteger>::Iterator aItB(aMBlocks); NCollection_List<TColStd_ListOfInteger>::Iterator aItB(aMBlocks);

View File

@@ -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> aDMVSD; NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger, BOPDS_PairMapHasher> 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,7 +407,8 @@ 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> aMCBNewPB; BOPDS_ListOfPaveBlock,
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;
@@ -506,7 +507,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> aMInds; NCollection_IndexedDataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher> 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();

View File

@@ -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)>(aPB1, aPB2, aMPBLPB, aAllocator); BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher>(aPB1, aPB2, aMPBLPB, aAllocator);
}//case TopAbs_EDGE }//case TopAbs_EDGE
break; break;
default: default:
@@ -964,7 +964,8 @@ 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> aPBMap(1, anAlloc); BOPDS_ListOfPaveBlock,
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);
@@ -1146,7 +1147,7 @@ void BOPAlgo_PaveFiller::ForceInterfEE(const Message_ProgressRange& theRange)
aPBMap.Clear(); aPBMap.Clear();
aMPBFence.Clear(); aMPBFence.Clear();
anAlloc->Reset(false); anAlloc->Reset();
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++)
@@ -1220,11 +1221,14 @@ 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)>(aPB[j], aItLPB.Value(), aMPBLPB, anAlloc); BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock),
TColStd_MapTransientHasher>(aPB[j], aItLPB.Value(), aMPBLPB, anAlloc);
} }
} }
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock)>(aPB[0], aPB[1], aMPBLPB, anAlloc); BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock),
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);
} }

View File

@@ -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> aMVFPairs; NCollection_DataMap<BOPDS_Pair, TColStd_MapOfInteger, BOPDS_PairMapHasher> aMVFPairs;
for (; myIterator->More(); myIterator->Next()) { for (; myIterator->More(); myIterator->Next()) {
if (UserBreak(aPSOuter)) if (UserBreak(aPSOuter))
{ {

View File

@@ -573,11 +573,30 @@ Standard_Boolean BOPAlgo_PaveFiller::CheckFacePaves
const TColStd_MapOfInteger& aMIFOn, const TColStd_MapOfInteger& aMIFOn,
const TColStd_MapOfInteger& aMIFIn) const TColStd_MapOfInteger& aMIFIn)
{ {
if (aMIFOn.Contains(nVx) || aMIFIn.Contains(nVx)) Standard_Boolean bRet;
{ Standard_Integer nV;
return true; TColStd_MapIteratorOfMapOfInteger aIt;
//
bRet=Standard_False;
//
aIt.Initialize(aMIFOn);
for (; aIt.More(); aIt.Next()) {
nV=aIt.Value();
if (nV==nVx) {
bRet=!bRet;
return bRet;
}
} }
return false; aIt.Initialize(aMIFIn);
for (; aIt.More(); aIt.Next()) {
nV=aIt.Value();
if (nV==nVx) {
bRet=!bRet;
return bRet;
}
}
//
return bRet;
} }
//======================================================================= //=======================================================================
// function: CheckFacePaves // function: CheckFacePaves
@@ -1054,7 +1073,7 @@ void BOPAlgo_PaveFiller::ForceInterfEF(const BOPDS_IndexedMapOfPaveBlock& theMPB
aPSOuter.Next(0.7); aPSOuter.Next(0.7);
aPBMap.Clear(); aPBMap.Clear();
anAlloc->Reset(false); anAlloc->Reset();
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++)

View File

@@ -62,7 +62,6 @@
#include <IntTools_SequenceOfCurves.hxx> #include <IntTools_SequenceOfCurves.hxx>
#include <IntTools_SequenceOfPntOn2Faces.hxx> #include <IntTools_SequenceOfPntOn2Faces.hxx>
#include <IntTools_Tools.hxx> #include <IntTools_Tools.hxx>
#include <NCollection_IncAllocator.hxx>
#include <NCollection_Vector.hxx> #include <NCollection_Vector.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <TColStd_ListOfInteger.hxx> #include <TColStd_ListOfInteger.hxx>
@@ -281,7 +280,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> aEEMap; NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger, BOPDS_PairMapHasher> 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)
{ {
@@ -579,12 +578,14 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
Standard_Integer i, nF1, nF2, aNbC, aNbP, j; Standard_Integer i, nF1, nF2, aNbC, aNbP, j;
Standard_Integer nV1, nV2; Standard_Integer nV1, nV2;
Standard_Real aT1, aT2; Standard_Real aT1, aT2;
Handle(NCollection_BaseAllocator) aAllocator = new NCollection_IncAllocator; Handle(NCollection_BaseAllocator) aAllocator;
BOPDS_ListIteratorOfListOfPaveBlock aItLPB; BOPDS_ListIteratorOfListOfPaveBlock aItLPB;
TopoDS_Edge aES; TopoDS_Edge aES;
Handle(BOPDS_PaveBlock) aPBOut; Handle(BOPDS_PaveBlock) aPBOut;
// //
//-----------------------------------------------------scope f //-----------------------------------------------------scope f
aAllocator=
NCollection_BaseAllocator::CommonBaseAllocator();
// //
TColStd_ListOfInteger aLSE(aAllocator), aLBV(aAllocator); TColStd_ListOfInteger aLSE(aAllocator), aLBV(aAllocator);
TColStd_MapOfInteger aMVOnIn(100, aAllocator), aMVCommon(100, aAllocator), TColStd_MapOfInteger aMVOnIn(100, aAllocator), aMVCommon(100, aAllocator),
@@ -606,23 +607,13 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
// Map of PaveBlocks with the faces to which it has to be added // Map of PaveBlocks with the faces to which it has to be added
BOPAlgo_DataMapOfPaveBlockListOfInteger aPBFacesMap; BOPAlgo_DataMapOfPaveBlockListOfInteger aPBFacesMap;
// //
// The vector aFFToRecheck contains indices of potentially problematic Face-Face intersections for (i=0; i<aNbFF; ++i, aPS.Next()) {
NCollection_Vector<Standard_Integer> aFFToRecheck;
// aNbFF may be increased while processing this loop, because it is necessary to recheck
// some of Face-Face intersections to avoid missing section edges
// aNbFF will be increased to the number of potentially problematic Face-Face intersections
const Standard_Integer aNbFFPrev = aNbFF;
for (i = 0; i < aNbFF; ++i, aPS.Next())
{
if (UserBreak(aPS)) if (UserBreak(aPS))
{ {
return; return;
} }
// after passing through all of Face-Face intersections it is necessary to return
// to potentially problematic Face-Face intersections and process them one more time
const Standard_Integer aCurInd = i < aNbFFPrev ? i : aFFToRecheck[i - aNbFFPrev];
// //
BOPDS_InterfFF& aFF=aFFs(aCurInd); BOPDS_InterfFF& aFF=aFFs(i);
aFF.Indices(nF1, nF2); aFF.Indices(nF1, nF2);
// //
BOPDS_VectorOfPoint& aVP=aFF.ChangePoints(); BOPDS_VectorOfPoint& aVP=aFF.ChangePoints();
@@ -745,9 +736,6 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
} }
} }
// Added additional check of Face-Face intersection to avoid missing section edges
// because of sequence of Face-Face interference processing
Standard_Boolean isToRecheck = aNbC > 0 && i < aNbFFPrev;
// //
// 3. Make section edges // 3. Make section edges
for (j=0; j<aNbC; ++j) { for (j=0; j<aNbC; ++j) {
@@ -761,11 +749,6 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
aLPB.Clear(); aLPB.Clear();
aPB1->Update(aLPB, Standard_False); aPB1->Update(aLPB, Standard_False);
// //
if (aLPB.Extent() != 0)
{
isToRecheck = false;
}
aItLPB.Initialize(aLPB); aItLPB.Initialize(aLPB);
for (; aItLPB.More(); aItLPB.Next()) { for (; aItLPB.More(); aItLPB.Next()) {
Handle(BOPDS_PaveBlock)& aPB=aItLPB.ChangeValue(); Handle(BOPDS_PaveBlock)& aPB=aItLPB.ChangeValue();
@@ -867,7 +850,7 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
if (aMPBAdd.Add(aPBOut)) if (aMPBAdd.Add(aPBOut))
{ {
// Add edge for processing as the section edge // Add edge for processing as the section edge
PreparePostTreatFF(aCurInd, j, aPBOut, aMSCPB, aMVI, aLPBC); PreparePostTreatFF(i, j, aPBOut, aMSCPB, aMVI, aLPBC);
} }
} }
continue; continue;
@@ -886,7 +869,7 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
// //
// Keep info for post treatment // Keep info for post treatment
BOPDS_CoupleOfPaveBlocks aCPB; BOPDS_CoupleOfPaveBlocks aCPB;
aCPB.SetIndexInterf(aCurInd); aCPB.SetIndexInterf(i);
aCPB.SetIndex(j); aCPB.SetIndex(j);
aCPB.SetPaveBlock1(aPB); aCPB.SetPaveBlock1(aPB);
// //
@@ -898,17 +881,12 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
aMVTol.UnBind(nV2); aMVTol.UnBind(nV2);
// Add existing pave blocks for post treatment // Add existing pave blocks for post treatment
ProcessExistingPaveBlocks (aCurInd, j, nF1, nF2, aES, aMPBOnIn, aPBTree, ProcessExistingPaveBlocks (i, j, nF1, nF2, aES, aMPBOnIn, aPBTree,
aMSCPB, aMVI, aLPBC, aPBFacesMap, aMPBAdd); aMSCPB, aMVI, aLPBC, aPBFacesMap, aMPBAdd);
} }
// //
aLPBC.RemoveFirst(); aLPBC.RemoveFirst();
}//for (j=0; j<aNbC; ++j) { }//for (j=0; j<aNbC; ++j) {
if (isToRecheck)
{
aFFToRecheck.Append(aCurInd);
++aNbFF;
}
// //
//back to previous tolerance values for unused vertices //back to previous tolerance values for unused vertices
//and forget about SD groups of such vertices //and forget about SD groups of such vertices
@@ -932,7 +910,7 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
aDMVLV.UnBind(nV1); aDMVLV.UnBind(nV1);
} }
// //
ProcessExistingPaveBlocks(aCurInd, nF1, nF2, aMPBOnIn, aPBTree, aDMBV, aMSCPB, aMVI, aPBFacesMap, aMPBAdd); ProcessExistingPaveBlocks(i, nF1, nF2, aMPBOnIn, aPBTree, aDMBV, aMSCPB, aMVI, aPBFacesMap, aMPBAdd);
}//for (i=0; i<aNbFF; ++i) { }//for (i=0; i<aNbFF; ++i) {
// Remove "micro" section edges // Remove "micro" section edges
@@ -1198,7 +1176,8 @@ 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> aMCBTol; Standard_Real,
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;

View File

@@ -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(aMPBLPB, aMBlocks, aAllocator); BOPAlgo_Tools::MakeBlocks<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher>(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(false); anAllocTmp->Reset();
// 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 (aPair.ID1, aPair.ID2, aMILI, anAlloc); BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher> (aPair.ID1, aPair.ID2, aMILI, anAlloc);
} }
NCollection_List<TColStd_ListOfInteger> aBlocks(anAlloc); NCollection_List<TColStd_ListOfInteger> aBlocks (anAlloc);
BOPAlgo_Tools::MakeBlocks (aMILI, aBlocks, anAlloc); BOPAlgo_Tools::MakeBlocks<Standard_Integer, TColStd_MapIntegerHasher> (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())

View File

@@ -42,31 +42,31 @@ class BOPAlgo_Tools
{ {
public: public:
//! Makes the chains of the connected elements from the given convexity map //! Makes the chains of the connected elements from the given connexity map
template <class TheMap, class TheList> template <class theType, class theTypeHasher>
static void MakeBlocks(const TheMap& theMILI, static void MakeBlocks(const NCollection_IndexedDataMap<theType, NCollection_List<theType>, theTypeHasher>& theMILI,
TheList& theMBlocks, NCollection_List<NCollection_List<theType>>& theMBlocks,
const Handle(NCollection_BaseAllocator)& theAllocator) const Handle(NCollection_BaseAllocator)& theAllocator)
{ {
NCollection_Map<typename TheMap::key_type, typename TheMap::hasher> aMFence; NCollection_Map<theType, theTypeHasher> 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 typename TheMap::key_type& n = theMILI.FindKey(i); const theType& n = theMILI.FindKey(i);
if (!aMFence.Add(n)) if (!aMFence.Add(n))
continue; continue;
// //
// Start the chain // Start the chain
typename TheList::value_type& aChain = theMBlocks.Append(typename TheList::value_type(theAllocator)); NCollection_List<theType>& aChain = theMBlocks.Append(NCollection_List<theType>(theAllocator));
aChain.Append(n); aChain.Append(n);
// Look for connected elements // Look for connected elements
typename TheList::value_type::Iterator aItLChain(aChain); typename NCollection_List<theType>::Iterator aItLChain(aChain);
for (; aItLChain.More(); aItLChain.Next()) { for (; aItLChain.More(); aItLChain.Next()) {
const typename TheMap::key_type& n1 = aItLChain.Value(); const theType& n1 = aItLChain.Value();
const typename TheList::value_type& aLI = theMILI.FindFromKey(n1); const NCollection_List<theType>& aLI = theMILI.FindFromKey(n1);
// Add connected elements into the chain // Add connected elements into the chain
typename TheList::value_type::Iterator aItLI(aLI); typename NCollection_List<theType>::Iterator aItLI(aLI);
for (; aItLI.More(); aItLI.Next()) { for (; aItLI.More(); aItLI.Next()) {
const typename TheMap::key_type& n2 = aItLI.Value(); const theType& 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 TheMap> template <class theType, class theTypeHasher>
static void FillMap(const TheType& n1, static void FillMap(const theType& n1,
const TheType& n2, const theType& n2,
TheMap& theMILI, NCollection_IndexedDataMap<theType, NCollection_List<theType>, theTypeHasher>& theMILI,
const Handle(NCollection_BaseAllocator)& theAllocator) const Handle(NCollection_BaseAllocator)& theAllocator)
{ {
typename TheMap::value_type *pList1 = theMILI.ChangeSeek(n1); NCollection_List<theType> *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);
// //
typename TheMap::value_type*pList2 = theMILI.ChangeSeek(n2); NCollection_List<theType> *pList2 = theMILI.ChangeSeek(n2);
if (!pList2) { if (!pList2) {
pList2 = &theMILI(theMILI.Add(n2, typename TheMap::value_type(theAllocator))); pList2 = &theMILI(theMILI.Add(n2, NCollection_List<theType>(theAllocator)));
} }
pList2->Append(n1); pList2->Append(n1);
} }

View File

@@ -512,6 +512,7 @@ void Path (const GeomAdaptor_Surface& aGAS,
Standard_Integer aNbWaysInside = 0; Standard_Integer aNbWaysInside = 0;
BOPAlgo_EdgeInfo *pOnlyWayIn = NULL; BOPAlgo_EdgeInfo *pOnlyWayIn = NULL;
Standard_Integer aCurIndexE = 0;
anIt.Initialize(aLEInfo); anIt.Initialize(aLEInfo);
for (; anIt.More(); anIt.Next()) { for (; anIt.More(); anIt.Next()) {
BOPAlgo_EdgeInfo& anEI=anIt.ChangeValue(); BOPAlgo_EdgeInfo& anEI=anIt.ChangeValue();
@@ -520,6 +521,7 @@ void Path (const GeomAdaptor_Surface& aGAS,
anIsNotPassed=!anEI.Passed(); anIsNotPassed=!anEI.Passed();
// //
if (anIsOut && anIsNotPassed) { if (anIsOut && anIsNotPassed) {
aCurIndexE++;
// //
// Is there one way to go out of the vertex // Is there one way to go out of the vertex
// we have to use it only. // we have to use it only.

View File

@@ -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> aMPKLPB; NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher> aMPKLPB;
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock>::Iterator aItMPKLPB; NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher>::Iterator aItMPKLPB;
Handle(BOPDS_PaveBlock) aPB; Handle(BOPDS_PaveBlock) aPB;
Handle(BOPDS_CommonBlock) aCBx; Handle(BOPDS_CommonBlock) aCBx;
BOPDS_Pair aPK; BOPDS_Pair aPK;

View File

@@ -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> BOPDS_DataMapOfIntegerListOfPaveBlock; typedef NCollection_DataMap<Standard_Integer, BOPDS_ListOfPaveBlock, TColStd_MapIntegerHasher> BOPDS_DataMapOfIntegerListOfPaveBlock;
#endif #endif

View File

@@ -17,9 +17,10 @@
#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)> BOPDS_DataMapOfPaveBlockCommonBlock; typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), Handle(BOPDS_CommonBlock), TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockCommonBlock;
typedef BOPDS_DataMapOfPaveBlockCommonBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockCommonBlock; typedef BOPDS_DataMapOfPaveBlockCommonBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockCommonBlock;
#endif #endif

View File

@@ -16,9 +16,10 @@
#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> BOPDS_DataMapOfPaveBlockListOfInteger; typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), TColStd_ListOfInteger, TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockListOfInteger;
typedef BOPDS_DataMapOfPaveBlockListOfInteger::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfInteger; typedef BOPDS_DataMapOfPaveBlockListOfInteger::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfInteger;
#endif #endif

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