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…
Reference in New Issue
Block a user