Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5d0ff3556a | |||
| ec7636d7aa | |||
| 30d655f9aa | |||
| 63578ee1ea | |||
| d41b40eece | |||
| d3ea50fd6a | |||
| c3b11b531e | |||
| 0c1bc4c18f | |||
| e4fc1c7e03 | |||
| 56e448d161 | |||
| 4ed9b1c284 | |||
| 7da2ecacbd | |||
| bb967df728 | |||
| d4fc3a5463 | |||
| 45e10d80d2 | |||
| 8e2ae905dd | |||
| f1f7238d73 | |||
| 171a8db4d0 | |||
| 546ab0feb5 | |||
| f4ff92ce15 | |||
| b6f284f553 | |||
| ef1190bf03 | |||
| d374054f2f | |||
| a7e2d50fb2 | |||
| b77b59f090 |
@@ -14,7 +14,5 @@ UpdateResources.bat export-ignore
|
||||
BuildVersion.bat export-ignore
|
||||
*.sln export-ignore
|
||||
WindowsInstaller export-ignore
|
||||
JtReader export-ignore
|
||||
mefisto.patch export-ignore
|
||||
Version.h.in export-subst
|
||||
|
||||
|
||||
-26
@@ -1,29 +1,3 @@
|
||||
# file types to ignore
|
||||
|
||||
*.pyc
|
||||
*.obj
|
||||
*.lib
|
||||
*.pch
|
||||
*.vcproj
|
||||
*.exp
|
||||
*.dep
|
||||
*.manifest
|
||||
qrc_*.cpp
|
||||
BuildLog.htm
|
||||
cmake_install.cmake
|
||||
*~
|
||||
CMakeFiles/
|
||||
*qrc.depends
|
||||
qrc_*.cpp
|
||||
ui_*.h
|
||||
moc_*.cpp
|
||||
Makefile
|
||||
CMakeCache.txt
|
||||
config.h
|
||||
install_manifest.txt
|
||||
/bin/
|
||||
/ALL_BUILD.dir/
|
||||
/doc/
|
||||
/lib/
|
||||
/Mod/
|
||||
/ZERO_CHECK.dir/
|
||||
|
||||
+64
-335
@@ -1,6 +1,11 @@
|
||||
project(FreeCAD_trunk)
|
||||
set(FREECAD_VERSION "0.13")
|
||||
|
||||
# Needed for salomesmesh
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
ENABLE_LANGUAGE(Fortran)
|
||||
endif(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
set(PACKAGE_NAME "FreeCAD")
|
||||
set(PACKAGE_VERSION_MAJOR "0")
|
||||
set(PACKAGE_VERSION_MINOR "12")
|
||||
@@ -40,24 +45,18 @@ endif(WIN32)
|
||||
|
||||
# ================================================================================
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||
set(CMAKE_COMPILER_IS_CLANGXX TRUE)
|
||||
endif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
||||
# Needed for salomesmesh
|
||||
ENABLE_LANGUAGE(Fortran)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
include(cMake/ConfigureChecks.cmake)
|
||||
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-write-strings")
|
||||
add_definitions(-Wno-write-strings)
|
||||
add_definitions(-Wno-deprecated)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
|
||||
# get linker errors as soon as possible and not at runtime e.g. for modules
|
||||
if(UNIX)
|
||||
# SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
|
||||
endif(UNIX)
|
||||
endif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
||||
endif(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
|
||||
# ================================================================================
|
||||
@@ -67,43 +66,26 @@ if(WIN32)
|
||||
SET(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation root directory")
|
||||
else(WIN32)
|
||||
SET(CMAKE_INSTALL_PREFIX "/usr/lib${LIB_SUFFIX}/freecad" CACHE PATH "Installation root directory")
|
||||
SET(INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
endif(WIN32)
|
||||
|
||||
SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files")
|
||||
SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header files")
|
||||
SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and license files")
|
||||
# Don't set it without manual adaption of LibDir variable in src/App/FreeCADInit.py
|
||||
SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries")
|
||||
|
||||
if(NOT WIN32)
|
||||
if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
|
||||
SET(CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
endif(NOT IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(NOT WIN32)
|
||||
|
||||
SET(PYCXX_INCLUDE_DIR
|
||||
"${CMAKE_SOURCE_DIR}/src" CACHE PATH
|
||||
"Path to the directory containing PyCXX's CXX/Config.hxx include file")
|
||||
SET(PYCXX_SOURCE_DIR
|
||||
"${CMAKE_SOURCE_DIR}/src/CXX" CACHE PATH
|
||||
"Path to the directory containing PyCXX's cxxextensions.c source file")
|
||||
|
||||
# used as compiler defines
|
||||
SET(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}")
|
||||
SET(DOCDIR "${CMAKE_INSTALL_DOCDIR}")
|
||||
|
||||
MESSAGE(STATUS "prefix: ${CMAKE_INSTALL_PREFIX}")
|
||||
MESSAGE( STATUS "prefix: ${CMAKE_INSTALL_PREFIX}")
|
||||
MESSAGE(STATUS "datadir: ${CMAKE_INSTALL_DATADIR}")
|
||||
MESSAGE(STATUS "docdir: ${CMAKE_INSTALL_DOCDIR}")
|
||||
MESSAGE(STATUS "includedir: ${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
MESSAGE(STATUS "libdir: ${CMAKE_INSTALL_LIBDIR}")
|
||||
|
||||
# ==============================================================================
|
||||
# == Win32 is default behaviour use the LibPack copied in Source tree ==========
|
||||
if(MSVC)
|
||||
OPTION(FREECAD_RELEASE_PDB "Create PDB file for Release version." OFF)
|
||||
OPTION(FREECAD_LIBPACK_USE "Use the LibPack to Build FreeCAD (only Win32 so far)." ON)
|
||||
OPTION(FREECAD_LIBPACK_USEPYSIDE "Use PySide in LibPack rather to PyQt and Swig." ON)
|
||||
set(FREECAD_LIBPACK_DIR ${CMAKE_SOURCE_DIR} CACHE PATH "Directory of the FreeCAD LibPack")
|
||||
else(MSVC)
|
||||
OPTION(FREECAD_LIBPACK_USE "Use the LibPack to Build FreeCAD (only Win32 so far)." OFF)
|
||||
@@ -115,50 +97,17 @@ endif(MSVC)
|
||||
|
||||
OPTION(FREECAD_BUILD_GUI "Build FreeCAD Gui. Otherwise you have only the command line and the Python import module." ON)
|
||||
OPTION(FREECAD_MAINTAINERS_BUILD "Build FreeCAD for Maintainers, with Docu and 3rd party libs. On Windows the Installer is build." OFF)
|
||||
OPTION(FREECAD_USE_EXTERNAL_ZIPIOS "Use system installed zipios++ instead of the bundled." OFF)
|
||||
OPTION(FREECAD_USE_EXTERNAL_PIVY "Use system installed python-pivy instead of the bundled." OFF)
|
||||
OPTION(FREECAD_BUILD_DEBIAN "Prepare for a build of a Debian package" OFF)
|
||||
|
||||
OPTION(FREECAD_BUILD_CAM "Build the FreeCAD CAM module and the needed libs, be aware, unfinished code!" OFF)
|
||||
OPTION(FREECAD_BUILD_FEM "Build the FreeCAD FEM module, be aware, unfinished code!" ON)
|
||||
OPTION(FREECAD_BUILD_SANDBOX "Build the FreeCAD Sandbox module which is only for testing purposes" OFF)
|
||||
OPTION(FREECAD_BUILD_TEMPLATE "Build the FreeCAD template module which is only for testing purposes" OFF)
|
||||
OPTION(FREECAD_BUILD_ARCH "Build the FreeCAD Architecture module" ON)
|
||||
OPTION(FREECAD_BUILD_ASSEMBLY "Build the FreeCAD Assembly module" ON)
|
||||
OPTION(FREECAD_BUILD_COMPLETE "Build the FreeCAD complete module" ON)
|
||||
OPTION(FREECAD_BUILD_DRAFT "Build the FreeCAD draft module" ON)
|
||||
OPTION(FREECAD_BUILD_DRAWING "Build the FreeCAD drawing module" ON)
|
||||
OPTION(FREECAD_BUILD_IDF "Build the FreeCAD idf module" ON)
|
||||
OPTION(FREECAD_BUILD_IMAGE "Build the FreeCAD image module" ON)
|
||||
OPTION(FREECAD_BUILD_IMPORT "Build the FreeCAD import module" ON)
|
||||
OPTION(FREECAD_BUILD_INSPECTION "Build the FreeCAD inspection module" ON)
|
||||
OPTION(FREECAD_BUILD_JTREADER "Build the FreeCAD jt reader module" OFF)
|
||||
OPTION(FREECAD_BUILD_MATERIAL "Build the FreeCAD material module" ON)
|
||||
OPTION(FREECAD_BUILD_MESH "Build the FreeCAD mesh module" ON)
|
||||
OPTION(FREECAD_BUILD_MESH_PART "Build the FreeCAD mesh part module" ON)
|
||||
OPTION(FREECAD_BUILD_OPENSCAD "Build the FreeCAD openscad module" ON)
|
||||
OPTION(FREECAD_BUILD_PART "Build the FreeCAD part module" ON)
|
||||
OPTION(FREECAD_BUILD_PART_DESIGN "Build the FreeCAD part design module" ON)
|
||||
OPTION(FREECAD_BUILD_PLOT "Build the FreeCAD plot module" ON)
|
||||
OPTION(FREECAD_BUILD_POINTS "Build the FreeCAD points module" ON)
|
||||
OPTION(FREECAD_BUILD_RAYTRACING "Build the FreeCAD ray tracing module" ON)
|
||||
OPTION(FREECAD_BUILD_REVERSEENGINEERING "Build the FreeCAD reverse engineering module" ON)
|
||||
OPTION(FREECAD_BUILD_ROBOT "Build the FreeCAD robot module" ON)
|
||||
OPTION(FREECAD_BUILD_SHIP "Build the FreeCAD ship module" ON)
|
||||
OPTION(FREECAD_BUILD_SKETCHER "Build the FreeCAD sketcher module" ON)
|
||||
OPTION(FREECAD_BUILD_SPREADSHEET "Build the FreeCAD spreadsheet module" ON)
|
||||
OPTION(FREECAD_BUILD_START "Build the FreeCAD start module" ON)
|
||||
OPTION(FREECAD_BUILD_TEST "Build the FreeCAD test module" ON)
|
||||
OPTION(FREECAD_BUILD_WEB "Build the FreeCAD web module" ON)
|
||||
|
||||
OPTION(FREECAD_BUILD_DEBIAN "Prepare for a build of a Debian package" OFF)
|
||||
OPTION(FREECAD_USE_EXTERNAL_ZIPIOS "Use system installed zipios++ instead of the bundled." OFF)
|
||||
OPTION(FREECAD_USE_EXTERNAL_PIVY "Use system installed python-pivy instead of the bundled." OFF)
|
||||
if(MSVC)
|
||||
OPTION(FREECAD_USE_3DCONNEXION "Use the 3D connexion SDK to support 3d mouse." ON)
|
||||
OPTION(FREECAD_USE_FREETYPE "Builds the features using FreeType libs" OFF)
|
||||
OPTION(FREECAD_BUILD_FEM_NETGEN "Build the FreeCAD FEM module with the NETGEN mesher" ON)
|
||||
else(MSVC)
|
||||
set(FREECAD_USE_3DCONNEXION OFF)
|
||||
OPTION(FREECAD_USE_FREETYPE "Builds the features using FreeType libs" ON)
|
||||
OPTION(FREECAD_BUILD_FEM_NETGEN "Build the FreeCAD FEM module with the NETGEN mesher" OFF)
|
||||
endif(MSVC)
|
||||
|
||||
# if this is set override some options
|
||||
@@ -167,191 +116,43 @@ if (FREECAD_BUILD_DEBIAN)
|
||||
set(FREECAD_USE_EXTERNAL_PIVY ON)
|
||||
endif (FREECAD_BUILD_DEBIAN)
|
||||
|
||||
# ==============================================================================
|
||||
#inter-module dependencies
|
||||
|
||||
#took these from Mod/Complete/App/AppComplete.cpp. appears to be working.
|
||||
if(FREECAD_BUILD_COMPLETE)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
set(FREECAD_BUILD_POINTS ON)
|
||||
set(FREECAD_BUILD_DRAWING ON)
|
||||
set(FREECAD_BUILD_RAYTRACING ON)
|
||||
set(FREECAD_BUILD_PART_DESIGN ON)
|
||||
set(FREECAD_BUILD_IMAGE ON)
|
||||
set(FREECAD_BUILD_DRAFT ON)
|
||||
endif(FREECAD_BUILD_COMPLETE)
|
||||
|
||||
#inferred from .py files. appears to be working.
|
||||
if(FREECAD_BUILD_ARCH)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
set(FREECAD_BUILD_DRAFT ON)
|
||||
endif(FREECAD_BUILD_ARCH)
|
||||
|
||||
#inferred from .py files. appears to be working.
|
||||
if(FREECAD_BUILD_OPENSCAD)
|
||||
set(FREECAD_BUILD_MESH_PART ON)
|
||||
set(FREECAD_BUILD_DRAFT ON)
|
||||
endif(FREECAD_BUILD_OPENSCAD)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_INSPECTION)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
set(FREECAD_BUILD_POINTS ON)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
endif(FREECAD_BUILD_INSPECTION)
|
||||
|
||||
#inferred from .py files. appears to be working.
|
||||
if(FREECAD_BUILD_SHIP)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
set(FREECAD_BUILD_PLOT ON)
|
||||
set(FREECAD_BUILD_IMAGE ON)
|
||||
endif(FREECAD_BUILD_SHIP)
|
||||
|
||||
#inferred from .py files. appears to be working.
|
||||
if(FREECAD_BUILD_SPREADSHEET)
|
||||
set(FREECAD_BUILD_DRAFT ON)
|
||||
endif(FREECAD_BUILD_SPREADSHEET)
|
||||
|
||||
#this has been tested. appears to be working.
|
||||
if(FREECAD_BUILD_DRAFT)
|
||||
set(FREECAD_BUILD_SKETCHER ON)
|
||||
endif(FREECAD_BUILD_DRAFT)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_PART_DESIGN)
|
||||
set(FREECAD_BUILD_SKETCHER ON)
|
||||
endif(FREECAD_BUILD_PART_DESIGN)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_REVERSEENGINEERING)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
endif(FREECAD_BUILD_REVERSEENGINEERING)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_MESH_PART)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
set(FREECAD_BUILD_SMESH ON)
|
||||
endif(FREECAD_BUILD_MESH_PART)
|
||||
|
||||
#inferred from cmakelists.txt. build errors. obsolete?
|
||||
if(FREECAD_BUILD_CAM)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
endif(FREECAD_BUILD_CAM)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_RAYTRACING)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
endif(FREECAD_BUILD_RAYTRACING)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_DRAWING)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
endif(FREECAD_BUILD_DRAWING)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_ROBOT)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
endif(FREECAD_BUILD_ROBOT)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_SKETCHER)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
endif(FREECAD_BUILD_SKETCHER)
|
||||
|
||||
#inferred from .py files. built, but not sure how to test.
|
||||
if(FREECAD_BUILD_IDF)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
endif(FREECAD_BUILD_IDF)
|
||||
|
||||
#inferred from cmakelists.txt. built, but not sure how to test.
|
||||
if(FREECAD_BUILD_IMPORT)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
endif(FREECAD_BUILD_IMPORT)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_FEM)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
set(FREECAD_BUILD_SMESH ON)
|
||||
endif(FREECAD_BUILD_FEM)
|
||||
|
||||
#inferred from cmakelists.txt. appears to be working.
|
||||
if(FREECAD_BUILD_SANDBOX)
|
||||
set(FREECAD_BUILD_PART ON)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
endif(FREECAD_BUILD_SANDBOX)
|
||||
|
||||
#inferred from header includes. not tested.
|
||||
if(FREECAD_BUILD_JTREADER)
|
||||
set(FREECAD_BUILD_MESH ON)
|
||||
endif(FREECAD_BUILD_JTREADER)
|
||||
|
||||
#leaving test module for someone else.
|
||||
#image has none. as far as I can tell.
|
||||
#mesh has none. as far as I can tell.
|
||||
#part has none. as far as I can tell.
|
||||
#material has none. as far as I can tell.
|
||||
#web has none. as far as I can tell.
|
||||
#start has none. as far as I can tell.
|
||||
#assembly has none. as far as I can tell.
|
||||
#plot has none. as far as I can tell.
|
||||
#points has none. as far as I can tell
|
||||
if (NOT EXISTS ${CMAKE_SOURCE_DIR}/src/zipios++)
|
||||
set(FREECAD_USE_EXTERNAL_ZIPIOS ON)
|
||||
endif ()
|
||||
|
||||
# ==============================================================================
|
||||
|
||||
if(FREECAD_LIBPACK_USE)
|
||||
|
||||
# checking for a unique file in LibPack location to make sure the right version of the LibPack is there
|
||||
find_file(FREECAD_LIBPACK_CHECKFILE6X boost_program_options-vc80-mt-gd.lib ${FREECAD_LIBPACK_DIR}/lib )
|
||||
find_file(FREECAD_LIBPACK_CHECKFILE7X boost_program_options-vc90-mt-gd-1_39.lib ${FREECAD_LIBPACK_DIR}/lib )
|
||||
find_file(FREECAD_LIBPACK_CHECKFILE8X boost_program_options-vc90-mt-gd-1_48.lib ${FREECAD_LIBPACK_DIR}/lib )
|
||||
find_file(FREECAD_LIBPACK_CHECKFILE9X boost_program_options-vc90-mt-gd-1_54.lib ${FREECAD_LIBPACK_DIR}/lib )
|
||||
find_file(FREECAD_LIBPACK_CHECKCUSTOM boost_program_options-vc90-mt-gd-1_41.lib ${FREECAD_LIBPACK_DIR}/lib )
|
||||
|
||||
# don't show them in the GUI
|
||||
set(FREECAD_LIBPACK_CHECKFILE6X "${FREECAD_LIBPACK_CHECKFILE6X}" CACHE INTERNAL "Find libpack")
|
||||
set(FREECAD_LIBPACK_CHECKFILE7X "${FREECAD_LIBPACK_CHECKFILE7X}" CACHE INTERNAL "Find libpack")
|
||||
set(FREECAD_LIBPACK_CHECKFILE8X "${FREECAD_LIBPACK_CHECKFILE8X}" CACHE INTERNAL "Find libpack")
|
||||
set(FREECAD_LIBPACK_CHECKFILE9X "${FREECAD_LIBPACK_CHECKFILE9X}" CACHE INTERNAL "Find libpack")
|
||||
set(FREECAD_LIBPACK_CHECKCUSTOM "${FREECAD_LIBPACK_CHECKCUSTOM}" CACHE INTERNAL "Find libpack")
|
||||
|
||||
IF(FREECAD_LIBPACK_CHECKFILE6X)
|
||||
set(FREECAD_LIBPACK_VERSION "6.x" CACHE STRING "Displays if the libpack has been found" FORCE)
|
||||
include(cMake/UseLibPack6x.cmake)
|
||||
set(FREECAD_LIBPACK6 FOUND CACHE STRING "Displays if the libpack has been found")
|
||||
set(FREECAD_LIBPACK7 NOTFOUND CACHE STRING "Displays if the libpack has been found")
|
||||
MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK7)
|
||||
ELSEIF(FREECAD_LIBPACK_CHECKFILE7X)
|
||||
set(FREECAD_LIBPACK_VERSION "7.x" CACHE STRING "Displays if the libpack has been found" FORCE)
|
||||
include(cMake/UseLibPack7x.cmake)
|
||||
set(FREECAD_LIBPACK6 NOTFOUND CACHE STRING "Displays if the libpack has been found")
|
||||
MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK6)
|
||||
set(FREECAD_LIBPACK7 FOUND CACHE STRING "Displays if the libpack has been found")
|
||||
ELSEIF(FREECAD_LIBPACK_CHECKFILE8X)
|
||||
set(FREECAD_LIBPACK_VERSION "8.x" CACHE STRING "Displays if the libpack has been found" FORCE)
|
||||
include(cMake/UseLibPack8x.cmake)
|
||||
set(SWIG_EXECUTABLE ${FREECAD_LIBPACK_DIR}/tools/swigwin-1.3.40/swig.exe CACHE STRING "Swig" FORCE)
|
||||
ELSEIF(FREECAD_LIBPACK_CHECKFILE9X)
|
||||
set(FREECAD_LIBPACK_VERSION "9.x" CACHE STRING "Displays if the libpack has been found" FORCE)
|
||||
include(cMake/UseLibPack9x.cmake)
|
||||
set(SWIG_EXECUTABLE ${FREECAD_LIBPACK_DIR}/tools/swigwin-2.0.11/swig.exe CACHE STRING "Swig" FORCE)
|
||||
set(FREECAD_USE_EXTERNAL_PIVY ON CACHE BOOL "Switch off local pivy" FORCE)
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_REL "${FREECAD_LIBPACK_DIR}/pyside-tools/Lib/site-packages")
|
||||
file(GLOB FREECAD_LIBPACK_PIVY_COIN "${FREECAD_LIBPACK_DIR}/pivy/*.*")
|
||||
file(GLOB FREECAD_LIBPACK_PIVY_SOQT "${FREECAD_LIBPACK_DIR}/pivy/gui/*.*")
|
||||
file(GLOB FREECAD_LIBPACK_SHIBOKEN "${FREECAD_LIBPACK_DIR}/shiboken-1.2.1/lib/site-packages/*.pyd")
|
||||
file(GLOB FREECAD_LIBPACK_PYSIDE "${FREECAD_LIBPACK_DIR}/pyside/lib/site-packages/PySide/*.py*")
|
||||
file(GLOB_RECURSE FREECAD_LIBPACK_PYSIDEUIC RELATIVE "${FREECAD_LIBPACK_PYSIDEUIC_REL}" "${FREECAD_LIBPACK_PYSIDEUIC_REL}/pysideuic/*.py")
|
||||
file(GLOB FREECAD_LIBPACK_PYTHON "${FREECAD_LIBPACK_DIR}/bin/*.py*")
|
||||
set(FREECAD_LIBPACK6 NOTFOUND CACHE STRING "Displays if the libpack has been found")
|
||||
set(FREECAD_LIBPACK7 NOTFOUND CACHE STRING "Displays if the libpack has been found")
|
||||
set(SWIG_EXECUTABLE ${FREECAD_LIBPACK_DIR}/tools/swigwin-1.3.40/swig.exe)
|
||||
MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK6)
|
||||
set(FREECAD_LIBPACK8 FOUND CACHE STRING "Displays if the libpack has been found")
|
||||
ELSEIF(FREECAD_LIBPACK_CHECKCUSTOM)
|
||||
set(FREECAD_LIBPACK_VERSION "Custom" CACHE STRING "Displays if the libpack has been found" FORCE)
|
||||
include(cMake/UseLibPackCustom.cmake)
|
||||
set(FREECAD_LIBPACKX FOUND CACHE STRING "Displays if the libpack has been found")
|
||||
ELSE(FREECAD_LIBPACK_CHECKFILE6X)
|
||||
set(FREECAD_LIBPACK_VERSION "NOTFOUND" CACHE STRING "Displays if the libpack has been found" FORCE)
|
||||
message(SEND_ERROR "Could not find libpack in specified location:" ${FREECAD_LIBPACK_DIR})
|
||||
MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK_CHECKFILE6X FREECAD_LIBPACK_CHECKFILE7X)
|
||||
message(SEND_ERROR "Could not find neither LibPack 6.x nor 7.x in specified location:" ${FREECAD_LIBPACK_DIR})
|
||||
ENDIF(FREECAD_LIBPACK_CHECKFILE6X)
|
||||
|
||||
# -------------------------------- PyCXX --------------------------------
|
||||
|
||||
find_package(PyCXX REQUIRED)
|
||||
|
||||
# -------------------------------- Swig ----------------------------------
|
||||
|
||||
find_package(SWIG)
|
||||
@@ -362,6 +163,9 @@ if(FREECAD_LIBPACK_USE)
|
||||
|
||||
else(FREECAD_LIBPACK_USE)
|
||||
|
||||
MARK_AS_ADVANCED(FORCE FREECAD_LIBPACK_CHECKFILE6X FREECAD_LIBPACK_CHECKFILE7X)
|
||||
|
||||
|
||||
|
||||
# ================================================================================
|
||||
# == for other OSes search the packages ==========================================
|
||||
@@ -401,73 +205,35 @@ else(FREECAD_LIBPACK_USE)
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
# -------------------------------- PyCXX --------------------------------
|
||||
|
||||
find_package(PyCXX REQUIRED)
|
||||
|
||||
# -------------------------------- OpenCasCade --------------------------------
|
||||
|
||||
#first, look for OpenCASCADE Community Edition (OCE)
|
||||
#if OCE is installed in a nonstandard location, add -DOCE_DIR=/path/to/dir/containing/OCEConfig.cmake
|
||||
# when configuring with cmake, i.e. cmake .. -DOCE_DIR=/usr/share/cmake
|
||||
if(NOT DEFINED OCE_DIR)
|
||||
if(UNIX)
|
||||
set(OCE_DIR "/usr/local/share/cmake/")
|
||||
elseif(WIN32)
|
||||
set(OCE_DIR "c:/OCE-0.4.0/share/cmake")
|
||||
endif()
|
||||
endif()
|
||||
find_package (OCE QUIET)
|
||||
if(${OCE_FOUND})
|
||||
message("-- OpenCASCADE Community Edition has been found.")
|
||||
add_definitions (-DHAVE_CONFIG_H)
|
||||
#lib list copied from FreeCAD's FindOpenCasCade.cmake
|
||||
set(OCC_LIBRARIES
|
||||
TKFillet
|
||||
TKMesh
|
||||
TKernel
|
||||
TKG2d
|
||||
TKG3d
|
||||
TKMath
|
||||
TKIGES
|
||||
TKSTL
|
||||
TKShHealing
|
||||
TKXSBase
|
||||
TKBool
|
||||
TKBO
|
||||
TKBRep
|
||||
TKTopAlgo
|
||||
TKGeomAlgo
|
||||
TKGeomBase
|
||||
TKOffset
|
||||
TKPrim
|
||||
TKSTEP
|
||||
TKSTEPBase
|
||||
TKSTEPAttr
|
||||
TKHLR
|
||||
TKFeat
|
||||
)
|
||||
#lib list copied from FreeCAD's FindOpenCasCade.cmake
|
||||
set(OCC_OCAF_LIBRARIES
|
||||
TKCAF
|
||||
TKXCAF
|
||||
TKLCAF
|
||||
TKXDESTEP
|
||||
TKXDEIGES
|
||||
TKMeshVS
|
||||
TKAdvTools
|
||||
)
|
||||
set(OCC_INCLUDE_DIR ${OCE_INCLUDE_DIRS})
|
||||
set(OCC_FOUND ${OCE_FOUND})
|
||||
else() #look for OpenCASCADE
|
||||
find_package(OpenCasCade)
|
||||
if(NOT OCC_FOUND)
|
||||
message("Neither OpenCASCADE Community Edition nor OpenCasCade were found: will not build CAD modules!")
|
||||
else()
|
||||
message("-- OpenCASCADE include directory: ${OCC_INCLUDE_PATH}")
|
||||
message("-- OpenCASCADE shared libraries directory: ${OCC_LIB_PATH}")
|
||||
endif()
|
||||
endif()
|
||||
if( NOT DEFINED OCE_DIR )
|
||||
if( UNIX )
|
||||
set( OCE_DIR "/usr/local/share/cmake/" )
|
||||
else()
|
||||
set( OCE_DIR "c:/OCE-0.4.0/share/cmake" )
|
||||
endif()
|
||||
endif()
|
||||
find_package ( OCE )
|
||||
if( ${OCE_FOUND} )
|
||||
message("-- OpenCASCADE Community Edition has been found.")
|
||||
add_definitions ( -DHAVE_CONFIG_H )
|
||||
set( OCC_LIBRARIES "TKFeat;TKFillet;TKMesh;TKernel;TKG2d;TKG3d;TKMath;TKIGES;TKSTL;TKShHealing;TKXSBase;TKBool;TKBO;TKBRep;TKTopAlgo;TKGeomAlgo;TKGeomBase;TKOffset;TKPrim;TKSTEP;TKSTEPBase;TKSTEPAttr;TKHLR" ) #lib list copied from FreeCAD's FindOpenCasCade.cmake
|
||||
set( OCC_OCAF_LIBRARIES "TKCAF;TKXCAF;TKLCAF;TKXDESTEP;TKXDEIGES" ) #lib list copied from FreeCAD's FindOpenCasCade.cmake
|
||||
set( OCC_INCLUDE_DIR ${OCE_INCLUDE_DIRS} )
|
||||
set( OCC_FOUND ${OCE_FOUND} )
|
||||
else() #look for OpenCASCADE
|
||||
find_package(OpenCasCade)
|
||||
IF(NOT OCC_FOUND)
|
||||
MESSAGE("Neither OpenCASCADE Community Edition nor OpenCasCade were found: will not build CAD modules!")
|
||||
ELSE()
|
||||
MESSAGE("-- OpenCASCADE include directory: ${OCC_INCLUDE_PATH}")
|
||||
MESSAGE("-- OpenCASCADE shared libraries directory: ${OCC_LIB_PATH}")
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
# -------------------------------- Salome SMESH --------------------------
|
||||
|
||||
@@ -491,12 +257,6 @@ else(FREECAD_LIBPACK_USE)
|
||||
#IF(NOT SMESH_FOUND)
|
||||
# MESSAGE("Salome SMESH was not found!")
|
||||
#ENDIF(NOT SMESH_FOUND)
|
||||
|
||||
# -------------------------------- Netgen --------------------------------
|
||||
|
||||
if (FREECAD_BUILD_FEM_NETGEN)
|
||||
find_package(NETGEN)
|
||||
endif(FREECAD_BUILD_FEM_NETGEN)
|
||||
|
||||
# -------------------------------- OpenCV --------------------------------
|
||||
|
||||
@@ -513,6 +273,7 @@ else(FREECAD_LIBPACK_USE)
|
||||
|
||||
# -------------------------------- Eigen --------------------------------
|
||||
|
||||
#find_package(Eigen2)
|
||||
find_package(Eigen3)
|
||||
|
||||
# -------------------------------- ODE ----------------------------------
|
||||
@@ -553,31 +314,20 @@ else(FREECAD_LIBPACK_USE)
|
||||
macro(fc_wrap_cpp outfiles )
|
||||
# get include dirs
|
||||
QT4_GET_MOC_FLAGS(moc_flags)
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN})
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
# fixes bug 0000585: bug with boost 1.48
|
||||
SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
|
||||
foreach(it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
|
||||
QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}")
|
||||
QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}")
|
||||
set(${outfiles} ${${outfiles}} ${outfile})
|
||||
add_file_dependencies(${it} ${outfile})
|
||||
endforeach(it)
|
||||
endmacro(fc_wrap_cpp)
|
||||
|
||||
#--------------------FreeType-----------------------
|
||||
|
||||
if(FREECAD_USE_FREETYPE)
|
||||
find_package(Freetype)
|
||||
if(NOT FREETYPE_FOUND)
|
||||
MESSAGE("FreeType2 library is not available. Part module will lack of makeWireString().")
|
||||
endif(NOT FREETYPE_FOUND)
|
||||
endif(FREECAD_USE_FREETYPE)
|
||||
|
||||
#---------------------------------------------------
|
||||
|
||||
if(FREECAD_BUILD_GUI)
|
||||
if(FREECAD_BUILD_GUI)
|
||||
# -------------------------------- OpenGL --------------------------------
|
||||
|
||||
find_package(OpenGL)
|
||||
@@ -603,14 +353,6 @@ else(FREECAD_LIBPACK_USE)
|
||||
find_package(Spnav)
|
||||
endif(WIN32)
|
||||
|
||||
# -------------------------------- Shiboken/PySide ------------------------
|
||||
|
||||
# set(PYTHON_SUFFIX -python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
|
||||
SET(PYTHON_SUFFIX -python2.7) # for shiboken
|
||||
SET(PYTHON_BASENAME -python2.7) # for PySide
|
||||
find_package(Shiboken REQUIRED)
|
||||
find_package(PySide REQUIRED)
|
||||
|
||||
# ------------------------------ Matplotlib ------------------------------
|
||||
|
||||
find_package(Matplotlib)
|
||||
@@ -659,7 +401,7 @@ ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
|
||||
IF(MSVC)
|
||||
# set default compiler settings
|
||||
SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /EHa")
|
||||
#SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /GY")
|
||||
SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG")
|
||||
# set default libs
|
||||
SET (CMAKE_C_STANDARD_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib SHFolder.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ")
|
||||
@@ -667,10 +409,6 @@ IF(MSVC)
|
||||
# set linker flag /nodefaultlib
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB")
|
||||
SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB")
|
||||
IF(FREECAD_RELEASE_PDB)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
|
||||
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG")
|
||||
ENDIF(FREECAD_RELEASE_PDB)
|
||||
|
||||
# Mark 32 bit executables large address aware so they can use > 2GB address space
|
||||
# NOTE: This setting only has an effect on machines with at least 3GB of RAM, although it sets the linker option it doesn't set the the linker switch 'Enable Large Addresses'
|
||||
@@ -680,16 +418,13 @@ IF(MSVC)
|
||||
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
ELSE(MSVC)
|
||||
SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG")
|
||||
#MESSAGE(STATUS "DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
|
||||
MESSAGE(STATUS "DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
ENDIF(MSVC)
|
||||
IF(MINGW)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mthreads")
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthreads")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mthreads -Wl,--export-all-symbols")
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -mthreads -Wl,--export-all-symbols")
|
||||
# http://stackoverflow.com/questions/8375310/warning-auto-importing-has-been-activated-without-enable-auto-import-specifie
|
||||
# SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++")
|
||||
LINK_LIBRARIES(-lgdi32)
|
||||
ENDIF(MINGW)
|
||||
# 0000661: cmake build on Mac OS: dealing with dylib versus so
|
||||
@@ -697,14 +432,8 @@ IF(APPLE)
|
||||
SET(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
|
||||
ENDIF(APPLE)
|
||||
|
||||
# force build directory to be different to source directory
|
||||
#if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||
#MESSAGE(SEND_ERROR "The build directory (${CMAKE_BINARY_DIR}) must be different to the source directory "
|
||||
# "(${CMAKE_SOURCE_DIR}). Please choose another build directory!")
|
||||
#elseif()
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(data)
|
||||
#endif()
|
||||
|
||||
# ================================================================================
|
||||
# == Packaging ===================================================================
|
||||
|
||||
+4
-197
@@ -1,201 +1,8 @@
|
||||
Changelog you find now here:
|
||||
http://www.freecadweb.org/tracker/changelog_page.php
|
||||
Changelog you finde now here:
|
||||
https://sourceforge.net/apps/mantisbt/free-cad/changelog_page.php
|
||||
|
||||
Version: 0.14
|
||||
* Python path messed up after installation
|
||||
* Installing 0.14 breaks previous python installation
|
||||
* Python function to retrive direct children of a shape using TopoDS_Iterator
|
||||
* Update translations for 0.14
|
||||
* FreeCAD crashes when changing placement of sketch.
|
||||
* Sketcher 180-deg-constraints should not be allowed for lines without intersection point.
|
||||
* Crash when opening Pad
|
||||
* V0.14 - Add icons to its respectives operations in treeview
|
||||
* FreeCAD crash on sweep/loft
|
||||
* Option for new check in part check geometry
|
||||
* Move from PyQt to PySide
|
||||
* use transformShape for uniform scaling in Draft._Clone Feature
|
||||
* Make FreeCAD buildable using QT Creator using windows the VC++ 9 compiler
|
||||
* Part Revolve - add parameter "solid"
|
||||
* emn import failure
|
||||
* Allow Part Loft to create a closed solid i.e. have the Loft start and finish with the same profile
|
||||
* crash when using "move" tool in part workbench
|
||||
* STEP export fails under Windows
|
||||
* OpenSCAD importer can't import more than one layer with the same name
|
||||
* Standard view /Align view to selected face
|
||||
* scale() operation makes face invalid
|
||||
* Installation should set Python path
|
||||
* No scroll bar on preferences dialog window.
|
||||
* Ability to specify more decimal places of precision for fillets, etc.
|
||||
* Starting FreeCAD Produces Blank Window with Granite Texture
|
||||
* model refine corrupts solid with spherical edges.
|
||||
* dump Shapes to python string
|
||||
* Crash on fuse() of two simple extrusions
|
||||
* Boolean operation fails for a mesh
|
||||
* parse keyword args in Part::TopoShapePy::makeOffsetShape
|
||||
* add shape contents in part check geometry task view
|
||||
* entering Transform mode degrades the Placemens rotation to single precision
|
||||
* DLL load failed
|
||||
* Expose BRepExtrema_DistShapeShape to python
|
||||
* Allow user to input simple mathematical expressions when setting values to constraints.
|
||||
* closing Part::TaskCheckGeometry after closing document causes SIGSEGV
|
||||
* exceptions thrown with python object.
|
||||
* PartGui::TaskCheckGeometryResults fails to open
|
||||
* SIGSEGV in Part::GeometryCurvePy::toBSpline
|
||||
* Increase decimal precision
|
||||
* Spin box locked to 1 mm
|
||||
* Add a qt browser to the Parts library
|
||||
* upload models for library
|
||||
* Commit [bba876] causing new errors.
|
||||
* Hide all objects in a group
|
||||
* Part::TopoShape::getMemSize fails for Bezier Curves
|
||||
* icons not showing in Part Loft and sweep dialogues
|
||||
* Drawing SVG output makes ever knot symetrical.
|
||||
* Part Common fails with two surface objects
|
||||
* Teigha File Converter not found, DWG support will be disabled.
|
||||
* recognize remote branches for Version.h in detached head state
|
||||
* Sweeping along a helix causes exception
|
||||
* Helix height cannot exceed 55.87mm
|
||||
* RefineModel() does not mark edges/faces as modified
|
||||
* PartDesign/modelrefine.cpp in FaceUniter::process() : United faces should all be marked as modified
|
||||
* Zero width rectangle (i.e. 2 vertical points) odd behaviour + crash
|
||||
* Planer image changes to number graphic when a part design constraint is made after the planar image
|
||||
* Draft Dimensions due not observe Dimension Precision on FreeCAD Windows
|
||||
* invalid DXF export
|
||||
* Port wiki, phpbb and mantis to self-hosted
|
||||
* Crash propably in MeshPart
|
||||
* Part.BSplineCurve: allow to set degree and mutliplicites when calling constructor.
|
||||
* FeaturePython objects should be able to define how POVray output is generated
|
||||
* Loosing Snap when Object is getting more complex.
|
||||
* PropertyLinkSubList causes crash
|
||||
* BRepPrimAPI_MakeRevolution vs BRepPrimAPI_MakeRevol
|
||||
* plane offset precision is limited to 0.1
|
||||
* Add spiral tool in Part Module
|
||||
* Missing / blank snap tool icons; perpendicular, ortho
|
||||
* Add a Feature to delete a whole subtree of the FeatureTree
|
||||
* OCC precision corruption from App::PropertyFloat
|
||||
* Rotation constructor from vector/to vector not exposed in python
|
||||
* FreeCAD crashed while creating a loft of two ellipses
|
||||
* Robot file RobotExample, double-click PartToWork, crash
|
||||
* No build possible with current CMake version 2.8.12
|
||||
* Constraint datum dimension label shown as gray box vice number in transparent background.
|
||||
* Wrong operator in DraftGeomUtils.getRotation
|
||||
* Tracing over a background image in Sketcher: image is overwritten by first dimensional constraint text
|
||||
* Raytracing export produces bad light definition
|
||||
* Spreadsheet module
|
||||
* Parametr "tolerance" in "Create Mesh from geometry" work strange.
|
||||
* Order of operations for Matrix is nonintuitive, needs documentation
|
||||
* \Raytracing\Templates\ install folder missing - file ProjectStd.pov missing - Povray error StdFinish undefined
|
||||
* Tiny Tweak: v0.14 Shows Some Items as 0.13
|
||||
* Cross section of Torus in Part Workbench fails or give wrong results
|
||||
* Line tool (preview as you move) disappears after new file created
|
||||
* Add a "render" button to the raytracing module
|
||||
* Annoying messages at startup
|
||||
* Touchpad navigation issue
|
||||
* Part --> Geometric Primitives --> Regular Prism
|
||||
* Online help line needs modifying
|
||||
* FreeCAD crash with segfault Linux
|
||||
* 'filemname' is not defined, typo? Can't import DWG
|
||||
* crash at padding a sketch with 42 holes
|
||||
* BuildInstaller.bat issue
|
||||
* Problem exporting (Meshes) to STL & STEP.
|
||||
* Wrong outline in pocket
|
||||
* Vertex in Part Loft and Sweep profile list - error handling
|
||||
* StdMeshers.so: cannot open shared object file: No such file or directory
|
||||
* Meshing algorithm creates wrong shape
|
||||
* Create Mesh from geometry / Export mesh.
|
||||
* Shape.removeSplitter() loses Shape.Placements on some Shapes
|
||||
* Incomplete slices when using Part.slice on a torus
|
||||
* Add a function that can apply a Placement to a Shape like sh.transformGeometry(sh.Placement.toMatrix())
|
||||
* Unable to Loft Sketches with Radiused Corners
|
||||
* Create a test suite for Arch and Draft
|
||||
* Change the Word "Radius" for Chamfering
|
||||
* FreeCAD Compilation fails on Linux 32 bit
|
||||
* Expose Standard_Boolean TopoDS_Shape::IsPartner(const TopoDS_Shape& other) const; to python
|
||||
* Re-assign hot keys 0 thru 6 to line up with the icon placement.
|
||||
* Draft Snap Toolbar Icons Crossed up
|
||||
* Preserve names and colors on console mode export to STEP
|
||||
* Placement Position Entry can be improved
|
||||
* Patch to allow use of external PyCXX
|
||||
* [Sketcher] Dragging + ESC
|
||||
* Part WB extrude from ruled surface makes either two faces or a solid
|
||||
* Split shape color setting from current preference page into a separate page
|
||||
* Touchpad Navigation issue
|
||||
* Can't change STEP/IGES export units through Python interface
|
||||
* Part names are incorrect on import from STEP file
|
||||
* Make Clipping-Plane-placement editable + support multiple planes
|
||||
* Clipping plane should have more controls
|
||||
* Edge chain selection
|
||||
* Toolbar Customizer Move Buttons enabled but inactive
|
||||
* Crash when quitting after using Windows > Tile
|
||||
* Merged Project object being imported changes size when moved
|
||||
* Cut mesh with plane
|
||||
* Feature request - box selection for faces in set color mode
|
||||
* Original color STEP model lost in import
|
||||
* add directory to findCoin cmake
|
||||
* wireframe mode should include vertices in display
|
||||
* Can not export. No way to select file type.
|
||||
* selftest errors
|
||||
* Unable to export file to any file format
|
||||
* File extensions missing from supported file descriptions in open/save dialgos
|
||||
* [Sketcher] Small inconsistency with update
|
||||
* Hide turntable dialog when in fullscreen mode
|
||||
* Keep drop down menus open when changing to another part
|
||||
* Skin remains when cutting rectangle
|
||||
* Suppress CMake warning if OCE wasn't found but OCC was found
|
||||
* add preferences option for bounding box colour
|
||||
* Export to BREP does not work in Ubuntu
|
||||
* Freecad sometimes 'forgets' the ability to handle stp files
|
||||
* Snap Center Point at Center of Cylinder, Circle
|
||||
* Boolean Cut Fails with Extruded Shapestring
|
||||
* DeprecationWarning: Use 'TypeId' instead
|
||||
* Abort on startup
|
||||
* The output of __repr__() of Vector and Rotatio would create Objects with different Values do to inapropriate rounding
|
||||
* Improvements for Brep Inventor nodes
|
||||
* Crash on filleting
|
||||
* Download manager
|
||||
* Copy and Paste of a boolean operation moves children to new object
|
||||
* Windows installer long standing issues [easy fix]
|
||||
* IndentationError in Python Console
|
||||
* Tooltips should include shortcuts keys in parentheses
|
||||
* reading from the python console for using pdb
|
||||
* Segfault when selecting a duplicate pad
|
||||
* CMake stops with error "Circular ... <- ... dependency dropped." if source == build directory
|
||||
* Inventor Navigation continues with released Mouse Button
|
||||
* ver 0.13 rev 1828, drafting, measurement, angles
|
||||
* Feature Request:: DXF Export in XY plane
|
||||
* Add webGL exporter
|
||||
* an improved Helix icon as suggested by raulshc
|
||||
* DXF export of "large" Polyline Curves
|
||||
* DWire Command Number Entry Improvement
|
||||
* Bug in Draft Edit -> Add points
|
||||
* Crash when executing script 3 times
|
||||
* TimeInfo: diffTimeF(): added default arg
|
||||
* TimeInfo: diffTimeF(): non-zero result for ident. time stamps
|
||||
* Task Deadlock: Part Workbench disabled when closing Combo View with open Task
|
||||
* Placement Panel not removed after Entity Deletion
|
||||
* Wrong header define PART_GEOMETRY_H in ProgressIndicator.h
|
||||
* Allow Draft tool to create Part Primitives
|
||||
* Enclose isinstance(Edge.Curve,something) in try-except
|
||||
* Crash occurs in version 0.13 when trying to use alignment tool
|
||||
* addObject with four arguments does not return the DocumentObject
|
||||
* Tree icons for Part Ruled surface, Part Export and some other fixes
|
||||
* Draft tools referenced before assignment
|
||||
* arc orientation sometimes becomes wrong when exporting to DXF
|
||||
* Cannot add object to DocumentObjectGroupPython
|
||||
* display tree icons for PartDesign workbench
|
||||
* remove duplicate include files in PartFeature.h
|
||||
* Sketcher Polyline tool "tool tip" "M key"
|
||||
* use a face as a profile for Part Loft and sweep
|
||||
* Tree icons for Part Vertex, Line, Edge, Circle, Ellipse and Helix
|
||||
* New Start Page tab every time the Start WB is selected
|
||||
* Duplicate code inside importDAE.py ?
|
||||
* EngineBlock: unable to select bspline
|
||||
* Crash on document recompute
|
||||
* Objects imported by Drag-n-Drop end up in the wrong document
|
||||
* Draft Working Plane Button ToolTip
|
||||
* Draft Line - Start and End properties don't respect placement
|
||||
* Stable PPA
|
||||
* latest git version doesn't build on mint linux 2013-02-10
|
||||
Version: 0.12
|
||||
*
|
||||
|
||||
Version:
|
||||
* Sketcher module added with constraint solver using SketchFlat
|
||||
|
||||
@@ -12,20 +12,13 @@ FreeCAD is based on OpenCasCade, a powerful geometry kernel, features an Open In
|
||||
The interface is built with Qt. FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and
|
||||
Linux platforms.
|
||||
|
||||
Home page: http://www.freecadweb.org
|
||||
Documentation wiki: http://www.freecadweb.org/wiki/
|
||||
Forum: http://forum.freecadweb.org/
|
||||
Bug tracker: http://www.freecadweb.org/tracker/
|
||||
Git repository: http://sourceforge.net/p/free-cad/code/ci/master/tree/
|
||||
Home page and wiki documentation: http://free-cad.sf.net
|
||||
Forum: http://sourceforge.net/apps/phpbb/free-cad/
|
||||
Bug tracker: http://sourceforge.net/apps/mantisbt/free-cad/
|
||||
Official git link: git://free-cad.git.sourceforge.net/free-cad/free-cad
|
||||
|
||||
Installing
|
||||
==========
|
||||
|
||||
Precompiled (installable) packages are usually available to you from several sources and are
|
||||
described on the FreeCAD download page: http://www.freecadweb.org/wiki/index.php?title=Download
|
||||
|
||||
Compiling
|
||||
=========
|
||||
Building
|
||||
========
|
||||
|
||||
Compiling FreeCAD requires to install several heavyweight libraries and their development
|
||||
files such as OpenCasCADe, Coin and Qt, listed in the pages below. Once this is done,
|
||||
@@ -38,26 +31,12 @@ Note that autotools build system can still be used but will be obsoleted soon.
|
||||
|
||||
The pages below contain up-to-date build instructions:
|
||||
|
||||
For Linux: http://www.freecadweb.org/wiki/index.php?title=CompileOnUnix
|
||||
For windows: http://www.freecadweb.org/wiki/index.php?title=CompileOnWindows
|
||||
For Mac OSX: http://www.freecadweb.org/wiki/index.php?title=CompileOnMac
|
||||
For Linux: http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=CompileOnUnix
|
||||
For windows: http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=CompileOnWindows
|
||||
For Mac OSX: http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=CompileOnMac
|
||||
|
||||
In this folder you will also find additional README files, specific for each platform.
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
The FreeCAD documentation wiki contains sections for each category of users, and a manual,
|
||||
which is a compilation of the most useful articles of the wiki:
|
||||
|
||||
For users: General FreeCAD usage: http://www.freecadweb.org/wiki/index.php?title=User_hub
|
||||
For power-users: Python scripting: http://www.freecadweb.org/wiki/index.php?title=Power_users_hub
|
||||
For developers: C++ FreeCAD development: http://www.freecadweb.org/wiki/index.php?title=Developer_hub
|
||||
|
||||
The FreeCAD manual: http://www.freecadweb.org/wiki/index.php?title=Online_Help_Toc
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+21
-6
@@ -10,8 +10,7 @@ and programming tools (like compiler), the following libraries:
|
||||
|
||||
o Python (http://www.python.org), >= 2.5.x
|
||||
o boost (http://www.boost.org), >= 1.33.1
|
||||
o Qt (http://qt-project.org/), >= 4.1.x
|
||||
o PySide (http://qt-project.org/wiki/category:LanguageBindings::PySide::Downloads)
|
||||
o Qt (http://www.qtsoftware.com), >= 4.1.x
|
||||
o Coin3D (http://www.coin3d.org), >= 2.4.x
|
||||
o SoQt (http://www.coin3d.org), >= 1.2.x
|
||||
o Xerces-C++ (http://xml.apache.org/dist/xerces-c/), >= 2.6
|
||||
@@ -19,8 +18,8 @@ o zlib (http://www.zlib.net/)
|
||||
|
||||
And for the some FreeCAD modules the additional libraries
|
||||
o OpenCascade (http://www.opencascade.org), >= 5.2
|
||||
o Eigen3 (http://eigen.tuxfamily.org/index.php?title=Main_Page), >= 3.0.1
|
||||
o FreeType
|
||||
o Eigen2 (http://eigen.tuxfamily.org/index.php?title=Main_Page), >= 2.0.5
|
||||
o ODE (http://www.ode.org), >= 0.10.x
|
||||
are required.
|
||||
|
||||
Note: zlib might be already on your system, as this is a library that is used
|
||||
@@ -45,7 +44,23 @@ Note: The package for SoQt (at least for older Debian based systems) is usually
|
||||
than the installed SoQt to avoid to corrupt your package database and/or to keep other
|
||||
applications working. When configuring FreeCAD you have to use the '--with-soqt=DIR'
|
||||
switch specifying the path of the newly installed SoQt.
|
||||
For newer Debian releases this already solved by a new package that links against Qt4.
|
||||
For newer Debian releases this already solved by a new package that links against Qt4.
|
||||
|
||||
Note: For OpenCascade there does not exist an official .deb package for older Debian based systems
|
||||
and many other distributions, so you have to download the latest version from www.opencascade.org.
|
||||
Install the package normally, be aware that the installer is a java program that requires
|
||||
the official java runtime edition from Sun, not the open-source java (gij) that is bundled
|
||||
with Debian or Ubuntu. Install it if needed:
|
||||
|
||||
sudo apt-get remove gij
|
||||
sudo apt-get install sun-java5-bin
|
||||
|
||||
Be careful, if you use gij java with other things like a browser plugin, they won't work
|
||||
anymore. Now start the installer with
|
||||
java -jar setup.jar
|
||||
|
||||
With Debian Lenny this issue is solved. There is an OpenCascade package currently in the
|
||||
non-free section.
|
||||
|
||||
|
||||
During the compilation some Python scripts get executed. So the Python interpreter has
|
||||
@@ -96,4 +111,4 @@ So, just have fun!
|
||||
|
||||
|
||||
Werner Mayer <wmayer@users.sourceforge.net>
|
||||
June 2014
|
||||
May 2010
|
||||
|
||||
@@ -183,11 +183,6 @@ Again a message dialog may pop up due to the missing cygwin1.dll.
|
||||
|
||||
|
||||
o PyQt/sip
|
||||
|
||||
Warning: the following is obsoleted from version 0.14, since FreeCAD is now using
|
||||
pySide instead of PyQt. At the moment, PySide suport for MingW seems still not complete:
|
||||
https://bugreports.qt-project.org/browse/PYSIDE-113?page=com.atlassian.jira.plugin.system.issuetabpanels%3aall-tabpanel
|
||||
|
||||
Download the sources archives for sip and PyQt4 from www.riverbankcomputing.co.uk.
|
||||
|
||||
In order to build sip extract the archive and open a MSYS command line. From within
|
||||
@@ -275,23 +270,6 @@ Note: For a couple of libraries the arguments passed to the linker exceeds the n
|
||||
g++ <options> -shared -o libTKGeomAlgo.dll *.obj <libs>
|
||||
rm -f *.obj
|
||||
|
||||
o Netgen
|
||||
Modify the following files:
|
||||
* libsrc/meshing/improve2.hpp
|
||||
Add DLL_HEADER to class MeshOptimize2d
|
||||
* libsrc/meshing/meshclass.hpp
|
||||
Add DLL_HEADER to CalcSurfacesOfNode
|
||||
* libsrc/meshing/meshtype.hpp
|
||||
Add DLL_HEADER to classes SurfaceElementIndex, MeshPoint, Element2d (int anp),
|
||||
* libsrc/occ/occgeom.hpp
|
||||
Add DLL_HEADER to classes Line, OCCGeometry, OCCParameters, OCCGenerateMesh
|
||||
* libsrc/occ/occmeshsurf.hpp
|
||||
Add DLL_HEADER to classes OCCSurface, Meshing2OCCSurfaces, MeshOptimize2dOCCSurfaces, OCCRefinementSurfaces
|
||||
|
||||
Run the configure script with these arguments
|
||||
./configure --prefix=/usr/local --enable-shared --enable-occ --with-occ=/usr/local --with-tcl=/usr/local/lib --enable-nglib CXXFLAGS="-DNGLIB_EXPORTS -DWNT"
|
||||
make && make install
|
||||
|
||||
|
||||
Building the FreeCAD sources
|
||||
----------------------------
|
||||
|
||||
+21
-18
@@ -59,24 +59,27 @@ To create an intstaller package you need WIX.
|
||||
Additional information on building special 3rd party libraries
|
||||
--------------------------------------------------------------
|
||||
|
||||
* Mefisto2F
|
||||
The addressed audience for this section is rather the developers
|
||||
themselves than those people who build the FreeCAD sources.
|
||||
|
||||
The Salome SMESH library needs the Mefisto2F library which contains some Fortran code.
|
||||
The easiest way is to convert the Fortran code into C code and use the f2c library to
|
||||
build a static library.
|
||||
* Salome SMESH
|
||||
|
||||
1. Get the f2c utility from http://netlib.sandia.gov/f2c/mswin/index.html
|
||||
2. Convert the Fortran file trte.f into a C file trte.c using the f2c utility
|
||||
>>> f2c trte.f
|
||||
3. Get the sources for the lib f2c from http://netlib.sandia.gov/f2c/libf2c.zip and
|
||||
unpack them.
|
||||
4. Apply the patch 'mefisto2f.patch'
|
||||
5. Run nmake -f makefile.vc
|
||||
The Salome SMESH library needs some special steps in order to be built
|
||||
because it contains some Fortran code.
|
||||
|
||||
Alternatively, you can use the Watcom Fortran compiler. The needed project file can be get from
|
||||
here: http://sourceforge.net/p/salomesmesh/code/HEAD/tree/trunk/adm/win32-watcom/
|
||||
However, this doesn't work for x64 targets at the moment.
|
||||
|
||||
* FreeType
|
||||
|
||||
http://stackoverflow.com/questions/6207176/compiling-freetype-to-dll-as-opposed-to-static-library
|
||||
1. First get the SMESH sources smesh-5.1.2.2.tar.gz from the Sourceforge download area
|
||||
2. Make sure that the IDE can find the boost header files
|
||||
3. Start compiling all the projects. The NETGENPlugin probably fails but this can simply
|
||||
be unloaded or removed because we don't need it.
|
||||
Except of MESFISTO2 all other projects should compile fine. For MEFISTO2 we get a couple
|
||||
of linker errors.
|
||||
4. Get the f2c utility from http://netlib.sandia.gov/f2c/mswin/index.html
|
||||
5. Get f2c.h from http://netlib.sandia.gov/f2c/f2c.h.gz
|
||||
6. Convert the Fortran file trte.f into a C file trte.c using the f2c utility
|
||||
7. Get the sources for the lib f2c from http://netlib.sandia.gov/f2c/libf2c.zip.
|
||||
Unpack the sources and add the compiler switch /MD to makefile.vc. This is needed to
|
||||
link against the shared C runtime, not the static one.
|
||||
8. Remove the __WATCOM__ define from the list of the preprocessor macros of the MESFISTO2
|
||||
project.
|
||||
9. Build the file vcf2c.lib with "nmake -f makefile.vc" and add it to the MEFISTO2 project as
|
||||
additional library. The linker errors should now go away.
|
||||
|
||||
@@ -13,7 +13,6 @@ IF (WIN32)
|
||||
FIND_PATH(COIN3D_INCLUDE_DIR Inventor/So.h
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/usr/include/coin
|
||||
)
|
||||
|
||||
FIND_LIBRARY(COIN3D_LIBRARY Coin
|
||||
@@ -71,7 +70,6 @@ ELSE (WIN32)
|
||||
ELSE(APPLE)
|
||||
|
||||
FIND_PATH(COIN3D_INCLUDE_DIR Inventor/So.h
|
||||
/usr/include/Coin3
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
)
|
||||
|
||||
+17
-18
@@ -22,7 +22,6 @@ IF (COIN3D_FOUND)
|
||||
# Unix systems
|
||||
find_path(COIN3D_DOC_PATH index.html
|
||||
/usr/share/doc/libcoin60-doc/html
|
||||
/usr/share/doc/coin/html
|
||||
)
|
||||
IF( EXISTS ${COIN3D_DOC_PATH})
|
||||
message(STATUS "Coin3D doc is installed")
|
||||
@@ -55,23 +54,23 @@ IF (COIN3D_FOUND)
|
||||
IF( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
SET( COIN3D_DOC_FOUND "YES"
|
||||
)
|
||||
#ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
# find_program(WGET_PROG wget
|
||||
# )
|
||||
# IF( EXISTS ${WGET_PROG})
|
||||
# execute_process(COMMAND ${WGET_PROG}
|
||||
# -P ${CMAKE_BINARY_DIR}/src/Doc
|
||||
# ${COIN3D_DOC_PATH}/coin.tag
|
||||
# )
|
||||
# find_file(COIN3D_DOC_TAGFILE coin.tag
|
||||
# ${CMAKE_BINARY_DIR}/src/Doc
|
||||
# )
|
||||
# IF( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
# SET( COIN3D_DOC_FOUND "YES"
|
||||
# )
|
||||
# ENDIF( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
#
|
||||
# ENDIF( EXISTS ${WGET_PROG})
|
||||
ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
find_program(WGET_PROG wget
|
||||
)
|
||||
IF( EXISTS ${WGET_PROG})
|
||||
execute_process(COMMAND ${WGET_PROG}
|
||||
-P ${CMAKE_BINARY_DIR}/src/Doc
|
||||
${COIN3D_DOC_PATH}/coin.tag
|
||||
)
|
||||
find_file(COIN3D_DOC_TAGFILE coin.tag
|
||||
${CMAKE_BINARY_DIR}/src/Doc
|
||||
)
|
||||
IF( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
SET( COIN3D_DOC_FOUND "YES"
|
||||
)
|
||||
ENDIF( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
|
||||
ENDIF( EXISTS ${WGET_PROG})
|
||||
|
||||
ENDIF( EXISTS ${COIN3D_DOC_TAGFILE})
|
||||
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
# Try to find nglib/netgen
|
||||
# Once done this will define
|
||||
#
|
||||
# NGLIB_INCLUDE_DIR - where the nglib include directory can be found
|
||||
# NGLIB_LIBRARIES - Link this to use nglib
|
||||
# NETGEN_INCLUDE_DIRS - where the netgen include directories can be found
|
||||
#
|
||||
# See also: http://git.salome-platform.org/gitweb/?p=NETGENPLUGIN_SRC.git;a=summary
|
||||
|
||||
# nglib
|
||||
FIND_PATH(NGLIB_INCLUDE_DIR nglib.h /usr/include)
|
||||
FIND_LIBRARY(NGLIB_LIBRARIES nglib /usr/lib /usr/local/lib)
|
||||
|
||||
# netgen headers
|
||||
SET(NETGEN_INCLUDE_DIRS)
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
|
||||
|
||||
SET(NETGENDATA /usr/share/netgen/libsrc)
|
||||
FIND_PATH(NETGEN_DIR_csg csg.hpp PATHS ${NETGENDATA}/csg)
|
||||
FIND_PATH(NETGEN_DIR_gen array.hpp PATHS ${NETGENDATA}/general)
|
||||
FIND_PATH(NETGEN_DIR_geom2d geom2dmesh.hpp PATHS ${NETGENDATA}/geom2d)
|
||||
FIND_PATH(NETGEN_DIR_gprim gprim.hpp PATHS ${NETGENDATA}/gprim)
|
||||
FIND_PATH(NETGEN_DIR_la linalg.hpp PATHS ${NETGENDATA}/linalg)
|
||||
FIND_PATH(NETGEN_DIR_mesh meshing.hpp PATHS ${NETGENDATA}/meshing)
|
||||
FIND_PATH(NETGEN_DIR_occ occgeom.hpp PATHS ${NETGENDATA}/occ)
|
||||
FIND_PATH(NETGEN_DIR_stlgeom stlgeom.hpp PATHS ${NETGENDATA}/stlgeom)
|
||||
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_csg})
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_gen})
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_geom2d})
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_gprim})
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_la})
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_mesh})
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_occ})
|
||||
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_stlgeom})
|
||||
|
||||
@@ -14,8 +14,6 @@ IF (WIN32)
|
||||
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
|
||||
/usr/include/opencascade
|
||||
/usr/local/include/opencascade
|
||||
/opt/opencascade/include
|
||||
/opt/opencascade/inc
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OCC_LIBRARY TKernel
|
||||
@@ -88,8 +86,6 @@ IF(OCC_LIBRARY)
|
||||
TKLCAF
|
||||
TKXDESTEP
|
||||
TKXDEIGES
|
||||
TKMeshVS
|
||||
TKAdvTools
|
||||
)
|
||||
ENDIF(OCC_LIBRARY)
|
||||
|
||||
|
||||
@@ -1,108 +0,0 @@
|
||||
# Locate PyCXX headers and source files
|
||||
|
||||
# This module defines
|
||||
# PYCXX_INCLUDE_DIR
|
||||
# PYCXX_SOURCE_DIR
|
||||
# PYCXX_FOUND
|
||||
# PYCXX_SOURCES
|
||||
#
|
||||
# The PYCXX_*_DIR variables can be set to tell this module where
|
||||
# the files are.
|
||||
|
||||
|
||||
# There's no standard location for PyCXX.
|
||||
#
|
||||
# The authors' example is to put it in "~\" [sic].
|
||||
#
|
||||
# Ubuntu puts the includes into /usr/include/python2.7/CXX and sources into
|
||||
# /usr/share/python2.7/CXX.
|
||||
#
|
||||
# The Zultron Fedora RPM does the same as Ubuntu.
|
||||
|
||||
set(PYCXX_FOUND "YES")
|
||||
|
||||
# find the header directory
|
||||
if(PYCXX_INCLUDE_DIR)
|
||||
# headers better be in there
|
||||
if(NOT EXISTS "${PYCXX_INCLUDE_DIR}/CXX/Config.hxx")
|
||||
if(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
|
||||
"${PYCXX_INCLUDE_DIR}")
|
||||
else(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(WARNING
|
||||
"PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
|
||||
"${PYCXX_INCLUDE_DIR}")
|
||||
unset(PYCXX_FOUND)
|
||||
endif(PyCXX_FIND_REQUIRED)
|
||||
endif(NOT EXISTS "${PYCXX_INCLUDE_DIR}/CXX/Config.hxx")
|
||||
else(PYCXX_INCLUDE_DIR)
|
||||
# check in 'standard' places
|
||||
find_path(PYCXX_INCLUDE_DIR CXX/Config.hxx
|
||||
${PYTHON_INCLUDE_DIR}
|
||||
"${CMAKE_CURRENT_LIST_DIR}/..")
|
||||
if(NOT PYCXX_INCLUDE_DIR)
|
||||
if(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"PyCXX not found; please set PYCXX_INCLUDE_DIR to "
|
||||
"the location of CXX/Config.hxx")
|
||||
else(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(STATUS "PyCXX not found")
|
||||
unset(PYCXX_FOUND)
|
||||
endif(PyCXX_FIND_REQUIRED)
|
||||
endif(NOT PYCXX_INCLUDE_DIR)
|
||||
endif(PYCXX_INCLUDE_DIR)
|
||||
|
||||
# find the sources directory
|
||||
if(PYCXX_SOURCE_DIR)
|
||||
# source directory specified, they'd better be there
|
||||
if(NOT EXISTS "${PYCXX_SOURCE_DIR}/cxxextensions.c")
|
||||
if(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"PyCXX: cxxextensions.c not found in PYCXX_INCLUDE_DIR "
|
||||
"${PYCXX_INCLUDE_DIR}")
|
||||
else(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(WARNING
|
||||
"PyCXX: cxxextensions.c not found in PYCXX_INCLUDE_DIR "
|
||||
"${PYCXX_INCLUDE_DIR}")
|
||||
unset(PYCXX_FOUND)
|
||||
endif(PyCXX_FIND_REQUIRED)
|
||||
endif(NOT EXISTS "${PYCXX_SOURCE_DIR}/cxxextensions.c")
|
||||
else(PYCXX_SOURCE_DIR)
|
||||
# check in 'standard' places
|
||||
find_path(PYCXX_SOURCE_DIR cxxextensions.c
|
||||
"${PYCXX_INCLUDE_DIR}/CXX"
|
||||
"${PYCXX_INCLUDE_DIR}/Src"
|
||||
"${PYTHON_INCLUDE_DIR}/CXX"
|
||||
"${PYTHON_INCLUDE_DIR}/Src"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../Src"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../CXX")
|
||||
if(NOT PYCXX_SOURCE_DIR)
|
||||
if(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"PyCXX not found; please set PYCXX_SOURCE_DIR to "
|
||||
"the location of cxxextensions.c")
|
||||
else(PyCXX_FIND_REQUIRED)
|
||||
MESSAGE(STATUS "PyCXX not found")
|
||||
unset(PYCXX_FOUND)
|
||||
endif(PyCXX_FIND_REQUIRED)
|
||||
endif(NOT PYCXX_SOURCE_DIR)
|
||||
endif(PYCXX_SOURCE_DIR)
|
||||
|
||||
# see what we've got
|
||||
if(PYCXX_FOUND)
|
||||
MESSAGE(STATUS "PyCXX found:")
|
||||
MESSAGE(STATUS " Headers: ${PYCXX_INCLUDE_DIR}")
|
||||
MESSAGE(STATUS " Sources: ${PYCXX_SOURCE_DIR}")
|
||||
|
||||
# Build the list of sources for convenience
|
||||
set(PYCXX_SOURCES
|
||||
${PYCXX_SOURCE_DIR}/cxxextensions.c
|
||||
${PYCXX_SOURCE_DIR}/cxx_extensions.cxx
|
||||
${PYCXX_SOURCE_DIR}/cxxsupport.cxx
|
||||
${PYCXX_SOURCE_DIR}/IndirectPythonInterface.cxx
|
||||
)
|
||||
else(PYCXX_FOUND)
|
||||
MESSAGE(STATUS "PyCXX not found")
|
||||
endif(PYCXX_FOUND)
|
||||
|
||||
+65
-50
@@ -168,14 +168,73 @@ endmacro(generate_from_py)
|
||||
#endmacro(qt4_wrap_ui)
|
||||
|
||||
|
||||
MACRO(ADD_MSVC_PRECOMPILED_HEADER TargetName PrecompiledHeader PrecompiledSource SourcesVar)
|
||||
# This is a special version of the built in macro qt4_add_resources that generates .cpp files
|
||||
#
|
||||
#macro(fc_add_resources outfiles )
|
||||
# #QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
|
||||
# set(ARGN )
|
||||
# foreach (it ${rcc_files})
|
||||
# get_filename_component(outfilename ${it} NAME_WE)
|
||||
# get_filename_component(infile ${it} ABSOLUTE)
|
||||
# get_filename_component(rc_path ${infile} PATH)
|
||||
# set(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cpp)
|
||||
# # parse file for dependencies
|
||||
# # all files are absolute paths or relative to the location of the qrc file
|
||||
# file(READ "${infile}" _RC_FILE_CONTENTS)
|
||||
# string(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
|
||||
# set(_RC_DEPENDS)
|
||||
# foreach(_RC_FILE ${_RC_FILES})
|
||||
# string(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
|
||||
# string(REGEX MATCH "^/|([A-Za-z]:/)" _ABS_PATH_INDICATOR "${_RC_FILE}")
|
||||
# if(NOT _ABS_PATH_INDICATOR)
|
||||
# set(_RC_FILE "${rc_path}/${_RC_FILE}")
|
||||
# endif(NOT _ABS_PATH_INDICATOR)
|
||||
# set(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
|
||||
# endforeach(_RC_FILE)
|
||||
# add_custom_command(OUTPUT ${outfile}
|
||||
# COMMAND ${QT_RCC_EXECUTABLE}
|
||||
# ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
|
||||
# MAIN_DEPENDENCY ${infile}
|
||||
# DEPENDS ${_RC_DEPENDS})
|
||||
# set(${outfiles} ${${outfiles}} ${outfile})
|
||||
# endforeach (it)
|
||||
#endmacro(fc_add_resources)
|
||||
|
||||
MACRO (fc_add_resources outfiles )
|
||||
QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
|
||||
|
||||
FOREACH (it ${rcc_files})
|
||||
GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
|
||||
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT(rc_path ${infile} PATH)
|
||||
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cpp)
|
||||
# parse file for dependencies
|
||||
# all files are absolute paths or relative to the location of the qrc file
|
||||
FILE(READ "${infile}" _RC_FILE_CONTENTS)
|
||||
STRING(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
|
||||
SET(_RC_DEPENDS)
|
||||
FOREACH(_RC_FILE ${_RC_FILES})
|
||||
STRING(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
|
||||
STRING(REGEX MATCH "^/|([A-Za-z]:/)" _ABS_PATH_INDICATOR "${_RC_FILE}")
|
||||
IF(NOT _ABS_PATH_INDICATOR)
|
||||
SET(_RC_FILE "${rc_path}/${_RC_FILE}")
|
||||
ENDIF(NOT _ABS_PATH_INDICATOR)
|
||||
SET(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
|
||||
ENDFOREACH(_RC_FILE)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_RCC_EXECUTABLE}
|
||||
ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
|
||||
MAIN_DEPENDENCY ${infile}
|
||||
DEPENDS ${_RC_DEPENDS})
|
||||
SET(${outfiles} ${${outfiles}} ${outfile})
|
||||
ENDFOREACH (it)
|
||||
|
||||
ENDMACRO (fc_add_resources)
|
||||
|
||||
MACRO(ADD_MSVC_PRECOMPILED_HEADER PrecompiledHeader PrecompiledSource SourcesVar)
|
||||
IF(MSVC)
|
||||
GET_FILENAME_COMPONENT(PrecompiledBasename ${PrecompiledHeader} NAME_WE)
|
||||
IF(MSVC_IDE)
|
||||
SET(PrecompiledBinary "$(IntDir)\\$(TargetName).pch")
|
||||
ELSE(MSVC_IDE)
|
||||
SET(PrecompiledBinary ${CMAKE_CURRENT_BINARY_DIR}/${TargetName}.pch)
|
||||
ENDIF(MSVC_IDE)
|
||||
SET(PrecompiledBinary "$(IntDir)\\$(TargetName).pch")
|
||||
SET(Sources ${${SourcesVar}})
|
||||
|
||||
SET_SOURCE_FILES_PROPERTIES(${PrecompiledSource}
|
||||
@@ -207,47 +266,3 @@ MACRO(GET_MSVC_PRECOMPILED_SOURCE PrecompiledSource SourcesVar)
|
||||
ENDFOREACH (it)
|
||||
ENDIF(MSVC)
|
||||
ENDMACRO(GET_MSVC_PRECOMPILED_SOURCE)
|
||||
|
||||
# Macro to replace all the binary output locations. Takes 2 optional parameters.
|
||||
# ${ARGVN} is zero based so the 3rd element is ${ARGV2}. When the 3rd element is missing,
|
||||
# Runtime and Lib directories default to /bin and /lib. When present, the 3rd element
|
||||
# specifies both Runtime and Lib directories. 4th specifies linux install path.
|
||||
MACRO(SET_BIN_DIR ProjectName OutputName)
|
||||
set_target_properties(${ProjectName} PROPERTIES OUTPUT_NAME ${OutputName})
|
||||
if(${ARGC} GREATER 2)
|
||||
# VS_IDE (and perhaps others) make Release and Debug subfolders. This removes them.
|
||||
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}${ARGV2})
|
||||
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}${ARGV2})
|
||||
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}${ARGV2})
|
||||
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}${ARGV2})
|
||||
else(${ARGC} GREATER 2)
|
||||
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
|
||||
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
|
||||
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
endif(${ARGC} GREATER 2)
|
||||
|
||||
if(WIN32)
|
||||
set_target_properties(${ProjectName} PROPERTIES DEBUG_OUTPUT_NAME ${OutputName}_d)
|
||||
else(WIN32)
|
||||
# FreeCADBase, SMDS, Driver and MEFISTO2 libs don't depend on parts from CMAKE_INSTALL_LIBDIR
|
||||
if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2)$")
|
||||
if(${ARGC} STREQUAL 4)
|
||||
set_target_properties(${ProjectName} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}${ARGV3})
|
||||
else(${ARGC} STREQUAL 4)
|
||||
set_target_properties(${ProjectName} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR})
|
||||
endif(${ARGC} STREQUAL 4)
|
||||
endif(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2)$")
|
||||
endif(WIN32)
|
||||
ENDMACRO(SET_BIN_DIR)
|
||||
|
||||
# Set python prefix & suffix together
|
||||
MACRO(SET_PYTHON_PREFIX_SUFFIX ProjectName)
|
||||
if(NOT MSVC)
|
||||
set_target_properties(${ProjectName} PROPERTIES PREFIX "")
|
||||
endif(NOT MSVC)
|
||||
|
||||
if(WIN32)
|
||||
set_target_properties(${ProjectName} PROPERTIES SUFFIX ".pyd")
|
||||
endif(WIN32)
|
||||
ENDMACRO(SET_PYTHON_PREFIX_SUFFIX)
|
||||
|
||||
@@ -196,8 +196,6 @@ include(AddFileDependencies)
|
||||
|
||||
macro(fc_wrap_cpp outfiles )
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
# fixes bug 0000585: bug with boost 1.48
|
||||
SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
SET(ARGN)
|
||||
foreach(it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
|
||||
@@ -207,8 +207,6 @@ include(AddFileDependencies)
|
||||
|
||||
macro(fc_wrap_cpp outfiles )
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
# fixes bug 0000585: bug with boost 1.48
|
||||
SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
SET(ARGN)
|
||||
foreach(it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
|
||||
+45
-143
@@ -56,32 +56,20 @@ set(ZLIB_LIBRARIES zdll.lib)
|
||||
set(ZLIB_FOUND TRUE)
|
||||
|
||||
# SMESH
|
||||
#set(SMESH_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/smesh)
|
||||
#set(SMESH_LIBRARIES
|
||||
# optimized StdMeshers.lib
|
||||
# optimized MEFISTO2.lib
|
||||
# optimized SMESH.lib
|
||||
# optimized DriverUNV.lib
|
||||
# optimized SMESHDS.lib
|
||||
# optimized NETGENPlugin.lib
|
||||
# optimized DriverSTL.lib
|
||||
# optimized DriverDAT.lib
|
||||
# optimized Driver.lib
|
||||
# optimized SMDS.lib
|
||||
#)
|
||||
#set(SMESH_DEBUG_LIBRARIES
|
||||
# debug StdMeshersd.lib
|
||||
# debug MEFISTO2d.lib
|
||||
# debug SMESHd.lib
|
||||
# debug DriverUNVd.lib
|
||||
# debug SMESHDSd.lib
|
||||
# debug NETGENPlugind.lib
|
||||
# debug DriverSTLd.lib
|
||||
# debug DriverDATd.lib
|
||||
# debug Driverd.lib
|
||||
# debug SMDSd.lib
|
||||
#)
|
||||
#set(SMESH_FOUND TRUE)
|
||||
set(SMESH_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/smesh)
|
||||
set(SMESH_LIBRARIES
|
||||
StdMeshers.lib
|
||||
MEFISTO2.lib
|
||||
SMESH.lib
|
||||
DriverUNV.lib
|
||||
SMESHDS.lib
|
||||
DriverSTL.lib
|
||||
DriverDAT.lib
|
||||
Driver.lib
|
||||
SMDS.lib
|
||||
)
|
||||
|
||||
set(SMESH_FOUND TRUE)
|
||||
|
||||
# Coin3D
|
||||
set(COIN3D_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/coin)
|
||||
@@ -151,25 +139,7 @@ set(QT_RCC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/rcc.exe)
|
||||
set(QT_HELPCOMPILER_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/qhelpgenerator.exe)
|
||||
set(QT_COLLECTIOMGENERATOR_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/qcollectiongenerator.exe)
|
||||
|
||||
if(FREECAD_LIBPACK_USEPYSIDE)
|
||||
# SHIBOKEN_INCLUDE_DIR - Directories to include to use SHIBOKEN
|
||||
# SHIBOKEN_LIBRARY - Files to link against to use SHIBOKEN
|
||||
# SHIBOKEN_BINARY - Executable name
|
||||
|
||||
SET(SHIBOKEN_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/shiboken)
|
||||
SET(SHIBOKEN_LIBRARY optimized ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.6.lib debug ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.6_d.lib)
|
||||
set(SHIBOKEN_BINARY ${FREECAD_LIBPACK_DIR}/bin/shiboken)
|
||||
|
||||
# PYSIDE_INCLUDE_DIR - Directories to include to use PySide
|
||||
# PYSIDE_LIBRARY - Files to link against to use PySide
|
||||
# PYSIDE_PYTHONPATH - Path to where the PySide Python module files could be found
|
||||
# PYSIDE_TYPESYSTEMS - Type system files that should be used by other bindings extending PySide
|
||||
|
||||
SET(PYSIDE_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/PySide)
|
||||
SET(PYSIDE_LIBRARY optimized ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.6.lib debug ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.6_d.lib)
|
||||
#SET(PYSIDE_PYTHONPATH ${FREECAD_LIBPACK_DIR}/pyside/Lib/site-packages)
|
||||
#SET(PYSIDE_TYPESYSTEMS ${FREECAD_LIBPACK_DIR}/pyside/share/PySide/typesystems)
|
||||
endif(FREECAD_LIBPACK_USEPYSIDE)
|
||||
|
||||
MACRO (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options)
|
||||
SET(${_qt4_files})
|
||||
@@ -237,8 +207,6 @@ include(AddFileDependencies)
|
||||
|
||||
macro(fc_wrap_cpp outfiles )
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
# fixes bug 0000585: bug with boost 1.48
|
||||
SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
SET(ARGN)
|
||||
foreach(it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
@@ -313,95 +281,43 @@ set(OPENCV_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/opencv)
|
||||
set(OPENCV_LIBRARIES cv.lib cvaux.lib cxcore.lib cxts.lib highgui.lib)
|
||||
set(OPENCV_FOUND TRUE)
|
||||
|
||||
# NGLIB (NetGen)
|
||||
|
||||
set(NGLIB_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/nglib/Include)
|
||||
set(NGLIB_LIBRARY_DIR
|
||||
${FREECAD_LIBPACK_DIR}/lib
|
||||
)
|
||||
set(NGLIB_LIBRARIES
|
||||
optimized nglib
|
||||
)
|
||||
set(NGLIB_DEBUG_LIBRARIES
|
||||
debug nglibd
|
||||
)
|
||||
|
||||
|
||||
|
||||
# OCC
|
||||
set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/OpenCascade)
|
||||
set(OCC_LIBRARY_DIR
|
||||
${FREECAD_LIBPACK_DIR}/lib
|
||||
)
|
||||
set(OCC_LIBRARIES
|
||||
optimized TKFillet
|
||||
optimized TKMesh
|
||||
optimized TKernel
|
||||
optimized TKG2d
|
||||
optimized TKG3d
|
||||
optimized TKMath
|
||||
optimized TKIGES
|
||||
optimized TKSTL
|
||||
optimized TKShHealing
|
||||
optimized TKXSBase
|
||||
optimized TKBool
|
||||
optimized TKXSBase
|
||||
optimized TKBO
|
||||
optimized TKBRep
|
||||
optimized TKTopAlgo
|
||||
optimized TKGeomAlgo
|
||||
optimized TKGeomBase
|
||||
optimized TKOffset
|
||||
optimized TKPrim
|
||||
optimized TKSTEP
|
||||
optimized TKSTEPBase
|
||||
optimized TKSTEPAttr
|
||||
optimized TKHLR
|
||||
optimized TKFeat
|
||||
TKFillet
|
||||
TKMesh
|
||||
TKernel
|
||||
TKG2d
|
||||
TKG3d
|
||||
TKMath
|
||||
TKIGES
|
||||
TKSTL
|
||||
TKShHealing
|
||||
TKXSBase
|
||||
TKBool
|
||||
TKXSBase
|
||||
TKBO
|
||||
TKBRep
|
||||
TKTopAlgo
|
||||
TKGeomAlgo
|
||||
TKGeomBase
|
||||
TKOffset
|
||||
TKPrim
|
||||
TKSTEP
|
||||
TKSTEPBase
|
||||
TKSTEPAttr
|
||||
TKHLR
|
||||
TKFeat
|
||||
)
|
||||
set(OCC_OCAF_LIBRARIES
|
||||
optimized TKCAF
|
||||
optimized TKXCAF
|
||||
optimized TKLCAF
|
||||
optimized TKXDESTEP
|
||||
optimized TKXDEIGES
|
||||
optimized TKMeshVS
|
||||
optimized TKAdvTools
|
||||
)
|
||||
set(OCC_DEBUG_LIBRARIES
|
||||
debug TKFilletd
|
||||
debug TKMeshd
|
||||
debug TKerneld
|
||||
debug TKG2dd
|
||||
debug TKG3dd
|
||||
debug TKMathd
|
||||
debug TKIGESd
|
||||
debug TKSTLd
|
||||
debug TKShHealingd
|
||||
debug TKXSBased
|
||||
debug TKBoold
|
||||
debug TKXSBased
|
||||
debug TKBOd
|
||||
debug TKBRepd
|
||||
debug TKTopAlgod
|
||||
debug TKGeomAlgod
|
||||
debug TKGeomBased
|
||||
debug TKOffsetd
|
||||
debug TKPrimd
|
||||
debug TKSTEPd
|
||||
debug TKSTEPBased
|
||||
debug TKSTEPAttrd
|
||||
debug TKHLRd
|
||||
debug TKFeatd
|
||||
)
|
||||
set(OCC_OCAF_DEBUG_LIBRARIES
|
||||
debug TKCAFd
|
||||
debug TKXCAFd
|
||||
debug TKLCAFd
|
||||
debug TKXDESTEPd
|
||||
debug TKXDEIGESd
|
||||
debug TKMeshVSd
|
||||
debug TKAdvToolsd
|
||||
TKCAF
|
||||
TKXCAF
|
||||
TKLCAF
|
||||
TKXDESTEP
|
||||
TKXDEIGES
|
||||
)
|
||||
set(OCC_FOUND TRUE)
|
||||
|
||||
@@ -412,19 +328,5 @@ SET(EIGEN3_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen3)
|
||||
set(EIGEN3_FOUND TRUE)
|
||||
|
||||
|
||||
# FreeType
|
||||
if(FREECAD_USE_FREETYPE)
|
||||
set(FREETYPE_LIBRARIES
|
||||
optimized ${FREECAD_LIBPACK_DIR}/lib/freetype.lib
|
||||
debug ${FREECAD_LIBPACK_DIR}/lib/freetyped.lib
|
||||
)
|
||||
set(FREETYPE_INCLUDE_DIRS
|
||||
${FREECAD_LIBPACK_DIR}/include/FreeType-2.4.12
|
||||
)
|
||||
set(FREETYPE_VERSION_STRING
|
||||
"2.4.12"
|
||||
)
|
||||
set(FREETYPE_FOUND
|
||||
TRUE
|
||||
)
|
||||
endif(FREECAD_USE_FREETYPE)
|
||||
|
||||
|
||||
|
||||
@@ -1,473 +0,0 @@
|
||||
# ================================================================================
|
||||
# == Win32 is default behaviour use the LibPack copied in Source tree ============
|
||||
|
||||
# --------------------------------------------------------------------------------
|
||||
# General includes
|
||||
|
||||
link_directories(${FREECAD_LIBPACK_DIR}/lib)
|
||||
include_directories(${FREECAD_LIBPACK_DIR}/include)
|
||||
|
||||
# OpenGL
|
||||
set(OPENGL_gl_LIBRARY opengl32 glu32)
|
||||
|
||||
# Python
|
||||
set(PYTHON_DEBUG_LIBRARY python27_d.lib)
|
||||
set(PYTHON_LIBRARY python27.lib)
|
||||
set(PYTHON_INCLUDE_PATH ${FREECAD_LIBPACK_DIR}/include/Python-2.7.6)
|
||||
set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
|
||||
set(PYTHONLIBS_FOUND TRUE)
|
||||
|
||||
# XercesC
|
||||
set(XERCESC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/xerces-c-3.1.0)
|
||||
set(XERCESC_LIBRARIES xerces-c_3.lib)
|
||||
set(XERCESC_DEBUG_LIBRARIES xerces-c_3D.lib)
|
||||
set(XERCESC_FOUND TRUE)
|
||||
|
||||
# Boost
|
||||
set(Boost_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/boost-1_54)
|
||||
set(Boost_LIBRARIES
|
||||
optimized boost_filesystem-vc90-mt-1_54.lib
|
||||
optimized boost_system-vc90-mt-1_54.lib
|
||||
optimized boost_graph-vc90-mt-1_54.lib
|
||||
optimized boost_program_options-vc90-mt-1_54.lib
|
||||
optimized boost_regex-vc90-mt-1_54.lib
|
||||
optimized boost_signals-vc90-mt-1_54.lib
|
||||
optimized boost_thread-vc90-mt-1_54.lib
|
||||
)
|
||||
set(Boost_DEBUG_LIBRARIES
|
||||
debug boost_filesystem-vc90-mt-gd-1_54.lib
|
||||
debug boost_system-vc90-mt-gd-1_54.lib
|
||||
debug boost_graph-vc90-mt-gd-1_54.lib
|
||||
debug boost_program_options-vc90-mt-gd-1_54.lib
|
||||
debug boost_regex-vc90-mt-gd-1_54.lib
|
||||
debug boost_signals-vc90-mt-gd-1_54.lib
|
||||
debug boost_thread-vc90-mt-gd-1_54.lib
|
||||
)
|
||||
set(Boost_FOUND TRUE)
|
||||
|
||||
# Zlib
|
||||
set(ZLIB_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/zlib-1.2.3)
|
||||
set(ZLIB_LIBRARIES zdll.lib)
|
||||
set(ZLIB_FOUND TRUE)
|
||||
|
||||
# SMESH
|
||||
set(SMESH_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/smesh)
|
||||
set(SMESH_LIBRARIES
|
||||
StdMeshers.lib
|
||||
MEFISTO2.lib
|
||||
SMESH.lib
|
||||
DriverUNV.lib
|
||||
SMESHDS.lib
|
||||
DriverSTL.lib
|
||||
DriverDAT.lib
|
||||
Driver.lib
|
||||
SMDS.lib
|
||||
)
|
||||
|
||||
set(SMESH_FOUND TRUE)
|
||||
|
||||
# Coin3D
|
||||
find_path(COIN3D_INCLUDE_DIR Inventor/So.h
|
||||
${FREECAD_LIBPACK_DIR}/include/Coin-2.4.5
|
||||
)
|
||||
find_path(COIN3D_INCLUDE_DIR Inventor/So.h
|
||||
${FREECAD_LIBPACK_DIR}/include/Coin-4.0.0
|
||||
)
|
||||
find_library(COIN3D_LIBRARY_RELEASE coin2
|
||||
"${FREECAD_LIBPACK_DIR}/lib"
|
||||
)
|
||||
find_library(COIN3D_LIBRARY_DEBUG coin2d
|
||||
"${FREECAD_LIBPACK_DIR}/lib"
|
||||
)
|
||||
find_library(COIN3D_LIBRARY_RELEASE coin4
|
||||
"${FREECAD_LIBPACK_DIR}/lib"
|
||||
)
|
||||
find_library(COIN3D_LIBRARY_DEBUG coin4d
|
||||
"${FREECAD_LIBPACK_DIR}/lib"
|
||||
)
|
||||
|
||||
set(COIN3D_FOUND TRUE)
|
||||
|
||||
|
||||
# QT
|
||||
set(QT_INCLUDE_DIR
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/Qt
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtCore
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtGui
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtDesigner
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtSvg
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtNetwork
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtSql
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtTest
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtUiTools
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtXml
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtOpenGl
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtWebKit
|
||||
)
|
||||
|
||||
set(QT_QTCORE_INCLUDE_DIR
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtCore
|
||||
)
|
||||
|
||||
set(QT_QT3SUPPORT_INCLUDE_DIR
|
||||
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/Qt3Support
|
||||
)
|
||||
|
||||
set(QT_LIBRARIES
|
||||
optimized QtCore4.lib
|
||||
optimized QtGui4.lib
|
||||
optimized QtDesigner4.lib
|
||||
optimized QtSvg4.lib
|
||||
optimized QtNetwork4.lib
|
||||
optimized QtSql4.lib
|
||||
optimized QtTest4.lib
|
||||
optimized QtXml4.lib
|
||||
optimized QtOpenGl4.lib
|
||||
optimized QtWebKit4.lib
|
||||
)
|
||||
set(QT_DEBUG_LIBRARIES
|
||||
debug QtCored4.lib
|
||||
debug QtGuid4.lib
|
||||
debug QtDesignerd4.lib
|
||||
debug QtSvgd4.lib
|
||||
debug QtNetworkd4.lib
|
||||
debug QtSqld4.lib
|
||||
debug QtTestd4.lib
|
||||
debug QtXmld4.lib
|
||||
debug QtOpenGld4.lib
|
||||
debug QtWebKitd4.lib
|
||||
)
|
||||
|
||||
set(QT_QTCORE_LIBRARY_DEBUG
|
||||
debug QtCored4.lib
|
||||
)
|
||||
|
||||
set(QT_QTCORE_LIBRARY
|
||||
optimized QtCore4.lib
|
||||
)
|
||||
|
||||
set(QT_QT3SUPPORT_LIBRARY_DEBUG
|
||||
debug Qt3Supportd4.lib
|
||||
)
|
||||
|
||||
set(QT_QT3SUPPORT_LIBRARY
|
||||
optimized Qt3Support4.lib
|
||||
)
|
||||
|
||||
set(QT_UIC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/uic.exe)
|
||||
set(QT_MOC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/moc.exe)
|
||||
set(QT_RCC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/rcc.exe)
|
||||
set(QT_HELPCOMPILER_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/qhelpgenerator.exe)
|
||||
set(QT_COLLECTIOMGENERATOR_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/qcollectiongenerator.exe)
|
||||
|
||||
|
||||
|
||||
MACRO (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options)
|
||||
SET(${_qt4_files})
|
||||
SET(${_qt4_options})
|
||||
#SET(_QT4_DOING_OPTIONS FALSE)
|
||||
FOREACH(_currentArg ${ARGN})
|
||||
# IF ("${_currentArg}" STREQUAL "OPTIONS")
|
||||
# SET(_QT4_DOING_OPTIONS TRUE)
|
||||
# ELSE ("${_currentArg}" STREQUAL "OPTIONS")
|
||||
# IF(_QT4_DOING_OPTIONS)
|
||||
# LIST(APPEND ${_qt4_options} "${_currentArg}")
|
||||
# ELSE(_QT4_DOING_OPTIONS)
|
||||
LIST(APPEND ${_qt4_files} "${_currentArg}")
|
||||
# ENDIF(_QT4_DOING_OPTIONS)
|
||||
# ENDIF ("${_currentArg}" STREQUAL "OPTIONS")
|
||||
ENDFOREACH(_currentArg)
|
||||
ENDMACRO (QT4_EXTRACT_OPTIONS)
|
||||
|
||||
# macro used to create the names of output files preserving relative dirs
|
||||
MACRO (QT4_MAKE_OUTPUT_FILE infile prefix ext outfile )
|
||||
STRING(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
|
||||
STRING(LENGTH ${infile} _infileLength)
|
||||
SET(_checkinfile ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
IF(_infileLength GREATER _binlength)
|
||||
STRING(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
|
||||
IF(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
|
||||
ELSE(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
|
||||
ENDIF(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
ELSE(_infileLength GREATER _binlength)
|
||||
FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
|
||||
ENDIF(_infileLength GREATER _binlength)
|
||||
SET(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
|
||||
STRING(REPLACE ".." "__" _outfile ${_outfile})
|
||||
GET_FILENAME_COMPONENT(outpath ${_outfile} PATH)
|
||||
GET_FILENAME_COMPONENT(_outfile ${_outfile} NAME_WE)
|
||||
FILE(MAKE_DIRECTORY ${outpath})
|
||||
SET(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
|
||||
ENDMACRO (QT4_MAKE_OUTPUT_FILE )
|
||||
|
||||
MACRO (QT4_WRAP_CPP outfiles )
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
SET(ARGN)
|
||||
foreach(it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_MOC_EXECUTABLE}
|
||||
ARGS ${moc_options} ${it} -o ${outfile}
|
||||
MAIN_DEPENDENCY ${it}
|
||||
)
|
||||
SET(${outfiles} ${${outfiles}} ${outfile})
|
||||
endforeach(it)
|
||||
ENDMACRO (QT4_WRAP_CPP)
|
||||
|
||||
|
||||
# This is a special version of the built in macro qt4_wrap_cpp
|
||||
# It is required since moc'ed files are now included instead of being added to projects directly
|
||||
# It adds a reverse dependency to solve this
|
||||
# This has the unfortunate side effect that some files are always rebuilt
|
||||
# There is probably a cleaner solution than this
|
||||
|
||||
include(AddFileDependencies)
|
||||
|
||||
macro(fc_wrap_cpp outfiles )
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
# fixes bug 0000585: bug with boost 1.48
|
||||
SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
SET(ARGN)
|
||||
foreach(it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_MOC_EXECUTABLE}
|
||||
ARGS ${moc_options} ${it} -o ${outfile}
|
||||
MAIN_DEPENDENCY ${it}
|
||||
)
|
||||
SET(${outfiles} ${${outfiles}} ${outfile})
|
||||
add_file_dependencies(${it} ${outfile})
|
||||
endforeach(it)
|
||||
endmacro(fc_wrap_cpp)
|
||||
|
||||
|
||||
MACRO (QT4_ADD_RESOURCES outfiles )
|
||||
QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
|
||||
SET(ARGN)
|
||||
FOREACH (it ${rcc_files})
|
||||
GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
|
||||
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT(rc_path ${infile} PATH)
|
||||
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx)
|
||||
# parse file for dependencies
|
||||
# all files are absolute paths or relative to the location of the qrc file
|
||||
FILE(READ "${infile}" _RC_FILE_CONTENTS)
|
||||
STRING(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
|
||||
SET(_RC_DEPENDS)
|
||||
FOREACH(_RC_FILE ${_RC_FILES})
|
||||
STRING(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
|
||||
STRING(REGEX MATCH "^/|([A-Za-z]:/)" _ABS_PATH_INDICATOR "${_RC_FILE}")
|
||||
IF(NOT _ABS_PATH_INDICATOR)
|
||||
SET(_RC_FILE "${rc_path}/${_RC_FILE}")
|
||||
ENDIF(NOT _ABS_PATH_INDICATOR)
|
||||
SET(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
|
||||
ENDFOREACH(_RC_FILE)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_RCC_EXECUTABLE}
|
||||
ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
|
||||
MAIN_DEPENDENCY ${infile}
|
||||
DEPENDS ${_RC_DEPENDS})
|
||||
SET(${outfiles} ${${outfiles}} ${outfile})
|
||||
ENDFOREACH (it)
|
||||
ENDMACRO (QT4_ADD_RESOURCES)
|
||||
|
||||
MACRO (QT4_WRAP_UI outfiles )
|
||||
QT4_EXTRACT_OPTIONS(ui_files ui_options ${ARGN})
|
||||
|
||||
FOREACH (it ${ui_files})
|
||||
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
|
||||
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
|
||||
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_UIC_EXECUTABLE}
|
||||
ARGS -o ${outfile} ${infile}
|
||||
MAIN_DEPENDENCY ${infile})
|
||||
SET(${outfiles} ${${outfiles}} ${outfile})
|
||||
ENDFOREACH (it)
|
||||
ENDMACRO (QT4_WRAP_UI)
|
||||
|
||||
|
||||
set(QT4_FOUND TRUE)
|
||||
|
||||
# SoQt
|
||||
set(SOQT_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/SoQt-1.6.0)
|
||||
set(SOQT_LIBRARY_RELEASE soqt1.lib)
|
||||
set(SOQT_LIBRARY_DEBUG soqt1d.lib)
|
||||
set(SOQT_FOUND TRUE)
|
||||
|
||||
# OpenCV
|
||||
set(OPENCV_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/opencv)
|
||||
set(OPENCV_LIBRARIES cv.lib cvaux.lib cxcore.lib cxts.lib highgui.lib)
|
||||
set(OPENCV_FOUND TRUE)
|
||||
|
||||
# NGLIB (NetGen)
|
||||
|
||||
set(NGLIB_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/nglib/include)
|
||||
set(NGLIB_LIBRARY_DIR
|
||||
${FREECAD_LIBPACK_DIR}/lib
|
||||
)
|
||||
set(NGLIB_LIBRARIES
|
||||
optimized nglib
|
||||
)
|
||||
set(NGLIB_DEBUG_LIBRARIES
|
||||
debug nglibd
|
||||
)
|
||||
|
||||
# OCC
|
||||
#set(OCC_INCLUDE_DIR C:/Projects/LibPack/oce-0.10.0/include/oce)
|
||||
#set(OCC_LIBRARY_DIR C:/Projects/LibPack/oce-0.10.0/Win64/lib)
|
||||
#set(OCC_LIBRARIES
|
||||
# ${OCC_LIBRARY_DIR}/TKFillet.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKMesh.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKernel.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKG2d.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKG3d.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKMath.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKIGES.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTL.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKShHealing.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXSBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBool.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBO.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBRep.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKTopAlgo.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKGeomAlgo.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKGeomBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKOffset.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKPrim.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEP.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEPBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEPAttr.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKHLR.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKFeat.lib
|
||||
#)
|
||||
#set(OCC_OCAF_LIBRARIES
|
||||
# ${OCC_LIBRARY_DIR}/TKCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKLCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXDESTEP.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXDEIGES.lib
|
||||
#)
|
||||
set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/oce-0.13)
|
||||
set(OCC_LIBRARY_DIR ${FREECAD_LIBPACK_DIR}/lib)
|
||||
set(OCC_LIBRARIES
|
||||
optimized TKFillet
|
||||
optimized TKMesh
|
||||
optimized TKernel
|
||||
optimized TKG2d
|
||||
optimized TKG3d
|
||||
optimized TKMath
|
||||
optimized TKIGES
|
||||
optimized TKSTL
|
||||
optimized TKShHealing
|
||||
optimized TKXSBase
|
||||
optimized TKBool
|
||||
optimized TKBO
|
||||
optimized TKBRep
|
||||
optimized TKTopAlgo
|
||||
optimized TKGeomAlgo
|
||||
optimized TKGeomBase
|
||||
optimized TKOffset
|
||||
optimized TKPrim
|
||||
optimized TKSTEP
|
||||
optimized TKSTEPBase
|
||||
optimized TKSTEPAttr
|
||||
optimized TKHLR
|
||||
optimized TKFeat
|
||||
)
|
||||
set(OCC_DEBUG_LIBRARIES
|
||||
debug TKFilletd
|
||||
debug TKMeshd
|
||||
debug TKerneld
|
||||
debug TKG2dd
|
||||
debug TKG3dd
|
||||
debug TKMathd
|
||||
debug TKIGESd
|
||||
debug TKSTLd
|
||||
debug TKShHealingd
|
||||
debug TKXSBased
|
||||
debug TKBoold
|
||||
debug TKBOd
|
||||
debug TKBRepd
|
||||
debug TKTopAlgod
|
||||
debug TKGeomAlgod
|
||||
debug TKGeomBased
|
||||
debug TKOffsetd
|
||||
debug TKPrimd
|
||||
debug TKSTEPd
|
||||
debug TKSTEPBased
|
||||
debug TKSTEPAttrd
|
||||
debug TKHLRd
|
||||
debug TKFeatd
|
||||
)
|
||||
set(OCC_OCAF_LIBRARIES
|
||||
optimized TKCAF
|
||||
optimized TKXCAF
|
||||
optimized TKLCAF
|
||||
optimized TKXDESTEP
|
||||
optimized TKXDEIGES
|
||||
optimized TKMeshVS
|
||||
optimized TKAdvTools
|
||||
)
|
||||
set(OCC_OCAF_DEBUG_LIBRARIES
|
||||
debug TKCAFd
|
||||
debug TKXCAFd
|
||||
debug TKLCAFd
|
||||
debug TKXDESTEPd
|
||||
debug TKXDEIGESd
|
||||
debug TKMeshVSd
|
||||
debug TKAdvToolsd
|
||||
)
|
||||
set(OCC_FOUND TRUE)
|
||||
|
||||
set(EIGEN2_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen2)
|
||||
set(EIGEN2_FOUND TRUE)
|
||||
|
||||
set(EIGEN3_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen3)
|
||||
set(EIGEN3_FOUND TRUE)
|
||||
|
||||
set(ODE_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/ode-0.11.1)
|
||||
set(ODE_LIBRARIES ${FREECAD_LIBPACK_DIR}/lib/ode_double.lib)
|
||||
set(ODE_FOUND TRUE)
|
||||
|
||||
# FreeType
|
||||
if(FREECAD_USE_FREETYPE)
|
||||
set(FREETYPE_LIBRARIES
|
||||
optimized ${FREECAD_LIBPACK_DIR}/lib/freetype.lib
|
||||
debug ${FREECAD_LIBPACK_DIR}/lib/freetyped.lib
|
||||
)
|
||||
set(FREETYPE_INCLUDE_DIRS
|
||||
${FREECAD_LIBPACK_DIR}/include/FreeType-2.4.12
|
||||
)
|
||||
set(FREETYPE_VERSION_STRING
|
||||
"2.4.12"
|
||||
)
|
||||
set(FREETYPE_FOUND
|
||||
TRUE
|
||||
)
|
||||
endif(FREECAD_USE_FREETYPE)
|
||||
|
||||
|
||||
# SHIBOKEN_INCLUDE_DIR - Directories to include to use SHIBOKEN
|
||||
# SHIBOKEN_LIBRARY - Files to link against to use SHIBOKEN
|
||||
# SHIBOKEN_BINARY - Executable name
|
||||
|
||||
SET(SHIBOKEN_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/shiboken-1.2.1)
|
||||
SET(SHIBOKEN_LIBRARY optimized ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.7.lib debug ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.7_d.lib)
|
||||
set(SHIBOKEN_BINARY ${FREECAD_LIBPACK_DIR}/bin/shiboken)
|
||||
|
||||
# PYSIDE_INCLUDE_DIR - Directories to include to use PySide
|
||||
# PYSIDE_LIBRARY - Files to link against to use PySide
|
||||
# PYSIDE_PYTHONPATH - Path to where the PySide Python module files could be found
|
||||
# PYSIDE_TYPESYSTEMS - Type system files that should be used by other bindings extending PySide
|
||||
|
||||
SET(PYSIDE_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/PySide-1.2.1)
|
||||
SET(PYSIDE_LIBRARY optimized ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7.lib debug ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7_d.lib)
|
||||
SET(PYSIDE_PYTHONPATH ${FREECAD_LIBPACK_DIR}/pyside/Lib/site-packages)
|
||||
SET(PYSIDE_TYPESYSTEMS ${FREECAD_LIBPACK_DIR}/pyside/share/PySide/typesystems)
|
||||
@@ -230,8 +230,6 @@ include(AddFileDependencies)
|
||||
|
||||
macro(fc_wrap_cpp outfiles )
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
# fixes bug 0000585: bug with boost 1.48
|
||||
SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
SET(ARGN)
|
||||
foreach(it ${moc_files})
|
||||
get_filename_component(it ${it} ABSOLUTE)
|
||||
@@ -306,89 +304,74 @@ set(OPENCV_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/opencv)
|
||||
set(OPENCV_LIBRARIES cv.lib cvaux.lib cxcore.lib cxts.lib highgui.lib)
|
||||
set(OPENCV_FOUND TRUE)
|
||||
|
||||
# NGLIB (NetGen)
|
||||
|
||||
set(NGLIB_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/nglib/include)
|
||||
set(NGLIB_LIBRARY_DIR
|
||||
${FREECAD_LIBPACK_DIR}/lib
|
||||
)
|
||||
set(NGLIB_LIBRARIES
|
||||
optimized nglib
|
||||
)
|
||||
set(NGLIB_DEBUG_LIBRARIES
|
||||
debug nglibd
|
||||
)
|
||||
|
||||
# OCC
|
||||
#set(OCC_INCLUDE_DIR C:/Projects/LibPack/oce-0.10.0/include/oce)
|
||||
#set(OCC_LIBRARY_DIR C:/Projects/LibPack/oce-0.10.0/Win64/lib)
|
||||
#set(OCC_LIBRARIES
|
||||
# ${OCC_LIBRARY_DIR}/TKFillet.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKMesh.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKernel.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKG2d.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKG3d.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKMath.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKIGES.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTL.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKShHealing.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXSBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBool.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBO.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBRep.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKTopAlgo.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKGeomAlgo.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKGeomBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKOffset.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKPrim.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEP.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEPBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEPAttr.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKHLR.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKFeat.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKFillet.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKMesh.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKernel.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKG2d.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKG3d.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKMath.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKIGES.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTL.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKShHealing.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXSBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBool.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBO.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKBRep.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKTopAlgo.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKGeomAlgo.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKGeomBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKOffset.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKPrim.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEP.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEPBase.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKSTEPAttr.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKHLR.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKFeat.lib
|
||||
#)
|
||||
#set(OCC_OCAF_LIBRARIES
|
||||
# ${OCC_LIBRARY_DIR}/TKCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKLCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXDESTEP.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXDEIGES.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKLCAF.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXDESTEP.lib
|
||||
# ${OCC_LIBRARY_DIR}/TKXDEIGES.lib
|
||||
#)
|
||||
set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/OpenCascade-6.3.0)
|
||||
set(OCC_LIBRARY_DIR ${FREECAD_LIBPACK_DIR}/lib)
|
||||
set(OCC_LIBRARIES
|
||||
TKFillet
|
||||
TKMesh
|
||||
TKernel
|
||||
TKG2d
|
||||
TKG3d
|
||||
TKMath
|
||||
TKIGES
|
||||
TKSTL
|
||||
TKShHealing
|
||||
TKXSBase
|
||||
TKBool
|
||||
TKBO
|
||||
TKBRep
|
||||
TKTopAlgo
|
||||
TKGeomAlgo
|
||||
TKGeomBase
|
||||
TKOffset
|
||||
TKPrim
|
||||
TKSTEP
|
||||
TKSTEPBase
|
||||
TKSTEPAttr
|
||||
TKHLR
|
||||
TKFeat
|
||||
TKFillet
|
||||
TKMesh
|
||||
TKernel
|
||||
TKG2d
|
||||
TKG3d
|
||||
TKMath
|
||||
TKIGES
|
||||
TKSTL
|
||||
TKShHealing
|
||||
TKXSBase
|
||||
TKBool
|
||||
TKBO
|
||||
TKBRep
|
||||
TKTopAlgo
|
||||
TKGeomAlgo
|
||||
TKGeomBase
|
||||
TKOffset
|
||||
TKPrim
|
||||
TKSTEP
|
||||
TKSTEPBase
|
||||
TKSTEPAttr
|
||||
TKHLR
|
||||
TKFeat
|
||||
)
|
||||
set(OCC_OCAF_LIBRARIES
|
||||
TKCAF
|
||||
TKXCAF
|
||||
TKLCAF
|
||||
TKXDESTEP
|
||||
TKXDEIGES
|
||||
TKMeshVS
|
||||
TKAdvTools
|
||||
TKCAF
|
||||
TKXCAF
|
||||
TKLCAF
|
||||
TKXDESTEP
|
||||
TKXDEIGES
|
||||
)
|
||||
set(OCC_FOUND TRUE)
|
||||
|
||||
@@ -402,19 +385,5 @@ set(ODE_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/ode-0.11.1)
|
||||
set(ODE_LIBRARIES ${FREECAD_LIBPACK_DIR}/lib/ode_double.lib)
|
||||
set(ODE_FOUND TRUE)
|
||||
|
||||
# FreeType
|
||||
if(FREECAD_USE_FREETYPE)
|
||||
set(FREETYPE_LIBRARIES
|
||||
optimized ${FREECAD_LIBPACK_DIR}/lib/freetype.lib
|
||||
debug ${FREECAD_LIBPACK_DIR}/lib/freetyped.lib
|
||||
)
|
||||
set(FREETYPE_INCLUDE_DIRS
|
||||
${FREECAD_LIBPACK_DIR}/include/FreeType-2.4.12
|
||||
)
|
||||
set(FREETYPE_VERSION_STRING
|
||||
"2.4.12"
|
||||
)
|
||||
set(FREETYPE_FOUND
|
||||
TRUE
|
||||
)
|
||||
endif(FREECAD_USE_FREETYPE)
|
||||
|
||||
|
||||
|
||||
@@ -12,133 +12,7 @@ ADD_CUSTOM_TARGET(Example_data ALL
|
||||
SOURCES ${Examples_Files}
|
||||
)
|
||||
|
||||
# 0001097: CMake stops with error "Circular ... <- ... dependency dropped."
|
||||
if(NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
||||
fc_copy_sources(Example_data "${CMAKE_BINARY_DIR}/data/examples" ${Examples_Files})
|
||||
endif()
|
||||
|
||||
if (WIN32 AND FREECAD_LIBPACK_USE)
|
||||
# pivy
|
||||
foreach (it ${FREECAD_LIBPACK_PIVY_COIN})
|
||||
get_filename_component(libfile ${it} NAME)
|
||||
set(out "${CMAKE_BINARY_DIR}/lib/pivy/${libfile}")
|
||||
add_custom_command(
|
||||
DEPENDS ${it}
|
||||
OUTPUT ${out}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${it} ${out}
|
||||
MAIN_DEPENDENCY ${it}
|
||||
COMMENT "Copy file to ${out}"
|
||||
)
|
||||
endforeach (it)
|
||||
SOURCE_GROUP("pivy" FILES ${FREECAD_LIBPACK_PIVY_COIN})
|
||||
|
||||
# pivy/gui
|
||||
foreach (it ${FREECAD_LIBPACK_PIVY_SOQT})
|
||||
get_filename_component(libfile ${it} NAME)
|
||||
set(out "${CMAKE_BINARY_DIR}/lib/pivy/gui/${libfile}")
|
||||
add_custom_command(
|
||||
DEPENDS ${it}
|
||||
OUTPUT ${out}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${it} ${out}
|
||||
MAIN_DEPENDENCY ${it}
|
||||
COMMENT "Copy file to ${out}"
|
||||
)
|
||||
endforeach (it)
|
||||
SOURCE_GROUP("pivy\\gui" FILES ${FREECAD_LIBPACK_PIVY_SOQT})
|
||||
|
||||
# shiboken
|
||||
foreach (it ${FREECAD_LIBPACK_SHIBOKEN})
|
||||
get_filename_component(libfile ${it} NAME)
|
||||
set(out "${CMAKE_BINARY_DIR}/lib/${libfile}")
|
||||
add_custom_command(
|
||||
DEPENDS ${it}
|
||||
OUTPUT ${out}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${it} ${out}
|
||||
MAIN_DEPENDENCY ${it}
|
||||
COMMENT "Copy file to ${out}"
|
||||
)
|
||||
endforeach (it)
|
||||
SOURCE_GROUP("Shiboken" FILES ${FREECAD_LIBPACK_SHIBOKEN})
|
||||
|
||||
# PySide
|
||||
foreach (it ${FREECAD_LIBPACK_PYSIDE})
|
||||
get_filename_component(libfile ${it} NAME)
|
||||
set(out "${CMAKE_BINARY_DIR}/lib/PySide/${libfile}")
|
||||
add_custom_command(
|
||||
DEPENDS ${it}
|
||||
OUTPUT ${out}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${it} ${out}
|
||||
MAIN_DEPENDENCY ${it}
|
||||
COMMENT "Copy file to ${out}"
|
||||
)
|
||||
endforeach (it)
|
||||
SOURCE_GROUP("PySide" FILES ${FREECAD_LIBPACK_PYSIDE})
|
||||
|
||||
# PySide tools
|
||||
foreach (it ${FREECAD_LIBPACK_PYSIDEUIC})
|
||||
get_filename_component(libpath ${it} PATH)
|
||||
set(src "${FREECAD_LIBPACK_PYSIDEUIC_REL}/${it}")
|
||||
if("${libpath}" STREQUAL "pysideuic")
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_TOP ${FREECAD_LIBPACK_PYSIDEUIC_TOP} ${src})
|
||||
elseif("${libpath}" STREQUAL "pysideuic/Compiler")
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_CMP ${FREECAD_LIBPACK_PYSIDEUIC_CMP} ${src})
|
||||
elseif("${libpath}" STREQUAL "pysideuic/port_v2")
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_PV2 ${FREECAD_LIBPACK_PYSIDEUIC_PV2} ${src})
|
||||
elseif("${libpath}" STREQUAL "pysideuic/port_v3")
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_PV3 ${FREECAD_LIBPACK_PYSIDEUIC_PV3} ${src})
|
||||
elseif("${libpath}" STREQUAL "pysideuic/widget-plugins")
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_WPL ${FREECAD_LIBPACK_PYSIDEUIC_WPL} ${src})
|
||||
else()
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_OTH ${FREECAD_LIBPACK_PYSIDEUIC_OTH} ${src})
|
||||
endif()
|
||||
set(FREECAD_LIBPACK_PYSIDEUIC_ABS ${FREECAD_LIBPACK_PYSIDEUIC_ABS} ${src})
|
||||
set(out "${CMAKE_BINARY_DIR}/lib/${it}")
|
||||
add_custom_command(
|
||||
DEPENDS ${src}
|
||||
OUTPUT ${out}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${src} ${out}
|
||||
MAIN_DEPENDENCY ${src}
|
||||
COMMENT "Copy file to ${out}"
|
||||
)
|
||||
endforeach (it)
|
||||
SOURCE_GROUP("PySide tools" FILES ${FREECAD_LIBPACK_PYSIDEUIC_OTH})
|
||||
SOURCE_GROUP("PySide tools\\pysideuic" FILES ${FREECAD_LIBPACK_PYSIDEUIC_TOP})
|
||||
SOURCE_GROUP("PySide tools\\pysideuic\\Compiler" FILES ${FREECAD_LIBPACK_PYSIDEUIC_CMP})
|
||||
SOURCE_GROUP("PySide tools\\pysideuic\\port_v2" FILES ${FREECAD_LIBPACK_PYSIDEUIC_PV2})
|
||||
SOURCE_GROUP("PySide tools\\pysideuic\\port_v3" FILES ${FREECAD_LIBPACK_PYSIDEUIC_PV3})
|
||||
SOURCE_GROUP("PySide tools\\pysideuic\\widget-plugins" FILES ${FREECAD_LIBPACK_PYSIDEUIC_WPL})
|
||||
|
||||
# Python extension modules
|
||||
foreach (it ${FREECAD_LIBPACK_PYTHON})
|
||||
get_filename_component(libfile ${it} NAME)
|
||||
set(out "${CMAKE_BINARY_DIR}/lib/${libfile}")
|
||||
add_custom_command(
|
||||
DEPENDS ${it}
|
||||
OUTPUT ${out}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${it} ${out}
|
||||
MAIN_DEPENDENCY ${it}
|
||||
COMMENT "Copy file to ${out}"
|
||||
)
|
||||
endforeach (it)
|
||||
SOURCE_GROUP("Python" FILES ${FREECAD_LIBPACK_PYTHON})
|
||||
|
||||
set(FREECAD_LIBPACK_FILES
|
||||
${FREECAD_LIBPACK_PIVY_COIN}
|
||||
${FREECAD_LIBPACK_PIVY_SOQT}
|
||||
${FREECAD_LIBPACK_SHIBOKEN}
|
||||
${FREECAD_LIBPACK_PYSIDE}
|
||||
${FREECAD_LIBPACK_PYSIDEUIC_ABS}
|
||||
${FREECAD_LIBPACK_PYTHON}
|
||||
)
|
||||
add_custom_target(LibPack_Files ALL SOURCES ${FREECAD_LIBPACK_FILES})
|
||||
|
||||
endif(WIN32 AND FREECAD_LIBPACK_USE)
|
||||
fc_copy_sources(Examples "${CMAKE_BINARY_DIR}/data/examples" ${Examples_Files})
|
||||
|
||||
INSTALL(
|
||||
FILES
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,220 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1');
|
||||
FILE_NAME('gasket1.p21','1994-12-14 T10:00:00',
|
||||
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'),
|
||||
('Industrial Technology Institute',
|
||||
'P.O. Box 1485',
|
||||
'Ann Arbor',
|
||||
'Michigan',
|
||||
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar');
|
||||
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=PRODUCT('11113','Flat Ring Gasket','Description for part 11113',(#2));
|
||||
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical');
|
||||
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design');
|
||||
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3);
|
||||
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1));
|
||||
#5=PERSON_AND_ORGANIZATION(#6,#7);
|
||||
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$);
|
||||
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center');
|
||||
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner');
|
||||
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11113',(#1));
|
||||
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11113',#1,.BOUGHT.);
|
||||
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10));
|
||||
#13=PERSON_AND_ORGANIZATION(#14,#7);
|
||||
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$);
|
||||
#15=PERSON_AND_ORGANIZATION_ROLE('creator');
|
||||
#44=CC_DESIGN_APPROVAL(#45,(#10));
|
||||
#45=APPROVAL(#46,'Approved as initial STEP test case part');
|
||||
#46=APPROVAL_STATUS('approved');
|
||||
#47=APPROVAL_DATE_TIME(#48,#45);
|
||||
#48=DATE_AND_TIME(#50,#51);
|
||||
#50=CALENDAR_DATE(1993,17,7);
|
||||
#51=LOCAL_TIME(13,29,52.0,#29);
|
||||
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72);
|
||||
#70=PERSON_AND_ORGANIZATION(#71,#7);
|
||||
#71=PERSON('574-20-7069','Kindrick','James',$,$,$);
|
||||
#72=APPROVAL_ROLE('Authorize part release');
|
||||
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10));
|
||||
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33);
|
||||
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified');
|
||||
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32));
|
||||
#35=DATE_AND_TIME(#36,#37);
|
||||
#36=CALENDAR_DATE(1993,17,7);
|
||||
#37=LOCAL_TIME(13,45,20.0,#29);
|
||||
#39=DATE_TIME_ROLE('classification_date');
|
||||
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32));
|
||||
#41=PERSON_AND_ORGANIZATION(#42,#7);
|
||||
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$);
|
||||
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
|
||||
#53=CC_DESIGN_APPROVAL(#54,(#32));
|
||||
#54=APPROVAL(#55,'Approved as unclassified step test data');
|
||||
#55=APPROVAL_STATUS('approved');
|
||||
#56=APPROVAL_DATE_TIME(#57,#54);
|
||||
#57=DATE_AND_TIME(#58,#59);
|
||||
#58=CALENDAR_DATE(1993,17,7);
|
||||
#59=LOCAL_TIME(13,47,28.0,#29);
|
||||
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76);
|
||||
#74=PERSON_AND_ORGANIZATION(#75,#7);
|
||||
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$);
|
||||
#76=APPROVAL_ROLE('Authorize the security code');
|
||||
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18);
|
||||
#18=DESIGN_CONTEXT('detailed design',#3,'design');
|
||||
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17));
|
||||
#23=PERSON_AND_ORGANIZATION_ROLE('creator');
|
||||
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17));
|
||||
#25=DATE_AND_TIME(#27,#28);
|
||||
#27=CALENDAR_DATE(1993,19,7);
|
||||
#28=LOCAL_TIME(19,46,55.0,#29);
|
||||
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.);
|
||||
#30=DATE_TIME_ROLE('creation_date');
|
||||
#61=CC_DESIGN_APPROVAL(#62,(#17));
|
||||
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing');
|
||||
#63=APPROVAL_STATUS('approved');
|
||||
#64=APPROVAL_DATE_TIME(#65,#62);
|
||||
#65=DATE_AND_TIME(#66,#67);
|
||||
#66=CALENDAR_DATE(1993,19,7);
|
||||
#67=LOCAL_TIME(19,47,51.0,#29);
|
||||
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79);
|
||||
#79=APPROVAL_ROLE('Authorize product definition');
|
||||
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010));
|
||||
#81=PERSON_AND_ORGANIZATION(#82,#83);
|
||||
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$);
|
||||
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.');
|
||||
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier');
|
||||
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017);
|
||||
#85=CC_DESIGN_CERTIFICATION(#86,(#88));
|
||||
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87);
|
||||
#87=CERTIFICATION_TYPE('design_supplier');
|
||||
#89=CC_DESIGN_APPROVAL(#90,(#86));
|
||||
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier');
|
||||
#91=APPROVAL_STATUS('approved');
|
||||
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93);
|
||||
#93=APPROVAL_ROLE('Authorize supplier certification');
|
||||
#94=DATE_AND_TIME(#95,#96);
|
||||
#95=CALENDAR_DATE(1993,20,4);
|
||||
#96=LOCAL_TIME(15,47,51.0,#29);
|
||||
#97=APPROVAL_DATE_TIME(#94,#90);
|
||||
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86));
|
||||
#99=CALENDAR_DATE(1993,19,4);
|
||||
#100=DATE_AND_TIME(#99,#101);
|
||||
#101=LOCAL_TIME(10,41,59.0,#29);
|
||||
#102=DATE_TIME_ROLE('certification_date');
|
||||
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Flat Ring Gasket',#1,.MADE.);
|
||||
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010));
|
||||
#1013=PERSON_AND_ORGANIZATION(#1014,#83);
|
||||
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$);
|
||||
#1016=PERSON_AND_ORGANIZATION_ROLE('creator');
|
||||
#1044=CC_DESIGN_APPROVAL(#1045,(#1010));
|
||||
#1045=APPROVAL(#1046,'Approved as test part design');
|
||||
#1046=APPROVAL_STATUS('approved');
|
||||
#1047=APPROVAL_DATE_TIME(#1048,#1045);
|
||||
#1048=DATE_AND_TIME(#1050,#1051);
|
||||
#1050=CALENDAR_DATE(1993,19,7);
|
||||
#1051=LOCAL_TIME(19,51,59.0,#29);
|
||||
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072);
|
||||
#1070=PERSON_AND_ORGANIZATION(#82,#83);
|
||||
#1072=APPROVAL_ROLE('Authorize part version');
|
||||
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010));
|
||||
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033);
|
||||
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified');
|
||||
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032));
|
||||
#1035=DATE_AND_TIME(#1036,#1037);
|
||||
#1036=CALENDAR_DATE(1993,19,7);
|
||||
#1037=LOCAL_TIME(19,45,41.0,#29);
|
||||
#1039=DATE_TIME_ROLE('classification_date');
|
||||
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032));
|
||||
#1041=PERSON_AND_ORGANIZATION(#1042,#83);
|
||||
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$);
|
||||
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer');
|
||||
#1053=CC_DESIGN_APPROVAL(#1054,(#1032));
|
||||
#1054=APPROVAL(#1055,'Approved as unclassified part design');
|
||||
#1055=APPROVAL_STATUS('approved');
|
||||
#1056=APPROVAL_DATE_TIME(#1057,#1054);
|
||||
#1057=DATE_AND_TIME(#1058,#1059);
|
||||
#1058=CALENDAR_DATE(1993,19,7);
|
||||
#1059=LOCAL_TIME(19,47,58.0,#29);
|
||||
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076);
|
||||
#1076=APPROVAL_ROLE('Authorize the security code');
|
||||
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11113',#1010,#1018);
|
||||
#1018=DESIGN_CONTEXT('detailed design',#3,'design');
|
||||
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017));
|
||||
#1023=PERSON_AND_ORGANIZATION_ROLE('creator');
|
||||
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017));
|
||||
#1025=DATE_AND_TIME(#1027,#1028);
|
||||
#1027=CALENDAR_DATE(1993,18,7);
|
||||
#1028=LOCAL_TIME(10,51,59.0,#29);
|
||||
#1030=DATE_TIME_ROLE('creation_date');
|
||||
#1061=CC_DESIGN_APPROVAL(#1062,(#1017));
|
||||
#1062=APPROVAL(#1063,'Approved as detailed drawing');
|
||||
#1063=APPROVAL_STATUS('approved');
|
||||
#1064=APPROVAL_DATE_TIME(#1065,#1062);
|
||||
#1065=DATE_AND_TIME(#1066,#1067);
|
||||
#1066=CALENDAR_DATE(1993,19,7);
|
||||
#1067=LOCAL_TIME(19,51,59.0,#29);
|
||||
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079);
|
||||
#1079=APPROVAL_ROLE('Authorize product definition');
|
||||
|
||||
#1080=SHAPE_DEFINITION_REPRESENTATION(#1081,#9240);
|
||||
#1081=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of Flat Ring Gasket',#17);
|
||||
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));
|
||||
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));
|
||||
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());
|
||||
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040);
|
||||
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
|
||||
#9101 = DIRECTION('Dir1',(1.0,0.0,0.0));
|
||||
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0));
|
||||
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101);
|
||||
#9121 = PLANE('Plane1',#9120);
|
||||
#9122 = CIRCLE('Circ1',#9120,30.0);
|
||||
#9123 = CARTESIAN_POINT('CartPt2',(30.0,0.0,0.0));
|
||||
#9124 = VERTEX_POINT('VertPt1',#9123);
|
||||
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.);
|
||||
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.);
|
||||
#9127 = EDGE_LOOP('EdgeLoop1',(#9126));
|
||||
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.);
|
||||
#9130 = CIRCLE('Circ2',#9120,25.0);
|
||||
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0));
|
||||
#9132 = VERTEX_POINT('VertPt2',#9131);
|
||||
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.);
|
||||
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.);
|
||||
#9135 = EDGE_LOOP('EdgeLoop2',(#9134));
|
||||
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.);
|
||||
#9137 = ADVANCED_FACE('AdvFace1',(#9136,#9128),#9121,.F.);
|
||||
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0));
|
||||
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101);
|
||||
#9142 = PLANE('Plane2',#9141);
|
||||
#9143 = CIRCLE('Circ3',#9141,30.0);
|
||||
#9144 = CARTESIAN_POINT('CartPt5',(30.0,0.0,5.0));
|
||||
#9145 = VERTEX_POINT('VertPt3',#9144);
|
||||
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.);
|
||||
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.);
|
||||
#9148 = EDGE_LOOP('EdgeLoop3',(#9147));
|
||||
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.);
|
||||
#9160 = CIRCLE('Circ4',#9141,25.0);
|
||||
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0));
|
||||
#9162 = VERTEX_POINT('VertPt4',#9161);
|
||||
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.);
|
||||
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.);
|
||||
#9165 = EDGE_LOOP('EdgeLoop4',(#9164));
|
||||
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.);
|
||||
#9167 = ADVANCED_FACE('AdvFace2',(#9149,#9166),#9142,.T.);
|
||||
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,30.0);
|
||||
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.);
|
||||
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.);
|
||||
#9192 = ADVANCED_FACE('AdvFace3',(#9190,#9191),#9180,.T.);
|
||||
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0);
|
||||
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.);
|
||||
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.);
|
||||
#9203 = ADVANCED_FACE('AdvFace4',(#9201,#9202),#9200,.F.);
|
||||
#9210 = CLOSED_SHELL('CloseSh1',(#9137,#9167,#9192,#9203));
|
||||
#9220 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9210);
|
||||
#9230 = (GEOMETRIC_REPRESENTATION_CONTEXT(3)
|
||||
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043))
|
||||
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042))
|
||||
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket','This is a 3d context using millimeters for linear dimension'));
|
||||
#9240 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9220),#9230);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -1,71 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
/* Generated by software containing ST-Developer
|
||||
* from STEP Tools, Inc. (www.steptools.com)
|
||||
*/
|
||||
|
||||
FILE_DESCRIPTION(
|
||||
/* description */ ('Empty Shape Representation Sample File'),
|
||||
/* implementation_level */ '2;1');
|
||||
|
||||
FILE_NAME(
|
||||
/* name */ 'output_file',
|
||||
/* time_stamp */ '2005-11-07T17:37:07-05:00',
|
||||
/* author */ (''),
|
||||
/* organization */ (''),
|
||||
/* preprocessor_version */ 'ST-DEVELOPER v11',
|
||||
/* originating_system */ 'Geometry Demo',
|
||||
/* authorisation */ '');
|
||||
|
||||
FILE_SCHEMA (('AUTOMOTIVE_DESIGN'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#10=AXIS2_PLACEMENT_3D('orientation',#11,$,$);
|
||||
#11=CARTESIAN_POINT('',(1.1,2.2,3.3));
|
||||
#12=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-006),#14,
|
||||
'DISTANCE_ACCURACY_VALUE',
|
||||
'Maximum model space distance between geometric entities at asserted co
|
||||
nnectivities');
|
||||
#13=(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)
|
||||
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#12))
|
||||
GLOBAL_UNIT_ASSIGNED_CONTEXT((#14,#16,#19))
|
||||
REPRESENTATION_CONTEXT('ID1','3D')
|
||||
);
|
||||
#14=(
|
||||
LENGTH_UNIT()
|
||||
NAMED_UNIT(*)
|
||||
SI_UNIT(.MILLI.,.METRE.)
|
||||
);
|
||||
#15=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#16=(
|
||||
CONVERSION_BASED_UNIT('degree',#18)
|
||||
NAMED_UNIT(#15)
|
||||
PLANE_ANGLE_UNIT()
|
||||
);
|
||||
#17=(
|
||||
NAMED_UNIT(*)
|
||||
PLANE_ANGLE_UNIT()
|
||||
SI_UNIT($,.RADIAN.)
|
||||
);
|
||||
#18=MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.01745329252),#17);
|
||||
#19=(
|
||||
NAMED_UNIT(*)
|
||||
SI_UNIT($,.STERADIAN.)
|
||||
SOLID_ANGLE_UNIT()
|
||||
);
|
||||
#20=SHAPE_DEFINITION_REPRESENTATION(#21,#22);
|
||||
#21=PRODUCT_DEFINITION_SHAPE('',$,#24);
|
||||
#22=SHAPE_REPRESENTATION('',(#10),#13);
|
||||
#23=PRODUCT_DEFINITION_CONTEXT('3D Mechanical Parts',#27,'design');
|
||||
#24=PRODUCT_DEFINITION('design','example product_definition',#25,#23);
|
||||
#25=PRODUCT_DEFINITION_FORMATION('1.0','first version of our widget',#29);
|
||||
#26=APPLICATION_PROTOCOL_DEFINITION('international standard',
|
||||
'automotive_design',2003,#27);
|
||||
#27=APPLICATION_CONTEXT(
|
||||
'Core Data for Automotive Mechanical Design Process');
|
||||
#28=PRODUCT_CONTEXT('3D Mechanical Parts',#27,'mechanical');
|
||||
#29=PRODUCT('1234-K789','widget','a fictional product',(#28));
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -1,18 +1,3 @@
|
||||
freecad (0.13-1precise2) precise; urgency=low
|
||||
|
||||
* Fix hard dependency on libgl1-mesa-glx preventing installation on
|
||||
Ubuntu 12.04.2 with LTSEnablementStack. Removal of shlibs.local file
|
||||
and libgl1-mesa-dev deleted from BuildDeps.
|
||||
* Removed version number from libsoqt4-dev BD.
|
||||
|
||||
-- Normand Chamberland <gemnoc@gmail.com> Sun, 05 May 2013 18:31:47 -0400
|
||||
|
||||
freecad (0.13-1precise1) precise; urgency=low
|
||||
|
||||
* New release for Ubuntu 12.04 (precise)
|
||||
|
||||
-- Normand Chamberland <gemnoc@gmail.com> Sun, 06 May 2012 14:38:12 -0400
|
||||
|
||||
freecad (0.11.3729.dfsg-2) unstable; urgency=low
|
||||
|
||||
* Add gfortran and libopencascade-visualization-dev to BD
|
||||
@@ -44,25 +29,6 @@ freecad (0.11.3729.dfsg-1) unstable; urgency=low
|
||||
|
||||
-- "Adam C. Powell, IV" <hazelsct@debian.org> Tue, 12 Apr 2011 23:40:30 -0400
|
||||
|
||||
freecad (0.10.3247.dfsg-2ubuntu3) natty; urgency=low
|
||||
|
||||
* Fix build failure with ld --as-needed.
|
||||
|
||||
-- Matthias Klose <doko@ubuntu.com> Wed, 15 Dec 2010 01:12:39 +0100
|
||||
|
||||
freecad (0.10.3247.dfsg-2ubuntu2) natty; urgency=low
|
||||
|
||||
* Rebuild with python 2.7 as the python default.
|
||||
|
||||
-- Matthias Klose <doko@ubuntu.com> Thu, 09 Dec 2010 16:46:45 +0000
|
||||
|
||||
freecad (0.10.3247.dfsg-2ubuntu1) natty; urgency=low
|
||||
|
||||
* Merge from debian unstable. Remaining changes:
|
||||
- build on libqtwebkit-dev for qtwebkit transition
|
||||
|
||||
-- Bhavani Shankar <bhavi@ubuntu.com> Wed, 20 Oct 2010 08:40:53 +0530
|
||||
|
||||
freecad (0.10.3247.dfsg-2) unstable; urgency=low
|
||||
|
||||
* control:
|
||||
@@ -77,20 +43,6 @@ freecad (0.10.3247.dfsg-2) unstable; urgency=low
|
||||
|
||||
-- Teemu Ikonen <tpikonen@gmail.com> Wed, 18 Aug 2010 19:34:36 +0200
|
||||
|
||||
freecad (0.10.3247.dfsg-1ubuntu2) maverick; urgency=low
|
||||
|
||||
* Rebuild on libqtwebkit-dev for qtwebkit transition
|
||||
|
||||
-- Jonathan Riddell <jriddell@ubuntu.com> Wed, 21 Jul 2010 10:06:31 +0100
|
||||
|
||||
freecad (0.10.3247.dfsg-1ubuntu1) maverick; urgency=low
|
||||
|
||||
* Merge from Debian unstable, remaining changes:
|
||||
- debian/control: Build-Depends on libqt4-webkit-dev due to
|
||||
QtWebKit is no longer part of libqt4-dev (LP: #604078)
|
||||
|
||||
-- Artur Rona <ari-tczew@tlen.pl> Sat, 10 Jul 2010 21:06:47 +0200
|
||||
|
||||
freecad (0.10.3247.dfsg-1) unstable; urgency=low
|
||||
|
||||
* New upstream version (closes: #582627)
|
||||
@@ -105,12 +57,6 @@ freecad (0.10.3247.dfsg-1) unstable; urgency=low
|
||||
|
||||
-- Teemu Ikonen <tpikonen@gmail.com> Mon, 05 Jul 2010 15:07:49 +0200
|
||||
|
||||
freecad (0.9.2646.5.dfsg-1ubuntu1) maverick; urgency=low
|
||||
|
||||
* Add build-dep on libqt4-webkit-dev to fix FTBFS with Qt 4.7
|
||||
|
||||
-- Scott Kitterman <scott@kitterman.com> Sat, 19 Jun 2010 00:37:12 -0400
|
||||
|
||||
freecad (0.9.2646.5.dfsg-1) unstable; urgency=low
|
||||
|
||||
* Add 'dfsg' extension to upstream version, upstream sources are unchanged.
|
||||
|
||||
+10
-12
@@ -5,27 +5,25 @@ Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.
|
||||
Uploaders: Teemu Ikonen <tpikonen@gmail.com>, "Adam C. Powell, IV" <hazelsct@debian.org>, Anton Gladky <gladky.anton@gmail.com>
|
||||
Vcs-Browser: http://git.debian.org/?p=debian-science/packages/freecad.git
|
||||
Vcs-Git: git://git.debian.org/git/debian-science/packages/freecad.git
|
||||
Homepage: https://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page
|
||||
Build-Depends: debhelper (>= 7.0.50~), cmake,
|
||||
libboost-dev, libboost-date-time-dev, libboost-filesystem-dev,
|
||||
Homepage: http://juergen-riegel.net/FreeCAD/Docu/index.php?title=Main_Page
|
||||
Build-Depends: debhelper (>= 7.0.50~), autotools-dev, libtool, automake,
|
||||
autoconf, libboost-dev, libboost-date-time-dev, libboost-filesystem-dev,
|
||||
libboost-graph-dev, libboost-iostreams-dev, libboost-program-options-dev,
|
||||
libboost-regex-dev, libboost-serialization-dev, libboost-signals-dev,
|
||||
libboost-thread-dev, libboost-python-dev, python-dev, python-support,
|
||||
libboost-python-dev, python-dev, python-support,
|
||||
libqt4-dev, libxt-dev, libxext-dev, libxmu-dev, libxi-dev, libx11-dev,
|
||||
libcoin60-dev, libsoqt4-dev, libeigen3-dev,
|
||||
zlib1g-dev, libxerces-c2-dev, libopencascade-foundation-dev,
|
||||
libopencascade-modeling-dev, libopencascade-ocaf-dev,
|
||||
libcoin60-dev, libsoqt4-dev (>= 1.4.2~svn20090224), libeigen3-dev, libgl1-mesa-dev,
|
||||
zlib1g-dev, libxerces-c2-dev, libopencascade-foundation-dev, libopencascade-modeling-dev,
|
||||
libopencascade-visualization-dev, python-cxx-dev, libswscale-dev,
|
||||
libzipios++-dev, swig, gfortran, f2c, libqtwebkit-dev, libspnav-dev, libfreetype6-dev,
|
||||
libpyside-dev, libshiboken-dev
|
||||
Standards-Version: 3.9.1
|
||||
libzipios++-dev, swig, gfortran, libqtwebkit-dev
|
||||
Standards-Version: 3.9.2
|
||||
|
||||
Package: freecad
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}
|
||||
Recommends: python-pivy, python
|
||||
Recommends: python-pivy python-matplotlib
|
||||
Suggests: freecad-doc
|
||||
Description: Extensible Open Source CAx program (beta)
|
||||
Description: Extensible Open Source CAx program (alpha)
|
||||
FreeCAD is an Open Source CAx RAD based on OpenCasCade, Qt and Python.
|
||||
It features some key concepts like macro recording, workbenches, ability
|
||||
to run as a server and dynamically loadable application extensions and
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,8 +0,0 @@
|
||||
usr/share/icons/hicolor/16x16/apps
|
||||
usr/share/icons/hicolor/32x32/apps
|
||||
usr/share/icons/hicolor/48x48/apps
|
||||
usr/share/icons/hicolor/64x64/apps
|
||||
usr/share/icons/hicolor/scalable/apps
|
||||
usr/share/icons/hicolor/64x64/mimetypes
|
||||
usr/share/pixmaps
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Encoding=UTF-8
|
||||
Type=X-Thumbnailer
|
||||
Name=FreeCAD Thumbnailer
|
||||
MimeType=application/x-extension-fcstd;
|
||||
X-Thumbnailer-Exec=/usr/bin/freecad-thumbnailer %u %o %s
|
||||
GenericName=FreeCADThumbnailer
|
||||
@@ -1 +0,0 @@
|
||||
debian/tmp/usr/doc/*
|
||||
@@ -66,8 +66,8 @@ Additional module path.
|
||||
\fB\-P, \-\-python\-path\fR \fIarg\fR
|
||||
Additional Python path.
|
||||
.SH SEE ALSO
|
||||
To get more information about \fBFreeCAD\fR, please visit \fIhttp://www.freecadweb.org\fR
|
||||
To get more information about \fBFreeCAD\fR, please visit \fIhttp://juergen\-riegel.net/FreeCAD/Docu/index.php/Main_Page\fR
|
||||
.SH BUGS
|
||||
To report a bug, please visit \fIhttp://www.freecadweb.org/tracker/my_view_page.php\fR
|
||||
To report a bug, please visit \fIhttp://free-cad.sf.net/\fR
|
||||
.SH AUTHOR
|
||||
This manual page was written by Werner Mayer.
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<application>
|
||||
<id type="desktop">freecad.desktop</id>
|
||||
<licence>LGPL</licence>
|
||||
<name>FreeCAD</name>
|
||||
<summary>An open source parametric 3D CAD modeler</summary>
|
||||
<description>
|
||||
<p>FreeCAD is a parametric 3D modeler. Parametric modeling
|
||||
allows you to easily modify your design by going back into
|
||||
your model history and changing its parameters. FreeCAD is
|
||||
open source (LGPL license) and completely modular, allowing
|
||||
for very advanced extension and customization.</p>
|
||||
<p>FreeCAD is multiplatfom, and reads and writes many open
|
||||
file formats such as STEP, IGES, STL and others.</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default" width="800" height="600">http://www.freecadweb.org/wiki/index.php?title=File:FreeCAD011.png</screenshot>
|
||||
</screenshots>
|
||||
<url type="homepage">http://www.freecadweb.org</url>
|
||||
<updatecontact>yorik@uncreated.net</updatecontact>
|
||||
</application>
|
||||
@@ -10,7 +10,7 @@ Exec=/usr/bin/freecad %F
|
||||
Path=/usr/lib/freecad
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=freecad
|
||||
Icon=/usr/share/freecad/freecad.xpm
|
||||
Categories=Graphics;Science;Engineering
|
||||
StartupNotify=true
|
||||
GenericName[de_DE]=Feature-basierter parametrischer Modellierer
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
debian/freecad.1
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
|
||||
<mime-type type="application/x-extension-fcstd">
|
||||
<!-- <sub-class-of type="application/zip"/> -->
|
||||
<sub-class-of type="application/zip"/>
|
||||
<comment>FreeCAD document files</comment>
|
||||
<glob pattern="*.fcstd"/>
|
||||
</mime-type>
|
||||
|
||||
+1
-1
@@ -2,5 +2,5 @@
|
||||
section="Applications/Science/Engineering"\
|
||||
title="FreeCAD"\
|
||||
command="/usr/bin/freecad"\
|
||||
icon="/usr/share/pixmaps/freecad.xpm"
|
||||
icon="/usr/share/freecad/freecad.xpm"
|
||||
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import sys, zipfile
|
||||
import sys, zipfile, md5
|
||||
import getopt
|
||||
from urlparse import urlparse
|
||||
from urlparse import unquote
|
||||
import gnomevfs
|
||||
|
||||
opt,par = getopt.getopt(sys.argv[1:],'-s:')
|
||||
uri = urlparse(par[0])
|
||||
if uri.scheme != "file":
|
||||
sys.exit(1)
|
||||
|
||||
inpfile = unquote(uri.path)
|
||||
inpfile = gnomevfs.get_local_path_from_uri(par[0])
|
||||
outfile = par[1]
|
||||
|
||||
try:
|
||||
@@ -24,9 +19,8 @@ try:
|
||||
if image in files:
|
||||
image=zfile.read(image)
|
||||
else:
|
||||
#freecad=open("/usr/share/freecad/freecad-doc.png")
|
||||
#image=freecad.read()
|
||||
sys.exit(1)
|
||||
freecad=open("/usr/share/freecad/freecad-doc.png")
|
||||
image=freecad.read()
|
||||
|
||||
thumb=open(outfile,"wb")
|
||||
thumb.write(image)
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
[Thumbnailer Entry]
|
||||
TryExec=/usr/bin/freecad-thumbnailer
|
||||
Exec=/usr/bin/freecad-thumbnailer -s %s %u %o
|
||||
MimeType=application/x-extension-fcstd;
|
||||
@@ -0,0 +1,78 @@
|
||||
Index: debian/rules
|
||||
===================================================================
|
||||
--- debian/rules (revision 1523)
|
||||
+++ debian/rules (working copy)
|
||||
@@ -11,6 +11,10 @@
|
||||
|
||||
MODULES = Part Mesh Points Raytracing Image Drawing Test
|
||||
|
||||
+# Preliminary only as long as no official debian package for
|
||||
+# OpenCascade is available
|
||||
+DESTOCCDIR=$(shell pwd)/debian/freecad/usr/lib/freecad/lib
|
||||
+
|
||||
# These are used for cross-compiling and for saving the configure script
|
||||
# from having to guess our platform (since we know it already)
|
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
@@ -85,6 +89,33 @@
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/lib/FreeCAD.so usr/lib/freecad/lib
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/lib/lib*.so.* usr/lib/freecad/lib
|
||||
|
||||
+# Preliminary only as long as no official debian package for
|
||||
+# OpenCascade is available
|
||||
+ install -m777 /usr/lib/libTKernel-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKMath-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKG2d-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKG3d-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKGeomBase-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKBRep-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKGeomAlgo-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKTopAlgo-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKPrim-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKBO-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKBool-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKShHealing-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKXSBase-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKSTEPBase-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKSTEPAttr-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKSTEP209-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKSTEP-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKFillet-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKOffset-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKIGES-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKMesh-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKHLR-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libTKSTL-6.2.so $(DESTOCCDIR)
|
||||
+ install -m777 /usr/lib/libSoQt4.so.20 $(DESTOCCDIR)
|
||||
+
|
||||
# install the modules
|
||||
$(foreach MODULE,$(MODULES), \
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/$(MODULE)*.so usr/lib/freecad/Mod/$(MODULE); \
|
||||
Index: debian/shlibs.local
|
||||
===================================================================
|
||||
--- debian/shlibs.local (revision 0)
|
||||
+++ debian/shlibs.local (revision 0)
|
||||
@@ -0,0 +1,24 @@
|
||||
+libTKernel 6.2
|
||||
+libTKMath 6.2
|
||||
+libTKG2d 6.2
|
||||
+libTKG3d 6.2
|
||||
+libTKGeomBase 6.2
|
||||
+libTKBRep 6.2
|
||||
+libTKGeomAlgo 6.2
|
||||
+libTKTopAlgo 6.2
|
||||
+libTKPrim 6.2
|
||||
+libTKBO 6.2
|
||||
+libTKBool 6.2
|
||||
+libTKShHealing 6.2
|
||||
+libTKXSBase 6.2
|
||||
+libTKSTEPAttr 6.2
|
||||
+libTKSTEPBase 6.2
|
||||
+libTKSTEP209 6.2
|
||||
+libTKSTEP 6.2
|
||||
+libTKFillet 6.2
|
||||
+libTKOffset 6.2
|
||||
+libTKIGES 6.2
|
||||
+libTKMesh 6.2
|
||||
+libTKHLR 6.2
|
||||
+libTKSTL 6.2
|
||||
+libSoQt4 20
|
||||
@@ -0,0 +1,33 @@
|
||||
Index: control
|
||||
===================================================================
|
||||
--- control (revision 2213)
|
||||
+++ control (working copy)
|
||||
@@ -4,21 +4,21 @@
|
||||
Maintainer: Werner Mayer <wmayer@users.sourceforge.net>
|
||||
Homepage: http://sourceforge.net/projects/free-cad
|
||||
Build-Depends: debhelper (>= 5), autotools-dev, libc6-dev (>= 2.1.3),
|
||||
- libstdc++6, libboost-dev, libboost-date-time-dev, libboost-filesystem-dev,
|
||||
- libboost-graph-dev, libboost-iostreams-dev, libboost-program-options-dev,
|
||||
- libboost-regex-dev, libboost-serialization-dev, libboost-signals-dev,
|
||||
- zlib1g-dev, libxerces27-dev | libxerces-c2-dev,
|
||||
+ libstdc++6, libboost1.37-dev, libboost-date-time1.37-dev, libboost-filesystem1.37-dev,
|
||||
+ libboost-graph1.37-dev, libboost-iostreams1.37-dev, libboost-program-options1.37-dev,
|
||||
+ libboost-regex1.37-dev, libboost-serialization1.37-dev, libboost-signals1.37-dev,
|
||||
+ zlib1g-dev, libxerces-c28 | libxerces-c2-dev,
|
||||
libxt-dev, libxmu-dev, libxi-dev, libx11-dev, libxext-dev,
|
||||
- libqt4-dev, libsoqt4-dev, libcoin40-dev, libgl1-mesa-dev,
|
||||
+ libqt4-dev, libsoqt4-dev, libcoin60-dev, libgl1-mesa-dev,
|
||||
python2.5-dev, python, python-central (>= 0.5.6),
|
||||
- libgts-dev, libcv-dev, libopencascade-dev
|
||||
+ libgts-dev, libcv-dev, libopencascade-foundation-dev, libopencascade-modeling-dev
|
||||
Standards-Version: 3.7.3
|
||||
XS-Python-Version: current
|
||||
|
||||
Package: freecad
|
||||
Architecture: any
|
||||
Section: science
|
||||
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python
|
||||
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python, python-pivy
|
||||
XB-Python-Version: ${python:Versions}
|
||||
Conflicts: freecad (<= 0.6.472-1)
|
||||
Suggests: gnochm | kchmviewer | kchmviewer-nokde | xchm, python-opencv
|
||||
@@ -0,0 +1,25 @@
|
||||
Index: debian/control
|
||||
===================================================================
|
||||
--- debian/control (Revision 1881)
|
||||
+++ debian/control (Arbeitskopie)
|
||||
@@ -4,15 +4,15 @@
|
||||
Maintainer: Werner Mayer <wmayer@users.sourceforge.net>
|
||||
Homepage: http://sourceforge.net/projects/free-cad
|
||||
Build-Depends: debhelper (>= 5), autotools-dev, libc6-dev (>= 2.1.3),
|
||||
- libstdc++6, libboost-dev, libboost-date-time-dev, libboost-filesystem-dev,
|
||||
- libboost-graph-dev, libboost-iostreams-dev, libboost-program-options-dev,
|
||||
- libboost-regex-dev, libboost-serialization-dev, libboost-signals-dev,
|
||||
- zlib1g-dev, libxerces27-dev | libxerces-c2-dev,
|
||||
+ libstdc++6, libboost1.35-dev, libboost-date-time1.35-dev, libboost-filesystem1.35-dev,
|
||||
+ libboost-graph1.35-dev, libboost-iostreams1.35-dev, libboost-program-options1.35-dev,
|
||||
+ libboost-regex1.35-dev, libboost-serialization1.35-dev, libboost-signals1.35-dev,
|
||||
+ libboost-system1.35-dev, zlib1g-dev, libxerces27-dev | libxerces-c2-dev,
|
||||
libxt-dev, libxmu-dev, libxi-dev, libx11-dev, libxext-dev,
|
||||
libqt4-dev, libsoqt4-dev, libcoin40-dev, libgl1-mesa-dev,
|
||||
python2.5-dev, python, python-central (>= 0.5.6),
|
||||
libgts-dev, libcv-dev, libopencascade-dev
|
||||
-Standards-Version: 3.7.3
|
||||
+Standards-Version: 3.8.0
|
||||
XS-Python-Version: current
|
||||
|
||||
Package: freecad
|
||||
@@ -0,0 +1,25 @@
|
||||
Index: debian/control
|
||||
===================================================================
|
||||
--- debian/control (Revision 1879)
|
||||
+++ debian/control (Arbeitskopie)
|
||||
@@ -4,15 +4,15 @@
|
||||
Maintainer: Werner Mayer <wmayer@users.sourceforge.net>
|
||||
Homepage: http://sourceforge.net/projects/free-cad
|
||||
Build-Depends: debhelper (>= 5), autotools-dev, libc6-dev (>= 2.1.3),
|
||||
- libstdc++6, libboost-dev, libboost-date-time-dev, libboost-filesystem-dev,
|
||||
- libboost-graph-dev, libboost-iostreams-dev, libboost-program-options-dev,
|
||||
- libboost-regex-dev, libboost-serialization-dev, libboost-signals-dev,
|
||||
- zlib1g-dev, libxerces27-dev | libxerces-c2-dev,
|
||||
+ libstdc++6, libboost1.35-dev, libboost-date-time1.35-dev, libboost-filesystem1.35-dev,
|
||||
+ libboost-graph1.35-dev, libboost-iostreams1.35-dev, libboost-program-options1.35-dev,
|
||||
+ libboost-regex1.35-dev, libboost-serialization1.35-dev, libboost-signals1.35-dev,
|
||||
+ libboost-system1.35-dev, zlib1g-dev, libxerces27-dev | libxerces-c2-dev,
|
||||
libxt-dev, libxmu-dev, libxi-dev, libx11-dev, libxext-dev,
|
||||
libqt4-dev, libsoqt4-dev, libcoin40-dev, libgl1-mesa-dev,
|
||||
python2.5-dev, python, python-central (>= 0.5.6),
|
||||
libgts-dev, libcv-dev, libopencascade-dev
|
||||
-Standards-Version: 3.7.3
|
||||
+Standards-Version: 3.8.0
|
||||
XS-Python-Version: current
|
||||
|
||||
Package: freecad
|
||||
+71
-35
@@ -4,7 +4,7 @@
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
# For testing: fakeroot debian/rules binary
|
||||
MODULES = Part Mesh MeshPart PartDesign Sketcher Points Raytracing Image Drawing ReverseEngineering Complete Fem Robot Import Inspection Arch
|
||||
|
||||
# These are used for cross-compiling and for saving the configure script
|
||||
# from having to guess our platform (since we know it already)
|
||||
@@ -19,32 +19,58 @@ else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
|
||||
configure:
|
||||
patch-stamp:
|
||||
touch $@
|
||||
|
||||
configure: autogen.sh patch-stamp
|
||||
dh_testdir
|
||||
cmake . \
|
||||
-DFREECAD_BUILD_DEBIAN=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/lib/freecad \
|
||||
-DCMAKE_INSTALL_MANDIR=/usr/share/man \
|
||||
-DCMAKE_INSTALL_INFODIR=/usr/share/info \
|
||||
-DCMAKE_INSTALL_DATADIR=/usr/share/freecad \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=/usr/include/freecad \
|
||||
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/freecad
|
||||
for autotools_mod_file in `find . -name Makefile.in` aclocal.m4 \
|
||||
configure m4/libtool.m4 m4/ltmain.sh m4/ltoptions.m4 \
|
||||
m4/ltversion.m4 m4/lt~obsolete.m4; do \
|
||||
cp -a $$autotools_mod_file $$autotools_mod_file.setaside; \
|
||||
done
|
||||
chmod u+x autogen.sh
|
||||
./autogen.sh
|
||||
|
||||
config.status: configure
|
||||
dh_testdir
|
||||
./configure --with-occ-include=/usr/include/opencascade \
|
||||
--with-occ-lib=/usr/lib \
|
||||
--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
|
||||
--prefix=/usr/lib/freecad --mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info --datadir=/usr/share/freecad \
|
||||
--includedir=/usr/include/freecad --docdir=/usr/share/doc/freecad \
|
||||
CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
|
||||
touch src/Build/Version.h
|
||||
|
||||
build: build-stamp
|
||||
|
||||
build-stamp: configure
|
||||
build-stamp: config.status
|
||||
dh_testdir
|
||||
$(MAKE)
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
mv src/Build/Version.h src/Build/Version.h.old
|
||||
dh clean
|
||||
mv src/Build/Version.h.old src/Build/Version.h
|
||||
rm -f build-stamp
|
||||
find -name '*.pyc' | xargs rm -f
|
||||
find -name 'moc_*.cpp' | xargs rm -f
|
||||
find -name 'ui_*.h' | xargs rm -f
|
||||
find -name 'CMakeFiles' | xargs rm -rf
|
||||
rm -f stamp-h1
|
||||
find -name '*.lo' | xargs rm -f
|
||||
find -name '*.deps' | xargs rm -rf
|
||||
find -name '*.libs' | xargs rm -rf
|
||||
rm -f stamp-h1 config.log libtool 71
|
||||
if [ -e Makefile.in.setaside ]; then \
|
||||
for autotools_mod_file in `find . -name Makefile.in` aclocal.m4 \
|
||||
configure m4/libtool.m4 m4/ltmain.sh m4/ltoptions.m4 \
|
||||
m4/ltversion.m4 m4/lt~obsolete.m4; do \
|
||||
mv -f $$autotools_mod_file.setaside $$autotools_mod_file; \
|
||||
done; fi
|
||||
dh clean
|
||||
rm -f patch-stamp
|
||||
#quilt pop -a
|
||||
#rm -rf .pc/
|
||||
|
||||
install: build install-stamp
|
||||
install-stamp:
|
||||
@@ -52,34 +78,44 @@ install-stamp:
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
$(MAKE) install/fast DESTDIR=$(CURDIR)/debian/tmp/freecad
|
||||
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp/freecad
|
||||
# Remove testing modules we don't want to have in the deb
|
||||
rm -rf debian/tmp/freecad/usr/lib/freecad/Mod/_TEMPLATE_
|
||||
rm -rf debian/tmp/freecad/usr/lib/freecad/Mod/TemplatePyMod
|
||||
# install the core system
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/share/freecad/* usr/share/freecad/
|
||||
# Desktop icons
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/share/freecad/freecad.xpm usr/share/pixmaps
|
||||
install -m 644 debian/tmp/freecad/usr/share/freecad/freecad-icon-16.png debian/freecad/usr/share/icons/hicolor/16x16/apps/freecad.png
|
||||
install -m 644 debian/tmp/freecad/usr/share/freecad/freecad-icon-32.png debian/freecad/usr/share/icons/hicolor/32x32/apps/freecad.png
|
||||
install -m 644 debian/tmp/freecad/usr/share/freecad/freecad-icon-32.png debian/freecad/usr/share/icons/hicolor/48x48/apps/freecad.png
|
||||
install -m 644 debian/tmp/freecad/usr/share/freecad/freecad-icon-64.png debian/freecad/usr/share/icons/hicolor/64x64/apps/freecad.png
|
||||
install -m 644 debian/tmp/freecad/usr/share/freecad/freecad.svg debian/freecad/usr/share/icons/hicolor/scalable/apps/freecad.svg
|
||||
install -m 644 debian/tmp/freecad/usr/share/freecad/freecad-doc.png debian/freecad/usr/share/icons/hicolor/64x64/mimetypes/application-x-extension-fcstd.png
|
||||
|
||||
#dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/share usr/lib/freecad
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/bin usr/lib/freecad
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/lib usr/lib/freecad
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod usr/lib/freecad
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/lib/FreeCAD.so usr/lib/freecad/lib
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/lib/lib*.so.* usr/lib/freecad/lib
|
||||
dh_install debian/freecad.desktop usr/share/applications
|
||||
dh_installman debian/freecad.1 debian/mime/freecad-thumbnailer.1
|
||||
dh_installman debian/freecad.1
|
||||
dh_installchangelogs ChangeLog.txt
|
||||
# install the headers
|
||||
#dh_install -pfreecad-dev debian/tmp/freecad/usr/include/* usr/include
|
||||
# install the modules
|
||||
$(foreach MODULE,$(MODULES), \
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/$(MODULE)*.so usr/lib/freecad/Mod/$(MODULE); \
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/lib*.so.* usr/lib/freecad/Mod/$(MODULE); \
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/*.py usr/lib/freecad/Mod/$(MODULE);)
|
||||
# special treating of PartDesign module
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/PartDesign/Scripts/*.py usr/lib/freecad/Mod/PartDesign/Scripts;)
|
||||
# special treating of Draft module
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Draft/*.py usr/lib/freecad/Mod/Draft
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Draft/draftlibs/*.py usr/lib/freecad/Mod/Draft/draftlibs
|
||||
# special treating of Test module
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Test/lib*.so.* usr/lib/freecad/Mod/Test
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Test/*.py usr/lib/freecad/Mod/Test
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Test/QtUnitGui.so usr/lib/freecad/Mod/Test
|
||||
|
||||
dh_install -pfreecad-dev debian/tmp/freecad/usr/include/* usr/include
|
||||
dh_install -pfreecad-dev debian/tmp/freecad/usr/lib/freecad/lib/lib*.so usr/lib/freecad/lib
|
||||
$(foreach MODULE,$(MODULES), \
|
||||
dh_install -pfreecad-dev debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/lib*.la usr/lib/freecad/Mod/$(MODULE); \
|
||||
dh_install -pfreecad-dev debian/tmp/freecad/usr/lib/freecad/Mod/$(MODULE)/lib*.so usr/lib/freecad/Mod/$(MODULE);)
|
||||
# special treating of Arch module
|
||||
dh_install -pfreecad debian/tmp/freecad/usr/lib/freecad/Mod/Arch/*.py usr/lib/freecad/Mod/Arch
|
||||
|
||||
# install the help system
|
||||
dh_install -pfreecad-doc debian/tmp/freecad/usr/share/doc/* usr/share/doc/
|
||||
# install MIME stuff
|
||||
dh_install debian/mime/freecad-thumbnailer usr/bin
|
||||
dh_install debian/mime/freecad.thumbnailer usr/share/thumbnailers
|
||||
dh_install debian/mime/freecad.schemas etc/gconf/schemas
|
||||
dh_gconf -pfreecad
|
||||
dh_installmime
|
||||
touch install-stamp
|
||||
|
||||
override_dh_compress:
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# The script creates a tar.xz tarball from git-repository of freecad-project
|
||||
# ./get_orig_src.sh commitID - creates a tarball of specified commit
|
||||
# ./get_orig_src.sh - creates a tarball of the latest version
|
||||
# Packages, that needs to be installed to use the script:
|
||||
# atool, git-core
|
||||
|
||||
set -e
|
||||
|
||||
git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad git_temp_packaging
|
||||
|
||||
cd git_temp_packaging
|
||||
|
||||
if [ $1 ]
|
||||
then
|
||||
echo 'Checking out the revision ' $1
|
||||
git checkout -b newvers $1
|
||||
else
|
||||
echo 'Using the latest revision'
|
||||
fi
|
||||
|
||||
GIT_CMT_COUNT=$(git rev-list HEAD | wc -l)
|
||||
|
||||
DEB_VER=0.13.$GIT_CMT_COUNT-dfsg
|
||||
FOLDER_NAME=freecad-$DEB_VER
|
||||
TARBALL_NAME=freecad_$DEB_VER.orig.tar.xz
|
||||
|
||||
echo $DEB_VER
|
||||
echo $FOLDER_NAME
|
||||
echo $TARBALL_NAME
|
||||
|
||||
python src/Tools/SubWCRev.py
|
||||
|
||||
cd ..
|
||||
|
||||
rm -fr $FOLDER_NAME
|
||||
|
||||
mv git_temp_packaging $FOLDER_NAME
|
||||
rm -rf $FOLDER_NAME/.git
|
||||
rm -rf $FOLDER_NAME/src/3rdParty/CxImage
|
||||
rm -rf $FOLDER_NAME/src/3rdParty/Pivy
|
||||
rm -rf $FOLDER_NAME/src/3rdParty/Pivy-0.5
|
||||
|
||||
tar Jcvf $TARBALL_NAME $FOLDER_NAME
|
||||
|
||||
rm -fr $FOLDER_NAME
|
||||
@@ -0,0 +1,2 @@
|
||||
libGL 1 libgl1-mesa-glx (>= 7.7.1-1)
|
||||
libSoQt4 20 libsoqt4-20 (>= 1.4.2~svn20090224)
|
||||
@@ -1 +1 @@
|
||||
1.0
|
||||
3.0 (quilt)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Lintian thinks uploader Adam Powell's name violates policy
|
||||
freecad source: uploader-address-missing "Adam C. Powell
|
||||
freecad source: uploader-not-full-name IV"
|
||||
# Lintian thinks uploader Adam Powell's name violates policy
|
||||
freecad source: uploader-address-missing "Adam C. Powell
|
||||
freecad source: uploader-not-full-name IV"
|
||||
|
||||
+41
-9
@@ -16,36 +16,68 @@
|
||||
# http://www.grymoire.com/Unix/Sed.html
|
||||
|
||||
# global settings
|
||||
REV_FILE=./revision.m4
|
||||
TMP_PATH=/tmp
|
||||
MAJ=0
|
||||
MIN=13
|
||||
MIN=12
|
||||
ALIAS="Vulcan"
|
||||
|
||||
# go to root directory
|
||||
CUR_DIR=$PWD
|
||||
verz=`dirname $(readlink -f ${0})`
|
||||
cd $verz && cd ..
|
||||
|
||||
# http://blog.marcingil.com/2011/11/creating-build-numbers-using-git-commits/
|
||||
if git log -1 >/dev/null 2>&1; then
|
||||
REV=`git rev-list HEAD | wc -l | sed -e 's/ *//g' | xargs -n1 printf %04d`
|
||||
# let's import OLD_REV (if there)
|
||||
if [ -f ./.last_revision ]; then
|
||||
. ./.last_revision
|
||||
else
|
||||
OLD_REV=0
|
||||
fi
|
||||
|
||||
if svn --xml info >/dev/null 2>&1; then
|
||||
REV=`svn --xml info | tr -d '\r\n' | sed -e 's/.*<commit.*revision="\([0-9]*\)".*<\/commit>.*/\1/'`
|
||||
LCD=`svn --xml info | tr -d '\r\n' | sed -e 's/.*<commit.*<date>\([0-9\-]*\)\T\([0-9\:]*\)\..*<\/date>.*<\/commit>.*/\1 \2/'`
|
||||
URL=`svn --xml info | tr -d '\r\n' | sed -e 's/.*<url>\(.*\)<\/url>.*/\1/'`
|
||||
elif svn --version --quiet >/dev/null 2>&1; then
|
||||
REV=`svn info | grep "^Revision:" | cut -d" " -f2`
|
||||
LCD=`svn info | grep "^Last Changed Date:" | cut -d" " -f4,5`
|
||||
URL=`svn info | grep "^URL:" | cut -d" " -f2`
|
||||
else
|
||||
REV=0
|
||||
LCD=""
|
||||
URL=""
|
||||
fi
|
||||
|
||||
if [ "x$REV" != "x$OLD_REV" -o ! -r $REV_FILE ]; then
|
||||
echo "m4_define([FREECAD_MAJOR], $MAJ)" > $REV_FILE
|
||||
echo "m4_define([FREECAD_MINOR], $MIN)" >> $REV_FILE
|
||||
echo "m4_define([FREECAD_MICRO], $REV)" >> $REV_FILE
|
||||
|
||||
#echo "#define FCVersionMajor \"$MAJ\"" > src/Build/Version.h
|
||||
#echo "#define FCVersionMinor \"$MIN\"" >> src/Build/Version.h
|
||||
#echo "#define FCVersionName \"$ALIAS\"" >> src/Build/Version.h
|
||||
#echo "#define FCRevision \"$REV\"" >> src/Build/Version.h
|
||||
#echo "#define FCRepositoryURL \"$URL\"" >> src/Build/Version.h
|
||||
#echo "#define FCCurrentDateT \"$LCD\"\n" >> src/Build/Version.h
|
||||
touch src/Build/Version.h.in
|
||||
fi
|
||||
|
||||
echo "OLD_REV=$REV" > ./.last_revision
|
||||
|
||||
SRC_DIR=$PWD
|
||||
|
||||
# Prepare source tarball and unpack it in build directory
|
||||
cd $CUR_DIR
|
||||
make dist-git
|
||||
cd $verz && cd ..
|
||||
make dist
|
||||
rm -rf $TMP_PATH/freecad-$REV
|
||||
mkdir $TMP_PATH/freecad-$REV
|
||||
mv freecad-$MAJ.$MIN.$REV.tar.gz $TMP_PATH/freecad-$REV/freecad_$MAJ.$MIN.$REV.orig.tar.gz
|
||||
mv FreeCAD-$MAJ.$MIN.$REV.tar.gz $TMP_PATH/freecad-$REV/freecad_$MAJ.$MIN.$REV.orig.tar.gz
|
||||
cd $TMP_PATH/freecad-$REV
|
||||
tar -xzf freecad_$MAJ.$MIN.$REV.orig.tar.gz
|
||||
mv FreeCAD-$MAJ.$MIN.$REV freecad-$MAJ.$MIN.$REV
|
||||
cd freecad-$MAJ.$MIN.$REV
|
||||
#rm -rf src/CXX
|
||||
#rm -rf src/zipios++
|
||||
rm -rf src/CXX
|
||||
rm -rf src/zipios++
|
||||
|
||||
# Prepare debian folder and set the revision number in debian/changelog
|
||||
# for package versioning
|
||||
|
||||
Vendored
+8
-1
@@ -26,4 +26,11 @@ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/src/Main)
|
||||
add_library(ANN SHARED ${ANN_SRCS})
|
||||
target_link_libraries(ANN ${ANN_LIBS})
|
||||
|
||||
SET_BIN_DIR(ANN ANN)
|
||||
if(WIN32)
|
||||
set_target_properties(ANN PROPERTIES DEBUG_OUTPUT_NAME "ANN_D")
|
||||
set_target_properties(ANN PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/)
|
||||
set_target_properties(ANN PROPERTIES PREFIX "../")
|
||||
else(WIN32)
|
||||
set_target_properties(ANN PROPERTIES PREFIX "")
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
Vendored
+11
-11
@@ -3,11 +3,10 @@ if(FREECAD_BUILD_CAM)
|
||||
add_subdirectory(ANN)
|
||||
endif(FREECAD_BUILD_CAM)
|
||||
|
||||
if(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY)
|
||||
if(FREECAD_LIBPACK_CHECKFILE6X)
|
||||
add_subdirectory(Pivy)
|
||||
elseif(FREECAD_LIBPACK_CHECKFILE7X)
|
||||
add_subdirectory(Pivy-0.5)
|
||||
if(FREECAD_BUILD_GUI AND FREECAD_LIBPACK_CHECKFILE6X)
|
||||
add_subdirectory(Pivy)
|
||||
elseif(FREECAD_BUILD_GUI AND FREECAD_LIBPACK_CHECKFILE7X)
|
||||
add_subdirectory(Pivy-0.5)
|
||||
#elseif(FREECAD_BUILD_GUI AND FREECAD_LIBPACK_CHECKCUSTOM)
|
||||
# find_path(COIN_VERSION3 Inventor/scxml/ScXML.h ${COIN3D_INCLUDE_DIR})
|
||||
# if (COIN_VERSION3)
|
||||
@@ -20,7 +19,8 @@ if(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY)
|
||||
# add_subdirectory(Pivy)
|
||||
#endif(MINGW)
|
||||
# applies for Unix, MinGW and Windows with custom LibPack
|
||||
else(FREECAD_LIBPACK_CHECKFILE6X)
|
||||
elseif(FREECAD_BUILD_GUI)
|
||||
if (NOT FREECAD_USE_EXTERNAL_PIVY)
|
||||
find_path(COIN_VERSION3 Inventor/scxml/ScXML.h ${COIN3D_INCLUDE_DIR})
|
||||
if (COIN_VERSION3)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Pivy-0.5)
|
||||
@@ -31,11 +31,11 @@ if(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY)
|
||||
add_subdirectory(Pivy)
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Pivy)
|
||||
endif(COIN_VERSION3)
|
||||
endif (FREECAD_LIBPACK_CHECKFILE6X)
|
||||
endif(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY)
|
||||
endif (NOT FREECAD_USE_EXTERNAL_PIVY)
|
||||
endif(FREECAD_BUILD_GUI AND FREECAD_LIBPACK_CHECKFILE6X)
|
||||
|
||||
# Build SalomeMesh for all Platforms since heavily patched
|
||||
if (FREECAD_BUILD_SMESH)
|
||||
# For Windows we have all stuff in the LibPack
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
add_subdirectory(salomesmesh)
|
||||
endif(FREECAD_BUILD_SMESH)
|
||||
endif(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
|
||||
Vendored
+36
-4
@@ -40,8 +40,24 @@ add_library(coin SHARED ${CoinPy_SRCS})
|
||||
|
||||
target_link_libraries(coin ${CoinPy_LIBS})
|
||||
|
||||
SET_BIN_DIR(coin _coin /bin/pivy)
|
||||
SET_PYTHON_PREFIX_SUFFIX(coin)
|
||||
if(MSVC)
|
||||
set_target_properties(coin PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(coin PROPERTIES DEBUG_OUTPUT_NAME "_coin_d")
|
||||
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
|
||||
set_target_properties(coin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
|
||||
set_target_properties(coin PROPERTIES PREFIX "../")
|
||||
elseif(MINGW)
|
||||
set_target_properties(coin PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(coin PROPERTIES DEBUG_OUTPUT_NAME "_coin_d")
|
||||
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
|
||||
set_target_properties(coin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
|
||||
set_target_properties(coin PROPERTIES PREFIX "")
|
||||
else(MSVC)
|
||||
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
|
||||
set_target_properties(coin PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
|
||||
set_target_properties(coin PROPERTIES PREFIX "")
|
||||
set_target_properties(coin PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/bin/pivy)
|
||||
endif(MSVC)
|
||||
|
||||
fc_copy_sources(coin "${CMAKE_BINARY_DIR}/bin/pivy"
|
||||
__init__.py
|
||||
@@ -82,8 +98,24 @@ add_library(soqt SHARED ${SoQtPy_SRCS})
|
||||
|
||||
target_link_libraries(soqt ${SoQtPy_LIBS})
|
||||
|
||||
SET_BIN_DIR(soqt _soqt /bin/pivy/gui)
|
||||
SET_PYTHON_PREFIX_SUFFIX(soqt)
|
||||
if(MSVC)
|
||||
set_target_properties(soqt PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(soqt PROPERTIES DEBUG_OUTPUT_NAME "_soqt_d")
|
||||
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
|
||||
set_target_properties(soqt PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
|
||||
set_target_properties(soqt PROPERTIES PREFIX "../")
|
||||
elseif(MINGW)
|
||||
set_target_properties(soqt PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(soqt PROPERTIES DEBUG_OUTPUT_NAME "_soqt_d")
|
||||
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
|
||||
set_target_properties(soqt PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
|
||||
set_target_properties(soqt PROPERTIES PREFIX "")
|
||||
else(MSVC)
|
||||
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
|
||||
set_target_properties(soqt PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
|
||||
set_target_properties(soqt PROPERTIES PREFIX "")
|
||||
set_target_properties(soqt PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/bin/pivy/gui)
|
||||
endif(MSVC)
|
||||
|
||||
fc_copy_sources(soqt "${CMAKE_BINARY_DIR}/bin/pivy"
|
||||
gui/soqt.py
|
||||
|
||||
Vendored
+36
-4
@@ -40,8 +40,24 @@ add_library(coin SHARED ${CoinPy_SRCS})
|
||||
|
||||
target_link_libraries(coin ${CoinPy_LIBS})
|
||||
|
||||
SET_BIN_DIR(coin _coin /bin/pivy)
|
||||
SET_PYTHON_PREFIX_SUFFIX(coin)
|
||||
if(MSVC)
|
||||
set_target_properties(coin PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(coin PROPERTIES DEBUG_OUTPUT_NAME "_coin_d")
|
||||
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
|
||||
set_target_properties(coin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
|
||||
set_target_properties(coin PROPERTIES PREFIX "../")
|
||||
elseif(MINGW)
|
||||
set_target_properties(coin PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(coin PROPERTIES DEBUG_OUTPUT_NAME "_coin_d")
|
||||
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
|
||||
set_target_properties(coin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
|
||||
set_target_properties(coin PROPERTIES PREFIX "")
|
||||
else(MSVC)
|
||||
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
|
||||
set_target_properties(coin PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
|
||||
set_target_properties(coin PROPERTIES PREFIX "")
|
||||
set_target_properties(coin PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/bin/pivy)
|
||||
endif(MSVC)
|
||||
|
||||
fc_copy_sources(coin "${CMAKE_BINARY_DIR}/bin/pivy"
|
||||
__init__.py
|
||||
@@ -82,8 +98,24 @@ add_library(soqt SHARED ${SoQtPy_SRCS})
|
||||
|
||||
target_link_libraries(soqt ${SoQtPy_LIBS})
|
||||
|
||||
SET_BIN_DIR(soqt _soqt /bin/pivy/gui)
|
||||
SET_PYTHON_PREFIX_SUFFIX(soqt)
|
||||
if(MSVC)
|
||||
set_target_properties(soqt PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(soqt PROPERTIES DEBUG_OUTPUT_NAME "_soqt_d")
|
||||
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
|
||||
set_target_properties(soqt PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
|
||||
set_target_properties(soqt PROPERTIES PREFIX "../")
|
||||
elseif(MINGW)
|
||||
set_target_properties(soqt PROPERTIES SUFFIX ".pyd")
|
||||
set_target_properties(soqt PROPERTIES DEBUG_OUTPUT_NAME "_soqt_d")
|
||||
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
|
||||
set_target_properties(soqt PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
|
||||
set_target_properties(soqt PROPERTIES PREFIX "")
|
||||
else(MSVC)
|
||||
set_target_properties(soqt PROPERTIES OUTPUT_NAME "_soqt")
|
||||
set_target_properties(soqt PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy/gui)
|
||||
set_target_properties(soqt PROPERTIES PREFIX "")
|
||||
set_target_properties(soqt PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/bin/pivy/gui)
|
||||
endif(MSVC)
|
||||
|
||||
fc_copy_sources(soqt "${CMAKE_BINARY_DIR}/bin/pivy"
|
||||
gui/soqt.py
|
||||
|
||||
+111
-285
@@ -8,82 +8,19 @@ SET(SMESH_VERSION_TWEAK 2)
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}/src
|
||||
${CMAKE_SOURCE_DIR}/src
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${OCC_INCLUDE_DIR}
|
||||
${NGLIB_INCLUDE_DIR}
|
||||
${NETGEN_INCLUDE_DIRS}
|
||||
src/SMDS
|
||||
src/Driver
|
||||
src/DriverUNV
|
||||
src/DriverDAT
|
||||
src/DriverSTL
|
||||
src/StdMeshers
|
||||
inc
|
||||
)
|
||||
link_directories(${OCC_LIBRARY_DIR})
|
||||
|
||||
if(MSVC)
|
||||
if(FREECAD_BUILD_FEM_NETGEN)
|
||||
set(SMESH_LIBS
|
||||
debug MSVCRTD.LIB
|
||||
debug MSVCPRTD.LIB
|
||||
optimized MSVCRT.LIB
|
||||
optimized MSVCPRT.LIB
|
||||
Rpcrt4.lib
|
||||
${NGLIB_LIBRARIES}
|
||||
${NGLIB_DEBUG_LIBRARIES}
|
||||
${OCC_LIBRARIES}
|
||||
${OCC_DEBUG_LIBRARIES}
|
||||
${OCC_OCAF_DEBUG_LIBRARIES}
|
||||
${OCC_OCAF_LIBRARIES}
|
||||
)
|
||||
else(FREECAD_BUILD_FEM_NETGEN)
|
||||
set(SMESH_LIBS
|
||||
debug MSVCRTD.LIB
|
||||
debug MSVCPRTD.LIB
|
||||
optimized MSVCRT.LIB
|
||||
optimized MSVCPRT.LIB
|
||||
Rpcrt4.lib
|
||||
${OCC_LIBRARIES}
|
||||
${OCC_DEBUG_LIBRARIES}
|
||||
${OCC_OCAF_DEBUG_LIBRARIES}
|
||||
${OCC_OCAF_LIBRARIES}
|
||||
)
|
||||
endif(FREECAD_BUILD_FEM_NETGEN)
|
||||
|
||||
else(MSVC)
|
||||
if(FREECAD_BUILD_FEM_NETGEN)
|
||||
set(SMESH_LIBS
|
||||
${NGLIB_LIBRARIES}
|
||||
${OCC_LIBRARIES}
|
||||
${OCC_OCAF_LIBRARIES}
|
||||
)
|
||||
else(FREECAD_BUILD_FEM_NETGEN)
|
||||
set(SMESH_LIBS
|
||||
${OCC_LIBRARIES}
|
||||
${OCC_OCAF_LIBRARIES}
|
||||
)
|
||||
endif(FREECAD_BUILD_FEM_NETGEN)
|
||||
endif(MSVC)
|
||||
|
||||
|
||||
#SET(CMAKE_BUILD_TYPE "Release") # By default, build in release mode
|
||||
#SET(BUILD_SHARED_LIBS ON)
|
||||
SET(CMAKE_BUILD_TYPE "Release") # By default, build in release mode
|
||||
SET(BUILD_SHARED_LIBS ON)
|
||||
#SET(LIBRARY_OUTPUT_PATH cmake-build)
|
||||
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
|
||||
#INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#INCLUDE_DIRECTORIES(inc)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
INCLUDE_DIRECTORIES(inc)
|
||||
|
||||
#############
|
||||
# FindBoost #
|
||||
#############
|
||||
#FIND_PACKAGE(Boost REQUIRED)
|
||||
#MESSAGE("-- Boost found: ${Boost_FOUND}")
|
||||
#INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
|
||||
FIND_PACKAGE(Boost REQUIRED)
|
||||
MESSAGE("-- Boost found: ${Boost_FOUND}")
|
||||
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
|
||||
#MESSAGE("Popo: ${Boost_INCLUDE_DIR}")
|
||||
|
||||
################
|
||||
@@ -95,12 +32,12 @@ INCLUDE(CMakeDetermineFortranCompiler)
|
||||
# OpenCASCADE include and lib location #
|
||||
########################################
|
||||
# Find OpenCASCADE library, set include and lib path
|
||||
#SET(OCC_INCLUDE_PATH ${OCC_INCLUDE_DIR})
|
||||
#SET(OCC_LIB_PATH ${OCC_LIBRARY_DIR})
|
||||
SET(OCC_INCLUDE_PATH ${OCC_INCLUDE_DIR})
|
||||
SET(OCC_LIB_PATH ${OCC_LIBRARY_DIR})
|
||||
|
||||
# Tells CMake where are the required headers
|
||||
#INCLUDE_DIRECTORIES(${OCC_INCLUDE_PATH})
|
||||
#LINK_DIRECTORIES(${OCC_LIB_PATH})
|
||||
INCLUDE_DIRECTORIES(${OCC_INCLUDE_PATH})
|
||||
LINK_DIRECTORIES(${OCC_LIB_PATH})
|
||||
|
||||
|
||||
############################
|
||||
@@ -108,12 +45,9 @@ INCLUDE(CMakeDetermineFortranCompiler)
|
||||
############################
|
||||
IF (${CMAKE_SIZEOF_VOID_P} MATCHES "8") # It is 64bit, 32 bit systems returns 4
|
||||
ADD_DEFINITIONS(-D_OCC64)
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
ADD_DEFINITIONS(-DPCLINUX64)
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
#MESSAGE("-- Build 64bit")
|
||||
MESSAGE("-- Build 64bit")
|
||||
ELSE (${CMAKE_SIZEOF_VOID_P} MATCHES "8")
|
||||
#MESSAGE("-- Build 32bit")
|
||||
MESSAGE("-- Build 32bit")
|
||||
ENDIF(${CMAKE_SIZEOF_VOID_P} MATCHES "8")
|
||||
|
||||
######################################################
|
||||
@@ -125,7 +59,7 @@ IF(UNIX)
|
||||
ELSE(UNIX)
|
||||
IF(WIN32)
|
||||
######### Windows ###########
|
||||
#MESSAGE("-- Windows system detected")
|
||||
MESSAGE("-- Windows system detected")
|
||||
IF(MSVC)
|
||||
ADD_DEFINITIONS(-DWNT -DWIN32 -D_WINDOWS -DCSFDB /wd4290 /wd4251 /wd4018 /wd4800 /wd4996 /wd4244 /wd4806 /wd4275)
|
||||
ELSE(MSVC)
|
||||
@@ -139,249 +73,141 @@ ENDIF(UNIX)
|
||||
#########
|
||||
# SMDS #
|
||||
#########
|
||||
FILE(GLOB SMDS_source_files src/SMDS/*.cpp inc/SMDS*.hxx)
|
||||
FILE(GLOB SMDS_source_files src/SMDS/*.cpp)
|
||||
INCLUDE_DIRECTORIES(src/SMDS)
|
||||
ADD_LIBRARY(SMDS SHARED ${SMDS_source_files})
|
||||
TARGET_LINK_LIBRARIES(SMDS ${SMESH_LIBS})
|
||||
|
||||
SET_BIN_DIR(SMDS SMDS)
|
||||
if(WIN32)
|
||||
set_target_properties(SMDS PROPERTIES COMPILE_FLAGS "-DSMDS_EXPORTS")
|
||||
endif(WIN32)
|
||||
|
||||
TARGET_LINK_LIBRARIES(SMDS TKernel)
|
||||
IF(WIN32)
|
||||
SET_TARGET_PROPERTIES(SMDS PROPERTIES COMPILE_FLAGS "-DSMDS_EXPORTS")
|
||||
ENDIF(WIN32)
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(SMDS PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
##########
|
||||
# Driver #
|
||||
##########
|
||||
FILE(GLOB Driver_source_files src/Driver/*.cpp inc/Driver_*.hxx)
|
||||
FILE(GLOB Driver_source_files src/Driver/*.cpp)
|
||||
INCLUDE_DIRECTORIES(src/Driver)
|
||||
ADD_LIBRARY(Driver SHARED ${Driver_source_files})
|
||||
TARGET_LINK_LIBRARIES(Driver ${SMESH_LIBS})
|
||||
|
||||
SET_BIN_DIR(Driver Driver)
|
||||
if(WIN32)
|
||||
set_target_properties(Driver PROPERTIES COMPILE_FLAGS "-DMESHDRIVER_EXPORTS")
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
#IF(WIN32)
|
||||
# SET_TARGET_PROPERTIES(Driver PROPERTIES COMPILE_FLAGS "-DMESHDRIVER_EXPORTS")
|
||||
#ENDIF(WIN32)
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(Driver PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
IF(WIN32)
|
||||
SET_TARGET_PROPERTIES(Driver PROPERTIES COMPILE_FLAGS "-DMESHDRIVER_EXPORTS")
|
||||
ENDIF(WIN32)
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(Driver PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
#############
|
||||
# DriverSTL #
|
||||
#############
|
||||
FILE(GLOB DriverSTL_source_files src/DriverSTL/*.cpp inc/DriverSTL*.h*)
|
||||
FILE(GLOB DriverSTL_source_files src/DriverSTL/*.cpp)
|
||||
INCLUDE_DIRECTORIES(src/DriverSTL)
|
||||
ADD_LIBRARY(DriverSTL SHARED ${DriverSTL_source_files})
|
||||
TARGET_LINK_LIBRARIES(DriverSTL ${SMESH_LIBS} Driver SMDS)
|
||||
|
||||
SET_BIN_DIR(DriverSTL DriverSTL)
|
||||
if(WIN32)
|
||||
set_target_properties(DriverSTL PROPERTIES COMPILE_FLAGS "-DMESHDRIVERSTL_EXPORTS")
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
#TARGET_LINK_LIBRARIES(DriverSTL TKernel TKMath Driver SMDS)
|
||||
#IF(WIN32)
|
||||
# SET_TARGET_PROPERTIES(DriverSTL PROPERTIES COMPILE_FLAGS "-DMESHDRIVERSTL_EXPORTS")
|
||||
#ENDIF(WIN32)
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(DriverSTL PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
TARGET_LINK_LIBRARIES(DriverSTL TKernel TKMath Driver SMDS)
|
||||
IF(WIN32)
|
||||
SET_TARGET_PROPERTIES(DriverSTL PROPERTIES COMPILE_FLAGS "-DMESHDRIVERSTL_EXPORTS")
|
||||
ENDIF(WIN32)
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(DriverSTL PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
#############
|
||||
# DriverDAT #
|
||||
#############
|
||||
FILE(GLOB DriverDAT_source_files src/DriverDAT/*.cpp inc/DriverDAT*.h*)
|
||||
FILE(GLOB DriverDAT_source_files src/DriverDAT/*.cpp)
|
||||
INCLUDE_DIRECTORIES(src/DriverDAT)
|
||||
ADD_LIBRARY(DriverDAT SHARED ${DriverDAT_source_files})
|
||||
TARGET_LINK_LIBRARIES(DriverDAT ${SMESH_LIBS} SMDS Driver)
|
||||
|
||||
SET_BIN_DIR(DriverDAT DriverDAT)
|
||||
if(WIN32)
|
||||
set_target_properties(DriverDAT PROPERTIES COMPILE_FLAGS "-DMESHDRIVERDAT_EXPORTS")
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
#IF(WIN32)
|
||||
# SET_TARGET_PROPERTIES(DriverDAT PROPERTIES COMPILE_FLAGS "-DMESHDRIVERDAT_EXPORTS")
|
||||
#ENDIF(WIN32)
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(DriverDAT PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
TARGET_LINK_LIBRARIES(DriverDAT SMDS Driver)
|
||||
IF(WIN32)
|
||||
SET_TARGET_PROPERTIES(DriverDAT PROPERTIES COMPILE_FLAGS "-DMESHDRIVERDAT_EXPORTS")
|
||||
ENDIF(WIN32)
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(DriverDAT PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
#############
|
||||
# DriverUNV #
|
||||
#############
|
||||
FILE(GLOB DriverUNV_source_files src/DriverUNV/*.cpp inc/DriverUNV*.h*)
|
||||
FILE(GLOB DriverUNV_source_files src/DriverUNV/*.cpp)
|
||||
INCLUDE_DIRECTORIES(src/DriverUNV)
|
||||
ADD_LIBRARY(DriverUNV SHARED ${DriverUNV_source_files})
|
||||
TARGET_LINK_LIBRARIES(DriverUNV ${SMESH_LIBS} SMESHDS SMDS Driver)
|
||||
|
||||
SET_BIN_DIR(DriverUNV DriverUNV)
|
||||
if(WIN32)
|
||||
set_target_properties(DriverUNV PROPERTIES COMPILE_FLAGS "-DMESHDRIVERUNV_EXPORTS")
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
#IF(WIN32)
|
||||
# SET_TARGET_PROPERTIES(DriverUNV PROPERTIES COMPILE_FLAGS "-DMESHDRIVERUNV_EXPORTS")
|
||||
#ENDIF(WIN32)
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(DriverUNV PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
TARGET_LINK_LIBRARIES(DriverUNV SMDS Driver)
|
||||
IF(WIN32)
|
||||
SET_TARGET_PROPERTIES(DriverUNV PROPERTIES COMPILE_FLAGS "-DMESHDRIVERUNV_EXPORTS")
|
||||
ENDIF(WIN32)
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(DriverUNV PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
###########
|
||||
# SMESHDS #
|
||||
###########
|
||||
FILE(GLOB SMESHDS_source_files src/SMESHDS/*.cpp inc/SMESHDS_*.h*)
|
||||
FILE(GLOB SMESHDS_source_files src/SMESHDS/*.cpp)
|
||||
INCLUDE_DIRECTORIES(src/SMESHDS)
|
||||
ADD_LIBRARY(SMESHDS SHARED ${SMESHDS_source_files})
|
||||
TARGET_LINK_LIBRARIES(SMESHDS ${SMESH_LIBS} SMDS )
|
||||
|
||||
SET_BIN_DIR(SMESHDS SMESHDS)
|
||||
|
||||
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(SMESHDS PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
TARGET_LINK_LIBRARIES(SMESHDS SMDS TKernel TKMath TKBRep)
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(SMESHDS PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
#########
|
||||
# SMESH #
|
||||
#########
|
||||
FILE(GLOB SMESH_source_files src/SMESH/*.cpp src/Controls/*.cpp inc/SMESH_*.h*)
|
||||
FILE(GLOB SMESH_source_files src/SMESH/*.cpp src/Controls/*.cpp)
|
||||
INCLUDE_DIRECTORIES(src/SMESH)
|
||||
ADD_LIBRARY(SMESH SHARED ${SMESH_source_files})
|
||||
TARGET_LINK_LIBRARIES(SMESH SMDS SMESHDS Driver DriverSTL DriverDAT DriverUNV ${SMESH_LIBS})
|
||||
|
||||
SET_BIN_DIR(SMESH SMESH)
|
||||
if(WIN32)
|
||||
set_target_properties(SMESH PROPERTIES COMPILE_FLAGS "-DSMESH_EXPORTS -DSMESHCONTROLS_EXPORTS -DSMESHimpl_EXPORTS")
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
#IF(WIN32)
|
||||
# SET_TARGET_PROPERTIES(SMESH PROPERTIES COMPILE_FLAGS "-DSMESHimpl_EXPORTS -DSMESHCONTROLS_EXPORTS")
|
||||
#ENDIF(WIN32)
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(SMESH PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
|
||||
|
||||
##############
|
||||
# MEFISTO2 #
|
||||
##############
|
||||
if (MSVC)
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
# Mefisto2f.lib was built using f2c which created
|
||||
# all function names with an '_' at the end.
|
||||
FILE(GLOB MEFISTO2_source_files
|
||||
src/MEFISTO2/*.cpp
|
||||
inc/Rn.h
|
||||
inc/aptrte.h
|
||||
)
|
||||
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
FILE(GLOB MEFISTO2_source_files
|
||||
src/MEFISTO2/*.cpp
|
||||
src/MEFISTO2/MEFISTO2F.def
|
||||
inc/Rn.h
|
||||
inc/aptrte.h
|
||||
)
|
||||
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
else(MSVC)
|
||||
FILE(GLOB MEFISTO2_source_files
|
||||
src/MEFISTO2/*.cpp
|
||||
src/MEFISTO2/trte.f
|
||||
inc/Rn.h
|
||||
inc/aptrte.h
|
||||
)
|
||||
endif(MSVC)
|
||||
|
||||
ADD_LIBRARY(MEFISTO2 SHARED ${MEFISTO2_source_files})
|
||||
|
||||
SET_BIN_DIR(MEFISTO2 MEFISTO2)
|
||||
if(MSVC)
|
||||
TARGET_LINK_LIBRARIES(MEFISTO2 ${SMESH_LIBS} MEFISTO2f.lib) # in case of Windows link the prebuild Fortran lib
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set_target_properties(MEFISTO2 PROPERTIES COMPILE_FLAGS "-DMEFISTO2D_EXPORTS")
|
||||
else(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set_target_properties(MEFISTO2 PROPERTIES COMPILE_FLAGS "-DMEFISTO2D_EXPORTS -D__WATCOM__")
|
||||
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
elseif(MINGW)
|
||||
TARGET_LINK_LIBRARIES(MEFISTO2 ${SMESH_LIBS} gfortran)
|
||||
set_target_properties(MEFISTO2 PROPERTIES COMPILE_FLAGS "-DMEFISTO2D_EXPORTS")
|
||||
else(MSVC)
|
||||
TARGET_LINK_LIBRARIES(MEFISTO2 ${SMESH_LIBS} gfortran)
|
||||
set_target_properties(MEFISTO2 PROPERTIES COMPILE_FLAGS "${MEFISTO2_CFLAGS}")
|
||||
endif(MSVC)
|
||||
|
||||
TARGET_LINK_LIBRARIES(SMESH SMDS SMESHDS TKernel TKMath TKG2d TKG3d TKMeshVS
|
||||
TKPrim TKGeomBase TKGeomAlgo TKBRep TKTopAlgo TKShHealing
|
||||
Driver DriverSTL DriverDAT DriverUNV)
|
||||
IF(WIN32)
|
||||
SET_TARGET_PROPERTIES(SMESH PROPERTIES COMPILE_FLAGS "-DSMESHimpl_EXPORTS -DSMESHCONTROLS_EXPORTS")
|
||||
ENDIF(WIN32)
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(SMESH PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
##############
|
||||
# StdMeshers #
|
||||
##############
|
||||
FILE(GLOB StdMeshers_source_files src/StdMeshers/*.cpp inc/StdMeshers_*.h*)
|
||||
FILE(GLOB StdMeshers_source_files src/StdMeshers/*.cpp src/MEFISTO2/*.cpp src/MEFISTO2/trte.f)
|
||||
INCLUDE_DIRECTORIES(src/StdMeshers)
|
||||
|
||||
ADD_LIBRARY(StdMeshers SHARED ${StdMeshers_source_files})
|
||||
TARGET_LINK_LIBRARIES(StdMeshers SMESH ${SMESH_LIBS} MEFISTO2)
|
||||
TARGET_LINK_LIBRARIES(StdMeshers SMESH TKernel TKMath TKAdvTools gfortran)
|
||||
SET(StdMeshers_CFLAGS "")
|
||||
IF(WIN32)
|
||||
SET(StdMeshers_CFLAGS "-DSTDMESHERS_EXPORTS -DMEFISTO2D_EXPORTS")
|
||||
ENDIF(WIN32)
|
||||
# special compiler flag for g++ 64-bit
|
||||
IF (${CMAKE_SIZEOF_VOID_P} MATCHES "8")
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(StdMeshers_CFLAGS "${StdMeshers_CFLAGS} -DPCLINUX64")
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
ENDIF(${CMAKE_SIZEOF_VOID_P} MATCHES "8")
|
||||
SET_TARGET_PROPERTIES(StdMeshers PROPERTIES COMPILE_FLAGS "${StdMeshers_CFLAGS}")
|
||||
IF(MINGW)
|
||||
SET_TARGET_PROPERTIES(StdMeshers PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
ENDIF(MINGW)
|
||||
|
||||
SET_BIN_DIR(StdMeshers StdMeshers)
|
||||
if(WIN32)
|
||||
set_target_properties(StdMeshers PROPERTIES COMPILE_FLAGS "-DSTDMESHERS_EXPORTS")
|
||||
else(WIN32)
|
||||
set_target_properties(StdMeshers PROPERTIES COMPILE_FLAGS "${StdMeshers_CFLAGS}")
|
||||
endif(WIN32)
|
||||
###########
|
||||
# INSTALL #
|
||||
###########
|
||||
|
||||
# Path name install: for instance, SMESH-5.1.2.7
|
||||
SET(INSTALL_PATH_NAME SMESH-${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK})
|
||||
|
||||
#SET(StdMeshers_CFLAGS "")
|
||||
#IF(WIN32)
|
||||
# SET(StdMeshers_CFLAGS "-DSTDMESHERS_EXPORTS -DMEFISTO2D_EXPORTS")
|
||||
#ENDIF(WIN32)
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(StdMeshers PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
|
||||
# Disable for all other compilers but MSVC
|
||||
if (FREECAD_BUILD_FEM_NETGEN)
|
||||
|
||||
################
|
||||
# NETGENPlugin #
|
||||
################
|
||||
FILE(GLOB NETGENPlugin_source_files src/NETGENPlugin/*.cpp inc/NETGENPlugin_*.h* )
|
||||
ADD_LIBRARY(NETGENPlugin SHARED ${NETGENPlugin_source_files})
|
||||
TARGET_LINK_LIBRARIES(NETGENPlugin SMDS SMESHDS SMESH StdMeshers ${SMESH_LIBS} )
|
||||
|
||||
SET_BIN_DIR(NETGENPlugin NETGENPlugin)
|
||||
if(WIN32)
|
||||
set_target_properties(NETGENPlugin PROPERTIES COMPILE_FLAGS "-DNETGENPLUGIN_EXPORTS -DNO_PARALLEL_THREADS -DOCCGEOMETRY -DNETGEN_V5")
|
||||
endif(WIN32)
|
||||
|
||||
endif (FREECAD_BUILD_FEM_NETGEN)
|
||||
|
||||
#IF(WIN32)
|
||||
# SET_TARGET_PROPERTIES(SMESH PROPERTIES COMPILE_FLAGS "-DNETGENPluginimpl_EXPORTS ")
|
||||
#ENDIF(WIN32)
|
||||
#IF(MINGW)
|
||||
# SET_TARGET_PROPERTIES(SMESH PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
#ENDIF(MINGW)
|
||||
|
||||
|
||||
if(WIN32)
|
||||
INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
)
|
||||
else(WIN32)
|
||||
INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
endif(WIN32)
|
||||
|
||||
if (FREECAD_BUILD_FEM_NETGEN)
|
||||
if(WIN32)
|
||||
INSTALL(TARGETS NETGENPlugin
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
IF(UNIX)
|
||||
SET_TARGET_PROPERTIES(SMDS Driver DriverSTL DriverDAT DriverUNV
|
||||
SMESHDS SMESH StdMeshers
|
||||
PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
|
||||
# Libraries are installed by default in /usr/local/lib/SMESH-5.1.2.7
|
||||
INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV
|
||||
SMESHDS SMESH StdMeshers
|
||||
DESTINATION lib
|
||||
)
|
||||
else(WIN32)
|
||||
INSTALL(TARGETS NETGENPlugin
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
# Headers are installed by default in /usr/local/include/SMESH-5.1.2.7
|
||||
INSTALL(DIRECTORY inc/
|
||||
DESTINATION include
|
||||
FILES_MATCHING PATTERN "*.h*"
|
||||
)
|
||||
endif(WIN32)
|
||||
endif (FREECAD_BUILD_FEM_NETGEN)
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@
|
||||
#include <string>
|
||||
|
||||
#ifdef WNT
|
||||
#if defined MESHDRIVER_EXPORTS
|
||||
#if defined MESHDRIVER_EXPORTS || defined MeshDriver_EXPORTS
|
||||
#define MESHDRIVER_EXPORT __declspec( dllexport )
|
||||
#else
|
||||
#define MESHDRIVER_EXPORT __declspec( dllimport )
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
#define _NETGENPlugin_DEFS_HXX_
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef NETGENPLUGIN_EXPORTS
|
||||
#if defined NETGENPLUGIN_EXPORTS || defined NETGENEngine_EXPORTS
|
||||
#define NETGENPLUGIN_EXPORT __declspec( dllexport )
|
||||
#else
|
||||
#define NETGENPLUGIN_EXPORT __declspec( dllimport )
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
// Author : Michael Sazonov (OCN)
|
||||
// Date : 27/03/2006
|
||||
// Project : SALOME
|
||||
// $Header: /home/server/cvs/NETGENPLUGIN/NETGENPLUGIN_SRC/src/NETGENPlugin/NETGENPlugin_Hypothesis.hxx,v 1.4.2.2 2008/11/27 14:29:44 abd Exp $
|
||||
//=============================================================================
|
||||
//
|
||||
#ifndef _NETGENPlugin_Hypothesis_HXX_
|
||||
#define _NETGENPlugin_Hypothesis_HXX_
|
||||
@@ -33,11 +31,13 @@
|
||||
#include "NETGENPlugin_Defs.hxx"
|
||||
|
||||
#include "SMESH_Hypothesis.hxx"
|
||||
#include "SMESH_Exception.hxx"
|
||||
#include "Utils_SALOME_Exception.hxx"
|
||||
|
||||
// Parameters for work of NETGEN
|
||||
//
|
||||
|
||||
using namespace std;
|
||||
|
||||
class NETGENPLUGIN_EXPORT NETGENPlugin_Hypothesis: public SMESH_Hypothesis
|
||||
{
|
||||
public:
|
||||
@@ -88,10 +88,10 @@ public:
|
||||
static bool GetDefaultOptimize();
|
||||
|
||||
// Persistence
|
||||
virtual std::ostream & SaveTo(std::ostream & save);
|
||||
virtual std::istream & LoadFrom(std::istream & load);
|
||||
friend NETGENPLUGIN_EXPORT std::ostream & operator <<(std::ostream & save, NETGENPlugin_Hypothesis & hyp);
|
||||
friend NETGENPLUGIN_EXPORT std::istream & operator >>(std::istream & load, NETGENPlugin_Hypothesis & hyp);
|
||||
virtual ostream & SaveTo(ostream & save);
|
||||
virtual istream & LoadFrom(istream & load);
|
||||
friend NETGENPLUGIN_EXPORT ostream & operator <<(ostream & save, NETGENPlugin_Hypothesis & hyp);
|
||||
friend NETGENPLUGIN_EXPORT istream & operator >>(istream & load, NETGENPlugin_Hypothesis & hyp);
|
||||
|
||||
/*!
|
||||
* \brief Does nothing
|
||||
@@ -100,8 +100,8 @@ public:
|
||||
* \retval bool - always false
|
||||
*/
|
||||
virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
|
||||
|
||||
/*!
|
||||
|
||||
/*!
|
||||
* \brief Initialize my parameter values by default parameters.
|
||||
* \retval bool - true if parameter values have been successfully defined
|
||||
*/
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// Author : Michael Sazonov (OCN)
|
||||
// Date : 27/03/2006
|
||||
// Project : SALOME
|
||||
// $Header: /home/server/cvs/NETGENPLUGIN/NETGENPLUGIN_SRC/src/NETGENPlugin/NETGENPlugin_Hypothesis_2D.hxx,v 1.4.2.2 2008/11/27 14:29:44 abd Exp $
|
||||
// $Header$
|
||||
//=============================================================================
|
||||
//
|
||||
#ifndef _NETGENPlugin_Hypothesis_2D_HXX_
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "NETGENPlugin_Defs.hxx"
|
||||
|
||||
#include "NETGENPlugin_Hypothesis.hxx"
|
||||
#include "SMESH_Exception.hxx"
|
||||
#include "Utils_SALOME_Exception.hxx"
|
||||
|
||||
// Parameters for work of NETGEN.
|
||||
// This class is just to give 2D dimension, actually
|
||||
@@ -50,8 +50,8 @@ public:
|
||||
static bool GetDefaultQuadAllowed();
|
||||
|
||||
// Persistence
|
||||
virtual std::ostream & SaveTo(std::ostream & save);
|
||||
virtual std::istream & LoadFrom(std::istream & load);
|
||||
virtual ostream & SaveTo(ostream & save);
|
||||
virtual istream & LoadFrom(istream & load);
|
||||
|
||||
private:
|
||||
bool _quadAllowed;
|
||||
|
||||
+3
-1
@@ -24,7 +24,7 @@
|
||||
// Author : Michael Sazonov (OCN)
|
||||
// Date : 31/03/2006
|
||||
// Project : SALOME
|
||||
// $Header: /home/server/cvs/NETGENPLUGIN/NETGENPLUGIN_SRC/src/NETGENPlugin/NETGENPlugin_Mesher.hxx,v 1.4.2.2 2008/11/27 14:29:44 abd Exp $
|
||||
// $Header$
|
||||
//=============================================================================
|
||||
//
|
||||
#ifndef _NETGENPlugin_Mesher_HXX_
|
||||
@@ -61,6 +61,8 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_Mesher
|
||||
|
||||
bool Compute();
|
||||
|
||||
bool Evaluate(MapShapeNbElems& aResMap);
|
||||
|
||||
static void PrepareOCCgeometry(netgen::OCCGeometry& occgeom,
|
||||
const TopoDS_Shape& shape,
|
||||
SMESH_Mesh& mesh,
|
||||
|
||||
+5
-2
@@ -24,7 +24,7 @@
|
||||
// Author : Michael Sazonov (OCN)
|
||||
// Date : 20/03/2006
|
||||
// Project : SALOME
|
||||
// $Header: /home/server/cvs/NETGENPLUGIN/NETGENPLUGIN_SRC/src/NETGENPlugin/NETGENPlugin_NETGEN_2D.hxx,v 1.4.2.2 2008/11/27 14:29:44 abd Exp $
|
||||
// $Header$
|
||||
//=============================================================================
|
||||
//
|
||||
#ifndef _NETGENPlugin_NETGEN_2D_HXX_
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "SMESH_2D_Algo.hxx"
|
||||
#include "SMESH_Mesh.hxx"
|
||||
#include "StdMeshers_MaxElementVolume.hxx"
|
||||
#include "SMESH_Exception.hxx"
|
||||
#include "Utils_SALOME_Exception.hxx"
|
||||
|
||||
//class NETGENPlugin_Hypothesis_2D;
|
||||
|
||||
@@ -52,6 +52,9 @@ public:
|
||||
virtual bool Compute(SMESH_Mesh& aMesh,
|
||||
const TopoDS_Shape& aShape);
|
||||
|
||||
virtual bool Evaluate(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape,
|
||||
MapShapeNbElems& aResMap);
|
||||
|
||||
protected:
|
||||
const SMESHDS_Hypothesis* _hypothesis;
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// Author : Michael Sazonov (OCN)
|
||||
// Date : 20/03/2006
|
||||
// Project : SALOME
|
||||
// $Header: /home/server/cvs/NETGENPLUGIN/NETGENPLUGIN_SRC/src/NETGENPlugin/NETGENPlugin_NETGEN_2D3D.hxx,v 1.4.2.2 2008/11/27 14:29:44 abd Exp $
|
||||
// $Header$
|
||||
//=============================================================================
|
||||
//
|
||||
#ifndef _NETGENPlugin_NETGEN_2D3D_HXX_
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "SMESH_3D_Algo.hxx"
|
||||
#include "SMESH_Mesh.hxx"
|
||||
#include "StdMeshers_MaxElementVolume.hxx"
|
||||
#include "SMESH_Exception.hxx"
|
||||
#include "Utils_SALOME_Exception.hxx"
|
||||
|
||||
//class NETGENPlugin_Hypothesis;
|
||||
|
||||
@@ -52,6 +52,10 @@ public:
|
||||
virtual bool Compute(SMESH_Mesh& aMesh,
|
||||
const TopoDS_Shape& aShape);
|
||||
|
||||
virtual bool Evaluate(SMESH_Mesh& aMesh,
|
||||
const TopoDS_Shape& aShape,
|
||||
MapShapeNbElems& aResMap);
|
||||
|
||||
protected:
|
||||
const SMESHDS_Hypothesis* _hypothesis;
|
||||
};
|
||||
|
||||
@@ -70,6 +70,9 @@ public:
|
||||
virtual bool Compute(SMESH_Mesh& aMesh,
|
||||
const TopoDS_Shape& aShape);
|
||||
|
||||
virtual bool Evaluate(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape,
|
||||
MapShapeNbElems& aResMap);
|
||||
|
||||
/*static TError AddSegmentsToMesh(netgen::Mesh& ngMesh,
|
||||
OCCGeometry& geom,
|
||||
const TSideVector& wires,
|
||||
|
||||
+6
-2
@@ -25,7 +25,7 @@
|
||||
// Created : lundi 27 Janvier 2003
|
||||
// Author : Nadir BOUHAMOU (CEA)
|
||||
// Project : SALOME
|
||||
// $Header: /home/server/cvs/NETGENPLUGIN/NETGENPLUGIN_SRC/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx,v 1.4.2.1 2008/11/27 14:29:45 abd Exp $
|
||||
// $Header$
|
||||
//=============================================================================
|
||||
//
|
||||
#ifndef _NETGENPlugin_NETGEN_3D_HXX_
|
||||
@@ -36,7 +36,7 @@
|
||||
#include "SMESH_3D_Algo.hxx"
|
||||
#include "SMESH_Mesh.hxx"
|
||||
#include "StdMeshers_MaxElementVolume.hxx"
|
||||
#include "SMESH_Exception.hxx"
|
||||
#include "Utils_SALOME_Exception.hxx"
|
||||
|
||||
class NETGENPLUGIN_EXPORT NETGENPlugin_NETGEN_3D: public SMESH_3D_Algo
|
||||
{
|
||||
@@ -54,6 +54,10 @@ public:
|
||||
virtual bool Compute(SMESH_Mesh& aMesh,
|
||||
SMESH_MesherHelper* aHelper);
|
||||
|
||||
virtual bool Evaluate(SMESH_Mesh& aMesh,
|
||||
const TopoDS_Shape& aShape,
|
||||
MapShapeNbElems& aResMap);
|
||||
|
||||
protected:
|
||||
double _maxElementVolume;
|
||||
|
||||
|
||||
@@ -31,11 +31,13 @@
|
||||
#include "NETGENPlugin_Defs.hxx"
|
||||
|
||||
#include "SMESH_Hypothesis.hxx"
|
||||
#include "SMESH_Exception.hxx"
|
||||
#include "Utils_SALOME_Exception.hxx"
|
||||
|
||||
// Simplified parameters of NETGEN
|
||||
//
|
||||
|
||||
using namespace std;
|
||||
|
||||
class NETGENPLUGIN_EXPORT NETGENPlugin_SimpleHypothesis_2D: public SMESH_Hypothesis
|
||||
{
|
||||
public:
|
||||
@@ -45,7 +47,7 @@ public:
|
||||
/*!
|
||||
* Sets <number of segments> value
|
||||
*/
|
||||
void SetNumberOfSegments(int nb) throw (SMESH_Exception);
|
||||
void SetNumberOfSegments(int nb) throw (SALOME_Exception);
|
||||
/*!
|
||||
* Returns <number of segments> value.
|
||||
* Can be zero in case if LocalLength() has been set
|
||||
@@ -55,7 +57,7 @@ public:
|
||||
/*!
|
||||
* Sets <segment length> value
|
||||
*/
|
||||
void SetLocalLength(double segmentLength) throw (SMESH_Exception);
|
||||
void SetLocalLength(double segmentLength) throw (SALOME_Exception);
|
||||
/*!
|
||||
* Returns <segment length> value.
|
||||
* Can be zero in case if NumberOfSegments() has been set
|
||||
@@ -79,8 +81,8 @@ public:
|
||||
double GetMaxElementArea() const { return _area; }
|
||||
|
||||
// Persistence
|
||||
virtual std::ostream & SaveTo(std::ostream & save);
|
||||
virtual std::istream & LoadFrom(std::istream & load);
|
||||
virtual ostream & SaveTo(ostream & save);
|
||||
virtual istream & LoadFrom(istream & load);
|
||||
|
||||
/*!
|
||||
* \brief Set parameters by mesh
|
||||
@@ -89,13 +91,13 @@ public:
|
||||
* \retval bool - true if theShape is meshed
|
||||
*/
|
||||
virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
|
||||
|
||||
/*!
|
||||
|
||||
/*!
|
||||
* \brief Initialize my parameter values by default parameters.
|
||||
* \retval bool - true if parameter values have been successfully defined
|
||||
*/
|
||||
virtual bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0);
|
||||
|
||||
|
||||
private:
|
||||
int _nbSegments;
|
||||
double _segmentLength, _area;
|
||||
|
||||
@@ -31,11 +31,13 @@
|
||||
#include "NETGENPlugin_Defs.hxx"
|
||||
#include "NETGENPlugin_SimpleHypothesis_2D.hxx"
|
||||
|
||||
#include <SMESH_Exception.hxx>
|
||||
#include <Utils_SALOME_Exception.hxx>
|
||||
|
||||
// Simplified parameters of NETGEN
|
||||
//
|
||||
|
||||
using namespace std;
|
||||
|
||||
class NETGENPLUGIN_EXPORT NETGENPlugin_SimpleHypothesis_3D: public NETGENPlugin_SimpleHypothesis_2D
|
||||
{
|
||||
public:
|
||||
@@ -48,8 +50,8 @@ public:
|
||||
double GetMaxElementVolume() const { return _volume; }
|
||||
|
||||
// Persistence
|
||||
virtual std::ostream & SaveTo(std::ostream & save);
|
||||
virtual std::istream & LoadFrom(std::istream & load);
|
||||
virtual ostream & SaveTo(ostream & save);
|
||||
virtual istream & LoadFrom(istream & load);
|
||||
|
||||
/*!
|
||||
* \brief Set parameters by mesh
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
#ifndef _OpUtil_HXX_
|
||||
#define _OpUtil_HXX_
|
||||
|
||||
#endif
|
||||
+54
-25
@@ -22,7 +22,7 @@
|
||||
// SMESH SMDS : implementaion of Salome mesh data structure
|
||||
// File : SMDSAbs_ElementType.hxx
|
||||
// Module : SMESH
|
||||
//
|
||||
|
||||
#ifndef _SMDSAbs_ElementType_HeaderFile
|
||||
#define _SMDSAbs_ElementType_HeaderFile
|
||||
|
||||
@@ -30,33 +30,34 @@
|
||||
/// Type (node, edge, face or volume) of elements
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
enum SMDSAbs_ElementType
|
||||
{
|
||||
SMDSAbs_All,
|
||||
SMDSAbs_Node,
|
||||
SMDSAbs_Edge,
|
||||
SMDSAbs_Face,
|
||||
SMDSAbs_Volume,
|
||||
SMDSAbs_NbElementTypes
|
||||
};
|
||||
{
|
||||
SMDSAbs_All,
|
||||
SMDSAbs_Node,
|
||||
SMDSAbs_Edge,
|
||||
SMDSAbs_Face,
|
||||
SMDSAbs_Volume,
|
||||
SMDSAbs_0DElement,
|
||||
SMDSAbs_NbElementTypes
|
||||
};
|
||||
|
||||
/*! enumeration for element geometry type */
|
||||
enum SMDSAbs_GeometryType
|
||||
{
|
||||
// 0D element
|
||||
SMDSGeom_POINT,
|
||||
// 1D element
|
||||
SMDSGeom_EDGE,
|
||||
// 2D element
|
||||
SMDSGeom_TRIANGLE,
|
||||
SMDSGeom_QUADRANGLE,
|
||||
SMDSGeom_POLYGON,
|
||||
// 3D element
|
||||
SMDSGeom_TETRA,
|
||||
SMDSGeom_PYRAMID,
|
||||
SMDSGeom_HEXA,
|
||||
SMDSGeom_PENTA,
|
||||
SMDSGeom_POLYHEDRA,
|
||||
};
|
||||
{
|
||||
// 0D element
|
||||
SMDSGeom_POINT,
|
||||
// 1D element
|
||||
SMDSGeom_EDGE,
|
||||
// 2D element
|
||||
SMDSGeom_TRIANGLE,
|
||||
SMDSGeom_QUADRANGLE,
|
||||
SMDSGeom_POLYGON,
|
||||
// 3D element
|
||||
SMDSGeom_TETRA,
|
||||
SMDSGeom_PYRAMID,
|
||||
SMDSGeom_HEXA,
|
||||
SMDSGeom_PENTA,
|
||||
SMDSGeom_POLYHEDRA,
|
||||
};
|
||||
|
||||
|
||||
enum SMDSAbs_ElementOrder {
|
||||
@@ -65,4 +66,32 @@ enum SMDSAbs_ElementOrder {
|
||||
ORDER_QUADRATIC /*! entities of 2nd order */
|
||||
};
|
||||
|
||||
/*!
|
||||
* Enumeration of entity type uses in mesh info array,
|
||||
* and should be synchronised with enum in SMDS
|
||||
*/
|
||||
enum SMDSAbs_EntityType {
|
||||
SMDSEntity_Node,
|
||||
SMDSEntity_0D,
|
||||
SMDSEntity_Edge,
|
||||
SMDSEntity_Quad_Edge,
|
||||
SMDSEntity_Triangle,
|
||||
SMDSEntity_Quad_Triangle,
|
||||
SMDSEntity_Quadrangle,
|
||||
SMDSEntity_Quad_Quadrangle,
|
||||
SMDSEntity_Polygon,
|
||||
SMDSEntity_Quad_Polygon,
|
||||
SMDSEntity_Tetra,
|
||||
SMDSEntity_Quad_Tetra,
|
||||
SMDSEntity_Pyramid,
|
||||
SMDSEntity_Quad_Pyramid,
|
||||
SMDSEntity_Hexa,
|
||||
SMDSEntity_Quad_Hexa,
|
||||
SMDSEntity_Penta,
|
||||
SMDSEntity_Quad_Penta,
|
||||
SMDSEntity_Polyhedra,
|
||||
SMDSEntity_Quad_Polyhedra,
|
||||
SMDSEntity_Last
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+7
-3
@@ -22,9 +22,9 @@
|
||||
// SMESH SMDS : implementaion of Salome mesh data structure
|
||||
// File : SMDS_MeshElement.hxx
|
||||
// Module : SMESH
|
||||
// Created: 12.01.05 18:02:52
|
||||
// Author: Michael Sazonov
|
||||
//
|
||||
// Created: 12.01.05 18:02:52
|
||||
// Author: Michael Sazonov
|
||||
|
||||
#ifndef SMDS_ElemIterator_HeaderFile
|
||||
#define SMDS_ElemIterator_HeaderFile
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
|
||||
class SMDS_MeshElement;
|
||||
class SMDS_MeshNode;
|
||||
class SMDS_Mesh0DElement;
|
||||
class SMDS_MeshEdge;
|
||||
class SMDS_MeshFace;
|
||||
class SMDS_MeshVolume;
|
||||
@@ -43,6 +44,9 @@ typedef boost::shared_ptr<SMDS_Iterator<const SMDS_MeshElement *> > SMDS_ElemIte
|
||||
typedef SMDS_Iterator<const SMDS_MeshNode *> SMDS_NodeIterator;
|
||||
typedef boost::shared_ptr<SMDS_Iterator<const SMDS_MeshNode *> > SMDS_NodeIteratorPtr;
|
||||
|
||||
typedef SMDS_Iterator<const SMDS_Mesh0DElement *> SMDS_0DElementIterator;
|
||||
typedef boost::shared_ptr<SMDS_Iterator<const SMDS_Mesh0DElement *> > SMDS_0DElementIteratorPtr;
|
||||
|
||||
typedef SMDS_Iterator<const SMDS_MeshEdge *> SMDS_EdgeIterator;
|
||||
typedef boost::shared_ptr<SMDS_Iterator<const SMDS_MeshEdge *> > SMDS_EdgeIteratorPtr;
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ class SMDS_EXPORT SMDS_FaceOfEdges:public SMDS_MeshFace
|
||||
const SMDS_MeshEdge* edge4);
|
||||
|
||||
SMDSAbs_ElementType GetType() const;
|
||||
virtual SMDSAbs_EntityType GetEntityType() const;
|
||||
int NbNodes() const;
|
||||
int NbEdges() const;
|
||||
int NbFaces() const;
|
||||
|
||||
@@ -56,6 +56,8 @@ class SMDS_EXPORT SMDS_FaceOfNodes:public SMDS_MeshFace
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int ind) const;
|
||||
|
||||
virtual SMDSAbs_EntityType GetEntityType() const;
|
||||
|
||||
protected:
|
||||
SMDS_ElemIteratorPtr
|
||||
elementsIterator(SMDSAbs_ElementType type) const;
|
||||
|
||||
+212
-198
@@ -22,13 +22,14 @@
|
||||
// SMESH SMDS : implementaion of Salome mesh data structure
|
||||
// File : SMDS_Mesh.hxx
|
||||
// Module : SMESH
|
||||
//
|
||||
|
||||
#ifndef _SMDS_Mesh_HeaderFile
|
||||
#define _SMDS_Mesh_HeaderFile
|
||||
|
||||
#include "SMESH_SMDS.hxx"
|
||||
|
||||
#include "SMDS_MeshNode.hxx"
|
||||
#include "SMDS_Mesh0DElement.hxx"
|
||||
#include "SMDS_MeshEdge.hxx"
|
||||
#include "SMDS_MeshFace.hxx"
|
||||
#include "SMDS_MeshVolume.hxx"
|
||||
@@ -43,59 +44,64 @@
|
||||
|
||||
class SMDS_EXPORT SMDS_Mesh:public SMDS_MeshObject{
|
||||
public:
|
||||
|
||||
|
||||
SMDS_Mesh();
|
||||
|
||||
|
||||
SMDS_NodeIteratorPtr nodesIterator() const;
|
||||
SMDS_0DElementIteratorPtr elements0dIterator() const;
|
||||
SMDS_EdgeIteratorPtr edgesIterator() const;
|
||||
SMDS_FaceIteratorPtr facesIterator() const;
|
||||
SMDS_VolumeIteratorPtr volumesIterator() const;
|
||||
SMDS_ElemIteratorPtr elementsIterator() const;
|
||||
|
||||
SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type=SMDSAbs_All) const;
|
||||
|
||||
SMDSAbs_ElementType GetElementType( const int id, const bool iselem ) const;
|
||||
|
||||
SMDS_Mesh *AddSubMesh();
|
||||
|
||||
|
||||
virtual SMDS_MeshNode* AddNodeWithID(double x, double y, double z, int ID);
|
||||
virtual SMDS_MeshNode* AddNode(double x, double y, double z);
|
||||
|
||||
|
||||
virtual SMDS_Mesh0DElement* Add0DElementWithID(int n, int ID);
|
||||
virtual SMDS_Mesh0DElement* Add0DElementWithID(const SMDS_MeshNode * n, int ID);
|
||||
virtual SMDS_Mesh0DElement* Add0DElement (const SMDS_MeshNode * n);
|
||||
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(int n1, int n2, int ID);
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
int ID);
|
||||
virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2);
|
||||
|
||||
const SMDS_MeshNode * n2);
|
||||
|
||||
// 2d order edge with 3 nodes: n12 - node between n1 and n2
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(int n1, int n2, int n12, int ID);
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n12,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n12,
|
||||
int ID);
|
||||
virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n12);
|
||||
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3);
|
||||
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3);
|
||||
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshEdge * e1,
|
||||
const SMDS_MeshEdge * e2,
|
||||
const SMDS_MeshEdge * e3, int ID);
|
||||
@@ -116,100 +122,100 @@ public:
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3,
|
||||
int n12,int n23,int n31, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31);
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31);
|
||||
|
||||
// 2d order quadrangle
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4,
|
||||
int n12,int n23,int n34,int n41, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41);
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||
int n5, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5);
|
||||
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||
int n5, int n6, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6);
|
||||
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||
int n5, int n6, int n7, int n8, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshFace * f1,
|
||||
const SMDS_MeshFace * f2,
|
||||
@@ -249,24 +255,24 @@ public:
|
||||
int n12,int n23,int n31,
|
||||
int n14,int n24,int n34, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n24,
|
||||
const SMDS_MeshNode * n34,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n24,
|
||||
const SMDS_MeshNode * n34,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n24,
|
||||
const SMDS_MeshNode * n34);
|
||||
|
||||
@@ -276,28 +282,28 @@ public:
|
||||
int n15,int n25,int n35,int n45,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n35,
|
||||
const SMDS_MeshNode * n45,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n35,
|
||||
const SMDS_MeshNode * n45,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n35,
|
||||
@@ -311,33 +317,33 @@ public:
|
||||
int n14,int n25,int n36,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n45,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n64,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n36,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n45,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n64,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n36,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n45,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n64,
|
||||
const SMDS_MeshNode * n64,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n36);
|
||||
@@ -350,42 +356,42 @@ public:
|
||||
int n15,int n26,int n37,int n48,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n67,
|
||||
const SMDS_MeshNode * n78,
|
||||
const SMDS_MeshNode * n85,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n26,
|
||||
const SMDS_MeshNode * n37,
|
||||
const SMDS_MeshNode * n48,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n67,
|
||||
const SMDS_MeshNode * n78,
|
||||
const SMDS_MeshNode * n85,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n26,
|
||||
const SMDS_MeshNode * n37,
|
||||
const SMDS_MeshNode * n48,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n67,
|
||||
const SMDS_MeshNode * n78,
|
||||
const SMDS_MeshNode * n85,
|
||||
const SMDS_MeshNode * n85,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n26,
|
||||
const SMDS_MeshNode * n37,
|
||||
@@ -416,9 +422,10 @@ public:
|
||||
virtual void RemoveElement(const SMDS_MeshElement * elem,
|
||||
std::list<const SMDS_MeshElement *>& removedElems,
|
||||
std::list<const SMDS_MeshElement *>& removedNodes,
|
||||
bool removenodes = false);
|
||||
bool removenodes = false);
|
||||
virtual void RemoveElement(const SMDS_MeshElement * elem, bool removenodes = false);
|
||||
virtual void RemoveNode(const SMDS_MeshNode * node);
|
||||
virtual void Remove0DElement(const SMDS_Mesh0DElement * elem0d);
|
||||
virtual void RemoveEdge(const SMDS_MeshEdge * edge);
|
||||
virtual void RemoveFace(const SMDS_MeshFace * face);
|
||||
virtual void RemoveVolume(const SMDS_MeshVolume * volume);
|
||||
@@ -430,7 +437,7 @@ public:
|
||||
virtual void RemoveFreeElement(const SMDS_MeshElement * elem);
|
||||
|
||||
virtual void Clear();
|
||||
|
||||
|
||||
virtual bool RemoveFromParent();
|
||||
virtual bool RemoveSubMesh(const SMDS_Mesh * aMesh);
|
||||
|
||||
@@ -445,6 +452,7 @@ public:
|
||||
// Renumber all nodes or elements.
|
||||
|
||||
const SMDS_MeshNode *FindNode(int idnode) const;
|
||||
const SMDS_Mesh0DElement* Find0DElement(int idnode) const;
|
||||
const SMDS_MeshEdge *FindEdge(int idnode1, int idnode2) const;
|
||||
const SMDS_MeshEdge *FindEdge(int idnode1, int idnode2, int idnode3) const;
|
||||
const SMDS_MeshFace *FindFace(int idnode1, int idnode2, int idnode3) const;
|
||||
@@ -454,6 +462,7 @@ public:
|
||||
const SMDS_MeshFace *FindFace(int idnode1, int idnode2, int idnode3, int idnode4,
|
||||
int idnode5, int idnode6, int idnode7, int idnode8) const;
|
||||
const SMDS_MeshElement *FindElement(int IDelem) const;
|
||||
static const SMDS_Mesh0DElement* Find0DElement(const SMDS_MeshNode * n);
|
||||
static const SMDS_MeshEdge* FindEdge(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2);
|
||||
static const SMDS_MeshEdge* FindEdge(const SMDS_MeshNode * n1,
|
||||
@@ -499,11 +508,13 @@ public:
|
||||
const SMDS_MeshInfo& GetMeshInfo() const { return myInfo; }
|
||||
|
||||
int NbNodes() const;
|
||||
int Nb0DElements() const;
|
||||
int NbEdges() const;
|
||||
int NbFaces() const;
|
||||
int NbVolumes() const;
|
||||
int NbSubMesh() const;
|
||||
void DumpNodes() const;
|
||||
void Dump0DElements() const;
|
||||
void DumpEdges() const;
|
||||
void DumpFaces() const;
|
||||
void DumpVolumes() const;
|
||||
@@ -527,6 +538,7 @@ public:
|
||||
bool Contains (const SMDS_MeshElement* elem) const;
|
||||
|
||||
typedef NCollection_Map<SMDS_MeshNode *> SetOfNodes;
|
||||
typedef NCollection_Map<SMDS_Mesh0DElement *> SetOf0DElements;
|
||||
typedef NCollection_Map<SMDS_MeshEdge *> SetOfEdges;
|
||||
typedef NCollection_Map<SMDS_MeshFace *> SetOfFaces;
|
||||
typedef NCollection_Map<SMDS_MeshVolume *> SetOfVolumes;
|
||||
@@ -534,32 +546,34 @@ public:
|
||||
private:
|
||||
SMDS_Mesh(SMDS_Mesh * parent);
|
||||
|
||||
SMDS_MeshFace * createTriangle(const SMDS_MeshNode * node1,
|
||||
const SMDS_MeshNode * node2,
|
||||
const SMDS_MeshNode * node3);
|
||||
SMDS_MeshFace * createTriangle(const SMDS_MeshNode * node1,
|
||||
const SMDS_MeshNode * node2,
|
||||
const SMDS_MeshNode * node3);
|
||||
SMDS_MeshFace * createQuadrangle(const SMDS_MeshNode * node1,
|
||||
const SMDS_MeshNode * node2,
|
||||
const SMDS_MeshNode * node3,
|
||||
const SMDS_MeshNode * node4);
|
||||
const SMDS_MeshNode * node2,
|
||||
const SMDS_MeshNode * node3,
|
||||
const SMDS_MeshNode * node4);
|
||||
SMDS_Mesh0DElement* Find0DElementOrCreate(const SMDS_MeshNode * n);
|
||||
SMDS_MeshEdge* FindEdgeOrCreate(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2);
|
||||
const SMDS_MeshNode * n2);
|
||||
SMDS_MeshFace* FindFaceOrCreate(const SMDS_MeshNode *n1,
|
||||
const SMDS_MeshNode *n2,
|
||||
const SMDS_MeshNode *n3);
|
||||
const SMDS_MeshNode *n2,
|
||||
const SMDS_MeshNode *n3);
|
||||
SMDS_MeshFace* FindFaceOrCreate(const SMDS_MeshNode *n1,
|
||||
const SMDS_MeshNode *n2,
|
||||
const SMDS_MeshNode *n3,
|
||||
const SMDS_MeshNode *n4);
|
||||
const SMDS_MeshNode *n2,
|
||||
const SMDS_MeshNode *n3,
|
||||
const SMDS_MeshNode *n4);
|
||||
|
||||
bool registerElement(int ID, SMDS_MeshElement * element);
|
||||
|
||||
void addChildrenWithNodes(std::set<const SMDS_MeshElement*>& setOfChildren,
|
||||
const SMDS_MeshElement * element,
|
||||
std::set<const SMDS_MeshElement*>& nodes);
|
||||
void addChildrenWithNodes(std::set<const SMDS_MeshElement*>& setOfChildren,
|
||||
const SMDS_MeshElement * element,
|
||||
std::set<const SMDS_MeshElement*>& nodes);
|
||||
|
||||
// Fields PRIVATE
|
||||
|
||||
|
||||
SetOfNodes myNodes;
|
||||
SetOf0DElements my0DElements;
|
||||
SetOfEdges myEdges;
|
||||
SetOfFaces myFaces;
|
||||
SetOfVolumes myVolumes;
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||
//
|
||||
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||
//
|
||||
// SMESH SMDS : implementaion of Salome mesh data structure
|
||||
// File : SMDS_Mesh0DElement.hxx
|
||||
// Module : SMESH
|
||||
|
||||
#ifndef _SMDS_Mesh0DElement_HeaderFile
|
||||
#define _SMDS_Mesh0DElement_HeaderFile
|
||||
|
||||
#include "SMESH_SMDS.hxx"
|
||||
|
||||
#include "SMDS_MeshElement.hxx"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
class SMDS_EXPORT SMDS_Mesh0DElement: public SMDS_MeshElement
|
||||
{
|
||||
public:
|
||||
SMDS_Mesh0DElement (const SMDS_MeshNode * node);
|
||||
bool ChangeNode (const SMDS_MeshNode * node);
|
||||
void Print (std::ostream & OS) const;
|
||||
|
||||
SMDSAbs_ElementType GetType() const;
|
||||
SMDSAbs_EntityType GetEntityType() const {return SMDSEntity_0D;}
|
||||
int NbNodes() const;
|
||||
int NbEdges() const;
|
||||
friend bool operator< (const SMDS_Mesh0DElement& e1, const SMDS_Mesh0DElement& e2);
|
||||
|
||||
/*!
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode (const int ind) const;
|
||||
|
||||
protected:
|
||||
SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const;
|
||||
|
||||
protected:
|
||||
const SMDS_MeshNode* myNode;
|
||||
};
|
||||
|
||||
#endif
|
||||
+2
-1
@@ -41,7 +41,8 @@ class SMDS_EXPORT SMDS_MeshEdge:public SMDS_MeshElement
|
||||
const SMDS_MeshNode * node2);
|
||||
void Print(std::ostream & OS) const;
|
||||
|
||||
SMDSAbs_ElementType GetType() const;
|
||||
virtual SMDSAbs_ElementType GetType() const;
|
||||
virtual SMDSAbs_EntityType GetEntityType() const { return SMDSEntity_Edge; }
|
||||
int NbNodes() const;
|
||||
int NbEdges() const;
|
||||
friend bool operator<(const SMDS_MeshEdge& e1, const SMDS_MeshEdge& e2);
|
||||
|
||||
@@ -64,6 +64,8 @@ public:
|
||||
virtual SMDSAbs_ElementType GetType() const = 0;
|
||||
virtual bool IsPoly() const { return false; };
|
||||
virtual bool IsQuadratic() const;
|
||||
//! Return type of entity
|
||||
virtual SMDSAbs_EntityType GetEntityType() const = 0;
|
||||
|
||||
virtual bool IsMediumNode(const SMDS_MeshNode* node) const;
|
||||
|
||||
|
||||
+143
-28
@@ -26,6 +26,11 @@
|
||||
#ifndef SMDS_MeshInfo_HeaderFile
|
||||
#define SMDS_MeshInfo_HeaderFile
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma warn -8066
|
||||
#pragma warn -8012
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
#include "SMESH_SMDS.hxx"
|
||||
@@ -40,7 +45,10 @@ public:
|
||||
inline void Clear();
|
||||
|
||||
int NbNodes() const { return myNbNodes; }
|
||||
inline int NbElements(SMDSAbs_ElementType type=SMDSAbs_All) const;
|
||||
inline int NbEntities(SMDSAbs_EntityType type) const;
|
||||
|
||||
int Nb0DElements() const { return myNb0DElements; }
|
||||
inline int NbEdges (SMDSAbs_ElementOrder order = ORDER_ANY) const;
|
||||
inline int NbFaces (SMDSAbs_ElementOrder order = ORDER_ANY) const;
|
||||
inline int NbTriangles (SMDSAbs_ElementOrder order = ORDER_ANY) const;
|
||||
@@ -60,7 +68,7 @@ private:
|
||||
// methods to count NOT POLY elements
|
||||
inline void remove(const SMDS_MeshElement* el);
|
||||
inline void add (const SMDS_MeshElement* el);
|
||||
inline int index(SMDSAbs_ElementType type, int nbNodes);
|
||||
inline int index(SMDSAbs_ElementType type, int nbNodes) const;
|
||||
// methods to remove elements of ANY kind
|
||||
inline void RemoveEdge(const SMDS_MeshElement* el);
|
||||
inline void RemoveFace(const SMDS_MeshElement* el);
|
||||
@@ -68,6 +76,7 @@ private:
|
||||
|
||||
int myNbNodes;
|
||||
|
||||
int myNb0DElements;
|
||||
int myNbEdges , myNbQuadEdges ;
|
||||
int myNbTriangles , myNbQuadTriangles ;
|
||||
int myNbQuadrangles, myNbQuadQuadrangles;
|
||||
@@ -85,6 +94,7 @@ private:
|
||||
|
||||
inline SMDS_MeshInfo::SMDS_MeshInfo():
|
||||
myNbNodes(0),
|
||||
myNb0DElements(0),
|
||||
myNbEdges (0), myNbQuadEdges (0),
|
||||
myNbTriangles (0), myNbQuadTriangles (0),
|
||||
myNbQuadrangles(0), myNbQuadQuadrangles(0),
|
||||
@@ -96,40 +106,47 @@ inline SMDS_MeshInfo::SMDS_MeshInfo():
|
||||
myNbPolyhedrons(0)
|
||||
{
|
||||
// Number of nodes in standard element types
|
||||
// n v f e
|
||||
// o o a d
|
||||
// d l c g
|
||||
// e e e
|
||||
// -----------
|
||||
// 1
|
||||
// n v f e 0 n
|
||||
// o o a d d o
|
||||
// d l c g d
|
||||
// e e e e
|
||||
// s
|
||||
// -----------------
|
||||
// 0 *
|
||||
// 1 . *
|
||||
// 2 *
|
||||
// 3 *
|
||||
// 4 * * *
|
||||
// 5 *
|
||||
// 6 * *
|
||||
// 7
|
||||
// 8 * *
|
||||
// 9
|
||||
// 10 *
|
||||
// 11
|
||||
// 12
|
||||
// 13 *
|
||||
// 14
|
||||
// 15 *
|
||||
// 16
|
||||
// 17
|
||||
// 18
|
||||
// 19
|
||||
// 3 . *
|
||||
// 4 * . .
|
||||
// 5 *
|
||||
// 6 * .
|
||||
// 7
|
||||
// 8 * .
|
||||
// 9
|
||||
// 10 *
|
||||
// 11 *
|
||||
// 12 *
|
||||
// 13 *
|
||||
// 14 *
|
||||
// 15 *
|
||||
// 16 *
|
||||
// 17
|
||||
// 18
|
||||
// 19
|
||||
// 20 *
|
||||
//
|
||||
// So to have a unique index for each type basing on nb of nodes, we use a shift:
|
||||
myShift.resize(SMDSAbs_Volume + 1, 0);
|
||||
myShift[ SMDSAbs_Face ] = +8; // 3->11, 4->12, 6->14, 8->16
|
||||
myShift[ SMDSAbs_Edge ] = -2; // 2->0, 4->2
|
||||
myShift.resize(SMDSAbs_NbElementTypes, 0);
|
||||
|
||||
myShift[ SMDSAbs_Face ] = +8; // 3->11, 4->12, 6->14, 8->16
|
||||
myShift[ SMDSAbs_Edge ] = -2; // 2->0, 4->2
|
||||
myShift[ SMDSAbs_0DElement ] = +2; // 1->3
|
||||
|
||||
myNb.resize( index( SMDSAbs_Volume,20 ) + 1, NULL);
|
||||
|
||||
myNb[ index( SMDSAbs_Node,1 )] = & myNbNodes;
|
||||
|
||||
myNb[ index( SMDSAbs_0DElement,1 )] = & myNb0DElements;
|
||||
|
||||
myNb[ index( SMDSAbs_Edge,2 )] = & myNbEdges;
|
||||
myNb[ index( SMDSAbs_Edge,4 )] = & myNbQuadEdges;
|
||||
|
||||
@@ -147,13 +164,15 @@ inline SMDS_MeshInfo::SMDS_MeshInfo():
|
||||
myNb[ index( SMDSAbs_Volume, 15)] = & myNbQuadPrisms;
|
||||
myNb[ index( SMDSAbs_Volume, 20)] = & myNbQuadHexas;
|
||||
}
|
||||
|
||||
inline void // Clear
|
||||
SMDS_MeshInfo::Clear()
|
||||
{ for ( int i=0; i<myNb.size(); ++i ) if ( myNb[i] ) (*myNb[i])=0;
|
||||
myNbPolygons=myNbPolyhedrons=0;
|
||||
}
|
||||
|
||||
inline int // index
|
||||
SMDS_MeshInfo::index(SMDSAbs_ElementType type, int nbNodes)
|
||||
SMDS_MeshInfo::index(SMDSAbs_ElementType type, int nbNodes) const
|
||||
{ return nbNodes + myShift[ type ]; }
|
||||
|
||||
inline void // remove
|
||||
@@ -212,4 +231,100 @@ inline int // NbPrisms
|
||||
SMDS_MeshInfo::NbPrisms (SMDSAbs_ElementOrder order) const
|
||||
{ return order == ORDER_ANY ? myNbPrisms+myNbQuadPrisms : order == ORDER_LINEAR ? myNbPrisms : myNbQuadPrisms; }
|
||||
|
||||
inline int // NbElements
|
||||
SMDS_MeshInfo::NbElements(SMDSAbs_ElementType type) const
|
||||
{
|
||||
int nb = 0;
|
||||
switch (type) {
|
||||
case SMDSAbs_All:
|
||||
for ( int i=1+index( SMDSAbs_Node,1 ); i<myNb.size(); ++i ) if ( myNb[i] ) nb += *myNb[i];
|
||||
nb += myNbPolygons + myNbPolyhedrons;
|
||||
break;
|
||||
case SMDSAbs_Volume:
|
||||
nb = myNbTetras+ myNbPyramids+ myNbPrisms+ myNbHexas+
|
||||
myNbQuadTetras+ myNbQuadPyramids+ myNbQuadPrisms+ myNbQuadHexas+myNbPolyhedrons;
|
||||
break;
|
||||
case SMDSAbs_Face:
|
||||
nb = myNbTriangles+ myNbQuadrangles+ myNbQuadTriangles+ myNbQuadQuadrangles + myNbPolygons;
|
||||
break;
|
||||
case SMDSAbs_Edge:
|
||||
nb = myNbEdges + myNbQuadEdges;
|
||||
break;
|
||||
case SMDSAbs_0DElement:
|
||||
nb = myNb0DElements;
|
||||
break;
|
||||
case SMDSAbs_Node:
|
||||
nb = myNbNodes;
|
||||
break;
|
||||
default:;
|
||||
}
|
||||
return nb;
|
||||
}
|
||||
|
||||
int // NbEntities
|
||||
SMDS_MeshInfo::NbEntities(SMDSAbs_EntityType type) const
|
||||
{
|
||||
switch (type) {
|
||||
case SMDSEntity_Node:
|
||||
return myNbNodes;
|
||||
break;
|
||||
case SMDSEntity_0D:
|
||||
return myNb0DElements;
|
||||
break;
|
||||
case SMDSEntity_Edge:
|
||||
return myNbEdges;
|
||||
break;
|
||||
case SMDSEntity_Quad_Edge:
|
||||
return myNbQuadEdges;
|
||||
break;
|
||||
case SMDSEntity_Triangle:
|
||||
return myNbTriangles;
|
||||
break;
|
||||
case SMDSEntity_Quad_Triangle:
|
||||
return myNbQuadTriangles;
|
||||
break;
|
||||
case SMDSEntity_Quadrangle:
|
||||
return myNbQuadrangles;
|
||||
break;
|
||||
case SMDSEntity_Quad_Quadrangle:
|
||||
return myNbQuadQuadrangles;
|
||||
break;
|
||||
case SMDSEntity_Polygon:
|
||||
return myNbPolygons;
|
||||
break;
|
||||
case SMDSEntity_Tetra:
|
||||
return myNbTetras;
|
||||
break;
|
||||
case SMDSEntity_Quad_Tetra:
|
||||
return myNbQuadTetras;
|
||||
break;
|
||||
case SMDSEntity_Pyramid:
|
||||
return myNbPyramids;
|
||||
break;
|
||||
case SMDSEntity_Quad_Pyramid:
|
||||
return myNbQuadPyramids;
|
||||
break;
|
||||
case SMDSEntity_Hexa:
|
||||
return myNbHexas;
|
||||
break;
|
||||
case SMDSEntity_Quad_Hexa:
|
||||
return myNbQuadHexas;
|
||||
break;
|
||||
case SMDSEntity_Penta:
|
||||
return myNbPrisms;
|
||||
break;
|
||||
case SMDSEntity_Quad_Penta:
|
||||
return myNbQuadPrisms;
|
||||
break;
|
||||
case SMDSEntity_Polyhedra:
|
||||
return myNbPolyhedrons;
|
||||
break;
|
||||
case SMDSEntity_Quad_Polygon:
|
||||
case SMDSEntity_Quad_Polyhedra:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+28
-27
@@ -35,40 +35,41 @@
|
||||
class SMDS_EXPORT SMDS_MeshNode:public SMDS_MeshElement
|
||||
{
|
||||
|
||||
public:
|
||||
SMDS_MeshNode(double x, double y, double z);
|
||||
void Print(std::ostream & OS) const;
|
||||
double X() const;
|
||||
double Y() const;
|
||||
double Z() const;
|
||||
void AddInverseElement(const SMDS_MeshElement * ME);
|
||||
void RemoveInverseElement(const SMDS_MeshElement * parent);
|
||||
void ClearInverseElements();
|
||||
bool emptyInverseElements();
|
||||
SMDS_ElemIteratorPtr GetInverseElementIterator(SMDSAbs_ElementType type=SMDSAbs_All) const;
|
||||
int NbInverseElements(SMDSAbs_ElementType type=SMDSAbs_All) const;
|
||||
void SetPosition(const SMDS_PositionPtr& aPos);
|
||||
const SMDS_PositionPtr& GetPosition() const;
|
||||
SMDSAbs_ElementType GetType() const;
|
||||
int NbNodes() const;
|
||||
void setXYZ(double x, double y, double z);
|
||||
friend bool operator<(const SMDS_MeshNode& e1, const SMDS_MeshNode& e2);
|
||||
public:
|
||||
SMDS_MeshNode(double x, double y, double z);
|
||||
void Print(std::ostream & OS) const;
|
||||
double X() const;
|
||||
double Y() const;
|
||||
double Z() const;
|
||||
void AddInverseElement(const SMDS_MeshElement * ME);
|
||||
void RemoveInverseElement(const SMDS_MeshElement * parent);
|
||||
void ClearInverseElements();
|
||||
bool emptyInverseElements();
|
||||
SMDS_ElemIteratorPtr GetInverseElementIterator(SMDSAbs_ElementType type=SMDSAbs_All) const;
|
||||
int NbInverseElements(SMDSAbs_ElementType type=SMDSAbs_All) const;
|
||||
void SetPosition(const SMDS_PositionPtr& aPos);
|
||||
const SMDS_PositionPtr& GetPosition() const;
|
||||
SMDSAbs_ElementType GetType() const;
|
||||
SMDSAbs_EntityType GetEntityType() const {return SMDSEntity_Node;}
|
||||
int NbNodes() const;
|
||||
void setXYZ(double x, double y, double z);
|
||||
friend bool operator<(const SMDS_MeshNode& e1, const SMDS_MeshNode& e2);
|
||||
|
||||
/*!
|
||||
* \brief Return node by its index
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
* \param ind - node index
|
||||
* \retval const SMDS_MeshNode* - the node
|
||||
*/
|
||||
virtual const SMDS_MeshNode* GetNode(const int) const { return this; }
|
||||
|
||||
protected:
|
||||
SMDS_ElemIteratorPtr
|
||||
elementsIterator(SMDSAbs_ElementType type) const;
|
||||
protected:
|
||||
SMDS_ElemIteratorPtr
|
||||
elementsIterator(SMDSAbs_ElementType type) const;
|
||||
|
||||
private:
|
||||
double myX, myY, myZ;
|
||||
SMDS_PositionPtr myPosition;
|
||||
NCollection_List<const SMDS_MeshElement*> myInverseElements;
|
||||
private:
|
||||
double myX, myY, myZ;
|
||||
SMDS_PositionPtr myPosition;
|
||||
NCollection_List<const SMDS_MeshElement*> myInverseElements;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -40,6 +40,7 @@ class SMDS_EXPORT SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
|
||||
SMDS_PolygonalFaceOfNodes (std::vector<const SMDS_MeshNode *> nodes);
|
||||
|
||||
virtual SMDSAbs_ElementType GetType() const;
|
||||
virtual SMDSAbs_EntityType GetEntityType() const { return SMDSEntity_Polygon; }
|
||||
virtual bool IsPoly() const { return true; };
|
||||
|
||||
bool ChangeNodes (std::vector<const SMDS_MeshNode *> nodes);
|
||||
|
||||
@@ -39,6 +39,7 @@ class SMDS_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
|
||||
//virtual ~SMDS_PolyhedralVolumeOfNodes();
|
||||
|
||||
virtual SMDSAbs_ElementType GetType() const;
|
||||
virtual SMDSAbs_EntityType GetEntityType() const { return SMDSEntity_Polyhedra; }
|
||||
virtual bool IsPoly() const { return true; };
|
||||
|
||||
bool ChangeNodes (const std::vector<const SMDS_MeshNode *> & nodes,
|
||||
|
||||
@@ -47,6 +47,8 @@ public:
|
||||
|
||||
int NbNodes() const;
|
||||
|
||||
virtual SMDSAbs_EntityType GetEntityType() const { return SMDSEntity_Quad_Edge; }
|
||||
|
||||
virtual bool IsQuadratic() const { return true; }
|
||||
|
||||
virtual bool IsMediumNode(const SMDS_MeshNode* node) const;
|
||||
|
||||
@@ -49,6 +49,7 @@ public:
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41);
|
||||
|
||||
virtual SMDSAbs_EntityType GetEntityType() const;
|
||||
virtual bool IsQuadratic() const { return true; }
|
||||
|
||||
virtual bool IsMediumNode(const SMDS_MeshNode* node) const;
|
||||
|
||||
@@ -99,6 +99,7 @@ public:
|
||||
const SMDS_MeshNode * n37,
|
||||
const SMDS_MeshNode * n48);
|
||||
|
||||
virtual SMDSAbs_EntityType GetEntityType() const;
|
||||
virtual bool IsQuadratic() const { return true; }
|
||||
|
||||
virtual bool IsMediumNode(const SMDS_MeshNode* node) const;
|
||||
|
||||
@@ -54,6 +54,7 @@ class SMDS_EXPORT SMDS_VolumeOfFaces:public SMDS_MeshVolume
|
||||
const SMDS_MeshFace * face5,
|
||||
const SMDS_MeshFace * face6);
|
||||
|
||||
virtual SMDSAbs_EntityType GetEntityType() const;
|
||||
void Print(std::ostream & OS) const;
|
||||
|
||||
int NbFaces() const;
|
||||
|
||||
+2
-1
@@ -69,7 +69,8 @@ class SMDS_EXPORT SMDS_VolumeOfNodes:public SMDS_MeshVolume
|
||||
int NbFaces() const;
|
||||
int NbNodes() const;
|
||||
int NbEdges() const;
|
||||
SMDSAbs_ElementType GetType() const;
|
||||
virtual SMDSAbs_ElementType GetType() const;
|
||||
virtual SMDSAbs_EntityType GetEntityType() const;
|
||||
|
||||
/*!
|
||||
* \brief Return node by its index
|
||||
|
||||
@@ -93,6 +93,8 @@ class SMDS_EXPORT SMDS_VolumeTool
|
||||
|
||||
bool GetBaryCenter (double & X, double & Y, double & Z) const;
|
||||
|
||||
bool IsOut(double X, double Y, double Z, double tol);
|
||||
// Classify a point
|
||||
|
||||
// -----------------------
|
||||
// info on node connection
|
||||
|
||||
@@ -38,6 +38,7 @@ class SMESHDS_EXPORT SMESHDS_Command
|
||||
public:
|
||||
SMESHDS_Command(const SMESHDS_CommandType aType);
|
||||
void AddNode(int NewNodeID, double x, double y, double z);
|
||||
void Add0DElement(int New0DElementID, int idnode);
|
||||
void AddEdge(int NewEdgeID, int idnode1, int idnode2);
|
||||
void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3);
|
||||
void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3,
|
||||
|
||||
+3
-1
@@ -53,7 +53,9 @@ enum SMESHDS_CommandType {
|
||||
SMESHDS_AddQuadTetrahedron,
|
||||
SMESHDS_AddQuadPyramid,
|
||||
SMESHDS_AddQuadPentahedron,
|
||||
SMESHDS_AddQuadHexahedron
|
||||
SMESHDS_AddQuadHexahedron,
|
||||
// special type for 0D elements
|
||||
SMESHDS_Add0DElement
|
||||
};
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@
|
||||
// SMESH SMESHDS : management of mesh data and SMESH document
|
||||
// File : SMESHDS_Group.hxx
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESHDS/SMESHDS_Group.hxx,v 1.7.2.1 2008/11/27 12:31:37 abd Exp $
|
||||
// $Header$
|
||||
//
|
||||
#ifndef _SMESHDS_Group_HeaderFile
|
||||
#define _SMESHDS_Group_HeaderFile
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@
|
||||
// SMESH SMESHDS : management of mesh data and SMESH document
|
||||
// File : SMESHDS_Group.hxx
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESHDS/SMESHDS_GroupBase.hxx,v 1.8.2.1 2008/11/27 12:31:37 abd Exp $
|
||||
// $Header$
|
||||
//
|
||||
#ifndef _SMESHDS_GroupBase_HeaderFile
|
||||
#define _SMESHDS_GroupBase_HeaderFile
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
// File : SMESHDS_Hypothesis.hxx
|
||||
// Author : Paul RASCLE, EDF
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESHDS/SMESHDS_Hypothesis.hxx,v 1.10.2.1 2008/11/27 12:31:37 abd Exp $
|
||||
// $Header$
|
||||
//
|
||||
#ifndef _SMESHDS_HYPOTHESIS_HXX_
|
||||
#define _SMESHDS_HYPOTHESIS_HXX_
|
||||
|
||||
+169
-164
@@ -30,6 +30,7 @@
|
||||
|
||||
#include "SMDS_Mesh.hxx"
|
||||
#include "SMDS_MeshNode.hxx"
|
||||
#include "SMDS_Mesh0DElement.hxx"
|
||||
#include "SMDS_MeshEdge.hxx"
|
||||
#include "SMDS_MeshFace.hxx"
|
||||
#include "SMDS_MeshVolume.hxx"
|
||||
@@ -66,160 +67,164 @@ public:
|
||||
bool RemoveHypothesis(const TopoDS_Shape & S, const SMESHDS_Hypothesis * H);
|
||||
|
||||
virtual SMDS_MeshNode* AddNodeWithID(double x, double y, double z, int ID);
|
||||
virtual SMDS_MeshNode * AddNode(double x, double y, double z);
|
||||
virtual SMDS_MeshNode* AddNode(double x, double y, double z);
|
||||
|
||||
virtual SMDS_Mesh0DElement* Add0DElementWithID(int nodeID, int ID);
|
||||
virtual SMDS_Mesh0DElement* Add0DElementWithID(const SMDS_MeshNode * node, int ID);
|
||||
virtual SMDS_Mesh0DElement* Add0DElement (const SMDS_MeshNode * node);
|
||||
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(int n1, int n2, int ID);
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
int ID);
|
||||
virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2);
|
||||
const SMDS_MeshNode * n2);
|
||||
|
||||
// 2d order edge with 3 nodes: n12 - node between n1 and n2
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(int n1, int n2, int n12, int ID);
|
||||
virtual SMDS_MeshEdge* AddEdgeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n12,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n12,
|
||||
int ID);
|
||||
virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n12);
|
||||
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3);
|
||||
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
|
||||
// 2d order triangle of 6 nodes
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3,
|
||||
int n12,int n23,int n31, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31);
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31);
|
||||
|
||||
// 2d order quadrangle
|
||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4,
|
||||
int n12,int n23,int n34,int n41, int ID);
|
||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
int ID);
|
||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41);
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6);
|
||||
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8);
|
||||
|
||||
// 2d order tetrahedron of 10 nodes
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||
int n12,int n23,int n31,
|
||||
int n14,int n24,int n34, int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n24,
|
||||
const SMDS_MeshNode * n34,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n24,
|
||||
const SMDS_MeshNode * n34,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
@@ -233,24 +238,24 @@ public:
|
||||
int n15,int n25,int n35,int n45,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n35,
|
||||
const SMDS_MeshNode * n45,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n35,
|
||||
const SMDS_MeshNode * n45,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
@@ -268,27 +273,27 @@ public:
|
||||
int n14,int n25,int n36,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n45,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n64,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n36,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
const SMDS_MeshNode * n45,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n64,
|
||||
const SMDS_MeshNode * n14,
|
||||
const SMDS_MeshNode * n25,
|
||||
const SMDS_MeshNode * n36,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n31,
|
||||
@@ -307,34 +312,34 @@ public:
|
||||
int n15,int n26,int n37,int n48,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n67,
|
||||
const SMDS_MeshNode * n78,
|
||||
const SMDS_MeshNode * n85,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n26,
|
||||
const SMDS_MeshNode * n37,
|
||||
const SMDS_MeshNode * n48,
|
||||
int ID);
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
const SMDS_MeshNode * n41,
|
||||
const SMDS_MeshNode * n56,
|
||||
const SMDS_MeshNode * n67,
|
||||
const SMDS_MeshNode * n78,
|
||||
const SMDS_MeshNode * n85,
|
||||
const SMDS_MeshNode * n15,
|
||||
const SMDS_MeshNode * n26,
|
||||
const SMDS_MeshNode * n37,
|
||||
const SMDS_MeshNode * n48,
|
||||
int ID);
|
||||
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n2,
|
||||
const SMDS_MeshNode * n3,
|
||||
const SMDS_MeshNode * n4,
|
||||
const SMDS_MeshNode * n5,
|
||||
const SMDS_MeshNode * n6,
|
||||
const SMDS_MeshNode * n7,
|
||||
const SMDS_MeshNode * n8,
|
||||
const SMDS_MeshNode * n12,
|
||||
const SMDS_MeshNode * n23,
|
||||
const SMDS_MeshNode * n34,
|
||||
@@ -400,9 +405,9 @@ public:
|
||||
void SetNodeOnVertex(SMDS_MeshNode * aNode, const TopoDS_Vertex & S);
|
||||
void UnSetNodeOnShape(const SMDS_MeshNode * aNode);
|
||||
void SetMeshElementOnShape(const SMDS_MeshElement * anElt,
|
||||
const TopoDS_Shape & S);
|
||||
const TopoDS_Shape & S);
|
||||
void UnSetMeshElementOnShape(const SMDS_MeshElement * anElt,
|
||||
const TopoDS_Shape & S);
|
||||
const TopoDS_Shape & S);
|
||||
bool HasMeshElements(const TopoDS_Shape & S);
|
||||
SMESHDS_SubMesh * MeshElements(const TopoDS_Shape & S) const;
|
||||
SMESHDS_SubMesh * MeshElements(const int Index);
|
||||
|
||||
@@ -44,6 +44,7 @@ class SMESHDS_EXPORT SMESHDS_Script
|
||||
bool IsModified();
|
||||
|
||||
void AddNode(int NewNodeID, double x, double y, double z);
|
||||
void Add0DElement(int New0DElementID, int idnode);
|
||||
void AddEdge(int NewEdgeID, int idnode1, int idnode2);
|
||||
void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3);
|
||||
void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3,
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@
|
||||
// SMESH SMESH : implementaion of SMESH idl descriptions
|
||||
// File : SMESH_0D_Algo.hxx
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESH/SMESH_0D_Algo.hxx,v 1.2.2.1 2008/11/27 12:25:15 abd Exp $
|
||||
// $Header$
|
||||
//
|
||||
#ifndef _SMESH_0D_ALGO_HXX_
|
||||
#define _SMESH_0D_ALGO_HXX_
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
// File : SMESH_1D_Algo.hxx
|
||||
// Author : Paul RASCLE, EDF
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESH/SMESH_1D_Algo.hxx,v 1.8.2.1 2008/11/27 12:25:15 abd Exp $
|
||||
// $Header$
|
||||
//
|
||||
#ifndef _SMESH_1D_ALGO_HXX_
|
||||
#define _SMESH_1D_ALGO_HXX_
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
// File : SMESH_2D_Algo.hxx
|
||||
// Author : Paul RASCLE, EDF
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESH/SMESH_2D_Algo.hxx,v 1.9.2.1 2008/11/27 12:25:15 abd Exp $
|
||||
// $Header$
|
||||
//
|
||||
#ifndef _SMESH_2D_ALGO_HXX_
|
||||
#define _SMESH_2D_ALGO_HXX_
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
// File : SMESH_3D_Algo.hxx
|
||||
// Author : Paul RASCLE, EDF
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESH/SMESH_3D_Algo.hxx,v 1.9.2.1 2008/11/27 12:25:15 abd Exp $
|
||||
// $Header$
|
||||
//
|
||||
#ifndef _SMESH_3D_ALGO_HXX_
|
||||
#define _SMESH_3D_ALGO_HXX_
|
||||
|
||||
+17
-9
@@ -23,8 +23,8 @@
|
||||
// File : SMESH_Algo.hxx
|
||||
// Author : Paul RASCLE, EDF
|
||||
// Module : SMESH
|
||||
// $Header: /home/server/cvs/SMESH/SMESH_SRC/src/SMESH/SMESH_Algo.hxx,v 1.12.2.4 2008/11/27 12:25:15 abd Exp $
|
||||
//
|
||||
|
||||
#ifndef _SMESH_ALGO_HXX_
|
||||
#define _SMESH_ALGO_HXX_
|
||||
|
||||
@@ -54,6 +54,9 @@ class SMDS_MeshNode;
|
||||
class SMESH_subMesh;
|
||||
class SMESH_MesherHelper;
|
||||
|
||||
typedef std::map< SMESH_subMesh*, std::vector<int> > MapShapeNbElems;
|
||||
// vector must have size corresponding to EntityType_Last from SMDSAbs:
|
||||
typedef std::map< SMESH_subMesh*, std::vector<int> >::iterator MapShapeNbElemsItr;
|
||||
|
||||
class SMESH_EXPORT SMESH_Algo:public SMESH_Hypothesis
|
||||
{
|
||||
@@ -122,6 +125,16 @@ public:
|
||||
*/
|
||||
virtual bool Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHelper);
|
||||
|
||||
/*!
|
||||
* \brief evaluates size of prospective mesh on a shape
|
||||
* \param aMesh - the mesh
|
||||
* \param aShape - the shape
|
||||
* \param aNbElems - prospective number of elements by types
|
||||
* \retval bool - is a success
|
||||
*/
|
||||
virtual bool Evaluate(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape,
|
||||
MapShapeNbElems& aResMap) = 0;
|
||||
|
||||
/*!
|
||||
* \brief Returns a list of compatible hypotheses used to mesh a shape
|
||||
* \param aMesh - the mesh
|
||||
@@ -163,13 +176,10 @@ public:
|
||||
bool InitCompatibleHypoFilter( SMESH_HypoFilter & theFilter,
|
||||
const bool ignoreAuxiliary) const;
|
||||
/*!
|
||||
* \brief Initialize my parameter values by the mesh built on the geometry
|
||||
*
|
||||
* Just return false as the algorithm does not hold parameters values
|
||||
* \brief Just return false as the algorithm does not hold parameters values
|
||||
*/
|
||||
virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
|
||||
virtual bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0);
|
||||
|
||||
/*!
|
||||
* \brief return compute error
|
||||
*/
|
||||
@@ -243,8 +253,7 @@ public:
|
||||
static bool GetNodeParamOnEdge(const SMESHDS_Mesh* theMesh,
|
||||
const TopoDS_Edge& theEdge,
|
||||
std::vector< double > & theParams);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Fill map of node parameter on geometrical edge to node it-self
|
||||
* \param theMesh - The mesh containing nodes
|
||||
* \param theEdge - The geometrical edge of interest
|
||||
@@ -256,7 +265,6 @@ public:
|
||||
const TopoDS_Edge& theEdge,
|
||||
const bool ignoreMediumNodes,
|
||||
std::map< double, const SMDS_MeshNode* > & theNodes);
|
||||
|
||||
/*!
|
||||
* \brief Find out elements orientation on a geometrical face
|
||||
* \param theFace - The face correctly oriented in the shape being meshed
|
||||
@@ -295,7 +303,7 @@ public:
|
||||
* \retval const SMDS_MeshNode* - found node or NULL
|
||||
*/
|
||||
static const SMDS_MeshNode* VertexNode(const TopoDS_Vertex& V,
|
||||
const SMESHDS_Mesh* meshDS);
|
||||
const SMESHDS_Mesh* meshDS);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
+4
-1
@@ -276,11 +276,14 @@ public:
|
||||
static int GetOrderedEdges (const TopoDS_Face& theFace,
|
||||
TopoDS_Vertex theFirstVertex,
|
||||
std::list< TopoDS_Edge >& theEdges,
|
||||
std::list< int > & theNbVertexInWires);
|
||||
std::list< int > & theNbVertexInWires,
|
||||
const bool theShapeAnalysisAlgo=false);
|
||||
// Return nb wires and a list of oredered edges.
|
||||
// It is used to assign indices to subshapes.
|
||||
// theFirstVertex may be NULL.
|
||||
// Always try to set a seam edge first
|
||||
// if (theShapeAnalysisAlgo) then ShapeAnalysis::OuterWire() is used to find the outer
|
||||
// wire else BRepTools::OuterWire() is used
|
||||
|
||||
public:
|
||||
// -----------------------------------------------------------
|
||||
|
||||
+33
-23
@@ -68,30 +68,40 @@ class gp_Pnt;
|
||||
namespace SMESH{
|
||||
namespace Controls{
|
||||
|
||||
class SMESHCONTROLS_EXPORT TSequenceOfXYZ: public std::vector<gp_XYZ>
|
||||
class SMESHCONTROLS_EXPORT TSequenceOfXYZ
|
||||
{
|
||||
typedef std::vector<gp_XYZ>::size_type size_type;
|
||||
|
||||
public:
|
||||
TSequenceOfXYZ();
|
||||
|
||||
TSequenceOfXYZ(size_type n);
|
||||
|
||||
TSequenceOfXYZ(size_type n, const value_type& t);
|
||||
TSequenceOfXYZ(size_type n, const gp_XYZ& t);
|
||||
|
||||
TSequenceOfXYZ(const TSequenceOfXYZ& theSequenceOfXYZ);
|
||||
|
||||
template <class InputIterator>
|
||||
TSequenceOfXYZ(InputIterator theBegin, InputIterator theEnd);
|
||||
|
||||
~TSequenceOfXYZ();
|
||||
|
||||
TSequenceOfXYZ& operator=(const TSequenceOfXYZ& theSequenceOfXYZ);
|
||||
|
||||
reference operator()(size_type n);
|
||||
gp_XYZ& operator()(size_type n);
|
||||
|
||||
const_reference operator()(size_type n) const;
|
||||
const gp_XYZ& operator()(size_type n) const;
|
||||
|
||||
void clear();
|
||||
|
||||
void reserve(size_type n);
|
||||
|
||||
void push_back(const gp_XYZ& v);
|
||||
|
||||
size_type size() const;
|
||||
|
||||
private:
|
||||
reference operator[](size_type n);
|
||||
|
||||
const_reference operator[](size_type n) const;
|
||||
std::vector<gp_XYZ> myArray;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -122,9 +132,9 @@ namespace SMESH{
|
||||
void SetPrecision( const long thePrecision );
|
||||
|
||||
bool GetPoints(const int theId,
|
||||
TSequenceOfXYZ& theRes) const;
|
||||
TSequenceOfXYZ& theRes) const;
|
||||
static bool GetPoints(const SMDS_MeshElement* theElem,
|
||||
TSequenceOfXYZ& theRes);
|
||||
TSequenceOfXYZ& theRes);
|
||||
protected:
|
||||
const SMDS_Mesh* myMesh;
|
||||
const SMDS_MeshElement* myCurrElement;
|
||||
@@ -253,10 +263,10 @@ namespace SMESH{
|
||||
virtual double GetBadRate( double Value, int nbNodes ) const;
|
||||
virtual SMDSAbs_ElementType GetType() const;
|
||||
struct Value{
|
||||
double myLength;
|
||||
long myPntId[2];
|
||||
Value(double theLength, long thePntId1, long thePntId2);
|
||||
bool operator<(const Value& x) const;
|
||||
double myLength;
|
||||
long myPntId[2];
|
||||
Value(double theLength, long thePntId1, long thePntId2);
|
||||
bool operator<(const Value& x) const;
|
||||
};
|
||||
typedef std::set<Value> TValues;
|
||||
void GetValues(TValues& theValues);
|
||||
@@ -286,9 +296,9 @@ namespace SMESH{
|
||||
virtual double GetBadRate( double Value, int nbNodes ) const;
|
||||
virtual SMDSAbs_ElementType GetType() const;
|
||||
struct Value{
|
||||
long myPntId[2];
|
||||
Value(long thePntId1, long thePntId2);
|
||||
bool operator<(const Value& x) const;
|
||||
long myPntId[2];
|
||||
Value(long thePntId1, long thePntId2);
|
||||
bool operator<(const Value& x) const;
|
||||
};
|
||||
typedef std::map<Value,int> MValues;
|
||||
|
||||
@@ -354,10 +364,10 @@ namespace SMESH{
|
||||
static bool IsFreeEdge( const SMDS_MeshNode** theNodes, const int theFaceId );
|
||||
typedef long TElemId;
|
||||
struct Border{
|
||||
TElemId myElemId;
|
||||
TElemId myPntId[2];
|
||||
Border(long theElemId, long thePntId1, long thePntId2);
|
||||
bool operator<(const Border& x) const;
|
||||
TElemId myElemId;
|
||||
TElemId myPntId[2];
|
||||
Border(long theElemId, long thePntId1, long thePntId2);
|
||||
bool operator<(const Border& x) const;
|
||||
};
|
||||
typedef std::set<Border> TBorders;
|
||||
void GetBoreders(TBorders& theBorders);
|
||||
@@ -787,13 +797,13 @@ namespace SMESH{
|
||||
virtual
|
||||
void
|
||||
GetElementsId( const SMDS_Mesh* theMesh,
|
||||
TIdSequence& theSequence );
|
||||
TIdSequence& theSequence );
|
||||
|
||||
static
|
||||
void
|
||||
GetElementsId( const SMDS_Mesh* theMesh,
|
||||
PredicatePtr thePredicate,
|
||||
TIdSequence& theSequence );
|
||||
PredicatePtr thePredicate,
|
||||
TIdSequence& theSequence );
|
||||
|
||||
protected:
|
||||
PredicatePtr myPredicate;
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
#define _SMESH_DriverDAT_HXX_
|
||||
|
||||
#ifdef WNT
|
||||
#if defined MESHDRIVERDAT_EXPORTS
|
||||
#if defined MESHDRIVERDAT_EXPORTS || defined MeshDriverDAT_EXPORTS
|
||||
#define MESHDRIVERDAT_EXPORT __declspec( dllexport )
|
||||
#else
|
||||
#define MESHDRIVERDAT_EXPORT __declspec( dllimport )
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user