Initial version
This commit is contained in:
commit
b24609030d
54
adm_local/unix/config_files/check_Geom.m4
Normal file
54
adm_local/unix/config_files/check_Geom.m4
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# Check availability of Geom binary distribution
|
||||||
|
#
|
||||||
|
# Author : Nicolas REJNERI (OPEN CASCADE, 2003)
|
||||||
|
#
|
||||||
|
|
||||||
|
AC_DEFUN([CHECK_GEOM],[
|
||||||
|
|
||||||
|
AC_CHECKING(for Geom)
|
||||||
|
|
||||||
|
Geom_ok=no
|
||||||
|
|
||||||
|
AC_ARG_WITH(geom,
|
||||||
|
[ --with-geom=DIR root directory path of GEOM installation ],
|
||||||
|
GEOM_DIR="$withval",GEOM_DIR="")
|
||||||
|
|
||||||
|
if test "x$GEOM_DIR" == "x" ; then
|
||||||
|
|
||||||
|
# no --with-geom-dir option used
|
||||||
|
|
||||||
|
if test "x$GEOM_ROOT_DIR" != "x" ; then
|
||||||
|
|
||||||
|
# GEOM_ROOT_DIR environment variable defined
|
||||||
|
GEOM_DIR=$GEOM_ROOT_DIR
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# search Geom binaries in PATH variable
|
||||||
|
AC_PATH_PROG(TEMP, libGEOM_Swig.py)
|
||||||
|
if test "x$TEMP" != "x" ; then
|
||||||
|
GEOM_BIN_DIR=`dirname $TEMP`
|
||||||
|
GEOM_DIR=`dirname $GEOM_BIN_DIR`
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f ${GEOM_DIR}/bin/salome/libGEOM_Swig.py ; then
|
||||||
|
Geom_ok=yes
|
||||||
|
AC_MSG_RESULT(Using Geom module distribution in ${GEOM_DIR})
|
||||||
|
|
||||||
|
if test "x$GEOM_ROOT_DIR" == "x" ; then
|
||||||
|
GEOM_ROOT_DIR=${GEOM_DIR}
|
||||||
|
fi
|
||||||
|
AC_SUBST(GEOM_ROOT_DIR)
|
||||||
|
|
||||||
|
else
|
||||||
|
AC_MSG_WARN("Cannot find compiled Geom module distribution")
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_RESULT(for Geom: $Geom_ok)
|
||||||
|
|
||||||
|
])dnl
|
||||||
|
|
54
adm_local/unix/config_files/check_SMESH.m4
Normal file
54
adm_local/unix/config_files/check_SMESH.m4
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# Check availability of SMesh binary distribution
|
||||||
|
#
|
||||||
|
# Author : Nicolas REJNERI (OPEN CASCADE, 2003)
|
||||||
|
#
|
||||||
|
|
||||||
|
AC_DEFUN([CHECK_SMESH],[
|
||||||
|
|
||||||
|
AC_CHECKING(for SMesh)
|
||||||
|
|
||||||
|
SMesh_ok=no
|
||||||
|
|
||||||
|
AC_ARG_WITH(smesh,
|
||||||
|
[ --with-smesh=DIR root directory path of SMESH installation ],
|
||||||
|
SMESH_DIR="$withval",SMESH_DIR="")
|
||||||
|
|
||||||
|
if test "x$SMESH_DIR" == "x" ; then
|
||||||
|
|
||||||
|
# no --with-smesh option used
|
||||||
|
|
||||||
|
if test "x$SMESH_ROOT_DIR" != "x" ; then
|
||||||
|
|
||||||
|
# SMESH_ROOT_DIR environment variable defined
|
||||||
|
SMESH_DIR=$SMESH_ROOT_DIR
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# search SMESH binaries in PATH variable
|
||||||
|
AC_PATH_PROG(TEMP, libSMESH_Swig.py)
|
||||||
|
if test "x$TEMP" != "x" ; then
|
||||||
|
SMESH_BIN_DIR=`dirname $TEMP`
|
||||||
|
SMESH_DIR=`dirname $SMESH_BIN_DIR`
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f ${SMESH_DIR}/bin/salome/libSMESH_Swig.py ; then
|
||||||
|
SMesh_ok=yes
|
||||||
|
AC_MSG_RESULT(Using SMesh module distribution in ${SMESH_DIR})
|
||||||
|
|
||||||
|
if test "x$SMESH_ROOT_DIR" == "x" ; then
|
||||||
|
SMESH_ROOT_DIR=${SMESH_DIR}
|
||||||
|
fi
|
||||||
|
AC_SUBST(SMESH_ROOT_DIR)
|
||||||
|
|
||||||
|
else
|
||||||
|
AC_MSG_WARN("Cannot find compiled SMesh module distribution")
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_RESULT(for SMesh: $SMesh_ok)
|
||||||
|
|
||||||
|
])dnl
|
||||||
|
|
216
build_configure
Executable file
216
build_configure
Executable file
@ -0,0 +1,216 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tool for updating list of .in file for the SALOME project
|
||||||
|
# and regenerating configure script
|
||||||
|
#
|
||||||
|
# Author : Marc Tajchman - CEA
|
||||||
|
# Date : 10/10/2002
|
||||||
|
# $Header$
|
||||||
|
#
|
||||||
|
|
||||||
|
ORIG_DIR=`pwd`
|
||||||
|
CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Test if the KERNEL_ROOT_DIR is set correctly
|
||||||
|
|
||||||
|
if test ! -d "${KERNEL_ROOT_DIR}"; then
|
||||||
|
echo "failed : KERNEL_ROOT_DIR variable is not correct !"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test if the KERNEL_SRC is set correctly
|
||||||
|
|
||||||
|
#if test ! -d "${KERNEL_SRC}"; then
|
||||||
|
# echo "failed : KERNEL_SRC variable is not correct !"
|
||||||
|
# exit
|
||||||
|
#fi
|
||||||
|
########################################################################
|
||||||
|
# find_in - utility function
|
||||||
|
#
|
||||||
|
# usage :
|
||||||
|
# find_in directory filename
|
||||||
|
#
|
||||||
|
# Finds files following the *.in pattern, recursively in the
|
||||||
|
# directory (first argument).
|
||||||
|
# Results are appended into the file (second argument)
|
||||||
|
#
|
||||||
|
# Difference from the standard unix find is that files are tested
|
||||||
|
# before directories
|
||||||
|
#
|
||||||
|
|
||||||
|
find_in()
|
||||||
|
{
|
||||||
|
local i
|
||||||
|
local f=$2
|
||||||
|
|
||||||
|
# if the first argument is not a directory, returns
|
||||||
|
|
||||||
|
if [ ! -d "$1" ] ; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# dont look in the CVS directories
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
*/CVS) return ;;
|
||||||
|
*/adm_local/*) return ;;
|
||||||
|
*) ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# for each regular file contained in the directory
|
||||||
|
# test if it's a .in file
|
||||||
|
|
||||||
|
for i in "$1"/*
|
||||||
|
do
|
||||||
|
if [ -f "$i" ] ; then
|
||||||
|
case $i in
|
||||||
|
*.in) echo " "$i" \\" >> $f;;
|
||||||
|
*) ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# for each subdirectory of the first argument, proceeds recursively
|
||||||
|
|
||||||
|
for i in "$1"/*
|
||||||
|
do
|
||||||
|
if [ -d "$i" ] ; then
|
||||||
|
find_in "$i" "$f"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# Generate list of .in files (Makefile.in, config.h.in, etc)
|
||||||
|
# appending it in file configure.in
|
||||||
|
|
||||||
|
cd ${CONF_DIR}
|
||||||
|
ABS_CONF_DIR=`pwd`
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common part of the configure.in file
|
||||||
|
#
|
||||||
|
chmod u+w configure.in.base
|
||||||
|
if ! \cp -f configure.in.base configure.in_tmp1
|
||||||
|
then
|
||||||
|
echo
|
||||||
|
echo "error : can't create files in" ${CONF_DIR}
|
||||||
|
echo "aborting ..."
|
||||||
|
chmod u-w configure.in.base
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
chmod u-w configure.in.base
|
||||||
|
|
||||||
|
if [ -e "${CONF_DIR}/salome_adm" ] ; then
|
||||||
|
\rm -f ${CONF_DIR}/salome_adm
|
||||||
|
fi
|
||||||
|
|
||||||
|
# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files
|
||||||
|
echo "" >> configure.in_tmp1
|
||||||
|
echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1
|
||||||
|
|
||||||
|
echo "" >> configure.in_tmp1
|
||||||
|
echo "AC_OUTPUT([ \\" >> configure.in_tmp1
|
||||||
|
|
||||||
|
#
|
||||||
|
# List of .in files in the adm/unix directory
|
||||||
|
# These files MUST be on top of AC_OUTPUT list so we
|
||||||
|
# put them "manually"
|
||||||
|
#
|
||||||
|
|
||||||
|
echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1
|
||||||
|
echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1
|
||||||
|
echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1
|
||||||
|
echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1
|
||||||
|
echo " ./adm_local/unix/make_omniorb \\" >> configure.in_tmp1
|
||||||
|
echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1
|
||||||
|
echo " ./adm_local/unix/make_commence \\" >> configure.in_tmp1
|
||||||
|
echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1
|
||||||
|
echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1
|
||||||
|
|
||||||
|
\rm -f configure.in_tmp2 configure.in_tmp3
|
||||||
|
touch configure.in_tmp2
|
||||||
|
find_in . configure.in_tmp2
|
||||||
|
sed -e '/^...salome_adm/d' configure.in_tmp2 > configure.in_tmp3
|
||||||
|
sed -e '/^...adm_local.unix.make_omniorb/d' configure.in_tmp3 configure.in_tmp2
|
||||||
|
sed -e '/^...adm_local.unix.make_commence/d' configure.in_tmp2 > configure.in_tmp3
|
||||||
|
sed -e '/configure.in/d' configure.in_tmp3 > configure.in_tmp2
|
||||||
|
sed -e 's/.in / /' configure.in_tmp2 >> configure.in_tmp1
|
||||||
|
#sed '/^.salome_adm/d' configure.in_tmp2 > configure.in_tmp3
|
||||||
|
#sed '/configure.in/d' configure.in_tmp3 > configure.in_tmp2
|
||||||
|
#sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1
|
||||||
|
|
||||||
|
echo "])" >> configure.in_tmp1
|
||||||
|
|
||||||
|
# delete the link created for AC_OUTPUT
|
||||||
|
echo "" >> configure.in_tmp1
|
||||||
|
#echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1
|
||||||
|
\mv configure.in_tmp1 configure.in_new
|
||||||
|
\rm -f configure.in_tmp2 configure.in_tmp3
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Create new (or replace old) configure.in file
|
||||||
|
# Print a message if the file is write protected
|
||||||
|
#
|
||||||
|
|
||||||
|
echo
|
||||||
|
if test ! -f configure.in
|
||||||
|
then
|
||||||
|
echo -n "Creating new file 'configure.in' ... "
|
||||||
|
if \mv configure.in_new configure.in >& /dev/null
|
||||||
|
then
|
||||||
|
echo "done"
|
||||||
|
else
|
||||||
|
echo "error, check your file permissions"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -n "Updating 'configure.in' file ... "
|
||||||
|
if ! \cp configure.in configure.in_old >& /dev/null
|
||||||
|
then
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "Can't backup previous configure.in"
|
||||||
|
echo -n "Continue (you will not be able to revert) - (Y/N) ? "
|
||||||
|
read R
|
||||||
|
case "x$R" in
|
||||||
|
xn*) exit;;
|
||||||
|
xN*) exit;;
|
||||||
|
esac
|
||||||
|
echo
|
||||||
|
echo -n " "
|
||||||
|
fi
|
||||||
|
if \cp configure.in_new configure.in >& /dev/null
|
||||||
|
then
|
||||||
|
echo "done"
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "error, can't update previous configure.in"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Use autoconf to rebuild the configure script
|
||||||
|
#
|
||||||
|
|
||||||
|
if test -f configure
|
||||||
|
then
|
||||||
|
echo -n "Updating 'configure' script ... "
|
||||||
|
else
|
||||||
|
echo -n "Creating 'configure' script ... "
|
||||||
|
fi
|
||||||
|
|
||||||
|
aclocal --acdir=adm_local/unix/config_files -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files
|
||||||
|
if autoconf
|
||||||
|
then
|
||||||
|
echo "done"
|
||||||
|
else
|
||||||
|
echo "failed (check file permissions and/or user quotas ...)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${ORIG_DIR}
|
||||||
|
|
||||||
|
echo
|
1064
src/NETGENPlugin_NETGEN_3D.cxx
Normal file
1064
src/NETGENPlugin_NETGEN_3D.cxx
Normal file
File diff suppressed because it is too large
Load Diff
43
src/NETGENPlugin_NETGEN_3D.hxx
Normal file
43
src/NETGENPlugin_NETGEN_3D.hxx
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
//=============================================================================
|
||||||
|
// File : NETGENPlugin_NETGEN_3D.hxx
|
||||||
|
// Moved here from SMESH_NETGEN_3D.hxx
|
||||||
|
// Created : lundi 27 Janvier 2003
|
||||||
|
// Author : Nadir BOUHAMOU (CEA)
|
||||||
|
// Project : SALOME
|
||||||
|
// Copyright : CEA 2003
|
||||||
|
// $Header$
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
#ifndef _NETGENPlugin_NETGEN_3D_HXX_
|
||||||
|
#define _NETGENPlugin_NETGEN_3D_HXX_
|
||||||
|
|
||||||
|
#include "SMESH_3D_Algo.hxx"
|
||||||
|
#include "SMESH_Mesh.hxx"
|
||||||
|
#include "StdMeshers_MaxElementVolume.hxx"
|
||||||
|
#include "Utils_SALOME_Exception.hxx"
|
||||||
|
|
||||||
|
class NETGENPlugin_NETGEN_3D: public SMESH_3D_Algo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
NETGENPlugin_NETGEN_3D(int hypId, int studyId, SMESH_Gen* gen);
|
||||||
|
virtual ~NETGENPlugin_NETGEN_3D();
|
||||||
|
|
||||||
|
virtual bool CheckHypothesis(SMESH_Mesh& aMesh,
|
||||||
|
const TopoDS_Shape& aShape,
|
||||||
|
SMESH_Hypothesis::Hypothesis_Status& aStatus);
|
||||||
|
|
||||||
|
virtual bool Compute(SMESH_Mesh& aMesh,
|
||||||
|
const TopoDS_Shape& aShape);
|
||||||
|
|
||||||
|
ostream & SaveTo(ostream & save);
|
||||||
|
istream & LoadFrom(istream & load);
|
||||||
|
friend ostream & operator << (ostream & save, NETGENPlugin_NETGEN_3D & hyp);
|
||||||
|
friend istream & operator >> (istream & load, NETGENPlugin_NETGEN_3D & hyp);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
double _maxElementVolume;
|
||||||
|
|
||||||
|
const StdMeshers_MaxElementVolume* _hypMaxElementVolume;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
85
src/NETGENPlugin_NETGEN_3D_i.cxx
Normal file
85
src/NETGENPlugin_NETGEN_3D_i.cxx
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// File : NETGENPlugin_NETGEN_3D_i.cxx
|
||||||
|
// Moved here from SMESH_NETGEN_3D_i.cxx
|
||||||
|
// Author : Nadir Bouhamou CEA
|
||||||
|
// Module : SMESH
|
||||||
|
// $Header$
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
#include "NETGENPlugin_NETGEN_3D_i.hxx"
|
||||||
|
#include "SMESH_Gen.hxx"
|
||||||
|
|
||||||
|
#include "Utils_CorbaException.hxx"
|
||||||
|
#include "utilities.h"
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* NETGENPlugin_NETGEN_3D_i::NETGENPlugin_NETGEN_3D_i
|
||||||
|
*
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
NETGENPlugin_NETGEN_3D_i::NETGENPlugin_NETGEN_3D_i( PortableServer::POA_ptr thePOA,
|
||||||
|
int theStudyId,
|
||||||
|
::SMESH_Gen* theGenImpl )
|
||||||
|
: SALOME::GenericObj_i( thePOA ),
|
||||||
|
SMESH_Hypothesis_i( thePOA ),
|
||||||
|
SMESH_Algo_i( thePOA ),
|
||||||
|
SMESH_3D_Algo_i( thePOA )
|
||||||
|
{
|
||||||
|
MESSAGE( "NETGENPlugin_NETGEN_3D_i::NETGENPlugin_NETGEN_3D_i" );
|
||||||
|
myBaseImpl = new ::NETGENPlugin_NETGEN_3D( theGenImpl->GetANewId(),
|
||||||
|
theStudyId,
|
||||||
|
theGenImpl );
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* NETGENPlugin_NETGEN_3D_i::~NETGENPlugin_NETGEN_3D_i
|
||||||
|
*
|
||||||
|
* Destructor
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
NETGENPlugin_NETGEN_3D_i::~NETGENPlugin_NETGEN_3D_i()
|
||||||
|
{
|
||||||
|
MESSAGE( "NETGENPlugin_NETGEN_3D_i::~NETGENPlugin_NETGEN_3D_i" );
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* NETGENPlugin_NETGEN_3D_i::GetImpl
|
||||||
|
*
|
||||||
|
* Get implementation
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
::NETGENPlugin_NETGEN_3D* NETGENPlugin_NETGEN_3D_i::GetImpl()
|
||||||
|
{
|
||||||
|
MESSAGE( "NETGENPlugin_NETGEN_3D_i::GetImpl" );
|
||||||
|
return ( ::NETGENPlugin_NETGEN_3D* )myBaseImpl;
|
||||||
|
}
|
||||||
|
|
20
src/NETGENPlugin_icons.po
Normal file
20
src/NETGENPlugin_icons.po
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# This is a Qt message file in .po format. Each msgid starts with
|
||||||
|
# a scope. This scope should *NOT* be translated - eg. "Foo::Bar"
|
||||||
|
# would be translated to "Pub", not "Foo::Pub".
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
|
"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
|
||||||
|
"PO-Revision-Date: YYYY-MM-DD\n"
|
||||||
|
"Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Content-Type: text/plain; charset=iso-8859-1\n"
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------
|
||||||
|
# ObjectBrowser
|
||||||
|
#-----------------------------------------------------------
|
||||||
|
|
||||||
|
#mesh_tree_algo_netgen
|
||||||
|
msgid "ICON_SMESH_TREE_ALGO_NETGEN_3D"
|
||||||
|
msgstr "mesh_tree_algo_tetra.png"
|
||||||
|
#msgstr "mesh_tree_algo_netgen.png"
|
102
src/ReadMeForNgUsers
Normal file
102
src/ReadMeForNgUsers
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
The Netgen 4.3 from the web location : http://www.hpfem.jku.at/netgen/ is used
|
||||||
|
in the SMESH Module of Salome2 distribution.
|
||||||
|
|
||||||
|
How to build Netgen for Salome
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Patch the official netgen 4.3 distribution:
|
||||||
|
|
||||||
|
$ cd netgen43
|
||||||
|
$ patch -p1 < patch_directory/netgen43ForSalome.patch
|
||||||
|
|
||||||
|
Then run makeForSalome.sh:
|
||||||
|
$ sh makeForSalome.sh
|
||||||
|
|
||||||
|
|
||||||
|
Additional information for maintainers
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
The SMESH Engine of SALOME2 (particularly the m4 file check_Netgen.m4) assume
|
||||||
|
that Netgen is installed in the directory <netgen_installation_path> as follow:
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>
|
||||||
|
|
||||||
|
bin/ cshrc_for_netgen doc/ include/ lib/ tutorials/
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/bin
|
||||||
|
|
||||||
|
LINUX/
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/bin/LINUX/
|
||||||
|
|
||||||
|
demoapp/ ng ng.tcl ngtcltk/ startup.tcl
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/bin/LINUX/demoapp/
|
||||||
|
|
||||||
|
demoapp.tcl
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/bin/LINUX/ngtcltk/
|
||||||
|
|
||||||
|
dialog.tcl menustat.tcl ngicon.tcl parameters.tcl
|
||||||
|
drawing.tcl nghelp.tcl ngvisual.tcl variables.tcl
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/doc/
|
||||||
|
|
||||||
|
ng4.pdf usenetgen.ps
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/include/
|
||||||
|
|
||||||
|
nglib.h
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/lib/
|
||||||
|
|
||||||
|
LINUX/
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/lib/LINUX/
|
||||||
|
|
||||||
|
libcsg.a libgeom2d.a libla.a libnginterface.a libstlgeom.a
|
||||||
|
libgen.a libgprim.a libmesh.a libopti.a libvis.a
|
||||||
|
|
||||||
|
prompt> ls <netgen_installation_path>/tutorials/
|
||||||
|
|
||||||
|
boxcyl.geo cylinder.geo ficherea.geo part1.stl square.in2d
|
||||||
|
cone.geo cylsphere.geo hinge.stl sculpture.geo trafo.geo
|
||||||
|
cubeandspheres.geo demo2d.in2d lshape3d.geo shaft.geo twobricks.geo
|
||||||
|
cube.geo ellipsoid.geo manyholes.geo sphere.geo twocubes.geo
|
||||||
|
cubemcyl.geo ellipticcyl.geo matrix.geo sphereincube.geo twocyl.geo
|
||||||
|
cubemsphere.geo
|
||||||
|
|
||||||
|
All *.tcl files are needed to control and initiate the Netgen mesher throughout its
|
||||||
|
MHI (Machine Human Interface).<netgen_installation_path>/bin/LINUX/ng is the Netgen
|
||||||
|
executable with its embarked MHI. All the libraries *.a should be compiled without
|
||||||
|
the option -DOPENGL which is only needed for the Netgen MHI. netgen43 is assumed to
|
||||||
|
be the directory downloaded from the above web location archive of Netgen. The library
|
||||||
|
<netgen_installation_path>/lib/LINUX/libnginterface.a should contain the objects
|
||||||
|
nglib.o (from netgen43/libsrc/interface/nglib.cpp) and ngnewdelete.o
|
||||||
|
(from netgen43/ngtcltk/ngnewdelete.cpp).
|
||||||
|
|
||||||
|
To have that kind of distribution from the version in the above web location you
|
||||||
|
should first compile Netgen as suggested in the netgen43/README.INSTALL file. It will
|
||||||
|
then produce the executable ng linked statically with the libraries *.a. Then modify
|
||||||
|
the Makefiles to remove -DOPENGL from compiler flags list, add the objects nglib.o
|
||||||
|
and ngnewdelete.o to the library libnginterface.a and recompile the libraries only.
|
||||||
|
|
||||||
|
From the above web location perhaps, you will have to alter some Netgen sources to
|
||||||
|
compile them; if you find any difficulties to do that, just ask me.
|
||||||
|
|
||||||
|
Nadir
|
||||||
|
|
||||||
|
********************************
|
||||||
|
* Dr Nadir Bouhamou *
|
||||||
|
* Ingénieur-chercheur *
|
||||||
|
* Engineer-Researcher *
|
||||||
|
* *
|
||||||
|
* CEA Saclay *
|
||||||
|
* DEN/DM2S/SFME/LGLS *
|
||||||
|
* Bat 454 Pièce 5A *
|
||||||
|
* 91191 Gif-Sur-Yvette cédex *
|
||||||
|
* *
|
||||||
|
* Tél: +33 (0)1 69 08 73 07 *
|
||||||
|
* Fax: +33 (0)1 69 08 96 96 *
|
||||||
|
* email: nadir.bouhamou@cea.fr *
|
||||||
|
********************************
|
221
src/netgen43ForSalome.patch
Normal file
221
src/netgen43ForSalome.patch
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
diff -N -r -u netgen43/libsrc/include/spline2d.hpp /tmp/netgen43/libsrc/include/spline2d.hpp
|
||||||
|
--- netgen43/libsrc/include/spline2d.hpp 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ /tmp/netgen43/libsrc/include/spline2d.hpp 2003-12-10 16:28:12.000000000 +0100
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+#include "../geom2d/spline2d.hpp"
|
||||||
|
diff -N -r -u netgen43/libsrc/include/splinegeometry2.hpp /tmp/netgen43/libsrc/include/splinegeometry2.hpp
|
||||||
|
--- netgen43/libsrc/include/splinegeometry2.hpp 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ /tmp/netgen43/libsrc/include/splinegeometry2.hpp 2003-12-10 16:28:23.000000000 +0100
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+#include "../geom2d/splinegeometry2.hpp"
|
||||||
|
diff -N -r -u netgen43/libsrc/interface/Makefile /tmp/netgen43/libsrc/interface/Makefile
|
||||||
|
--- netgen43/libsrc/interface/Makefile 2003-05-07 16:01:43.000000000 +0200
|
||||||
|
+++ /tmp/netgen43/libsrc/interface/Makefile 2003-12-10 15:59:47.000000000 +0100
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-src = nginterface.cpp writeuser.cpp writediffpack.cpp writeabaqus.cpp writefluent.cpp writepermas.cpp writetochnog.cpp writetecplot.cpp wuchemnitz.cpp writetochnog.cpp writefeap.cpp readuser.cpp importsolution.cpp
|
||||||
|
+src = writeuser.cpp writediffpack.cpp writeabaqus.cpp writefluent.cpp writepermas.cpp writetochnog.cpp writetecplot.cpp wuchemnitz.cpp writetochnog.cpp writefeap.cpp readuser.cpp importsolution.cpp nglib.cpp ngnewdelete.cpp
|
||||||
|
#
|
||||||
|
lib = nginterface
|
||||||
|
libpath = libsrc/interface
|
||||||
|
diff -N -r -u netgen43/libsrc/interface/nglib.cpp /tmp/netgen43/libsrc/interface/nglib.cpp
|
||||||
|
--- netgen43/libsrc/interface/nglib.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||||
|
+++ /tmp/netgen43/libsrc/interface/nglib.cpp 2003-12-10 16:32:54.000000000 +0100
|
||||||
|
@@ -23,6 +23,20 @@
|
||||||
|
|
||||||
|
#include "nglib.h"
|
||||||
|
|
||||||
|
+namespace netgen
|
||||||
|
+{
|
||||||
|
+ char geomfilename [100];
|
||||||
|
+
|
||||||
|
+ //Destination for messages, errors, ...
|
||||||
|
+ void Ng_PrintDest(const char * s)
|
||||||
|
+ {
|
||||||
|
+ (*mycout) << s << flush;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+#include <spline2d.hpp>
|
||||||
|
+#include <splinegeometry2.hpp>
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
using namespace netgen;
|
||||||
|
|
||||||
|
// constants and types:
|
||||||
|
@@ -171,8 +185,6 @@
|
||||||
|
// CSG Geometry
|
||||||
|
|
||||||
|
// FlexLexer * lexer;
|
||||||
|
-char geomfilename [100];
|
||||||
|
-
|
||||||
|
|
||||||
|
// 2D Meshing Functions:
|
||||||
|
|
||||||
|
@@ -362,7 +374,18 @@
|
||||||
|
cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
- geo->AddEdges(readedges);
|
||||||
|
+
|
||||||
|
+ ARRAY< Point<3> > readedges1;
|
||||||
|
+
|
||||||
|
+ for (i = 1; i <= readedges.Size(); i++)
|
||||||
|
+ {
|
||||||
|
+ Point3d readedgesData = readedges.Get(i);
|
||||||
|
+ Point <3> readedges1Data = Point<3>(readedgesData.X(),readedgesData.Y(),readedgesData.Z());
|
||||||
|
+
|
||||||
|
+ readedges1.Append(readedges1Data);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ geo->AddEdges(readedges1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK;
|
||||||
|
@@ -472,7 +495,14 @@
|
||||||
|
n = Vec3d(nv[0],nv[1],nv[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
- readtrias.Append(STLReadTriangle(apts,n));
|
||||||
|
+ Point<3> apts1[3];
|
||||||
|
+ apts1[0] = Point<3>(p1[0],p1[1],p1[2]);
|
||||||
|
+ apts1[1] = Point<3>(p2[0],p2[1],p2[2]);
|
||||||
|
+ apts1[2] = Point<3>(p3[0],p3[1],p3[2]);
|
||||||
|
+
|
||||||
|
+ Vec<3> n1 = Vec<3>(n.X(),n.Y(),n.Z());
|
||||||
|
+
|
||||||
|
+ readtrias.Append(STLReadTriangle(apts1,n1));
|
||||||
|
}
|
||||||
|
|
||||||
|
// add (optional) edges:
|
||||||
|
@@ -487,30 +517,29 @@
|
||||||
|
|
||||||
|
// compatibility functions:
|
||||||
|
|
||||||
|
-void MyError (const char * ch)
|
||||||
|
+void netgen::MyError (const char * ch)
|
||||||
|
{
|
||||||
|
cerr << ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
-//Destination for messages, errors, ...
|
||||||
|
-void Ng_PrintDest(const char * s)
|
||||||
|
-{
|
||||||
|
- (*mycout) << s << flush;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-double GetTime ()
|
||||||
|
+double netgen::GetTime ()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void ResetTime ()
|
||||||
|
+void netgen::ResetTime ()
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void MyBeep (int i)
|
||||||
|
+void netgen::MyBeep (int i)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
+void MeshFromSpline2D (SplineGeometry2d & geometry,
|
||||||
|
+ Mesh *& mesh,
|
||||||
|
+ MeshingParameters & mp)
|
||||||
|
+{
|
||||||
|
+ MeshFromSpline2D (geometry, mesh, mp);
|
||||||
|
+}
|
||||||
|
diff -N -r -u netgen43/libsrc/makefile.mach.LINUX /tmp/netgen43/libsrc/makefile.mach.LINUX
|
||||||
|
--- netgen43/libsrc/makefile.mach.LINUX 2003-05-07 16:01:43.000000000 +0200
|
||||||
|
+++ /tmp/netgen43/libsrc/makefile.mach.LINUX 2003-12-10 15:12:18.000000000 +0100
|
||||||
|
@@ -14,7 +14,8 @@
|
||||||
|
#
|
||||||
|
CFLAGS2 =
|
||||||
|
# pg stands for profiling - also in linkflags2
|
||||||
|
-CPLUSPLUSFLAGS2 = -O2 -I/usr/X11R6/include -DLINUX -DOPENGL
|
||||||
|
+#CPLUSPLUSFLAGS2 = -O2 -I/usr/X11R6/include -DLINUX -DOPENGL
|
||||||
|
+CPLUSPLUSFLAGS2 = -O2 -I/usr/X11R6/include -DLINUX
|
||||||
|
# -fomit-frame-pointer
|
||||||
|
# -ffast-math
|
||||||
|
#
|
||||||
|
diff -N -r -u netgen43/libsrc/meshing/improve2.cpp /tmp/netgen43/libsrc/meshing/improve2.cpp
|
||||||
|
--- netgen43/libsrc/meshing/improve2.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||||
|
+++ /tmp/netgen43/libsrc/meshing/improve2.cpp 2003-12-10 15:42:00.000000000 +0100
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
#include "meshing.hpp"
|
||||||
|
#include <opti.hpp>
|
||||||
|
|
||||||
|
-#include <visual.hpp>
|
||||||
|
+/*#include <visual.hpp>*/
|
||||||
|
|
||||||
|
|
||||||
|
namespace netgen
|
||||||
|
diff -N -r -u netgen43/libsrc/meshing/meshing2.cpp /tmp/netgen43/libsrc/meshing/meshing2.cpp
|
||||||
|
--- netgen43/libsrc/meshing/meshing2.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||||
|
+++ /tmp/netgen43/libsrc/meshing/meshing2.cpp 2003-12-10 15:34:35.000000000 +0100
|
||||||
|
@@ -1785,7 +1785,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
#else
|
||||||
|
-void glrender (int wait)
|
||||||
|
+void netgen::glrender (int wait)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
diff -N -r -u netgen43/libsrc/visualization/stlmeshing.cpp /tmp/netgen43/libsrc/visualization/stlmeshing.cpp
|
||||||
|
--- netgen43/libsrc/visualization/stlmeshing.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||||
|
+++ /tmp/netgen43/libsrc/visualization/stlmeshing.cpp 2003-12-10 15:52:53.000000000 +0100
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
#include <stlgeom.hpp>
|
||||||
|
|
||||||
|
#include <meshing.hpp>
|
||||||
|
-#include <visual.hpp>
|
||||||
|
+/*#include <visual.hpp>*/
|
||||||
|
|
||||||
|
namespace netgen
|
||||||
|
{
|
||||||
|
diff -N -r -u netgen43/Makefile /tmp/netgen43/Makefile
|
||||||
|
--- netgen43/Makefile 2003-05-07 16:01:43.000000000 +0200
|
||||||
|
+++ /tmp/netgen43/Makefile 2003-12-10 15:11:41.000000000 +0100
|
||||||
|
@@ -35,7 +35,8 @@
|
||||||
|
.SUFFIXES: .cpp .o
|
||||||
|
#
|
||||||
|
#
|
||||||
|
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL
|
||||||
|
+#CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL
|
||||||
|
+CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include
|
||||||
|
LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu
|
||||||
|
#
|
||||||
|
CPLUSPLUSFLAGS = $(CPLUSPLUSFLAGS1) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3)
|
||||||
|
diff -N -r -u netgen43/makeForSalome.sh /tmp/netgen43/makeForSalome.sh
|
||||||
|
--- netgen43/makeForSalome.sh 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ /tmp/netgen43/makeForSalome.sh 2004-01-05 12:33:59.000000000 +0100
|
||||||
|
@@ -0,0 +1,26 @@
|
||||||
|
+#! /bin/sh
|
||||||
|
+cp ngtcltk/ngnewdelete.* libsrc/interface/
|
||||||
|
+
|
||||||
|
+MACHINE=LINUX
|
||||||
|
+export MACHINE
|
||||||
|
+make -C libsrc/csg
|
||||||
|
+make -C libsrc/general
|
||||||
|
+make -C libsrc/geom2d
|
||||||
|
+make -C libsrc/gprim
|
||||||
|
+make -C libsrc/interface
|
||||||
|
+make -C libsrc/linalg
|
||||||
|
+make -C libsrc/meshing
|
||||||
|
+make -C libsrc/opti
|
||||||
|
+make -C libsrc/stlgeom
|
||||||
|
+
|
||||||
|
+if [ ! -d install ] ; then
|
||||||
|
+ mkdir install
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+cp -r lib install/
|
||||||
|
+
|
||||||
|
+if [ ! -d install/include ] ; then
|
||||||
|
+ mkdir install/include
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+cp libsrc/interface/nglib.h install/include
|
Loading…
x
Reference in New Issue
Block a user