mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
Compare commits
67 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
656b0d217f | ||
|
83bb2a329d | ||
|
5b0f5b52b9 | ||
|
06282d9c7c | ||
|
60792f26f0 | ||
|
6ef56849a5 | ||
|
e8605596c9 | ||
|
ffd7a3aa4f | ||
|
8147976d9f | ||
|
40b80d8d66 | ||
|
7036facf10 | ||
|
a6e425d0a6 | ||
|
b9fbc699b5 | ||
|
0435edfe54 | ||
|
bd651bbbd9 | ||
|
3aeea1e96e | ||
|
ed85665b55 | ||
|
1103eb60af | ||
|
6dbfade692 | ||
|
588ee924e4 | ||
|
f0c6e6fc8d | ||
|
58390c4eb1 | ||
|
38581280d0 | ||
|
4ce99d9697 | ||
|
2b5ee7c791 | ||
|
06f2625c35 | ||
|
28b505b27b | ||
|
a948803521 | ||
|
e7bcf415c3 | ||
|
0e6977d668 | ||
|
0e97c80e6a | ||
|
73914537d1 | ||
|
ae1683705e | ||
|
f3a66dd7c0 | ||
|
eb2be8bb46 | ||
|
b32425859a | ||
|
96d1fe2b05 | ||
|
5e53920228 | ||
|
2a0420be1d | ||
|
3421323164 | ||
|
1dad584450 | ||
|
a958a3377e | ||
|
afccc8d019 | ||
|
b47b7e69f7 | ||
|
6aa053ae00 | ||
|
54ed243582 | ||
|
8748042259 | ||
|
92e0a76a50 | ||
|
b2fedee6a1 | ||
|
c28dd7f1cf | ||
|
c36205a05e | ||
|
945e309564 | ||
|
e3841f9ffe | ||
|
bcfc5f0d5a | ||
|
c3f6267d24 | ||
|
5d8b1a4076 | ||
|
e4f00dbb7e | ||
|
359edc7d8a | ||
|
f9998f03ad | ||
|
c479c4f6d8 | ||
|
c51df6bfd2 | ||
|
5e43274280 | ||
|
efe960751c | ||
|
6b9e0dc3f8 | ||
|
2ef94c994e | ||
|
1dd4b902c0 | ||
|
a846d36326 |
@@ -35,6 +35,14 @@ macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
# set using memory manager option for TKernel
|
||||||
|
set (USE_MMGR_TYPE "NATIVE" CACHE STRING "Select using memory manager tool.")
|
||||||
|
set_property(CACHE USE_MMGR_TYPE PROPERTY STRINGS "NATIVE" "FLEXIBLE" "TBB" "JEMALLOC")
|
||||||
|
|
||||||
|
# set profile for C++ compiler and linker
|
||||||
|
set (BUILD_OPT_PROFILE "Default" CACHE STRING "Select profile for compiler and linker.")
|
||||||
|
set_property(CACHE BUILD_OPT_PROFILE PROPERTY STRINGS "Default" "Production")
|
||||||
|
|
||||||
# include variable description
|
# include variable description
|
||||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vardescr")
|
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vardescr")
|
||||||
|
|
||||||
@@ -820,12 +828,6 @@ 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")
|
||||||
@@ -840,6 +842,14 @@ else()
|
|||||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FLEX_EXECUTABLE")
|
OCCT_CHECK_AND_UNSET ("3RDPARTY_FLEX_EXECUTABLE")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Jemalloc
|
||||||
|
if ("${USE_MMGR_TYPE}" STREQUAL "JEMALLOC")
|
||||||
|
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/jemalloc")
|
||||||
|
else()
|
||||||
|
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_JEMALLOC")
|
||||||
|
OCCT_CHECK_AND_UNSET ("INSTALL_JEMALLOC")
|
||||||
|
endif()
|
||||||
|
|
||||||
# qt for inspector and samples
|
# qt for inspector and samples
|
||||||
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
||||||
# check qt 3rdparty path
|
# check qt 3rdparty path
|
||||||
|
@@ -3,5 +3,6 @@ ModelingData TKG2d TKG3d TKGeomBase TKBRep
|
|||||||
ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing
|
ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing
|
||||||
Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
|
Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
|
||||||
ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
|
ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
|
||||||
DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade TKExpress ExpToCasExe
|
DataExchange TKDE TKXSBase TKDESTEP TKDEIGES TKDESTL TKDEVRML TKDECascade TKDEOBJ TKDEGLTF TKDEPLY TKXCAF TKXmlXCAF TKBinXCAF TKRWMesh
|
||||||
Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
|
DETools TKExpress ExpToCasExe
|
||||||
|
Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE TKXSDRAWDE TKXSDRAWGLTF TKXSDRAWIGES TKXSDRAWOBJ TKXSDRAWPLY TKXSDRAWSTEP TKXSDRAWSTL TKXSDRAWVRML
|
||||||
|
36
adm/UDLIST
36
adm/UDLIST
@@ -32,6 +32,7 @@ n UnitsAPI
|
|||||||
n gp
|
n gp
|
||||||
n math
|
n math
|
||||||
r OS
|
r OS
|
||||||
|
n FlexLexer
|
||||||
t TKMath
|
t TKMath
|
||||||
t TKernel
|
t TKernel
|
||||||
n Adaptor2d
|
n Adaptor2d
|
||||||
@@ -376,18 +377,13 @@ r SHMessage
|
|||||||
r XSMessage
|
r XSMessage
|
||||||
r XSTEPResource
|
r XSTEPResource
|
||||||
t TKBinXCAF
|
t TKBinXCAF
|
||||||
t TKIGES
|
t TKDESTL
|
||||||
t TKSTEP
|
t TKDEVRML
|
||||||
t TKSTEP209
|
|
||||||
t TKSTEPAttr
|
|
||||||
t TKSTEPBase
|
|
||||||
t TKSTL
|
|
||||||
t TKVRML
|
|
||||||
t TKXCAF
|
t TKXCAF
|
||||||
t TKXDE
|
t TKDE
|
||||||
t TKXDECascade
|
t TKDECascade
|
||||||
t TKXDEIGES
|
t TKDEIGES
|
||||||
t TKXDESTEP
|
t TKDESTEP
|
||||||
t TKXSBase
|
t TKXSBase
|
||||||
t TKXmlXCAF
|
t TKXmlXCAF
|
||||||
n BOPTest
|
n BOPTest
|
||||||
@@ -419,7 +415,12 @@ n XDEDRAW
|
|||||||
n XSDRAW
|
n XSDRAW
|
||||||
n XSDRAWIGES
|
n XSDRAWIGES
|
||||||
n XSDRAWSTEP
|
n XSDRAWSTEP
|
||||||
n XSDRAWSTLVRML
|
n XSDRAWSTL
|
||||||
|
n XSDRAWVRML
|
||||||
|
n XSDRAWDE
|
||||||
|
n XSDRAWGLTF
|
||||||
|
n XSDRAWOBJ
|
||||||
|
n XSDRAWPLY
|
||||||
r DrawResources
|
r DrawResources
|
||||||
t TKDCAF
|
t TKDCAF
|
||||||
t TKDraw
|
t TKDraw
|
||||||
@@ -431,6 +432,14 @@ t TKD3DHostTest
|
|||||||
t TKViewerTest
|
t TKViewerTest
|
||||||
t TKXDEDRAW
|
t TKXDEDRAW
|
||||||
t TKXSDRAW
|
t TKXSDRAW
|
||||||
|
t TKXSDRAWIGES
|
||||||
|
t TKXSDRAWSTEP
|
||||||
|
t TKXSDRAWSTL
|
||||||
|
t TKXSDRAWVRML
|
||||||
|
t TKXSDRAWDE
|
||||||
|
t TKXSDRAWGLTF
|
||||||
|
t TKXSDRAWOBJ
|
||||||
|
t TKXSDRAWPLY
|
||||||
x DRAWEXE
|
x DRAWEXE
|
||||||
n QADraw
|
n QADraw
|
||||||
n QANCollection
|
n QANCollection
|
||||||
@@ -456,6 +465,9 @@ t TKVCAF
|
|||||||
n XCAFView
|
n XCAFView
|
||||||
n XCAFNoteObjects
|
n XCAFNoteObjects
|
||||||
t TKRWMesh
|
t TKRWMesh
|
||||||
|
t TKDEGLTF
|
||||||
|
t TKDEOBJ
|
||||||
|
t TKDEPLY
|
||||||
n RWGltf
|
n RWGltf
|
||||||
n RWMesh
|
n RWMesh
|
||||||
n RWObj
|
n RWObj
|
||||||
|
143
adm/cmake/jemalloc.cmake
Normal file
143
adm/cmake/jemalloc.cmake
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
# JeMalloc
|
||||||
|
|
||||||
|
if (NOT DEFINED INSTALL_JEMALLOC)
|
||||||
|
set (INSTALL_JEMALLOC OFF CACHE BOOL "${INSTALL_INSTALL_JEMALLOC_DESCR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# include occt macros. compiler_bitness, os_with_bit, compiler
|
||||||
|
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||||
|
|
||||||
|
# specify JEMALLOC folder in connection with 3RDPARTY_DIR
|
||||||
|
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||||
|
if (NOT 3RDPARTY_JEMALLOC_DIR OR NOT EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" jemalloc JEMALLOC_DIR_NAME)
|
||||||
|
if (JEMALLOC_DIR_NAME)
|
||||||
|
set (3RDPARTY_JEMALLOC_DIR "${3RDPARTY_DIR}/${JEMALLOC_DIR_NAME}" CACHE PATH "The directory containing JEMALLOC" FORCE)
|
||||||
|
set (3RDPARTY_JEMALLOC_DIR "${3RDPARTY_DIR}/${JEMALLOC_DIR_NAME}")
|
||||||
|
message(STATUS "Info: JEMALLOC detected in ${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# define required JEMALLOC variables
|
||||||
|
if (NOT DEFINED 3RDPARTY_JEMALLOC_INCLUDE_DIR)
|
||||||
|
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "" CACHE PATH "the path of headers directory")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# check 3RDPARTY_${PRODUCT_NAME}_ paths for consistency with specified 3RDPARTY_${PRODUCT_NAME}_DIR
|
||||||
|
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_JEMALLOC_DIR 3RDPARTY_JEMALLOC_INCLUDE_DIR PATH "the path to JEMALLOC")
|
||||||
|
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_JEMALLOC_DIR 3RDPARTY_JEMALLOC_LIBRARY_DIR FILEPATH "The directory containing JEMALLOC libraries")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# header
|
||||||
|
if (NOT 3RDPARTY_JEMALLOC_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||||
|
set (HEADER_NAMES jemalloc.h)
|
||||||
|
|
||||||
|
# set 3RDPARTY_JEMALLOC_INCLUDE_DIR as notfound, otherwise find_library can't assign a new value to 3RDPARTY_JEMALLOC_INCLUDE_DIR
|
||||||
|
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "3RDPARTY_JEMALLOC_INCLUDE_DIR-NOTFOUND" CACHE FILEPATH "the path to header directory" FORCE)
|
||||||
|
|
||||||
|
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
find_path (3RDPARTY_JEMALLOC_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||||
|
PATHS ${3RDPARTY_JEMALLOC_DIR}
|
||||||
|
PATH_SUFFIXES include/jemalloc
|
||||||
|
CMAKE_FIND_ROOT_PATH_BOTH
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (3RDPARTY_JEMALLOC_INCLUDE_DIR AND EXISTS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||||
|
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||||
|
else()
|
||||||
|
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_JEMALLOC_INCLUDE_DIR)
|
||||||
|
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "" CACHE FILEPATH "the path to jemalloc.h" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Installing destination path
|
||||||
|
if (WIN32)
|
||||||
|
set (JEMALLOC_INSTALL_DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_BIN}")
|
||||||
|
else()
|
||||||
|
set (JEMALLOC_INSTALL_DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
macro (JEMALLOC_LIB_SEARCH MMGR_LIB PREFIX)
|
||||||
|
if (NOT 3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB})
|
||||||
|
set (JEMALLOC_PATH_SUFFIXES "lib" "bin")
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} "3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}-NOTFOUND")
|
||||||
|
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||||
|
find_library (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} NAMES ${MMGR_LIB}
|
||||||
|
PATHS "${3RDPARTY_JEMALLOC_LIBRARY_DIR}" "${3RDPARTY_JEMALLOC_DIR}"
|
||||||
|
PATH_SUFFIXES ${JEMALLOC_PATH_SUFFIXES}
|
||||||
|
CMAKE_FIND_ROOT_PATH_BOTH
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
|
else()
|
||||||
|
find_library (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} NAMES ${MMGR_LIB}
|
||||||
|
PATH_SUFFIXES ${JEMALLOC_PATH_SUFFIXES}
|
||||||
|
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||||
|
endif()
|
||||||
|
if (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB})
|
||||||
|
get_filename_component (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}}" PATH)
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}")
|
||||||
|
else()
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
if (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB})
|
||||||
|
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}")
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_DIR "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}" CACHE PATH "The directory containing JEMALLOC libraries" FORCE)
|
||||||
|
else()
|
||||||
|
message("Cannot find ${MMGR_LIB} library in jemalloc 3rdparty")
|
||||||
|
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB})
|
||||||
|
set (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} "")
|
||||||
|
endif()
|
||||||
|
set (JEMALLOC_IS_STATIC_LIB FALSE)
|
||||||
|
if (((${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} MATCHES "\.lib$")) OR ((${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} MATCHES "\.a$")))
|
||||||
|
get_filename_component(STATIC_LIB_NAME ${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} NAME)
|
||||||
|
list(APPEND CSF_MMGR "${STATIC_LIB_NAME}")
|
||||||
|
set (JEMALLOC_IS_STATIC_LIB TRUE)
|
||||||
|
endif()
|
||||||
|
# install instructions
|
||||||
|
if (INSTALL_JEMALLOC AND NOT JEMALLOC_IS_STATIC_LIB)
|
||||||
|
OCCT_MAKE_OS_WITH_BITNESS()
|
||||||
|
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||||
|
get_filename_component(3RDPARTY_JEMALLOC_LIBRARY ${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} REALPATH)
|
||||||
|
if (SINGLE_GENERATOR)
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}")
|
||||||
|
else()
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
CONFIGURATIONS Debug
|
||||||
|
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}d")
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
CONFIGURATIONS Release
|
||||||
|
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}")
|
||||||
|
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||||
|
CONFIGURATIONS RelWithDebInfo
|
||||||
|
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}i")
|
||||||
|
endif()
|
||||||
|
set (USED_3RDPARTY_JEMALLOC_DIR "")
|
||||||
|
elseif(NOT JEMALLOC_IS_STATIC_LIB)
|
||||||
|
# the library directory for using by the executable
|
||||||
|
set (USED_3RDPARTY_JEMALLOC_DIR ${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}})
|
||||||
|
endif()
|
||||||
|
unset(3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} CACHE)
|
||||||
|
unset(3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} CACHE)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
# Reset CSF variable
|
||||||
|
set (CSF_MMGR "")
|
||||||
|
|
||||||
|
# find static jemalloc lib
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
|
||||||
|
if (WIN32)
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc" "STATIC")
|
||||||
|
elseif(NOT WIN32)
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc_pic" "STATIC")
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES "" "so")
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc.so.2" "SHARED")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find shared jemalloc lib
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".so")
|
||||||
|
JEMALLOC_LIB_SEARCH ("jemalloc" "SHARED")
|
@@ -44,9 +44,25 @@ elseif (MSVC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
# string pooling (GF), function-level linking (Gy)
|
if ("${BUILD_OPT_PROFILE}" STREQUAL "Production")
|
||||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy")
|
# string pooling (GF), function-level linking (Gy)
|
||||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy")
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy")
|
||||||
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy")
|
||||||
|
|
||||||
|
# Favor fast code (Ot), Omit frame pointers (Oy)
|
||||||
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ot /Oy")
|
||||||
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Ot /Oy")
|
||||||
|
|
||||||
|
# Whole Program Optimisation (GL), Enable intrinsic functions (Oi)
|
||||||
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL /Oi")
|
||||||
|
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GL /Oi")
|
||||||
|
|
||||||
|
# Link-Time Code Generation(LTCG) is requared for Whole Program Optimisation(GL)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
|
||||||
|
endif()
|
||||||
if (BUILD_FORCE_RelWithDebInfo)
|
if (BUILD_FORCE_RelWithDebInfo)
|
||||||
# generate debug info (Zi), inline expansion level (Ob1)
|
# generate debug info (Zi), inline expansion level (Ob1)
|
||||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi /Ob1")
|
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi /Ob1")
|
||||||
@@ -118,6 +134,22 @@ if (MSVC)
|
|||||||
endif()
|
endif()
|
||||||
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]"))
|
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]"))
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
|
||||||
|
|
||||||
|
if ("${BUILD_OPT_PROFILE}" STREQUAL "Production")
|
||||||
|
# /Ot (favor speed over size) is similar to -O2 or -O3 in GCC/Clang.
|
||||||
|
# /Oy (omit frame pointers) is similar to -fomit-frame-pointer in GCC/Clang.
|
||||||
|
# /GL (whole program optimization) is similar to -flto (Link Time Optimization) in GCC/Clang.
|
||||||
|
# /GF (eliminate duplicate strings) doesn't have a direct equivalent in GCC/Clang, but the compilers do string pooling automatically.
|
||||||
|
# /Gy (enable function-level linking) is similar to -ffunction-sections in GCC/Clang.
|
||||||
|
# /fp:precise (improve floating-point consistency) is similar to -ffloat-store in GCC, but there isn't a perfect equivalent in Clang.
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fomit-frame-pointer -flto -ffunction-sections -ffloat-store")
|
||||||
|
|
||||||
|
# Link-Time Code Generation(LTCG) is requared for Whole Program Optimisation(GL)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
|
||||||
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto")
|
||||||
|
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} -flto")
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -flto")
|
||||||
|
endif()
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshorten-64-to-32")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshorten-64-to-32")
|
||||||
endif()
|
endif()
|
||||||
|
@@ -70,6 +70,16 @@ 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)
|
||||||
@@ -107,21 +117,11 @@ 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,9 +284,15 @@ else()
|
|||||||
else()
|
else()
|
||||||
set (aReleasePdbConf)
|
set (aReleasePdbConf)
|
||||||
endif()
|
endif()
|
||||||
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
|
if (BUILD_SHARED_LIBS)
|
||||||
|
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 "")
|
||||||
|
@@ -116,6 +116,7 @@ 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")
|
||||||
|
@@ -33,6 +33,7 @@ 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"
|
||||||
@@ -166,6 +167,7 @@ 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%" ^
|
||||||
|
@@ -27,6 +27,7 @@ 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"
|
||||||
|
@@ -33,6 +33,7 @@ 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
|
||||||
|
@@ -26,6 +26,7 @@ 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
|
||||||
|
@@ -28,6 +28,7 @@ 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
|
||||||
@@ -62,6 +63,7 @@ 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% ^
|
||||||
|
@@ -31,6 +31,7 @@ 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
|
||||||
@@ -63,6 +64,7 @@ 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 \
|
||||||
|
@@ -34,6 +34,7 @@ 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
|
||||||
@@ -148,6 +149,7 @@ 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"
|
||||||
|
@@ -20,6 +20,7 @@ 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
|
||||||
|
@@ -34,6 +34,7 @@ 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
|
||||||
@@ -145,6 +146,7 @@ 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"
|
||||||
|
@@ -19,6 +19,7 @@ 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
|
||||||
|
@@ -32,6 +32,7 @@ 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
|
||||||
@@ -155,6 +156,7 @@ 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" ^
|
||||||
|
@@ -22,6 +22,7 @@ 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"
|
||||||
|
@@ -32,6 +32,7 @@ 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
|
||||||
@@ -175,6 +176,7 @@ 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%" ^
|
||||||
|
@@ -20,6 +20,7 @@ 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"
|
||||||
@@ -74,6 +75,7 @@ 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}"
|
||||||
|
|
||||||
@@ -92,6 +94,7 @@ 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}"
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@ 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"
|
||||||
|
@@ -14,3 +14,4 @@ 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
|
||||||
|
@@ -14,6 +14,7 @@ if /I "%VCVER%" == "@COMPILER@" (
|
|||||||
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
||||||
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
|
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
|
||||||
set "FFMPEG_DIR=@3RDPARTY_FFMPEG_DLL_DIR@"
|
set "FFMPEG_DIR=@3RDPARTY_FFMPEG_DLL_DIR@"
|
||||||
|
set "JEMALLOC_DIR=@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||||
set "OPENVR_DIR=@3RDPARTY_OPENVR_DLL_DIRS@"
|
set "OPENVR_DIR=@3RDPARTY_OPENVR_DLL_DIRS@"
|
||||||
|
|
||||||
if not "@3RDPARTY_QT_DIR@" == "" (
|
if not "@3RDPARTY_QT_DIR@" == "" (
|
||||||
|
@@ -12,6 +12,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
|||||||
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
|
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
|
||||||
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
||||||
export FFMPEG_DIR="@3RDPARTY_FFMPEG_LIBRARY_DIR@"
|
export FFMPEG_DIR="@3RDPARTY_FFMPEG_LIBRARY_DIR@"
|
||||||
|
export JEMALLOC_DIR="@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||||
|
|
||||||
if [ "x@3RDPARTY_QT_DIR" != "x" ]; then
|
if [ "x@3RDPARTY_QT_DIR" != "x" ]; then
|
||||||
export QTDIR="@3RDPARTY_QT_DIR@"
|
export QTDIR="@3RDPARTY_QT_DIR@"
|
||||||
|
@@ -16,6 +16,7 @@ if /I "%VCVER%" == "@COMPILER@" (
|
|||||||
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
|
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
|
||||||
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
|
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
|
||||||
set "FFMPEG_DIR=@USED_3RDPARTY_FFMPEG_DIR@"
|
set "FFMPEG_DIR=@USED_3RDPARTY_FFMPEG_DIR@"
|
||||||
|
set "JEMALLOC_DIR=@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||||
set "OPENVR_DIR=@USED_3RDPARTY_OPENVR_DIR@"
|
set "OPENVR_DIR=@USED_3RDPARTY_OPENVR_DIR@"
|
||||||
|
|
||||||
if not "@USED_3RDPARTY_QT_DIR@" == "" (
|
if not "@USED_3RDPARTY_QT_DIR@" == "" (
|
||||||
|
@@ -12,6 +12,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
|||||||
export TBB_DIR="@USED_3RDPARTY_TBB_DIR@"
|
export TBB_DIR="@USED_3RDPARTY_TBB_DIR@"
|
||||||
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
|
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
|
||||||
export FFMPEG_DIR="@USED_3RDPARTY_FFMPEG_DIR@"
|
export FFMPEG_DIR="@USED_3RDPARTY_FFMPEG_DIR@"
|
||||||
|
export JEMALLOC_DIR="@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||||
|
|
||||||
if [ "x@USED_3RDPARTY_QT_DIR@" != "x" ]; then
|
if [ "x@USED_3RDPARTY_QT_DIR@" != "x" ]; then
|
||||||
export QTDIR="@USED_3RDPARTY_QT_DIR@"
|
export QTDIR="@USED_3RDPARTY_QT_DIR@"
|
||||||
|
@@ -154,6 +154,7 @@ if not ["%GLES2_DIR%"] == [""] set "PATH=%GLES2_DIR%;%PATH%"
|
|||||||
if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
|
if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
|
||||||
if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%"
|
if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%"
|
||||||
if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%"
|
if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%"
|
||||||
|
if not ["%JEMALLOC_DIR%"] == [""] set "PATH=%JEMALLOC_DIR%;%PATH%"
|
||||||
if not ["%OPENVR_DIR%"] == [""] set "PATH=%OPENVR_DIR%;%PATH%"
|
if not ["%OPENVR_DIR%"] == [""] set "PATH=%OPENVR_DIR%;%PATH%"
|
||||||
|
|
||||||
rem ----- Set path to 3rd party and OCCT libraries -----
|
rem ----- Set path to 3rd party and OCCT libraries -----
|
||||||
|
@@ -69,6 +69,10 @@ if [ "$FFMPEG_DIR" != "" ]; then
|
|||||||
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$JEMALLOC_DIR" != "" ]; then
|
||||||
|
THRDPARTY_PATH="${JEMALLOC_DIR}:${THRDPARTY_PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$QTDIR" != "" ]; then
|
if [ "$QTDIR" != "" ]; then
|
||||||
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
@@ -71,6 +71,10 @@ if [ "$FFMPEG_DIR" != "" ]; then
|
|||||||
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$JEMALLOC_DIR" != "" ]; then
|
||||||
|
THRDPARTY_PATH="${JEMALLOC_DIR}:${THRDPARTY_PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$QTDIR" != "" ]; then
|
if [ "$QTDIR" != "" ]; then
|
||||||
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
||||||
fi
|
fi
|
||||||
|
@@ -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.
|
||||||
|
|
||||||
|
@@ -1089,10 +1089,10 @@ This group allows testing extended data exchange packages.
|
|||||||
| Draw | TKDraw, TKTopTest, TKViewerTest, TKXSDRAW, TKDCAF, TKXDEDRAW, TKTObjDRAW, TKQADraw, DRAWEXE, Problems of testing system | draw |
|
| Draw | TKDraw, TKTopTest, TKViewerTest, TKXSDRAW, TKDCAF, TKXDEDRAW, TKTObjDRAW, TKQADraw, DRAWEXE, Problems of testing system | draw |
|
||||||
| Shape Healing | TKShHealing | heal |
|
| Shape Healing | TKShHealing | heal |
|
||||||
| Mesh | TKMesh, TKXMesh | mesh |
|
| Mesh | TKMesh, TKXMesh | mesh |
|
||||||
| Data Exchange | TKIGES | iges |
|
| Data Exchange | TKDEIGES | iges |
|
||||||
| Data Exchange | TKSTEPBase, TKSTEPAttr, TKSTEP209, TKSTEP | step |
|
| Data Exchange | TKDESTEP | step |
|
||||||
| Data Exchange | TKSTL, TKVRML | stlvrml |
|
| Data Exchange | TKDESTL, TKDEVRML | stlvrml |
|
||||||
| Data Exchange | TKXSBase, TKXCAF, TKXCAFSchema, TKXDEIGES, TKXDESTEP, TKXmlXCAF, TKBinXCAF | xde |
|
| Data Exchange | TKXSBase, TKXCAF, TKXCAFSchema, TKXmlXCAF, TKBinXCAF | xde |
|
||||||
| Foundation Classes | TKernel, TKMath | fclasses |
|
| Foundation Classes | TKernel, TKMath | fclasses |
|
||||||
| Modeling_algorithms | TKGeomAlgo, TKTopAlgo, TKPrim, TKBO, TKBool, TKHLR, TKFillet, TKOffset, TKFeat, TKXMesh | modalg |
|
| Modeling_algorithms | TKGeomAlgo, TKTopAlgo, TKPrim, TKBO, TKBool, TKHLR, TKFillet, TKOffset, TKFeat, TKXMesh | modalg |
|
||||||
| Modeling Data | TKG2d, TKG3d, TKGeomBase, TKBRep | moddata |
|
| Modeling Data | TKG2d, TKG3d, TKGeomBase, TKBRep | moddata |
|
||||||
|
@@ -7,7 +7,7 @@ Upgrade from older OCCT versions {#occt__upgrade}
|
|||||||
|
|
||||||
This document provides technical details on changes made in particular versions of OCCT. It can help to upgrade user applications based on previous versions of OCCT to newer ones.
|
This document provides technical details on changes made in particular versions of OCCT. It can help to upgrade user applications based on previous versions of OCCT to newer ones.
|
||||||
|
|
||||||
@ref upgrade_occt770 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.7.0)"
|
@ref upgrade_occt780 "SEEK TO THE LAST CHAPTER (UPGRADE TO 7.8.0)"
|
||||||
|
|
||||||
@subsection upgrade_intro_precautions Precautions
|
@subsection upgrade_intro_precautions Precautions
|
||||||
|
|
||||||
@@ -2343,3 +2343,69 @@ Please use `BRepLib_ToolTriangulatedShape::ComputeNormals()` to fill in normal a
|
|||||||
|
|
||||||
A new way of using the `BRepExtrema_ShapeProximity` class was provided for computing a proximity value between two shapes.
|
A new way of using the `BRepExtrema_ShapeProximity` class was provided for computing a proximity value between two shapes.
|
||||||
If at initialization of the `BRepExtrema_ShapeProximity` class the *theTolerance* parameter is not defined (Precision::Infinite() by default), the proximity value will be computed.
|
If at initialization of the `BRepExtrema_ShapeProximity` class the *theTolerance* parameter is not defined (Precision::Infinite() by default), the proximity value will be computed.
|
||||||
|
|
||||||
|
@section upgrade_occt780 Upgrade to OCCT 7.8.0
|
||||||
|
|
||||||
|
@subsection upgrade_780_recommendations New Features and Recommendations
|
||||||
|
|
||||||
|
The NCollection containers have been modernized to work with move semantics through the new `Move operator` and `Move constructor`. It is recommended to leverage this functionality in the development process.<br />
|
||||||
|
Backward compatibility with STL allocators has been implemented to use the OCCT memory manager with STL allocators (NCollection_Allocator, NCollection_OccAllocator).<br />
|
||||||
|
Additionally, utilities have been introduced to work with `shared_ptr` and `unique_ptr` using the OCCT memory manager (`Standard_MemoryUtils.hxx`).
|
||||||
|
|
||||||
|
@subsection upgrade_780_ncollection_update Change in Default Clear Behavior for Containers
|
||||||
|
|
||||||
|
NCollection container's `Clear(const bool theReleaseMemory = true)` have been changed to `Clear(const bool theReleaseMemory = false)`.<br />
|
||||||
|
Impacted classes include `IndexedMap`, `IndexedDataMap`, `Map`, `DataMap`, `DynamicArray(Vector)`, `IncAllocator`.<br />
|
||||||
|
This means that allocated memory for the container will be reused. In this case, it's necessary to be careful with `IncAllocator::Reset()` to control owners of memory blocks.
|
||||||
|
|
||||||
|
@subsection upgrade_780_hash_utils Reworked Hash Mechanism for Hash Map (NCollection's map)
|
||||||
|
|
||||||
|
The `HashCode(value, upperBound)` static method has been removed and `IsEqual(value1, value2)` is no longer used in the map.<br />
|
||||||
|
NCollection's map now operates on an STL-like hash mechanism: a struct with a public operator `size_t operator()(object&) const` and `bool operator(object&, object&) const`.<br />
|
||||||
|
The difference between STL and OCCT is that the hash struct and comparator are combined into a single struct to reduce conflicts on OCCT's user side.<br />
|
||||||
|
Hash utils have been implemented to hash objects, returning `uint32_t` and `uint64_t` depending on the template (`Standard_HashUtils.hxx`). Algorithms used are `MurmurHash` and `FNVHash`.<br />
|
||||||
|
Benefits:
|
||||||
|
* x64 using 8 bytes to store the hash instead of 4 bytes.
|
||||||
|
* OCCT classes will now be usable as elements in STL `unordered_map` and `unordered_set`.
|
||||||
|
|
||||||
|
The migration problem will occur at compile time. Make sure that `int HashCode` has been changed anywhere to `size operator` and `bool IsEqual` to `bool operator`.
|
||||||
|
|
||||||
|
@subsection upgrade_780_removed_files Removed Hash Specialization Classes
|
||||||
|
|
||||||
|
The majority of include files containing only specialized hashes have been removed.
|
||||||
|
Their functionality has been consolidated into the hashed object include file (in the "std" namespace).<br />
|
||||||
|
It is guaranteed that each removed hash class has been transferred to the native hash mechanism of the hashed class.
|
||||||
|
|
||||||
|
The migration problem may arise at compile time. Ensure that you remove any files that have been deprecated.
|
||||||
|
|
||||||
|
@subsection upgrade_780_tk_rework Reorganized DE TK
|
||||||
|
|
||||||
|
DE TK components have been combined or separated based on specific CAD formats to support plug-in ability.
|
||||||
|
* Components now have a "TKDE" prefix. The available list includes `TKDESTEP`, `TKDEOBJ`, `TKDEIGES`, `TKDEGLTF`, `TKDEVRML`, `TKDEPLY`, `TKDESTL`.
|
||||||
|
* The DE DRAW TK has been updated in a similar way: DRAW components now have a "TKXSDRAW" prefix. The available list includes `TKXSDRAWSTEP`, `TKXSDRAWOBJ`, `TKXSDRAWIGES`, `TKXSDRAWGLTF`, `TKXSDRAWVRML`, `TKXSDRAWPLY`, `TKXSDRAWSTL`.
|
||||||
|
|
||||||
|
Migration problems may occur during configuration time or compile time. Ensure that you update your project configuration accordingly.
|
||||||
|
|
||||||
|
@subsection upgrade_780_step_thread_safety Implemented STEP Thread-safety Interface
|
||||||
|
|
||||||
|
The STEP interface now uses Static_Interface to extract exchange settings.<br />
|
||||||
|
A new ability has been implemented to determine parameters in STEP, avoiding Static_Interface.
|
||||||
|
* For reading, use an additional argument with STEP's parameters in `ReadFile` or `Perform`.
|
||||||
|
* For writing, use an additional argument with STEP's parameters in `Transfer` or `Perform`.
|
||||||
|
|
||||||
|
@subsection upgrade_780_new_memory_manager New Memory Management Functionality
|
||||||
|
|
||||||
|
`Standard.hxx` has a new method `AllocateOptimal` for allocating without post-processing (cleaning).<br />
|
||||||
|
New profiles to allocate memory (defined at configuration time):
|
||||||
|
* `Native` - allocates with standard `malloc` and `calloc` functionality, performance depends on the OS.
|
||||||
|
* `TBB` - allocates with TBB's `scalable` allocator functionality.
|
||||||
|
* `JeMalloc` - allocates with `jemalloc` functions.
|
||||||
|
* `Flexible` - old-way allocation which defines allocation method in real-time by environment variables.<br />
|
||||||
|
|
||||||
|
The most recommended manager is `JeMalloc`. To use it with a plugin system, like `DRAW`, please ensure that JeMalloc was built with the `--disable-initial-exec-tls` flag. For more details, visit [JeMalloc](http://jemalloc.net/).
|
||||||
|
|
||||||
|
@subsection upgrade_780_optimization_profiles New CMake Variable for Optimization Profiles
|
||||||
|
|
||||||
|
`BUILD_OPT_PROFILE` is a new variable to define optimization level. Available profiles:
|
||||||
|
* `Default` - specializes only in quality-dependent parameters for the compiler.
|
||||||
|
* `Production` - specializes in performance and quality-dependent parameters for the compiler and linker.
|
||||||
|
@@ -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,
|
||||||
|
@@ -1498,7 +1498,7 @@ It is necessary to call command *newmodel* to perform a new translation of the n
|
|||||||
|
|
||||||
@section occt_step_7 Reading from and writing to STEP
|
@section occt_step_7 Reading from and writing to STEP
|
||||||
|
|
||||||
The *STEPCAFControl* package (TKXDESTEP toolkit) provides tools to read and write STEP files (see XDE User's Guide).
|
The *STEPCAFControl* package (TKDESTEP toolkit) provides tools to read and write STEP files (see XDE User's Guide).
|
||||||
|
|
||||||
In addition to the translation of shapes implemented in basic translator, it provides the following:
|
In addition to the translation of shapes implemented in basic translator, it provides the following:
|
||||||
* STEP assemblies, read as OCCT compounds by basic translator, are translated to XDE assemblies;
|
* STEP assemblies, read as OCCT compounds by basic translator, are translated to XDE assemblies;
|
||||||
|
@@ -43,10 +43,10 @@
|
|||||||
#pragma comment(lib, "TKService.lib")
|
#pragma comment(lib, "TKService.lib")
|
||||||
#pragma comment(lib, "TKV3d.lib")
|
#pragma comment(lib, "TKV3d.lib")
|
||||||
#pragma comment(lib, "TKOpenGl.lib")
|
#pragma comment(lib, "TKOpenGl.lib")
|
||||||
#pragma comment(lib, "TKIGES.lib")
|
#pragma comment(lib, "TKDEIGES.lib")
|
||||||
#pragma comment(lib, "TKSTEP.lib")
|
#pragma comment(lib, "TKDESTEP.lib")
|
||||||
#pragma comment(lib, "TKStl.lib")
|
#pragma comment(lib, "TKDESTL.lib")
|
||||||
#pragma comment(lib, "TKVrml.lib")
|
#pragma comment(lib, "TKDEVRML.lib")
|
||||||
#pragma comment(lib, "TKLCAF.lib")
|
#pragma comment(lib, "TKLCAF.lib")
|
||||||
|
|
||||||
//! Auxiliary tool for converting C# string into UTF-8 string.
|
//! Auxiliary tool for converting C# string into UTF-8 string.
|
||||||
|
@@ -51,10 +51,10 @@
|
|||||||
#pragma comment(lib, "TKV3d.lib")
|
#pragma comment(lib, "TKV3d.lib")
|
||||||
#pragma comment(lib, "TKOpenGl.lib")
|
#pragma comment(lib, "TKOpenGl.lib")
|
||||||
#pragma comment(lib, "TKD3dHost.lib")
|
#pragma comment(lib, "TKD3dHost.lib")
|
||||||
#pragma comment(lib, "TKIGES.lib")
|
#pragma comment(lib, "TKDEIGES.lib")
|
||||||
#pragma comment(lib, "TKSTEP.lib")
|
#pragma comment(lib, "TKDESTEP.lib")
|
||||||
#pragma comment(lib, "TKStl.lib")
|
#pragma comment(lib, "TKDESTL.lib")
|
||||||
#pragma comment(lib, "TKVrml.lib")
|
#pragma comment(lib, "TKDEVRML.lib")
|
||||||
#pragma comment(lib, "TKLCAF.lib")
|
#pragma comment(lib, "TKLCAF.lib")
|
||||||
|
|
||||||
#pragma comment(lib, "D3D9.lib")
|
#pragma comment(lib, "D3D9.lib")
|
||||||
|
@@ -63,7 +63,7 @@ set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKG2d TKG3d TKGeomBase TKBRep) # M
|
|||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing) # ModelingAlgorithms
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing) # ModelingAlgorithms
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKService TKV3d TKOpenGl TKMeshVS TKIVtk TKD3DHost) # Visualization
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKService TKV3d TKOpenGl TKMeshVS TKIVtk TKD3DHost) # Visualization
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF) # ApplicationFramework
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF) # ApplicationFramework
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh) # DataExchange
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKXSBase TKXCAF TKDEIGES TKDESTEP TKDESTL TKDEVRML TKXmlXCAF TKBinXCAF TKRWMesh TKDEGLTF TKDEOBJ TKDEPLY) # DataExchange
|
||||||
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKDraw TKViewerTest) # Draw
|
set (OpenCASCADE_TKLIST ${OpenCASCADE_TKLIST} TKDraw TKViewerTest) # Draw
|
||||||
|
|
||||||
# validate location of OCCT libraries and headers
|
# validate location of OCCT libraries and headers
|
||||||
|
@@ -26,14 +26,10 @@
|
|||||||
0A7DEDFC1E2D29FF00267B9B /* libTKV3d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF71E2D29F800267B9B /* libTKV3d.a */; };
|
0A7DEDFC1E2D29FF00267B9B /* libTKV3d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF71E2D29F800267B9B /* libTKV3d.a */; };
|
||||||
0A7DEDFD1E2D29FF00267B9B /* libTKVCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF81E2D29FB00267B9B /* libTKVCAF.a */; };
|
0A7DEDFD1E2D29FF00267B9B /* libTKVCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEDF81E2D29FB00267B9B /* libTKVCAF.a */; };
|
||||||
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */; };
|
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */; };
|
||||||
0A7DEE2E1E2D2AE000267B9B /* libTKSTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */; };
|
0A7DEE2E1E2D2AE000267B9B /* libTKDESTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */; };
|
||||||
0A7DEE301E2D2AE000267B9B /* libTKSTEPAttr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE101E2D2AAE00267B9B /* libTKSTEPAttr.a */; };
|
|
||||||
0A7DEE311E2D2AE000267B9B /* libTKSTEPBase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE111E2D2AB200267B9B /* libTKSTEPBase.a */; };
|
|
||||||
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */; };
|
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */; };
|
||||||
0A7DEE371E2D2AE000267B9B /* libTKXDESTEP.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE171E2D2AC700267B9B /* libTKXDESTEP.a */; };
|
|
||||||
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE021E2D2A7F00267B9B /* libTKBO.a */; };
|
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE021E2D2A7F00267B9B /* libTKBO.a */; };
|
||||||
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */; };
|
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */; };
|
||||||
0A7DEE401E2D2BEA00267B9B /* libTKSTEP209.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */; };
|
|
||||||
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE1D1E2D2ADC00267B9B /* libTKXSBase.a */; };
|
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A7DEE1D1E2D2ADC00267B9B /* libTKXSBase.a */; };
|
||||||
0AAE0DE61EAF816E00C1F65B /* screw.step in Resources */ = {isa = PBXBuildFile; fileRef = 0AAE0DE51EAF816D00C1F65B /* screw.step */; };
|
0AAE0DE61EAF816E00C1F65B /* screw.step in Resources */ = {isa = PBXBuildFile; fileRef = 0AAE0DE51EAF816D00C1F65B /* screw.step */; };
|
||||||
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AE286631EB0D29A00A9D719 /* libz.tbd */; };
|
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AE286631EB0D29A00A9D719 /* libz.tbd */; };
|
||||||
@@ -79,7 +75,7 @@
|
|||||||
0A7DEE031E2D2A8200267B9B /* libTKBool.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKBool.a; path = ../occt/lib/libTKBool.a; sourceTree = "<group>"; };
|
0A7DEE031E2D2A8200267B9B /* libTKBool.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKBool.a; path = ../occt/lib/libTKBool.a; sourceTree = "<group>"; };
|
||||||
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFeat.a; path = ../occt/lib/libTKFeat.a; sourceTree = "<group>"; };
|
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFeat.a; path = ../occt/lib/libTKFeat.a; sourceTree = "<group>"; };
|
||||||
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFillet.a; path = ../occt/lib/libTKFillet.a; sourceTree = "<group>"; };
|
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKFillet.a; path = ../occt/lib/libTKFillet.a; sourceTree = "<group>"; };
|
||||||
0A7DEE061E2D2A8C00267B9B /* libTKIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKIGES.a; path = ../occt/lib/libTKIGES.a; sourceTree = "<group>"; };
|
0A7DEE061E2D2A8C00267B9B /* libTKDEIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDEIGES.a; path = ../occt/lib/libTKDEIGES.a; sourceTree = "<group>"; };
|
||||||
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKMeshVS.a; path = ../occt/lib/libTKMeshVS.a; sourceTree = "<group>"; };
|
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKMeshVS.a; path = ../occt/lib/libTKMeshVS.a; sourceTree = "<group>"; };
|
||||||
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOffset.a; path = ../occt/lib/libTKOffset.a; sourceTree = "<group>"; };
|
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOffset.a; path = ../occt/lib/libTKOffset.a; sourceTree = "<group>"; };
|
||||||
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOpenGles.a; path = ../occt/lib/libTKOpenGles.a; sourceTree = "<group>"; };
|
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKOpenGles.a; path = ../occt/lib/libTKOpenGles.a; sourceTree = "<group>"; };
|
||||||
@@ -87,16 +83,11 @@
|
|||||||
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKService.a; path = ../occt/lib/libTKService.a; sourceTree = "<group>"; };
|
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKService.a; path = ../occt/lib/libTKService.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStd.a; path = ../occt/lib/libTKStd.a; sourceTree = "<group>"; };
|
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStd.a; path = ../occt/lib/libTKStd.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStdL.a; path = ../occt/lib/libTKStdL.a; sourceTree = "<group>"; };
|
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKStdL.a; path = ../occt/lib/libTKStdL.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEP.a; path = ../occt/lib/libTKSTEP.a; sourceTree = "<group>"; };
|
0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDESTEP.a; path = ../occt/lib/libTKDESTEP.a; sourceTree = "<group>"; };
|
||||||
0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEP209.a; path = ../occt/lib/libTKSTEP209.a; sourceTree = "<group>"; };
|
0A7DEE121E2D2AB500267B9B /* libTKDESTL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDESTL.a; path = ../occt/lib/libTKDESTL.a; sourceTree = "<group>"; };
|
||||||
0A7DEE101E2D2AAE00267B9B /* libTKSTEPAttr.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEPAttr.a; path = ../occt/lib/libTKSTEPAttr.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE111E2D2AB200267B9B /* libTKSTEPBase.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTEPBase.a; path = ../occt/lib/libTKSTEPBase.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE121E2D2AB500267B9B /* libTKSTL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKSTL.a; path = ../occt/lib/libTKSTL.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKTObj.a; path = ../occt/lib/libTKTObj.a; sourceTree = "<group>"; };
|
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKTObj.a; path = ../occt/lib/libTKTObj.a; sourceTree = "<group>"; };
|
||||||
0A7DEE141E2D2ABC00267B9B /* libTKVRML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKVRML.a; path = ../occt/lib/libTKVRML.a; sourceTree = "<group>"; };
|
0A7DEE141E2D2ABC00267B9B /* libTKDEVRML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKDEVRML.a; path = ../occt/lib/libTKDEVRML.a; sourceTree = "<group>"; };
|
||||||
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXCAF.a; path = ../occt/lib/libTKXCAF.a; sourceTree = "<group>"; };
|
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXCAF.a; path = ../occt/lib/libTKXCAF.a; sourceTree = "<group>"; };
|
||||||
0A7DEE161E2D2AC300267B9B /* libTKXDEIGES.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXDEIGES.a; path = ../occt/lib/libTKXDEIGES.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE171E2D2AC700267B9B /* libTKXDESTEP.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXDESTEP.a; path = ../occt/lib/libTKXDESTEP.a; sourceTree = "<group>"; };
|
|
||||||
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXMesh.a; path = ../occt/lib/libTKXMesh.a; sourceTree = "<group>"; };
|
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXMesh.a; path = ../occt/lib/libTKXMesh.a; sourceTree = "<group>"; };
|
||||||
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXml.a; path = ../occt/lib/libTKXml.a; sourceTree = "<group>"; };
|
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXml.a; path = ../occt/lib/libTKXml.a; sourceTree = "<group>"; };
|
||||||
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXmlL.a; path = ../occt/lib/libTKXmlL.a; sourceTree = "<group>"; };
|
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTKXmlL.a; path = ../occt/lib/libTKXmlL.a; sourceTree = "<group>"; };
|
||||||
@@ -134,13 +125,10 @@
|
|||||||
files = (
|
files = (
|
||||||
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */,
|
0AE286641EB0D29B00A9D719 /* libz.tbd in Frameworks */,
|
||||||
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */,
|
0A7DEE411E2D2C1500267B9B /* libTKXSBase.a in Frameworks */,
|
||||||
0A7DEE401E2D2BEA00267B9B /* libTKSTEP209.a in Frameworks */,
|
|
||||||
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */,
|
0A7DEE3F1E2D2BB000267B9B /* libTKOpenGles.a in Frameworks */,
|
||||||
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */,
|
0A7DEE3E1E2D2B8100267B9B /* libTKBO.a in Frameworks */,
|
||||||
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */,
|
0A7DEE2B1E2D2AE000267B9B /* libTKService.a in Frameworks */,
|
||||||
0A7DEE2E1E2D2AE000267B9B /* libTKSTEP.a in Frameworks */,
|
0A7DEE2E1E2D2AE000267B9B /* libTKDESTEP.a in Frameworks */,
|
||||||
0A7DEE301E2D2AE000267B9B /* libTKSTEPAttr.a in Frameworks */,
|
|
||||||
0A7DEE311E2D2AE000267B9B /* libTKSTEPBase.a in Frameworks */,
|
|
||||||
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */,
|
0A7DEE351E2D2AE000267B9B /* libTKXCAF.a in Frameworks */,
|
||||||
0A7DEE371E2D2AE000267B9B /* libTKXDESTEP.a in Frameworks */,
|
0A7DEE371E2D2AE000267B9B /* libTKXDESTEP.a in Frameworks */,
|
||||||
0A7DEDE71E2D28E300267B9B /* libTKBRep.a in Frameworks */,
|
0A7DEDE71E2D28E300267B9B /* libTKBRep.a in Frameworks */,
|
||||||
@@ -231,7 +219,7 @@
|
|||||||
0A7DEE031E2D2A8200267B9B /* libTKBool.a */,
|
0A7DEE031E2D2A8200267B9B /* libTKBool.a */,
|
||||||
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */,
|
0A7DEE041E2D2A8500267B9B /* libTKFeat.a */,
|
||||||
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */,
|
0A7DEE051E2D2A8900267B9B /* libTKFillet.a */,
|
||||||
0A7DEE061E2D2A8C00267B9B /* libTKIGES.a */,
|
0A7DEE061E2D2A8C00267B9B /* libTKDEIGES.a */,
|
||||||
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */,
|
0A7DEE071E2D2A8F00267B9B /* libTKMeshVS.a */,
|
||||||
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */,
|
0A7DEE081E2D2A9300267B9B /* libTKOffset.a */,
|
||||||
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */,
|
0A7DEE091E2D2A9700267B9B /* libTKOpenGles.a */,
|
||||||
@@ -239,16 +227,11 @@
|
|||||||
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */,
|
0A7DEE0B1E2D2A9D00267B9B /* libTKService.a */,
|
||||||
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */,
|
0A7DEE0C1E2D2AA100267B9B /* libTKStd.a */,
|
||||||
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */,
|
0A7DEE0D1E2D2AA400267B9B /* libTKStdL.a */,
|
||||||
0A7DEE0E1E2D2AA800267B9B /* libTKSTEP.a */,
|
0A7DEE0E1E2D2AA800267B9B /* libTKDESTEP.a */,
|
||||||
0A7DEE0F1E2D2AAB00267B9B /* libTKSTEP209.a */,
|
0A7DEE121E2D2AB500267B9B /* libTKDESTL.a */,
|
||||||
0A7DEE101E2D2AAE00267B9B /* libTKSTEPAttr.a */,
|
|
||||||
0A7DEE111E2D2AB200267B9B /* libTKSTEPBase.a */,
|
|
||||||
0A7DEE121E2D2AB500267B9B /* libTKSTL.a */,
|
|
||||||
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */,
|
0A7DEE131E2D2AB900267B9B /* libTKTObj.a */,
|
||||||
0A7DEE141E2D2ABC00267B9B /* libTKVRML.a */,
|
0A7DEE141E2D2ABC00267B9B /* libTKDEVRML.a */,
|
||||||
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */,
|
0A7DEE151E2D2AC000267B9B /* libTKXCAF.a */,
|
||||||
0A7DEE161E2D2AC300267B9B /* libTKXDEIGES.a */,
|
|
||||||
0A7DEE171E2D2AC700267B9B /* libTKXDESTEP.a */,
|
|
||||||
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */,
|
0A7DEE181E2D2ACA00267B9B /* libTKXMesh.a */,
|
||||||
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */,
|
0A7DEE191E2D2ACE00267B9B /* libTKXml.a */,
|
||||||
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */,
|
0A7DEE1A1E2D2AD100267B9B /* libTKXmlL.a */,
|
||||||
|
@@ -23,12 +23,11 @@
|
|||||||
#define CafShapePrs_h
|
#define CafShapePrs_h
|
||||||
|
|
||||||
#include <TDF_Label.hxx>
|
#include <TDF_Label.hxx>
|
||||||
#include <TDF_LabelMapHasher.hxx>
|
|
||||||
#include <XCAFPrs_AISObject.hxx>
|
#include <XCAFPrs_AISObject.hxx>
|
||||||
#include <XCAFPrs_Style.hxx>
|
#include <XCAFPrs_Style.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<TopoDS_Shape, Handle(AIS_ColoredDrawer), TopTools_ShapeMapHasher> CafDataMapOfShapeColor;
|
typedef NCollection_DataMap<TopoDS_Shape, Handle(AIS_ColoredDrawer), TopTools_ShapeMapHasher> CafDataMapOfShapeColor;
|
||||||
typedef NCollection_DataMap<TDF_Label, Handle(AIS_InteractiveObject), TDF_LabelMapHasher> MapOfPrsForShapes;
|
typedef NCollection_DataMap<TDF_Label, Handle(AIS_InteractiveObject)> MapOfPrsForShapes;
|
||||||
|
|
||||||
//! Interactive object for shape in DECAF document
|
//! Interactive object for shape in DECAF document
|
||||||
class CafShapePrs : public XCAFPrs_AISObject
|
class CafShapePrs : public XCAFPrs_AISObject
|
||||||
|
@@ -138,11 +138,8 @@ public class OcctJniActivity extends Activity implements OnClickListener
|
|||||||
|| !loadLibVerbose ("TKFillet", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKFillet", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKOffset", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKOffset", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKXSBase", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKXSBase", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKIGES", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKDEIGES", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKSTEPBase", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKDESTEP", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKSTEPAttr", aLoaded, aFailed)
|
|
||||||
|| !loadLibVerbose ("TKSTEP209", aLoaded, aFailed)
|
|
||||||
|| !loadLibVerbose ("TKSTEP", aLoaded, aFailed)
|
|
||||||
// OCCT Visualization
|
// OCCT Visualization
|
||||||
|| !loadLibVerbose ("TKService", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKService", aLoaded, aFailed)
|
||||||
|| !loadLibVerbose ("TKHLR", aLoaded, aFailed)
|
|| !loadLibVerbose ("TKHLR", aLoaded, aFailed)
|
||||||
|
@@ -8,8 +8,8 @@ set (anOcctLibs
|
|||||||
# exchange
|
# exchange
|
||||||
TKPrim TKBO TKBool TKFillet TKOffset
|
TKPrim TKBO TKBool TKFillet TKOffset
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP
|
TKDESTEP
|
||||||
# OCCT Visualization
|
# OCCT Visualization
|
||||||
TKService TKHLR TKV3d TKOpenGles
|
TKService TKHLR TKV3d TKOpenGles
|
||||||
)
|
)
|
||||||
|
@@ -116,7 +116,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKMesh.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../..\win64\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
<OutputFile>../../../..\win64\$(VCFMT)\bind/Geometry.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -61,4 +61,4 @@ include_directories (${CMAKE_BINARY_DIR}/inc
|
|||||||
${Modeling_SRC_DIR}
|
${Modeling_SRC_DIR}
|
||||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||||
|
|
||||||
target_link_libraries (Modeling mfcsample TKSTEP209 TKSTEPAttr TKSTEPBase TKBO)
|
target_link_libraries (Modeling mfcsample TKDESTEP TKBO)
|
||||||
|
@@ -115,7 +115,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bind/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -200,7 +200,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBRep.lib;TKIGES.lib;TKShHealing.lib;TKSTEP.lib;TKSTEP209.lib;TKSTEPAttr.lib;TKSTEPBase.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBRep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;mfcsample.lib;TKBO.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/Modeling.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -116,7 +116,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\lib;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -199,7 +199,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win32\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -241,7 +241,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;mfcsample.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bind/ImportExport.exe</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>..\..\..\..\win64\$(VCFMT)\libd;$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -158,15 +158,12 @@ include_directories( ${CMAKE_BINARY_DIR}/inc
|
|||||||
${COMMON_RESOURCE2D_DIR})
|
${COMMON_RESOURCE2D_DIR})
|
||||||
|
|
||||||
# OCCT libraries for using
|
# OCCT libraries for using
|
||||||
set (mfcsample_USED_LIBS TKVRML
|
set (mfcsample_USED_LIBS TKDEVRML
|
||||||
TKSTL
|
TKDESTL
|
||||||
TKBRep
|
TKBRep
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEPBase
|
|
||||||
TKSTEP209
|
|
||||||
TKSTEPAttr
|
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKBool
|
TKBool
|
||||||
TKBO
|
TKBO
|
||||||
|
@@ -115,7 +115,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bind/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win32\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win32\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
<ResourceOutputFileName>$(IntDir)%(Filename).res</ResourceOutputFileName>
|
<ResourceOutputFileName>$(IntDir)%(Filename).res</ResourceOutputFileName>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>TKVCAF.lib;TKVrml.lib;TKStl.lib;TKBrep.lib;TKIGES.lib;TKShHealing.lib;TKStep.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>TKVCAF.lib;TKDEVRML.lib;TKDESTL.lib;TKBrep.lib;TKDEIGES.lib;TKShHealing.lib;TKDESTEP.lib;TKXSBase.lib;TKBool.lib;TKCAF.lib;TKCDF.lib;TKernel.lib;TKFeat.lib;TKFillet.lib;TKG2d.lib;TKG3d.lib;TKGeomAlgo.lib;TKGeomBase.lib;TKHLR.lib;TKMath.lib;TKOffset.lib;TKPrim.lib;TKService.lib;TKTopAlgo.lib;TKMesh.lib;TKV3d.lib;TKOpenGl.lib;TKLCAF.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>../../../../win64\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
<OutputFile>../../../../win64\$(VCFMT)\bin/mfcsample.dll</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CSF_OCCTLibPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@@ -8,7 +8,7 @@ TKG3d
|
|||||||
TKGeomAlgo
|
TKGeomAlgo
|
||||||
TKGeomBase
|
TKGeomBase
|
||||||
TKHLR
|
TKHLR
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKernel
|
TKernel
|
||||||
TKMath
|
TKMath
|
||||||
TKMesh
|
TKMesh
|
||||||
@@ -17,13 +17,10 @@ TKOpenGl
|
|||||||
TKPrim
|
TKPrim
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKService
|
TKService
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEP209
|
TKDESTL
|
||||||
TKSTEPAttr
|
|
||||||
TKSTEPBase
|
|
||||||
TKSTL
|
|
||||||
TKTopAlgo
|
TKTopAlgo
|
||||||
TKV3d
|
TKV3d
|
||||||
TKVRML
|
TKDEVRML
|
||||||
TKXSBase
|
TKXSBase
|
||||||
|
|
||||||
|
@@ -72,8 +72,8 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
||||||
-lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
|
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \
|
||||||
-lTKSTEPBase -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
||||||
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
||||||
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ TKGeomAlgo
|
|||||||
TKGeomBase
|
TKGeomBase
|
||||||
TKernel
|
TKernel
|
||||||
TKHLR
|
TKHLR
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKMath
|
TKMath
|
||||||
TKMesh
|
TKMesh
|
||||||
TKOffset
|
TKOffset
|
||||||
@@ -18,14 +18,11 @@ TKOpenGl
|
|||||||
TKPrim
|
TKPrim
|
||||||
TKService
|
TKService
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEP209
|
TKDESTL
|
||||||
TKSTEPAttr
|
|
||||||
TKSTEPBase
|
|
||||||
TKSTL
|
|
||||||
TKTopAlgo
|
TKTopAlgo
|
||||||
TKV3d
|
TKV3d
|
||||||
TKVRML
|
TKDEVRML
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKLCAF
|
TKLCAF
|
||||||
TKCAF
|
TKCAF
|
||||||
|
@@ -75,8 +75,8 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
||||||
-lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
|
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \
|
||||||
-lTKSTEPBase -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
||||||
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
||||||
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF -lTKCAF -lTKVCAF \
|
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF -lTKCAF -lTKVCAF \
|
||||||
-lTKBin -lTKXml
|
-lTKBin -lTKXml
|
||||||
|
@@ -9,7 +9,7 @@ TKGeomAlgo
|
|||||||
TKGeomBase
|
TKGeomBase
|
||||||
TKernel
|
TKernel
|
||||||
TKHLR
|
TKHLR
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKMath
|
TKMath
|
||||||
TKMesh
|
TKMesh
|
||||||
TKOffset
|
TKOffset
|
||||||
@@ -17,13 +17,10 @@ TKOpenGl
|
|||||||
TKPrim
|
TKPrim
|
||||||
TKService
|
TKService
|
||||||
TKShHealing
|
TKShHealing
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKSTEP209
|
TKDESTL
|
||||||
TKSTEPAttr
|
|
||||||
TKSTEPBase
|
|
||||||
TKSTL
|
|
||||||
TKTopAlgo
|
TKTopAlgo
|
||||||
TKV3d
|
TKV3d
|
||||||
TKVRML
|
TKDEVRML
|
||||||
TKXSBase
|
TKXSBase
|
||||||
|
|
||||||
|
@@ -73,8 +73,8 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
|
||||||
-lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
|
-lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \
|
||||||
-lTKSTEPBase -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
-lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
|
||||||
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
-lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
|
||||||
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
-lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
|
||||||
|
|
||||||
|
@@ -59,7 +59,7 @@ else()
|
|||||||
set(OCCT_BIN_DIR)
|
set(OCCT_BIN_DIR)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OpenCASCADE_LIBS TKRWMesh TKBinXCAF TKBin TKBinL TKOpenGles TKXCAF TKVCAF TKCAF TKV3d TKHLR TKMesh TKService TKShHealing TKPrim TKTopAlgo TKGeomAlgo TKBRep TKGeomBase TKG3d TKG2d TKMath TKLCAF TKCDF TKernel)
|
set(OpenCASCADE_LIBS TKRWMesh TKDEGLTF TKDEOBJ TKDEPLY TKBinXCAF TKBin TKBinL TKOpenGles TKXCAF TKVCAF TKCAF TKV3d TKHLR TKMesh TKService TKShHealing TKPrim TKTopAlgo TKGeomAlgo TKBRep TKGeomBase TKG3d TKG2d TKMath TKLCAF TKCDF TKernel)
|
||||||
|
|
||||||
add_executable(${APP_TARGET} ${SOURCES})
|
add_executable(${APP_TARGET} ${SOURCES})
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
|
@@ -102,11 +102,11 @@ set (uwp_USED_LIBS TKernel
|
|||||||
TKHLR
|
TKHLR
|
||||||
TKOffset
|
TKOffset
|
||||||
TKXMesh
|
TKXMesh
|
||||||
TKIGES
|
TKDEIGES
|
||||||
TKSTEP
|
TKDESTEP
|
||||||
TKXSBase
|
TKXSBase
|
||||||
TKSTL
|
TKDESTL
|
||||||
TKVRML
|
TKDEVRML
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (uwp ${uwp_USED_LIBS})
|
target_link_libraries (uwp ${uwp_USED_LIBS})
|
||||||
|
@@ -56,7 +56,7 @@ AIS_C0RegularityFilter::AIS_C0RegularityFilter(const TopoDS_Shape& aShape)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Ok) {
|
if (Ok) {
|
||||||
TopoDS_Shape curEdge = SubShapes.FindKey( i );
|
const TopoDS_Shape& curEdge = SubShapes.FindKey( i );
|
||||||
myMapOfEdges.Add(curEdge);
|
myMapOfEdges.Add(curEdge);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,7 +21,6 @@
|
|||||||
#include <NCollection_IndexedDataMap.hxx>
|
#include <NCollection_IndexedDataMap.hxx>
|
||||||
#include <TopoDS_Compound.hxx>
|
#include <TopoDS_Compound.hxx>
|
||||||
#include <TopTools_MapOfShape.hxx>
|
#include <TopTools_MapOfShape.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
|
|
||||||
class StdSelect_BRepOwner;
|
class StdSelect_BRepOwner;
|
||||||
|
|
||||||
@@ -104,7 +103,7 @@ protected: //! @name override presentation computation
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
typedef NCollection_IndexedDataMap<Handle(AIS_ColoredDrawer), TopoDS_Compound, TColStd_MapTransientHasher> DataMapOfDrawerCompd;
|
typedef NCollection_IndexedDataMap<Handle(AIS_ColoredDrawer), TopoDS_Compound> DataMapOfDrawerCompd;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@@ -30,7 +30,6 @@
|
|||||||
#include <StdSelect.hxx>
|
#include <StdSelect.hxx>
|
||||||
#include <StdSelect_BRepOwner.hxx>
|
#include <StdSelect_BRepOwner.hxx>
|
||||||
#include <TopoDS_Shape.hxx>
|
#include <TopoDS_Shape.hxx>
|
||||||
#include <TopTools_OrientedShapeMapHasher.hxx>
|
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(AIS_ConnectedInteractive,AIS_InteractiveObject)
|
IMPLEMENT_STANDARD_RTTIEXT(AIS_ConnectedInteractive,AIS_InteractiveObject)
|
||||||
|
|
||||||
@@ -241,7 +240,7 @@ void AIS_ConnectedInteractive::computeSubShapeSelection (const Handle(SelectMgr_
|
|||||||
const Standard_Integer theMode)
|
const Standard_Integer theMode)
|
||||||
{
|
{
|
||||||
typedef NCollection_List<Handle(Select3D_SensitiveEntity)> SensitiveList;
|
typedef NCollection_List<Handle(Select3D_SensitiveEntity)> SensitiveList;
|
||||||
typedef NCollection_DataMap<TopoDS_Shape, SensitiveList, TopTools_OrientedShapeMapHasher>
|
typedef NCollection_DataMap<TopoDS_Shape, SensitiveList>
|
||||||
Shapes2EntitiesMap;
|
Shapes2EntitiesMap;
|
||||||
|
|
||||||
if (!myReference->HasSelection (theMode))
|
if (!myReference->HasSelection (theMode))
|
||||||
|
@@ -19,11 +19,10 @@
|
|||||||
|
|
||||||
#include <AIS_InteractiveObject.hxx>
|
#include <AIS_InteractiveObject.hxx>
|
||||||
#include <AIS_GlobalStatus.hxx>
|
#include <AIS_GlobalStatus.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus),TColStd_MapTransientHasher> AIS_DataMapOfIOStatus;
|
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus)> AIS_DataMapOfIOStatus;
|
||||||
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus),TColStd_MapTransientHasher>::Iterator AIS_DataMapIteratorOfDataMapOfIOStatus;
|
typedef NCollection_DataMap<Handle(AIS_InteractiveObject),Handle(AIS_GlobalStatus)>::Iterator AIS_DataMapIteratorOfDataMapOfIOStatus;
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,10 +17,11 @@
|
|||||||
//! Dragging action.
|
//! Dragging action.
|
||||||
enum AIS_DragAction
|
enum AIS_DragAction
|
||||||
{
|
{
|
||||||
AIS_DragAction_Start, //!< (try) start dragging object
|
AIS_DragAction_Start, //!< (try) start dragging object
|
||||||
AIS_DragAction_Update, //!< perform dragging (update position)
|
AIS_DragAction_Confirmed, //!< dragging interaction is confirmed.
|
||||||
AIS_DragAction_Stop, //!< stop dragging (save position)
|
AIS_DragAction_Update, //!< perform dragging (update position)
|
||||||
AIS_DragAction_Abort, //!< abort dragging (restore initial position)
|
AIS_DragAction_Stop, //!< stop dragging (save position)
|
||||||
|
AIS_DragAction_Abort, //!< abort dragging (restore initial position)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _AIS_DragAction_HeaderFile
|
#endif // _AIS_DragAction_HeaderFile
|
||||||
|
@@ -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())
|
||||||
{
|
{
|
||||||
Handle(AIS_InteractiveObject) anObj = anObjIter.Key();
|
const 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(AIS_GlobalStatus) aStatus = anObjIter.Value();
|
const 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,6 +3228,30 @@ 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
|
||||||
@@ -3288,7 +3312,8 @@ void AIS_InteractiveContext::SetSelected (const Handle(AIS_InteractiveObject)& t
|
|||||||
}
|
}
|
||||||
|
|
||||||
// added to avoid untimely viewer update...
|
// added to avoid untimely viewer update...
|
||||||
mySelection->ClearAndSelect (anOwner);
|
const Handle(AIS_InteractiveObject) anObj = Handle(AIS_InteractiveObject)::DownCast (anOwner->Selectable());
|
||||||
|
mySelection->ClearAndSelect (anOwner, myFilters, isDetected (anObj));
|
||||||
|
|
||||||
if (myAutoHilight)
|
if (myAutoHilight)
|
||||||
{
|
{
|
||||||
@@ -3350,7 +3375,7 @@ void AIS_InteractiveContext::SetSelected (const Handle(SelectMgr_EntityOwner)& t
|
|||||||
unhighlightSelected();
|
unhighlightSelected();
|
||||||
}
|
}
|
||||||
|
|
||||||
mySelection->ClearAndSelect (theOwner);
|
mySelection->ClearAndSelect (theOwner, myFilters, isDetected (anObject));
|
||||||
if (myAutoHilight)
|
if (myAutoHilight)
|
||||||
{
|
{
|
||||||
Handle(Prs3d_Drawer) aCustomStyle;
|
Handle(Prs3d_Drawer) aCustomStyle;
|
||||||
@@ -3401,16 +3426,17 @@ void AIS_InteractiveContext::AddOrRemoveSelected (const Handle(SelectMgr_EntityO
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!myFilters->IsOk(theOwner) && !theOwner->IsSelected())
|
if (!myFilters->IsOk (theOwner) && !theOwner->IsSelected())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mySelection->Select (theOwner);
|
AIS_SelectionScheme aSelScheme = theOwner->IsSelected() ? AIS_SelectionScheme_Remove : AIS_SelectionScheme_Add;
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
@@ -3469,7 +3495,8 @@ Standard_Boolean AIS_InteractiveContext::SetSelectedState (const Handle(SelectMg
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const AIS_SelectStatus aSelStatus = mySelection->Select (theEntity);
|
const Handle(AIS_InteractiveObject) anObj = Handle(AIS_InteractiveObject)::DownCast(theEntity->Selectable());
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
|
@@ -1302,6 +1302,9 @@ 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);
|
||||||
|
|
||||||
|
@@ -259,6 +259,10 @@ Standard_Boolean AIS_LightSource::ProcessDragging (const Handle(AIS_InteractiveC
|
|||||||
myLocTrsfStart = LocalTransformation();
|
myLocTrsfStart = LocalTransformation();
|
||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
|
case AIS_DragAction_Confirmed:
|
||||||
|
{
|
||||||
|
return Standard_True;
|
||||||
|
}
|
||||||
case AIS_DragAction_Update:
|
case AIS_DragAction_Update:
|
||||||
{
|
{
|
||||||
mySensSphere->ResetLastDetectedPoint();
|
mySensSphere->ResetLastDetectedPoint();
|
||||||
|
@@ -661,6 +661,10 @@ Standard_Boolean AIS_Manipulator::ProcessDragging (const Handle(AIS_InteractiveC
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case AIS_DragAction_Confirmed:
|
||||||
|
{
|
||||||
|
return Standard_True;
|
||||||
|
}
|
||||||
case AIS_DragAction_Update:
|
case AIS_DragAction_Update:
|
||||||
{
|
{
|
||||||
Transform (theDragTo.x(), theDragTo.y(), theView);
|
Transform (theDragTo.x(), theDragTo.y(), theView);
|
||||||
|
@@ -55,24 +55,38 @@ void AIS_Selection::Clear()
|
|||||||
//function : Select
|
//function : Select
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& theObject)
|
AIS_SelectStatus AIS_Selection::Select (const Handle(SelectMgr_EntityOwner)& theOwner,
|
||||||
|
const Handle(SelectMgr_Filter)& theFilter,
|
||||||
|
const AIS_SelectionScheme theSelScheme,
|
||||||
|
const Standard_Boolean theIsDetected)
|
||||||
{
|
{
|
||||||
if (theObject.IsNull()
|
if (theOwner.IsNull()
|
||||||
|| !theObject->HasSelectable())
|
|| !theOwner->HasSelectable())
|
||||||
{
|
{
|
||||||
return AIS_SS_NotDone;
|
return AIS_SS_NotDone;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!myResultMap.IsBound (theObject))
|
const Standard_Boolean isDetected = theIsDetected
|
||||||
|
&& (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 (theObject, aListIter);
|
myresult.Append (theOwner, aListIter);
|
||||||
myResultMap.Bind (theObject, aListIter);
|
myResultMap.Bind (theOwner, aListIter);
|
||||||
theObject->SetSelected (Standard_True);
|
theOwner->SetSelected (Standard_True);
|
||||||
return AIS_SS_Added;
|
return AIS_SS_Added;
|
||||||
}
|
}
|
||||||
|
|
||||||
AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theObject);
|
if (!toSelect && !wasSelected)
|
||||||
|
{
|
||||||
|
return AIS_SS_NotDone;
|
||||||
|
}
|
||||||
|
|
||||||
|
AIS_NListOfEntityOwner::Iterator aListIter = myResultMap.Find (theOwner);
|
||||||
if (myIterator == aListIter)
|
if (myIterator == aListIter)
|
||||||
{
|
{
|
||||||
if (myIterator.More())
|
if (myIterator.More())
|
||||||
@@ -88,14 +102,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 (theObject->IsForcedHilight())
|
if (theOwner->IsForcedHilight())
|
||||||
{
|
{
|
||||||
return AIS_SS_Added;
|
return AIS_SS_Added;
|
||||||
}
|
}
|
||||||
|
|
||||||
myresult.Remove (aListIter);
|
myresult.Remove (aListIter);
|
||||||
myResultMap.UnBind (theObject);
|
myResultMap.UnBind (theOwner);
|
||||||
theObject->SetSelected (Standard_False);
|
theOwner->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())
|
||||||
@@ -142,86 +156,39 @@ 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())
|
||||||
{
|
{
|
||||||
case AIS_SelectionScheme_UNKNOWN:
|
// If picked owners is equivalent to the selected then just clear selected.
|
||||||
|
Standard_Boolean isTheSame = Standard_True;
|
||||||
|
for (AIS_NArray1OfEntityOwner::Iterator aPickedIter (thePickedOwners); aPickedIter.More(); aPickedIter.Next())
|
||||||
{
|
{
|
||||||
return;
|
if (!myResultMap.IsBound (aPickedIter.Value()))
|
||||||
}
|
|
||||||
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())
|
|
||||||
{
|
{
|
||||||
Standard_Boolean isTheSame = Standard_True;
|
isTheSame = Standard_False;
|
||||||
for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
|
break;
|
||||||
{
|
|
||||||
if (!myResultMap.IsBound (aSelIter.Value()))
|
|
||||||
{
|
|
||||||
isTheSame = Standard_False;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (isTheSame)
|
|
||||||
{
|
|
||||||
Clear();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Standard_FALLTHROUGH
|
if (isTheSame)
|
||||||
case AIS_SelectionScheme_Replace:
|
|
||||||
{
|
{
|
||||||
Clear();
|
Clear();
|
||||||
for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
|
return;
|
||||||
{
|
}
|
||||||
appendOwner (aSelIter.Value(), theFilter);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
if (theSelScheme == AIS_SelectionScheme_Replace
|
||||||
}
|
|| theSelScheme == AIS_SelectionScheme_ReplaceExtra
|
||||||
case AIS_SelectionScheme_Add:
|
|| theSelScheme == AIS_SelectionScheme_Clear)
|
||||||
{
|
{
|
||||||
for (AIS_NArray1OfEntityOwner::Iterator aSelIter (thePickedOwners); aSelIter.More(); aSelIter.Next())
|
Clear();
|
||||||
{
|
}
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
Select (anOwner);
|
for (AIS_NArray1OfEntityOwner::Iterator aPickedIter (thePickedOwners); aPickedIter.More(); aPickedIter.Next())
|
||||||
}
|
{
|
||||||
return;
|
const Handle(SelectMgr_EntityOwner)& anOwner = aPickedIter.Value();
|
||||||
}
|
Select (anOwner, theFilter, theSelScheme, true);
|
||||||
case AIS_SelectionScheme_Clear:
|
|
||||||
{
|
|
||||||
Clear();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -34,23 +34,36 @@ 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.
|
||||||
Standard_EXPORT virtual AIS_SelectStatus Select (const Handle(SelectMgr_EntityOwner)& theObject);
|
//! @param[in] theOwner element to change selection state
|
||||||
|
//! @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.
|
||||||
virtual void ClearAndSelect (const Handle(SelectMgr_EntityOwner)& theObject)
|
//! @param[in] theObject element to change selection state
|
||||||
|
//! @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);
|
Select (theObject, theFilter, AIS_SelectionScheme_Add, theIsDetected);
|
||||||
}
|
}
|
||||||
|
|
||||||
//! checks if the object is in the selection.
|
//! checks if the object is in the selection.
|
||||||
|
@@ -332,6 +332,11 @@ void AIS_ViewController::flushBuffers (const Handle(AIS_InteractiveContext)& ,
|
|||||||
myGL.Dragging.ToStart = true;
|
myGL.Dragging.ToStart = true;
|
||||||
myGL.Dragging.PointStart = myUI.Dragging.PointStart;
|
myGL.Dragging.PointStart = myUI.Dragging.PointStart;
|
||||||
}
|
}
|
||||||
|
if (myUI.Dragging.ToConfirm)
|
||||||
|
{
|
||||||
|
myUI.Dragging.ToConfirm = false;
|
||||||
|
myGL.Dragging.ToConfirm = true;
|
||||||
|
}
|
||||||
if (myUI.Dragging.ToMove)
|
if (myUI.Dragging.ToMove)
|
||||||
{
|
{
|
||||||
myUI.Dragging.ToMove = false;
|
myUI.Dragging.ToMove = false;
|
||||||
@@ -928,6 +933,7 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
|
|||||||
myMouseClickCounter = 0;
|
myMouseClickCounter = 0;
|
||||||
myMouseSingleButton = -1;
|
myMouseSingleButton = -1;
|
||||||
myMouseStopDragOnUnclick = true;
|
myMouseStopDragOnUnclick = true;
|
||||||
|
myUI.Dragging.ToConfirm = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1047,11 +1053,13 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
|
|||||||
: 0.0;
|
: 0.0;
|
||||||
if (double (Abs (aDelta.x())) > aZoomTol)
|
if (double (Abs (aDelta.x())) > aZoomTol)
|
||||||
{
|
{
|
||||||
if (UpdateZoom (Aspect_ScrollDelta (aDelta.x())))
|
UpdateZoom (Aspect_ScrollDelta (aDelta.x()));
|
||||||
{
|
|
||||||
toUpdateView = true;
|
myUI.Dragging.ToMove = true;
|
||||||
}
|
myUI.Dragging.PointTo = thePoint;
|
||||||
|
|
||||||
myMouseProgressPoint = thePoint;
|
myMouseProgressPoint = thePoint;
|
||||||
|
toUpdateView = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1075,7 +1083,6 @@ 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;
|
||||||
@@ -1085,6 +1092,12 @@ 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;
|
||||||
@@ -2731,6 +2744,17 @@ void AIS_ViewController::OnObjectDragged (const Handle(AIS_InteractiveContext)&
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
case AIS_DragAction_Confirmed:
|
||||||
|
{
|
||||||
|
if (myDragObject.IsNull())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
myDragObject->ProcessDragging (theCtx, theView, myDragOwner, myGL.Dragging.PointStart,
|
||||||
|
myGL.Dragging.PointTo, theAction);
|
||||||
|
return;
|
||||||
|
}
|
||||||
case AIS_DragAction_Update:
|
case AIS_DragAction_Update:
|
||||||
{
|
{
|
||||||
if (myDragObject.IsNull())
|
if (myDragObject.IsNull())
|
||||||
@@ -3050,9 +3074,15 @@ 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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -640,18 +640,9 @@ protected:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
//! Trivial hasher to avoid ambiguity with enumeration type.
|
NCollection_DataMap<V3d_TypeOfOrientation, TCollection_AsciiString>
|
||||||
struct IntegerHasher
|
|
||||||
{
|
|
||||||
static Standard_Integer HashCode (Standard_Integer theValue, Standard_Integer theUpper) { return ::HashCode (theValue, theUpper); }
|
|
||||||
static Standard_Boolean IsEqual (Standard_Integer theA, Standard_Integer theB) { return theA == theB; }
|
|
||||||
};
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
NCollection_DataMap<V3d_TypeOfOrientation, TCollection_AsciiString, IntegerHasher>
|
|
||||||
myBoxSideLabels; //!< map with box side labels
|
myBoxSideLabels; //!< map with box side labels
|
||||||
NCollection_DataMap<Prs3d_DatumParts, TCollection_AsciiString, IntegerHasher>
|
NCollection_DataMap<Prs3d_DatumParts, TCollection_AsciiString>
|
||||||
myAxesLabels; //!< map with axes labels
|
myAxesLabels; //!< map with axes labels
|
||||||
Handle(Prs3d_ShadingAspect) myBoxEdgeAspect; //!< style for box edges
|
Handle(Prs3d_ShadingAspect) myBoxEdgeAspect; //!< style for box edges
|
||||||
Handle(Prs3d_ShadingAspect) myBoxCornerAspect; //!< style for box corner
|
Handle(Prs3d_ShadingAspect) myBoxCornerAspect; //!< style for box corner
|
||||||
|
@@ -87,13 +87,14 @@ public:
|
|||||||
struct _draggingParams
|
struct _draggingParams
|
||||||
{
|
{
|
||||||
bool ToStart; //!< start dragging
|
bool ToStart; //!< start dragging
|
||||||
|
bool ToConfirm; //!< confirm dragging
|
||||||
bool ToMove; //!< perform dragging
|
bool ToMove; //!< perform dragging
|
||||||
bool ToStop; //!< stop dragging
|
bool ToStop; //!< stop dragging
|
||||||
bool ToAbort; //!< abort dragging (restore previous position)
|
bool ToAbort; //!< abort dragging (restore previous position)
|
||||||
Graphic3d_Vec2i PointStart; //!< drag start point
|
Graphic3d_Vec2i PointStart; //!< drag start point
|
||||||
Graphic3d_Vec2i PointTo; //!< drag end point
|
Graphic3d_Vec2i PointTo; //!< drag end point
|
||||||
|
|
||||||
_draggingParams() : ToStart (false), ToMove (false), ToStop (false), ToAbort (false) {}
|
_draggingParams() : ToStart (false), ToConfirm (false), ToMove (false), ToStop (false), ToAbort (false) {}
|
||||||
} Dragging;
|
} Dragging;
|
||||||
|
|
||||||
struct _orbitRotation
|
struct _orbitRotation
|
||||||
@@ -139,12 +140,13 @@ public:
|
|||||||
Selection.ToApplyTool = false;
|
Selection.ToApplyTool = false;
|
||||||
IsNewGesture = false;
|
IsNewGesture = false;
|
||||||
ZoomActions.Clear();
|
ZoomActions.Clear();
|
||||||
Panning.ToStart = false;
|
Panning.ToStart = false;
|
||||||
Panning.ToPan = false;
|
Panning.ToPan = false;
|
||||||
Dragging.ToStart = false;
|
Dragging.ToStart = false;
|
||||||
Dragging.ToMove = false;
|
Dragging.ToConfirm = false;
|
||||||
Dragging.ToStop = false;
|
Dragging.ToMove = false;
|
||||||
Dragging.ToAbort = false;
|
Dragging.ToStop = false;
|
||||||
|
Dragging.ToAbort = false;
|
||||||
OrbitRotation.ToStart = false;
|
OrbitRotation.ToStart = false;
|
||||||
OrbitRotation.ToRotate = false;
|
OrbitRotation.ToRotate = false;
|
||||||
ViewRotation.ToStart = false;
|
ViewRotation.ToStart = false;
|
||||||
|
@@ -911,10 +911,9 @@ 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);
|
||||||
|
|
||||||
@@ -1789,7 +1788,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) (log((real) (*nbentr) / (float)63.) / log((float)2.))
|
i__1 = (integer) (std::log((real) (*nbentr) / (float)63.) / std::log((float)2.))
|
||||||
;
|
;
|
||||||
for (ibid = 1; ibid <= i__1; ++ibid) {
|
for (ibid = 1; ibid <= i__1; ++ibid) {
|
||||||
|
|
||||||
|
@@ -30,7 +30,6 @@
|
|||||||
#include <TColgp_HArray2OfPnt2d.hxx>
|
#include <TColgp_HArray2OfPnt2d.hxx>
|
||||||
#include <TColgp_HArray2OfPnt.hxx>
|
#include <TColgp_HArray2OfPnt.hxx>
|
||||||
#include <TColStd_HArray1OfInteger.hxx>
|
#include <TColStd_HArray1OfInteger.hxx>
|
||||||
#include <Standard_Address.hxx>
|
|
||||||
#include <AdvApprox_EvaluatorFunction.hxx>
|
#include <AdvApprox_EvaluatorFunction.hxx>
|
||||||
#include <TColStd_Array1OfInteger.hxx>
|
#include <TColStd_Array1OfInteger.hxx>
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
|
@@ -24,7 +24,6 @@
|
|||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <TColStd_HArray1OfReal.hxx>
|
#include <TColStd_HArray1OfReal.hxx>
|
||||||
#include <TColStd_HArray2OfReal.hxx>
|
#include <TColStd_HArray2OfReal.hxx>
|
||||||
#include <Standard_Address.hxx>
|
|
||||||
#include <GeomAbs_Shape.hxx>
|
#include <GeomAbs_Shape.hxx>
|
||||||
#include <AdvApprox_EvaluatorFunction.hxx>
|
#include <AdvApprox_EvaluatorFunction.hxx>
|
||||||
#include <TColStd_Array1OfInteger.hxx>
|
#include <TColStd_Array1OfInteger.hxx>
|
||||||
|
@@ -1238,7 +1238,7 @@ void VBernstein(const Standard_Integer classe,
|
|||||||
if (nbpoints > 24) throw Standard_DimensionError("VBernstein: nbpoints > 24");
|
if (nbpoints > 24) throw Standard_DimensionError("VBernstein: nbpoints > 24");
|
||||||
// math_Matrix VB(classe, nbpoints);
|
// math_Matrix VB(classe, nbpoints);
|
||||||
|
|
||||||
Standard_Integer i, j, k = 0, Som;
|
Standard_Integer i, j, Som;
|
||||||
// 300 = 1+2+ ... +24 points.
|
// 300 = 1+2+ ... +24 points.
|
||||||
Som = (Standard_Integer )( 300*((classe-1)*classe/2.-1) + classe * (nbpoints-1)*nbpoints/2.);
|
Som = (Standard_Integer )( 300*((classe-1)*classe/2.-1) + classe * (nbpoints-1)*nbpoints/2.);
|
||||||
|
|
||||||
@@ -1248,7 +1248,6 @@ void VBernstein(const Standard_Integer classe,
|
|||||||
for (j = 1; j <= nbpoints; j++) {
|
for (j = 1; j <= nbpoints; j++) {
|
||||||
M(i, j) = *tmpVB;
|
M(i, j) = *tmpVB;
|
||||||
tmpVB++;
|
tmpVB++;
|
||||||
k++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
#include <math_Matrix.hxx>
|
#include <math_Matrix.hxx>
|
||||||
#include <NCollection_Array1.hxx>
|
#include <NCollection_Array1.hxx>
|
||||||
#include <AppParCurves_Constraint.hxx>
|
#include <AppParCurves_Constraint.hxx>
|
||||||
|
#include <math_Vector.hxx>
|
||||||
|
|
||||||
struct PeriodicityInfo
|
struct PeriodicityInfo
|
||||||
{
|
{
|
||||||
|
@@ -13,7 +13,6 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
#include <Approx_ParametrizationType.hxx>
|
#include <Approx_ParametrizationType.hxx>
|
||||||
#include Approx_ParLeastSquareOfMyGradient_hxx
|
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
#include <TColgp_Array1OfPnt.hxx>
|
#include <TColgp_Array1OfPnt.hxx>
|
||||||
#include <TColgp_Array1OfPnt2d.hxx>
|
#include <TColgp_Array1OfPnt2d.hxx>
|
||||||
@@ -1392,7 +1391,7 @@ Standard_Boolean Approx_ComputeLine::ComputeCurve(const MultiLine& Line,
|
|||||||
Standard_Boolean Parallel;
|
Standard_Boolean Parallel;
|
||||||
#endif
|
#endif
|
||||||
Standard_Integer myfirstpt = firstpt, mylastpt = lastpt;
|
Standard_Integer myfirstpt = firstpt, mylastpt = lastpt;
|
||||||
Standard_Integer nbp = lastpt-firstpt+1, Kopt = 0;
|
Standard_Integer nbp = lastpt-firstpt+1;
|
||||||
math_Vector Para(firstpt, lastpt);
|
math_Vector Para(firstpt, lastpt);
|
||||||
|
|
||||||
Parameters(Line, firstpt, lastpt, Para);
|
Parameters(Line, firstpt, lastpt, Para);
|
||||||
@@ -1427,11 +1426,6 @@ Standard_Boolean Approx_ComputeLine::ComputeCurve(const MultiLine& Line,
|
|||||||
Tangent1 = LineTool::Tangency(Line, myfirstpt, tabV1);
|
Tangent1 = LineTool::Tangency(Line, myfirstpt, tabV1);
|
||||||
Tangent2 = LineTool::Tangency(Line, mylastpt, tabV2);
|
Tangent2 = LineTool::Tangency(Line, mylastpt, tabV2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Tangent1) Kopt++;
|
|
||||||
if (Tangent2) Kopt++;
|
|
||||||
|
|
||||||
|
|
||||||
if (nbp == 2) {
|
if (nbp == 2) {
|
||||||
// S il n y a que 2 points, on verifie quand meme que les tangentes sont
|
// S il n y a que 2 points, on verifie quand meme que les tangentes sont
|
||||||
// alignees.
|
// alignees.
|
||||||
|
@@ -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)
|
||||||
|
@@ -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);
|
||||||
|
@@ -14,34 +14,21 @@
|
|||||||
#ifndef _ApproxInt_KnotTools_HeaderFile
|
#ifndef _ApproxInt_KnotTools_HeaderFile
|
||||||
#define _ApproxInt_KnotTools_HeaderFile
|
#define _ApproxInt_KnotTools_HeaderFile
|
||||||
|
|
||||||
#ifndef _Standard_DefineAlloc_HeaderFile
|
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#endif
|
|
||||||
#ifndef _Standard_Macro_HeaderFile
|
|
||||||
#include <Standard_Macro.hxx>
|
#include <Standard_Macro.hxx>
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _Standard_Boolean_HeaderFile
|
|
||||||
#include <Standard_Boolean.hxx>
|
#include <Standard_Boolean.hxx>
|
||||||
#endif
|
|
||||||
#ifndef _Standard_Real_HeaderFile
|
|
||||||
#include <Standard_Real.hxx>
|
#include <Standard_Real.hxx>
|
||||||
#endif
|
|
||||||
#ifndef _Standard_Integer_HeaderFile
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <TColgp_Array1OfPnt2d.hxx>
|
#include <TColgp_Array1OfPnt2d.hxx>
|
||||||
|
#include <NCollection_Sequence.hxx>
|
||||||
|
#include <NCollection_List.hxx>
|
||||||
|
#include <math_Vector.hxx>
|
||||||
#include <TColgp_Array1OfPnt.hxx>
|
#include <TColgp_Array1OfPnt.hxx>
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
#include <NCollection_LocalArray.hxx>
|
#include <NCollection_LocalArray.hxx>
|
||||||
|
#include <NCollection_Vector.hxx>
|
||||||
#include <Approx_ParametrizationType.hxx>
|
#include <Approx_ParametrizationType.hxx>
|
||||||
|
|
||||||
class math_Vector;
|
|
||||||
template <class A> class NCollection_Sequence;
|
|
||||||
template <class A> class NCollection_List;
|
|
||||||
template <class A> class NCollection_Vector;
|
|
||||||
|
|
||||||
class IntPatch_WLine;
|
class IntPatch_WLine;
|
||||||
|
|
||||||
// Corresponds for debug information output.
|
// Corresponds for debug information output.
|
||||||
|
@@ -53,6 +53,6 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
//! Map of actions with action Id as a key.
|
//! Map of actions with action Id as a key.
|
||||||
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRAction), TCollection_AsciiString> Aspect_XRActionMap;
|
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRAction)> Aspect_XRActionMap;
|
||||||
|
|
||||||
#endif // _Aspect_XRAction_HeaderFile
|
#endif // _Aspect_XRAction_HeaderFile
|
||||||
|
@@ -50,6 +50,6 @@ protected:
|
|||||||
Aspect_XRActionMap myActions; //!< map of actions
|
Aspect_XRActionMap myActions; //!< map of actions
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRActionSet), TCollection_AsciiString> Aspect_XRActionSetMap;
|
typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(Aspect_XRActionSet)> Aspect_XRActionSetMap;
|
||||||
|
|
||||||
#endif // _Aspect_XRActionSet_HeaderFile
|
#endif // _Aspect_XRActionSet_HeaderFile
|
||||||
|
@@ -167,7 +167,7 @@ void BOPAlgo_BuilderFace::Perform(const Message_ProgressRange& theRange)
|
|||||||
void BOPAlgo_BuilderFace::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
void BOPAlgo_BuilderFace::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
||||||
{
|
{
|
||||||
Standard_Boolean bFound;
|
Standard_Boolean bFound;
|
||||||
Standard_Integer i, iCnt, aNbV, aNbE;
|
Standard_Integer i, aNbV, aNbE;
|
||||||
TopTools_IndexedDataMapOfShapeListOfShape aMVE;
|
TopTools_IndexedDataMapOfShapeListOfShape aMVE;
|
||||||
TopTools_ListIteratorOfListOfShape aIt;
|
TopTools_ListIteratorOfListOfShape aIt;
|
||||||
//
|
//
|
||||||
@@ -175,14 +175,11 @@ void BOPAlgo_BuilderFace::PerformShapesToAvoid(const Message_ProgressRange& theR
|
|||||||
//
|
//
|
||||||
Message_ProgressScope aPS(theRange, NULL, 1);
|
Message_ProgressScope aPS(theRange, NULL, 1);
|
||||||
//
|
//
|
||||||
iCnt=0;
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
if (UserBreak(aPS))
|
if (UserBreak(aPS))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
++iCnt;
|
|
||||||
bFound=Standard_False;
|
bFound=Standard_False;
|
||||||
//
|
//
|
||||||
// 1. MEF
|
// 1. MEF
|
||||||
|
@@ -142,7 +142,7 @@ void BOPAlgo_BuilderSolid::Perform(const Message_ProgressRange& theRange)
|
|||||||
void BOPAlgo_BuilderSolid::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
void BOPAlgo_BuilderSolid::PerformShapesToAvoid(const Message_ProgressRange& theRange)
|
||||||
{
|
{
|
||||||
Standard_Boolean bFound;
|
Standard_Boolean bFound;
|
||||||
Standard_Integer i, iCnt, aNbE, aNbF;
|
Standard_Integer i, aNbE, aNbF;
|
||||||
TopAbs_Orientation aOrE;
|
TopAbs_Orientation aOrE;
|
||||||
TopTools_IndexedDataMapOfShapeListOfShape aMEF;
|
TopTools_IndexedDataMapOfShapeListOfShape aMEF;
|
||||||
TopTools_ListIteratorOfListOfShape aIt;
|
TopTools_ListIteratorOfListOfShape aIt;
|
||||||
@@ -151,12 +151,10 @@ void BOPAlgo_BuilderSolid::PerformShapesToAvoid(const Message_ProgressRange& the
|
|||||||
//
|
//
|
||||||
Message_ProgressScope aPS(theRange, NULL, 1);
|
Message_ProgressScope aPS(theRange, NULL, 1);
|
||||||
//
|
//
|
||||||
iCnt=0;
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
if (UserBreak(aPS)) {
|
if (UserBreak(aPS)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
++iCnt;
|
|
||||||
bFound=Standard_False;
|
bFound=Standard_False;
|
||||||
//
|
//
|
||||||
// 1. MEF
|
// 1. MEF
|
||||||
@@ -733,7 +731,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) {
|
||||||
TopoDS_Shape aF = theMF(i);
|
const TopoDS_Shape& aF = theMF(i);
|
||||||
TopExp::MapShapesAndAncestors(aF,
|
TopExp::MapShapesAndAncestors(aF,
|
||||||
TopAbs_EDGE, TopAbs_FACE,
|
TopAbs_EDGE, TopAbs_FACE,
|
||||||
aMEF);
|
aMEF);
|
||||||
|
@@ -549,8 +549,7 @@ void BOPAlgo_Builder::BuildSplitFaces(const Message_ProgressRange& theRange)
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
typedef
|
typedef
|
||||||
NCollection_IndexedDataMap<BOPTools_Set,
|
NCollection_IndexedDataMap<BOPTools_Set,
|
||||||
TopTools_ListOfShape,
|
TopTools_ListOfShape> BOPAlgo_IndexedDataMapOfSetListOfShape;
|
||||||
BOPTools_SetMapHasher> BOPAlgo_IndexedDataMapOfSetListOfShape;
|
|
||||||
|
|
||||||
static void AddEdgeSet(const TopoDS_Shape& theS,
|
static void AddEdgeSet(const TopoDS_Shape& theS,
|
||||||
BOPAlgo_IndexedDataMapOfSetListOfShape& theMap,
|
BOPAlgo_IndexedDataMapOfSetListOfShape& theMap,
|
||||||
@@ -619,8 +618,7 @@ void BOPAlgo_Builder::FillSameDomainFaces(const Message_ProgressRange& theRange)
|
|||||||
|
|
||||||
// Data map of set of edges with all faces having this set
|
// Data map of set of edges with all faces having this set
|
||||||
NCollection_IndexedDataMap<BOPTools_Set,
|
NCollection_IndexedDataMap<BOPTools_Set,
|
||||||
TopTools_ListOfShape,
|
TopTools_ListOfShape> anESetFaces(1, aAllocator);
|
||||||
BOPTools_SetMapHasher> anESetFaces(1, aAllocator);
|
|
||||||
// Map of planar bounded faces. If such faces have the same Edge set
|
// Map of planar bounded faces. If such faces have the same Edge set
|
||||||
// they are considered Same domain, without additional check.
|
// they are considered Same domain, without additional check.
|
||||||
TopTools_MapOfShape aMFPlanar(1, aAllocator);
|
TopTools_MapOfShape aMFPlanar(1, aAllocator);
|
||||||
@@ -700,7 +698,7 @@ void BOPAlgo_Builder::FillSameDomainFaces(const Message_ProgressRange& theRange)
|
|||||||
if (bCheckPlanar && aMFPlanar.Contains(aF2))
|
if (bCheckPlanar && aMFPlanar.Contains(aF2))
|
||||||
{
|
{
|
||||||
// Consider planar bounded faces as Same Domain without additional check
|
// Consider planar bounded faces as Same Domain without additional check
|
||||||
BOPAlgo_Tools::FillMap<TopoDS_Shape, TopTools_ShapeMapHasher>(aF1, aF2, aDMSLS, aAllocator);
|
BOPAlgo_Tools::FillMap(aF1, aF2, aDMSLS, aAllocator);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// Add pair for analysis
|
// Add pair for analysis
|
||||||
@@ -736,14 +734,12 @@ void BOPAlgo_Builder::FillSameDomainFaces(const Message_ProgressRange& theRange)
|
|||||||
{
|
{
|
||||||
BOPAlgo_PairOfShapeBoolean& aPSB = aVPSB(i);
|
BOPAlgo_PairOfShapeBoolean& aPSB = aVPSB(i);
|
||||||
if (aPSB.Flag())
|
if (aPSB.Flag())
|
||||||
BOPAlgo_Tools::FillMap<TopoDS_Shape, TopTools_ShapeMapHasher>
|
BOPAlgo_Tools::FillMap(aPSB.Shape1(), aPSB.Shape2(), aDMSLS, aAllocator);
|
||||||
(aPSB.Shape1(), aPSB.Shape2(), aDMSLS, aAllocator);
|
|
||||||
}
|
}
|
||||||
aVPSB.Clear();
|
aVPSB.Clear();
|
||||||
|
|
||||||
// Make blocks of SD faces using the back and forth map
|
// Make blocks of SD faces using the back and forth map
|
||||||
BOPAlgo_Tools::MakeBlocks<TopoDS_Shape, TopTools_ShapeMapHasher>
|
BOPAlgo_Tools::MakeBlocks(aDMSLS, aMBlocks, aAllocator);
|
||||||
(aDMSLS, aMBlocks, aAllocator);
|
|
||||||
|
|
||||||
Message_ProgressScope aPS(aPSOuter.Next(3), "Filling same domain faces map", aMBlocks.Size());
|
Message_ProgressScope aPS(aPSOuter.Next(3), "Filling same domain faces map", aMBlocks.Size());
|
||||||
// Fill same domain faces map
|
// Fill same domain faces map
|
||||||
@@ -1027,7 +1023,7 @@ TopoDS_Face BuildDraftFace(const TopoDS_Face& theFace,
|
|||||||
TopTools_ListIteratorOfListOfShape aItLEIm(*pLEIm);
|
TopTools_ListIteratorOfListOfShape aItLEIm(*pLEIm);
|
||||||
for (; aItLEIm.More(); aItLEIm.Next())
|
for (; aItLEIm.More(); aItLEIm.Next())
|
||||||
{
|
{
|
||||||
TopoDS_Edge& aSp = TopoDS::Edge(aItLEIm.Value());
|
TopoDS_Edge& aSp = TopoDS::Edge(aItLEIm.ChangeValue());
|
||||||
|
|
||||||
// Check if the split has multi-connected vertices
|
// Check if the split has multi-connected vertices
|
||||||
if (!bIsDegenerated && HasMultiConnected(aSp, aVerticesCounter))
|
if (!bIsDegenerated && HasMultiConnected(aSp, aVerticesCounter))
|
||||||
|
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
|
|
||||||
#include <TopTools_OrientedShapeMapHasher.hxx>
|
|
||||||
|
|
||||||
//! BOPAlgo_MakeConnected is the algorithm for making the touching
|
//! BOPAlgo_MakeConnected is the algorithm for making the touching
|
||||||
//! shapes connected or glued, i.e. for making the coinciding geometries
|
//! shapes connected or glued, i.e. for making the coinciding geometries
|
||||||
@@ -321,8 +320,7 @@ protected: //! @name Fields
|
|||||||
// Results
|
// Results
|
||||||
NCollection_DataMap
|
NCollection_DataMap
|
||||||
<TopoDS_Shape,
|
<TopoDS_Shape,
|
||||||
TopTools_ListOfShape,
|
TopTools_ListOfShape> myMaterials; //!< Map of the materials associations
|
||||||
TopTools_OrientedShapeMapHasher> myMaterials; //!< Map of the materials associations
|
|
||||||
//! for the border elements
|
//! for the border elements
|
||||||
TopTools_DataMapOfShapeListOfShape myOrigins; //!< Map of origins
|
TopTools_DataMapOfShapeListOfShape myOrigins; //!< Map of origins
|
||||||
//! (allows tracking the shape's ancestors)
|
//! (allows tracking the shape's ancestors)
|
||||||
|
@@ -180,13 +180,11 @@ protected:
|
|||||||
|
|
||||||
typedef NCollection_DataMap
|
typedef NCollection_DataMap
|
||||||
<Handle(BOPDS_PaveBlock),
|
<Handle(BOPDS_PaveBlock),
|
||||||
Bnd_Box,
|
Bnd_Box> BOPAlgo_DataMapOfPaveBlockBndBox;
|
||||||
TColStd_MapTransientHasher> BOPAlgo_DataMapOfPaveBlockBndBox;
|
|
||||||
|
|
||||||
typedef NCollection_DataMap
|
typedef NCollection_DataMap
|
||||||
<Handle(BOPDS_PaveBlock),
|
<Handle(BOPDS_PaveBlock),
|
||||||
TColStd_ListOfInteger,
|
TColStd_ListOfInteger> BOPAlgo_DataMapOfPaveBlockListOfInteger;
|
||||||
TColStd_MapTransientHasher> BOPAlgo_DataMapOfPaveBlockListOfInteger;
|
|
||||||
|
|
||||||
typedef NCollection_DataMap
|
typedef NCollection_DataMap
|
||||||
<Standard_Integer,
|
<Standard_Integer,
|
||||||
@@ -658,8 +656,8 @@ protected: //! Fields
|
|||||||
//! on a section curve.
|
//! on a section curve.
|
||||||
|
|
||||||
NCollection_DataMap <BOPDS_Pair,
|
NCollection_DataMap <BOPDS_Pair,
|
||||||
NCollection_List<EdgeRangeDistance>,
|
NCollection_List<EdgeRangeDistance>>
|
||||||
BOPDS_PairMapHasher> myDistances; //!< Map to store minimal distances between shapes
|
myDistances; //!< Map to store minimal distances between shapes
|
||||||
//! which have no real intersections
|
//! which have no real intersections
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@@ -75,7 +75,7 @@ void BOPAlgo_PaveFiller::PerformVV(const Message_ProgressRange& theRange)
|
|||||||
//
|
//
|
||||||
if (myDS->HasInterf(n1, n2))
|
if (myDS->HasInterf(n1, n2))
|
||||||
{
|
{
|
||||||
BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher>(n1, n2, aMILI, aAllocator);
|
BOPAlgo_Tools::FillMap(n1, n2, aMILI, aAllocator);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,12 +91,12 @@ void BOPAlgo_PaveFiller::PerformVV(const Message_ProgressRange& theRange)
|
|||||||
|
|
||||||
iFlag = BOPTools_AlgoTools::ComputeVV(aV1, aV2, myFuzzyValue);
|
iFlag = BOPTools_AlgoTools::ComputeVV(aV1, aV2, myFuzzyValue);
|
||||||
if (!iFlag) {
|
if (!iFlag) {
|
||||||
BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher>(n1, n2, aMILI, aAllocator);
|
BOPAlgo_Tools::FillMap(n1, n2, aMILI, aAllocator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// 2. Make blocks
|
// 2. Make blocks
|
||||||
BOPAlgo_Tools::MakeBlocks<Standard_Integer, TColStd_MapIntegerHasher>(aMILI, aMBlocks, aAllocator);
|
BOPAlgo_Tools::MakeBlocks(aMILI, aMBlocks, aAllocator);
|
||||||
//
|
//
|
||||||
// 3. Make vertices
|
// 3. Make vertices
|
||||||
NCollection_List<TColStd_ListOfInteger>::Iterator aItB(aMBlocks);
|
NCollection_List<TColStd_ListOfInteger>::Iterator aItB(aMBlocks);
|
||||||
|
@@ -229,7 +229,7 @@ void BOPAlgo_PaveFiller::IntersectVE
|
|||||||
// for all vertices having the same SD vertex.
|
// for all vertices having the same SD vertex.
|
||||||
// It will also be used as a Fence map to avoid repeated
|
// It will also be used as a Fence map to avoid repeated
|
||||||
// intersection of the same SD vertex with edge
|
// intersection of the same SD vertex with edge
|
||||||
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger, BOPDS_PairMapHasher> aDMVSD;
|
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger> aDMVSD;
|
||||||
//
|
//
|
||||||
Message_ProgressScope aPSOuter(theRange, NULL, 10);
|
Message_ProgressScope aPSOuter(theRange, NULL, 10);
|
||||||
for (i = 1; i <= aNbVE; ++i) {
|
for (i = 1; i <= aNbVE; ++i) {
|
||||||
@@ -407,8 +407,7 @@ void BOPAlgo_PaveFiller::SplitPaveBlocks(const TColStd_MapOfInteger& theMEdges,
|
|||||||
BOPDS_MapOfPair aMPairs;
|
BOPDS_MapOfPair aMPairs;
|
||||||
// Map to treat the Common Blocks
|
// Map to treat the Common Blocks
|
||||||
NCollection_IndexedDataMap<Handle(BOPDS_CommonBlock),
|
NCollection_IndexedDataMap<Handle(BOPDS_CommonBlock),
|
||||||
BOPDS_ListOfPaveBlock,
|
BOPDS_ListOfPaveBlock> aMCBNewPB;
|
||||||
TColStd_MapTransientHasher> aMCBNewPB;
|
|
||||||
//
|
//
|
||||||
// Map of vertices to init the pave blocks for them
|
// Map of vertices to init the pave blocks for them
|
||||||
TColStd_MapOfInteger aMVerticesToInitPB;
|
TColStd_MapOfInteger aMVerticesToInitPB;
|
||||||
@@ -507,7 +506,7 @@ void BOPAlgo_PaveFiller::SplitPaveBlocks(const TColStd_MapOfInteger& theMEdges,
|
|||||||
const BOPDS_ListOfPaveBlock& aLPBN = aMCBNewPB(i);
|
const BOPDS_ListOfPaveBlock& aLPBN = aMCBNewPB(i);
|
||||||
//
|
//
|
||||||
// For each group of pave blocks with the same vertices make new common block
|
// For each group of pave blocks with the same vertices make new common block
|
||||||
NCollection_IndexedDataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher> aMInds;
|
NCollection_IndexedDataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock> aMInds;
|
||||||
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBN);
|
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBN);
|
||||||
for (; aItLPB.More(); aItLPB.Next()) {
|
for (; aItLPB.More(); aItLPB.Next()) {
|
||||||
const Handle(BOPDS_PaveBlock)& aPB = aItLPB.Value();
|
const Handle(BOPDS_PaveBlock)& aPB = aItLPB.Value();
|
||||||
|
@@ -526,7 +526,7 @@ void BOPAlgo_PaveFiller::PerformEE(const Message_ProgressRange& theRange)
|
|||||||
// 2
|
// 2
|
||||||
myDS->AddInterf(nE1, nE2);
|
myDS->AddInterf(nE1, nE2);
|
||||||
//
|
//
|
||||||
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher>(aPB1, aPB2, aMPBLPB, aAllocator);
|
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock)>(aPB1, aPB2, aMPBLPB, aAllocator);
|
||||||
}//case TopAbs_EDGE
|
}//case TopAbs_EDGE
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -964,8 +964,7 @@ void BOPAlgo_PaveFiller::ForceInterfEE(const Message_ProgressRange& theRange)
|
|||||||
// Fill the connection map from bounding vertices to pave blocks
|
// Fill the connection map from bounding vertices to pave blocks
|
||||||
// having those bounding vertices
|
// having those bounding vertices
|
||||||
NCollection_IndexedDataMap<BOPDS_Pair,
|
NCollection_IndexedDataMap<BOPDS_Pair,
|
||||||
BOPDS_ListOfPaveBlock,
|
BOPDS_ListOfPaveBlock> aPBMap(1, anAlloc);
|
||||||
BOPDS_PairMapHasher> aPBMap(1, anAlloc);
|
|
||||||
// Fence map of pave blocks
|
// Fence map of pave blocks
|
||||||
BOPDS_MapOfPaveBlock aMPBFence(1, anAlloc);
|
BOPDS_MapOfPaveBlock aMPBFence(1, anAlloc);
|
||||||
|
|
||||||
@@ -1147,7 +1146,7 @@ void BOPAlgo_PaveFiller::ForceInterfEE(const Message_ProgressRange& theRange)
|
|||||||
|
|
||||||
aPBMap.Clear();
|
aPBMap.Clear();
|
||||||
aMPBFence.Clear();
|
aMPBFence.Clear();
|
||||||
anAlloc->Reset();
|
anAlloc->Reset(false);
|
||||||
|
|
||||||
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for coinciding edges", aNbPairs);
|
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for coinciding edges", aNbPairs);
|
||||||
for (Standard_Integer i = 0; i < aNbPairs; i++)
|
for (Standard_Integer i = 0; i < aNbPairs; i++)
|
||||||
@@ -1221,14 +1220,11 @@ void BOPAlgo_PaveFiller::ForceInterfEE(const Message_ProgressRange& theRange)
|
|||||||
const BOPDS_ListOfPaveBlock& aLPBCB = myDS->CommonBlock(aPB[j])->PaveBlocks();
|
const BOPDS_ListOfPaveBlock& aLPBCB = myDS->CommonBlock(aPB[j])->PaveBlocks();
|
||||||
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBCB);
|
BOPDS_ListIteratorOfListOfPaveBlock aItLPB(aLPBCB);
|
||||||
for (; aItLPB.More(); aItLPB.Next())
|
for (; aItLPB.More(); aItLPB.Next())
|
||||||
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock),
|
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock)>(aPB[j], aItLPB.Value(), aMPBLPB, anAlloc);
|
||||||
TColStd_MapTransientHasher>(aPB[j], aItLPB.Value(), aMPBLPB, anAlloc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock),
|
BOPAlgo_Tools::FillMap<Handle(BOPDS_PaveBlock)>(aPB[0], aPB[1], aMPBLPB, anAlloc);
|
||||||
TColStd_MapTransientHasher>(aPB[0], aPB[1], aMPBLPB, anAlloc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create new common blocks of coinciding pairs.
|
// Create new common blocks of coinciding pairs.
|
||||||
BOPAlgo_Tools::PerformCommonBlocks(aMPBLPB, anAlloc, myDS);
|
BOPAlgo_Tools::PerformCommonBlocks(aMPBLPB, anAlloc, myDS);
|
||||||
}
|
}
|
||||||
|
@@ -172,7 +172,7 @@ void BOPAlgo_PaveFiller::PerformVF(const Message_ProgressRange& theRange)
|
|||||||
//
|
//
|
||||||
// Avoid repeated intersection of the same vertex with face in case
|
// Avoid repeated intersection of the same vertex with face in case
|
||||||
// the group of vertices formed a single SD vertex
|
// the group of vertices formed a single SD vertex
|
||||||
NCollection_DataMap<BOPDS_Pair, TColStd_MapOfInteger, BOPDS_PairMapHasher> aMVFPairs;
|
NCollection_DataMap<BOPDS_Pair, TColStd_MapOfInteger> aMVFPairs;
|
||||||
for (; myIterator->More(); myIterator->Next()) {
|
for (; myIterator->More(); myIterator->Next()) {
|
||||||
if (UserBreak(aPSOuter))
|
if (UserBreak(aPSOuter))
|
||||||
{
|
{
|
||||||
|
@@ -573,30 +573,11 @@ Standard_Boolean BOPAlgo_PaveFiller::CheckFacePaves
|
|||||||
const TColStd_MapOfInteger& aMIFOn,
|
const TColStd_MapOfInteger& aMIFOn,
|
||||||
const TColStd_MapOfInteger& aMIFIn)
|
const TColStd_MapOfInteger& aMIFIn)
|
||||||
{
|
{
|
||||||
Standard_Boolean bRet;
|
if (aMIFOn.Contains(nVx) || aMIFIn.Contains(nVx))
|
||||||
Standard_Integer nV;
|
{
|
||||||
TColStd_MapIteratorOfMapOfInteger aIt;
|
return true;
|
||||||
//
|
|
||||||
bRet=Standard_False;
|
|
||||||
//
|
|
||||||
aIt.Initialize(aMIFOn);
|
|
||||||
for (; aIt.More(); aIt.Next()) {
|
|
||||||
nV=aIt.Value();
|
|
||||||
if (nV==nVx) {
|
|
||||||
bRet=!bRet;
|
|
||||||
return bRet;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
aIt.Initialize(aMIFIn);
|
return false;
|
||||||
for (; aIt.More(); aIt.Next()) {
|
|
||||||
nV=aIt.Value();
|
|
||||||
if (nV==nVx) {
|
|
||||||
bRet=!bRet;
|
|
||||||
return bRet;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//
|
|
||||||
return bRet;
|
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// function: CheckFacePaves
|
// function: CheckFacePaves
|
||||||
@@ -1073,7 +1054,7 @@ void BOPAlgo_PaveFiller::ForceInterfEF(const BOPDS_IndexedMapOfPaveBlock& theMPB
|
|||||||
aPSOuter.Next(0.7);
|
aPSOuter.Next(0.7);
|
||||||
|
|
||||||
aPBMap.Clear();
|
aPBMap.Clear();
|
||||||
anAlloc->Reset();
|
anAlloc->Reset(false);
|
||||||
|
|
||||||
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for edges coinciding with faces", aNbEFs);
|
Message_ProgressScope aPS(aPSOuter.Next(9), "Checking for edges coinciding with faces", aNbEFs);
|
||||||
for (Standard_Integer i = 0; i < aNbEFs; i++)
|
for (Standard_Integer i = 0; i < aNbEFs; i++)
|
||||||
|
@@ -62,6 +62,7 @@
|
|||||||
#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>
|
||||||
@@ -280,7 +281,7 @@ void BOPAlgo_PaveFiller::PerformFF(const Message_ProgressRange& theRange)
|
|||||||
//
|
//
|
||||||
// Collect all pairs of Edge/Edge interferences to check if
|
// Collect all pairs of Edge/Edge interferences to check if
|
||||||
// some faces have to be moved to obtain more precise intersection
|
// some faces have to be moved to obtain more precise intersection
|
||||||
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger, BOPDS_PairMapHasher> aEEMap;
|
NCollection_DataMap<BOPDS_Pair, TColStd_ListOfInteger> aEEMap;
|
||||||
const BOPDS_VectorOfInterfEE& aVEEs = myDS->InterfEE();
|
const BOPDS_VectorOfInterfEE& aVEEs = myDS->InterfEE();
|
||||||
for (Standard_Integer iEE = 0; iEE < aVEEs.Size(); ++iEE)
|
for (Standard_Integer iEE = 0; iEE < aVEEs.Size(); ++iEE)
|
||||||
{
|
{
|
||||||
@@ -578,14 +579,12 @@ 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;
|
Handle(NCollection_BaseAllocator) aAllocator = new NCollection_IncAllocator;
|
||||||
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),
|
||||||
@@ -607,13 +606,23 @@ 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;
|
||||||
//
|
//
|
||||||
for (i=0; i<aNbFF; ++i, aPS.Next()) {
|
// The vector aFFToRecheck contains indices of potentially problematic Face-Face intersections
|
||||||
|
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(i);
|
BOPDS_InterfFF& aFF=aFFs(aCurInd);
|
||||||
aFF.Indices(nF1, nF2);
|
aFF.Indices(nF1, nF2);
|
||||||
//
|
//
|
||||||
BOPDS_VectorOfPoint& aVP=aFF.ChangePoints();
|
BOPDS_VectorOfPoint& aVP=aFF.ChangePoints();
|
||||||
@@ -736,6 +745,9 @@ 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) {
|
||||||
@@ -749,6 +761,11 @@ 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();
|
||||||
@@ -850,7 +867,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(i, j, aPBOut, aMSCPB, aMVI, aLPBC);
|
PreparePostTreatFF(aCurInd, j, aPBOut, aMSCPB, aMVI, aLPBC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
@@ -869,7 +886,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(i);
|
aCPB.SetIndexInterf(aCurInd);
|
||||||
aCPB.SetIndex(j);
|
aCPB.SetIndex(j);
|
||||||
aCPB.SetPaveBlock1(aPB);
|
aCPB.SetPaveBlock1(aPB);
|
||||||
//
|
//
|
||||||
@@ -881,12 +898,17 @@ 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 (i, j, nF1, nF2, aES, aMPBOnIn, aPBTree,
|
ProcessExistingPaveBlocks (aCurInd, 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
|
||||||
@@ -910,7 +932,7 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
|
|||||||
aDMVLV.UnBind(nV1);
|
aDMVLV.UnBind(nV1);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
ProcessExistingPaveBlocks(i, nF1, nF2, aMPBOnIn, aPBTree, aDMBV, aMSCPB, aMVI, aPBFacesMap, aMPBAdd);
|
ProcessExistingPaveBlocks(aCurInd, 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
|
||||||
@@ -1176,8 +1198,7 @@ void BOPAlgo_PaveFiller::PostTreatFF
|
|||||||
// Map to store the real tolerance of the common block
|
// Map to store the real tolerance of the common block
|
||||||
// and avoid repeated computation of it
|
// and avoid repeated computation of it
|
||||||
NCollection_DataMap<Handle(BOPDS_CommonBlock),
|
NCollection_DataMap<Handle(BOPDS_CommonBlock),
|
||||||
Standard_Real,
|
Standard_Real> aMCBTol;
|
||||||
TColStd_MapTransientHasher> aMCBTol;
|
|
||||||
// Map to avoid creation of different pave blocks for
|
// Map to avoid creation of different pave blocks for
|
||||||
// the same intersection edge
|
// the same intersection edge
|
||||||
NCollection_DataMap<Standard_Integer, Handle(BOPDS_PaveBlock)> aMEPB;
|
NCollection_DataMap<Standard_Integer, Handle(BOPDS_PaveBlock)> aMEPB;
|
||||||
|
@@ -119,7 +119,7 @@ void BOPAlgo_Tools::PerformCommonBlocks(BOPDS_IndexedDataMapOfPaveBlockListOfPav
|
|||||||
}
|
}
|
||||||
// Make Blocks of the pave blocks
|
// Make Blocks of the pave blocks
|
||||||
NCollection_List<BOPDS_ListOfPaveBlock> aMBlocks(aAllocator);
|
NCollection_List<BOPDS_ListOfPaveBlock> aMBlocks(aAllocator);
|
||||||
BOPAlgo_Tools::MakeBlocks<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher>(aMPBLPB, aMBlocks, aAllocator);
|
BOPAlgo_Tools::MakeBlocks(aMPBLPB, aMBlocks, aAllocator);
|
||||||
|
|
||||||
// Use temporary allocator for the local fence map
|
// Use temporary allocator for the local fence map
|
||||||
Handle(NCollection_IncAllocator) anAllocTmp = new NCollection_IncAllocator;
|
Handle(NCollection_IncAllocator) anAllocTmp = new NCollection_IncAllocator;
|
||||||
@@ -132,7 +132,7 @@ void BOPAlgo_Tools::PerformCommonBlocks(BOPDS_IndexedDataMapOfPaveBlockListOfPav
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Reset the allocator
|
// Reset the allocator
|
||||||
anAllocTmp->Reset();
|
anAllocTmp->Reset(false);
|
||||||
// New common block
|
// New common block
|
||||||
Handle(BOPDS_CommonBlock) aCB;
|
Handle(BOPDS_CommonBlock) aCB;
|
||||||
// Faces of the common block
|
// Faces of the common block
|
||||||
@@ -1068,11 +1068,11 @@ void BOPAlgo_Tools::IntersectVertices(const TopTools_IndexedDataMapOfShapeReal&
|
|||||||
for (Standard_Integer iPair = 0; iPair < aNbPairs; ++iPair)
|
for (Standard_Integer iPair = 0; iPair < aNbPairs; ++iPair)
|
||||||
{
|
{
|
||||||
const BOPTools_BoxPairSelector::PairIDs& aPair = aPairs[iPair];
|
const BOPTools_BoxPairSelector::PairIDs& aPair = aPairs[iPair];
|
||||||
BOPAlgo_Tools::FillMap<Standard_Integer, TColStd_MapIntegerHasher> (aPair.ID1, aPair.ID2, aMILI, anAlloc);
|
BOPAlgo_Tools::FillMap (aPair.ID1, aPair.ID2, aMILI, anAlloc);
|
||||||
}
|
}
|
||||||
|
|
||||||
NCollection_List<TColStd_ListOfInteger> aBlocks (anAlloc);
|
NCollection_List<TColStd_ListOfInteger> aBlocks(anAlloc);
|
||||||
BOPAlgo_Tools::MakeBlocks<Standard_Integer, TColStd_MapIntegerHasher> (aMILI, aBlocks, anAlloc);
|
BOPAlgo_Tools::MakeBlocks (aMILI, aBlocks, anAlloc);
|
||||||
|
|
||||||
NCollection_List<TColStd_ListOfInteger>::Iterator itLI (aBlocks);
|
NCollection_List<TColStd_ListOfInteger>::Iterator itLI (aBlocks);
|
||||||
for (; itLI.More(); itLI.Next())
|
for (; itLI.More(); itLI.Next())
|
||||||
|
@@ -42,31 +42,31 @@ class BOPAlgo_Tools
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//! Makes the chains of the connected elements from the given connexity map
|
//! Makes the chains of the connected elements from the given convexity map
|
||||||
template <class theType, class theTypeHasher>
|
template <class TheMap, class TheList>
|
||||||
static void MakeBlocks(const NCollection_IndexedDataMap<theType, NCollection_List<theType>, theTypeHasher>& theMILI,
|
static void MakeBlocks(const TheMap& theMILI,
|
||||||
NCollection_List<NCollection_List<theType>>& theMBlocks,
|
TheList& theMBlocks,
|
||||||
const Handle(NCollection_BaseAllocator)& theAllocator)
|
const Handle(NCollection_BaseAllocator)& theAllocator)
|
||||||
{
|
{
|
||||||
NCollection_Map<theType, theTypeHasher> aMFence;
|
NCollection_Map<typename TheMap::key_type, typename TheMap::hasher> aMFence;
|
||||||
Standard_Integer i, aNb = theMILI.Extent();
|
Standard_Integer i, aNb = theMILI.Extent();
|
||||||
for (i = 1; i <= aNb; ++i) {
|
for (i = 1; i <= aNb; ++i) {
|
||||||
const theType& n = theMILI.FindKey(i);
|
const typename TheMap::key_type& n = theMILI.FindKey(i);
|
||||||
if (!aMFence.Add(n))
|
if (!aMFence.Add(n))
|
||||||
continue;
|
continue;
|
||||||
//
|
//
|
||||||
// Start the chain
|
// Start the chain
|
||||||
NCollection_List<theType>& aChain = theMBlocks.Append(NCollection_List<theType>(theAllocator));
|
typename TheList::value_type& aChain = theMBlocks.Append(typename TheList::value_type(theAllocator));
|
||||||
aChain.Append(n);
|
aChain.Append(n);
|
||||||
// Look for connected elements
|
// Look for connected elements
|
||||||
typename NCollection_List<theType>::Iterator aItLChain(aChain);
|
typename TheList::value_type::Iterator aItLChain(aChain);
|
||||||
for (; aItLChain.More(); aItLChain.Next()) {
|
for (; aItLChain.More(); aItLChain.Next()) {
|
||||||
const theType& n1 = aItLChain.Value();
|
const typename TheMap::key_type& n1 = aItLChain.Value();
|
||||||
const NCollection_List<theType>& aLI = theMILI.FindFromKey(n1);
|
const typename TheList::value_type& aLI = theMILI.FindFromKey(n1);
|
||||||
// Add connected elements into the chain
|
// Add connected elements into the chain
|
||||||
typename NCollection_List<theType>::Iterator aItLI(aLI);
|
typename TheList::value_type::Iterator aItLI(aLI);
|
||||||
for (; aItLI.More(); aItLI.Next()) {
|
for (; aItLI.More(); aItLI.Next()) {
|
||||||
const theType& n2 = aItLI.Value();
|
const typename TheMap::key_type& n2 = aItLI.Value();
|
||||||
if (aMFence.Add(n2)) {
|
if (aMFence.Add(n2)) {
|
||||||
aChain.Append(n2);
|
aChain.Append(n2);
|
||||||
}
|
}
|
||||||
@@ -76,21 +76,21 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! Fills the map with the connected entities
|
//! Fills the map with the connected entities
|
||||||
template <class theType, class theTypeHasher>
|
template <class TheType, class TheMap>
|
||||||
static void FillMap(const theType& n1,
|
static void FillMap(const TheType& n1,
|
||||||
const theType& n2,
|
const TheType& n2,
|
||||||
NCollection_IndexedDataMap<theType, NCollection_List<theType>, theTypeHasher>& theMILI,
|
TheMap& theMILI,
|
||||||
const Handle(NCollection_BaseAllocator)& theAllocator)
|
const Handle(NCollection_BaseAllocator)& theAllocator)
|
||||||
{
|
{
|
||||||
NCollection_List<theType> *pList1 = theMILI.ChangeSeek(n1);
|
typename TheMap::value_type *pList1 = theMILI.ChangeSeek(n1);
|
||||||
if (!pList1) {
|
if (!pList1) {
|
||||||
pList1 = &theMILI(theMILI.Add(n1, NCollection_List<theType>(theAllocator)));
|
pList1 = &theMILI(theMILI.Add(n1, NCollection_List<TheType>(theAllocator)));
|
||||||
}
|
}
|
||||||
pList1->Append(n2);
|
pList1->Append(n2);
|
||||||
//
|
//
|
||||||
NCollection_List<theType> *pList2 = theMILI.ChangeSeek(n2);
|
typename TheMap::value_type*pList2 = theMILI.ChangeSeek(n2);
|
||||||
if (!pList2) {
|
if (!pList2) {
|
||||||
pList2 = &theMILI(theMILI.Add(n2, NCollection_List<theType>(theAllocator)));
|
pList2 = &theMILI(theMILI.Add(n2, typename TheMap::value_type(theAllocator)));
|
||||||
}
|
}
|
||||||
pList2->Append(n1);
|
pList2->Append(n1);
|
||||||
}
|
}
|
||||||
|
@@ -512,7 +512,6 @@ 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();
|
||||||
@@ -521,7 +520,6 @@ 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.
|
||||||
|
@@ -965,8 +965,8 @@ void BOPDS_DS::UpdateCommonBlock(const Handle(BOPDS_CommonBlock)& theCB,
|
|||||||
Standard_Integer nE, iRef, n1, n2;
|
Standard_Integer nE, iRef, n1, n2;
|
||||||
BOPDS_ListIteratorOfListOfPaveBlock aItPB, aItPBCB, aItPBN;
|
BOPDS_ListIteratorOfListOfPaveBlock aItPB, aItPBCB, aItPBN;
|
||||||
BOPDS_ListOfPaveBlock aLPBN;
|
BOPDS_ListOfPaveBlock aLPBN;
|
||||||
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher> aMPKLPB;
|
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock> aMPKLPB;
|
||||||
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock, BOPDS_PairMapHasher>::Iterator aItMPKLPB;
|
NCollection_DataMap<BOPDS_Pair, BOPDS_ListOfPaveBlock>::Iterator aItMPKLPB;
|
||||||
Handle(BOPDS_PaveBlock) aPB;
|
Handle(BOPDS_PaveBlock) aPB;
|
||||||
Handle(BOPDS_CommonBlock) aCBx;
|
Handle(BOPDS_CommonBlock) aCBx;
|
||||||
BOPDS_Pair aPK;
|
BOPDS_Pair aPK;
|
||||||
|
@@ -18,6 +18,6 @@
|
|||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <BOPDS_ListOfPaveBlock.hxx>
|
#include <BOPDS_ListOfPaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Standard_Integer, BOPDS_ListOfPaveBlock, TColStd_MapIntegerHasher> BOPDS_DataMapOfIntegerListOfPaveBlock;
|
typedef NCollection_DataMap<Standard_Integer, BOPDS_ListOfPaveBlock> BOPDS_DataMapOfIntegerListOfPaveBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,10 +17,9 @@
|
|||||||
#define BOPDS_DataMapOfPaveBlockCommonBlock_HeaderFile
|
#define BOPDS_DataMapOfPaveBlockCommonBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_CommonBlock.hxx>
|
#include <BOPDS_CommonBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), Handle(BOPDS_CommonBlock), TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockCommonBlock;
|
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), Handle(BOPDS_CommonBlock)> BOPDS_DataMapOfPaveBlockCommonBlock;
|
||||||
typedef BOPDS_DataMapOfPaveBlockCommonBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockCommonBlock;
|
typedef BOPDS_DataMapOfPaveBlockCommonBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockCommonBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,10 +16,9 @@
|
|||||||
#define BOPDS_DataMapOfPaveBlockListOfInteger_HeaderFile
|
#define BOPDS_DataMapOfPaveBlockListOfInteger_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <TColStd_ListOfInteger.hxx>
|
#include <TColStd_ListOfInteger.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), TColStd_ListOfInteger, TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockListOfInteger;
|
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), TColStd_ListOfInteger> BOPDS_DataMapOfPaveBlockListOfInteger;
|
||||||
typedef BOPDS_DataMapOfPaveBlockListOfInteger::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfInteger;
|
typedef BOPDS_DataMapOfPaveBlockListOfInteger::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfInteger;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -16,11 +16,10 @@
|
|||||||
#define BOPDS_DataMapOfPaveBlockListOfPaveBlock_HeaderFile
|
#define BOPDS_DataMapOfPaveBlockListOfPaveBlock_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
#include <NCollection_DataMap.hxx>
|
||||||
#include <TColStd_MapTransientHasher.hxx>
|
|
||||||
#include <BOPDS_PaveBlock.hxx>
|
#include <BOPDS_PaveBlock.hxx>
|
||||||
#include <BOPDS_ListOfPaveBlock.hxx>
|
#include <BOPDS_ListOfPaveBlock.hxx>
|
||||||
|
|
||||||
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock, TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockListOfPaveBlock;
|
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock> BOPDS_DataMapOfPaveBlockListOfPaveBlock;
|
||||||
typedef BOPDS_DataMapOfPaveBlockListOfPaveBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfPaveBlock;
|
typedef BOPDS_DataMapOfPaveBlockListOfPaveBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfPaveBlock;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user