Compare commits

..

25 Commits

Author SHA1 Message Date
wmayer 5d0ff3556a Apply fix for #0001013 and SketchObjectPy::fillet() from master 2013-03-03 12:53:34 +01:00
wmayer ec7636d7aa Set FREECAD_USE_EXTERNAL_ZIPIOS if zipios++ sources are missing 2013-02-02 18:09:17 +01:00
wmayer 30d655f9aa Set FREECAD_USE_EXTERNAL_ZIPIOS if zipios++ sources are missing 2013-02-02 17:54:06 +01:00
jriegel 63578ee1ea switch to release 2013-01-28 18:36:23 +01:00
Yorik van Havre d41b40eece 0000963: Draft polar array 2013-01-23 16:31:57 -02:00
Sebastian Hoogen d3ea50fd6a process OpenSCADs stdout and allow os.unlink to fail 2013-01-21 13:55:45 +01:00
Sebastian Hoogen c3b11b531e 0000962: Attempting to import an SVG file fails
with "invalid literal for int() with base 16"
2013-01-21 10:46:55 -02:00
Yorik van Havre 0c1bc4c18f Updated license info for sphinx and start module 2013-01-17 13:34:52 -02:00
logari81 e4fc1c7e03 small fix from cherry picking 2013-01-12 15:10:36 +01:00
logari81 56e448d161 PartDesign: Deactivate nesting of original features in patterns
Conflicts:

	src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp
	src/Mod/PartDesign/Gui/ViewProviderTransformed.cpp
	src/Mod/PartDesign/Gui/ViewProviderTransformed.h
2013-01-12 14:45:38 +01:00
logari81 4ed9b1c284 PartDesign: Refactor pattern features and gui
- remove StdDirection,StdAxis and StdMirrorPlane properties
- support sketch H_Axis, V_Axis, N_axis as valid references in patterns
- polish reference selection gui (unified for standard axes and custom references)
2013-01-12 14:42:07 +01:00
logari81 7da2ecacbd Sketcher, 0000944: Fix crash when the equality constraint is activated with a wrong selection 2013-01-12 14:41:23 +01:00
wmayer bb967df728 License issues 2013-01-09 15:26:55 +01:00
Sebastian Hoogen d4fc3a5463 add license notice to ply/setup.py 2013-01-09 15:16:57 +01:00
Sebastian Hoogen 45e10d80d2 added licences for OpenSCAD module 2013-01-09 15:16:57 +01:00
Sebastian Hoogen 8e2ae905dd importCSG reverse polyhedra if they have negative volume 2013-01-09 15:16:56 +01:00
wmayer f1f7238d73 License issues 2013-01-09 14:31:03 +01:00
jriegel 171a8db4d0 Deactivate Nesting of Transform features 2013-01-07 22:13:45 +01:00
wmayer 546ab0feb5 Fix box selection in sketcher 2013-01-05 13:30:50 +01:00
wmayer f4ff92ce15 0000942: Crash when 2xdouble-click on part 2013-01-05 11:27:17 +01:00
jriegel b6f284f553 Apply shoogens partly patch for #935
Merge branch 'bugfix-importsvg' of git://github.com/5263/FreeCAD into releases/FreeCAD-0-13

Conflicts:
	src/Base/PreCompiled.h
2013-01-04 11:11:58 +01:00
wmayer ef1190bf03 0000939: Pressing Escape while pivoting a box crashes 2013-01-03 16:48:27 +01:00
Sebastian Hoogen d374054f2f bugfix for handling of elipses in importSVG 2013-01-03 14:46:26 +01:00
wmayer a7e2d50fb2 Applay fix from master using Qt's QUuid class 2013-01-02 14:37:08 +01:00
wmayer b77b59f090 Apply bug fix from master 2012-12-31 14:47:59 +01:00
2832 changed files with 308189 additions and 606351 deletions
-2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+9 -30
View File
@@ -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
View File
@@ -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
-22
View File
@@ -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
View File
@@ -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.
-2
View File
@@ -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
View File
@@ -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})
-36
View File
@@ -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})
-4
View File
@@ -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)
-108
View File
@@ -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
View File
@@ -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)
-2
View File
@@ -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)
-2
View File
@@ -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
View File
@@ -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)
-473
View File
@@ -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)
+58 -89
View File
@@ -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)
+1 -127
View File
@@ -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
-220
View File
@@ -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;
-71
View File
@@ -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;
-54
View File
@@ -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
View File
@@ -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
-8
View File
@@ -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
+9
View File
@@ -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
View File
@@ -1 +0,0 @@
debian/tmp/usr/doc/*
+2 -2
View File
@@ -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.
-21
View File
@@ -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>
+1 -1
View File
@@ -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
View File
@@ -1 +0,0 @@
debian/freecad.1
+1 -1
View File
@@ -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
View File
@@ -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"
+5 -11
View File
@@ -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)
-4
View File
@@ -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;
+78
View File
@@ -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
+33
View File
@@ -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
+25
View File
@@ -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
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
libGL 1 libgl1-mesa-glx (>= 7.7.1-1)
libSoQt4 20 libsoqt4-20 (>= 1.4.2~svn20090224)
+1 -1
View File
@@ -1 +1 @@
1.0
3.0 (quilt)
+3 -3
View File
@@ -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
View File
@@ -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
+8 -1
View File
@@ -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)
+11 -11
View File
@@ -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)
+36 -4
View File
@@ -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
+36 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 )
+9 -9
View File
@@ -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
View File
@@ -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
View File
@@ -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;
};
+6 -2
View File
@@ -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
View File
@@ -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
View File
@@ -0,0 +1,4 @@
#ifndef _OpUtil_HXX_
#define _OpUtil_HXX_
#endif
+54 -25
View File
@@ -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
View File
@@ -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;
+1
View File
@@ -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;
+2
View File
@@ -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
View File
@@ -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;
+62
View File
@@ -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
View File
@@ -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);
+2
View File
@@ -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
View File
@@ -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
View File
@@ -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,
+2
View File
@@ -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;
+1
View File
@@ -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
View File
@@ -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
+2
View File
@@ -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
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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