From: treecity Date: Sat, 7 May 2011 15:00:55 +0000 (+0000) Subject: [bem3d] neuste Version eingescheckt X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=d9b9eeb504b290b4aa2e96fe3c5fed52a0c8c4c0;p=bacc.git [bem3d] neuste Version eingescheckt [bem3d] schnittstelle für achsenorientierte Rechtecke [src] Karkulik skripte versucht zu testen -> eigenartige Lösungen git-svn-id: https://drops.fb12.tu-berlin.de/svn/bacc/trunk@19 26120e32-c555-405d-b3e1-1f783fb42516 --- diff --git a/src/bem3d/Makefile b/src/bem3d/Makefile new file mode 100644 index 0000000..924a14d --- /dev/null +++ b/src/bem3d/Makefile @@ -0,0 +1,765 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +pkgdatadir = $(datadir)/hilbert3d +pkgincludedir = $(includedir)/hilbert3d +pkglibdir = $(libdir)/hilbert3d +pkglibexecdir = $(libexecdir)/hilbert3d +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS depcomp install-sh missing +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_blas.m4 \ + $(top_srcdir)/m4/ax_boost_base.m4 \ + $(top_srcdir)/m4/ax_boost_regex.m4 $(top_srcdir)/m4/ax_hlib.m4 \ + $(top_srcdir)/m4/ax_lapack.m4 \ + $(top_srcdir)/m4/ax_prog_doxygen.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir dist dist-all distcheck +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run aclocal-1.11 +AMTAR = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run tar +AUTOCONF = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoconf +AUTOHEADER = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoheader +AUTOMAKE = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run automake-1.11 +AWK = mawk +BLAS_LIBS = -lblas +BOOST_CPPFLAGS = -I/usr/include +BOOST_LDFLAGS = -L/usr/lib +BOOST_REGEX_LIB = -lboost_regex-mt +BOOST_ROOT_PATH = /usr +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN_PAPER_SIZE = +DX_CONFIG = Doxyfile +DX_DOCDIR = docs/doxygen +DX_DOT = +DX_DOXYGEN = +DX_DVIPS = +DX_EGREP = +DX_ENV = SRCDIR='.' PROJECT='Hilbert 3D' DOCDIR='docs/doxygen' VERSION='0.1.0' HAVE_DOT='NO' GENERATE_MAN='NO' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='NO' GENERATE_LATEX='NO' +DX_FLAG_chi = 0 +DX_FLAG_chm = 0 +DX_FLAG_doc = 0 +DX_FLAG_dot = 0 +DX_FLAG_html = 0 +DX_FLAG_man = 0 +DX_FLAG_pdf = 0 +DX_FLAG_ps = 0 +DX_FLAG_rtf = 0 +DX_FLAG_xml = 0 +DX_HHC = +DX_LATEX = +DX_MAKEINDEX = +DX_PDFLATEX = +DX_PERL = /usr/bin/perl +DX_PROJECT = Hilbert 3D +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FLIBS = -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu -lgfortran -lm +GREP = /bin/grep +HLIB_CPPFLAGS = -I/usr/local/include +HLIB_LDFLAGS = -L/usr/local/lib +HLIB_LIB = -lhmatrix +HLIB_ROOT_PATH = /usr/local +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LAPACK_LIBS = -llapack +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +OBJEXT = o +PACKAGE = hilbert3d +PACKAGE_BUGREPORT = markus.mayr@tuwien.ac.at +PACKAGE_NAME = Hilbert 3D +PACKAGE_STRING = Hilbert 3D 0.1.0 +PACKAGE_TARNAME = hilbert3d +PACKAGE_URL = http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git +PACKAGE_VERSION = 0.1.0 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/bash +STRIP = +VERSION = 0.1.0 +abs_builddir = /home/treecity/workspace/bacc/src/bem3d +abs_srcdir = /home/treecity/workspace/bacc/src/bem3d +abs_top_builddir = /home/treecity/workspace/bacc/src/bem3d +abs_top_srcdir = /home/treecity/workspace/bacc/src/bem3d +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host_alias = +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = +top_builddir = . +top_srcdir = . +ACLOCAL_AMFLAGS = -I m4 +SUBDIRS = src +##DX_CLEAN_HTML = docs/doxygen/html +##DX_CLEAN_CHM = docs/doxygen/chm +###DX_CLEAN_CHI = docs/doxygen/hilbert3d.chi +##DX_CLEAN_MAN = docs/doxygen/man +##DX_CLEAN_RTF = docs/doxygen/rtf +##DX_CLEAN_XML = docs/doxygen/xml +##DX_CLEAN_PS = docs/doxygen/hilbert3d.ps +##DX_PS_GOAL = doxygen-ps +##DX_CLEAN_PDF = docs/doxygen/hilbert3d.pdf +##DX_PDF_GOAL = doxygen-pdf +##DX_CLEAN_LATEX = docs/doxygen/latex +#DX_CLEANFILES = \ +# docs/doxygen/hilbert3d.tag \ +# -r \ +# $(DX_CLEAN_HTML) \ +# $(DX_CLEAN_CHM) \ +# $(DX_CLEAN_CHI) \ +# $(DX_CLEAN_MAN) \ +# $(DX_CLEAN_RTF) \ +# $(DX_CLEAN_XML) \ +# $(DX_CLEAN_PDF) \ +# $(DX_CLEAN_PS) \ +# $(DX_CLEAN_LATEX) + +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @$(am__cd) '$(distuninstallcheck_dir)' \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ + install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \ + distclean distclean-generic distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am + +##doxygen-ps: docs/doxygen/hilbert3d.ps +##docs/doxygen/hilbert3d.ps: docs/doxygen/hilbert3d.tag +## cd docs/doxygen/latex; \ +## rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ +## $(DX_LATEX) refman.tex; \ +## $(MAKEINDEX_PATH) refman.idx; \ +## $(DX_LATEX) refman.tex; \ +## countdown=5; \ +## while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ +## refman.log > /dev/null 2>&1 \ +## && test $$countdown -gt 0; do \ +## $(DX_LATEX) refman.tex; \ +## countdown=`expr $$countdown - 1`; \ +## done; \ +## $(DX_DVIPS) -o ../hilbert3d.ps refman.dvi +##doxygen-pdf: docs/doxygen/hilbert3d.pdf +##docs/doxygen/hilbert3d.pdf: docs/doxygen/hilbert3d.tag +## cd docs/doxygen/latex; \ +## rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ +## $(DX_PDFLATEX) refman.tex; \ +## $(DX_MAKEINDEX) refman.idx; \ +## $(DX_PDFLATEX) refman.tex; \ +## countdown=5; \ +## while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ +## refman.log > /dev/null 2>&1 \ +## && test $$countdown -gt 0; do \ +## $(DX_PDFLATEX) refman.tex; \ +## countdown=`expr $$countdown - 1`; \ +## done; \ +## mv refman.pdf ../hilbert3d.pdf +#.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL) +#.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) +#doxygen-run: docs/doxygen/hilbert3d.tag +#doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) +#docs/doxygen/hilbert3d.tag: $(DX_CONFIG) $(pkginclude_HEADERS) +# rm -rf docs/doxygen +# $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG) + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bem3d/ROADMAP b/src/bem3d/ROADMAP new file mode 100644 index 0000000..f32dec8 --- /dev/null +++ b/src/bem3d/ROADMAP @@ -0,0 +1,81 @@ +******************************************************************************* +* Version 0.2: Mission "V\phi=f" * +******************************************************************************* + +.=========================================================.==========.========. +| Aufgabe | Verantw. | Status | +|=========================================================|==========|========| +| Netzverwaltung | MM | teilw. | +|=========================================================|==========|========| +| 01) Das Speichern und effiziente Abrufen von Netzen, | MM | OK | +| die aus beliebigen Polygonen bestehen. | | | +|---------------------------------------------------------|----------|--------| +| 02) Laden und Speichern von Netzen im Wavefront-OBJ- | MM | OK | +| Format bzw. in einer Restriktion dieses Formats. | | | +|---------------------------------------------------------|----------|--------| +| 03) Uniforme Netzverfeinerung für Dreiecke und | MM | OK | +| konvexe Vierecke. | | | +|---------------------------------------------------------|----------|--------| +| 04) Adaptive Netzverfeinerung für Dreiecke und | MM | teilw. | +| konvexe Vierecke. | | | +|---------------------------------------------------------|----------|--------| +| 05) Ein einfaches, plattformunabhängiges Werkzeug zum | MM | OK | +| Darstellen von Netzen (mesh_explorer). | | | +|---------------------------------------------------------|----------|--------| +| 06) Mechanismen zum Verwalten des Codes für | MM | teilw. | +| verschiedenartige Polygone. | | | +|=========================================================|==========|========| +| Finite-Element-Räume | | | +|=========================================================|==========|========| +| 07) P0-Räume und P0-Elemente, d.h. Basisfunktionen. | MK | teilw. | +|---------------------------------------------------------|----------|--------| +| 08) Diskrete Funktionen als Linearkombination von | | ?? | +| Basisfunktionen. | | | +|=========================================================|==========|========| +| Operatoren | | | +|=========================================================|==========|========| +| 09) Einfachschichtpotential für Laplace für Dreiecke. | MK | teilw. | +|---------------------------------------------------------|----------|--------| +| 10) Einfachschichtpotential für Laplace und achsen- | PS,MM,MK | TODO | +| parallele Rechtecke. | | | +|---------------------------------------------------------|----------|--------| +| 11) Anbindung an die HLib zum Aufstellen der Matrizen | MK,MM | teilw. | +| und zum Lösen. | | | +|=========================================================|==========|========| +| Dokumentation | | | +|=========================================================|==========|========| +| Testen | | | +'========================================================='=========='========' + +@ Netzverwaltung: Es ist derzeit noch nicht möglich, ein Mesh-Template so zu + spezialisieren, dass es in eine Bibliothek kompiliert werden kann. +@ 02: Es werden nur die v- und f-Direktiven unterstützt. +@ 04: Die adaptive Netzverfeinerung wurde noch nicht vollständig von der alten + auf die neue Netzverwaltung übernommen. +@ 06: SingleDispatch ist implementiert und funktionstüchtig, DoubleDispatch + ist implementiert, muss jedoch noch getestet werden. +@ 10: Peter Schaefer arbeitet derzeit in einem externen Repository an dem + Einfachschichtpotential für achsenparallele Rechtecke. Sobald verfügbar + werden die entsprechenden Funktionen übernommen. +@ 11: Die Anbindung ist weitgehend ungetestet. + +******************************************************************************* +* Version 0.4: * +******************************************************************************* + +.=========================================================.==========.========. +| Aufgabe | Verantw. | Status | +|=========================================================|==========|========| +| Finite-Element-Räume | | | +|=========================================================|==========|========| +| Operatoren | | | +|=========================================================|==========|========| +| Fehler-Schätzer | | | +|=========================================================|==========|========| +| mesh_explorer | | | +|=========================================================|==========|========| +| Netzverwaltung | | | +|=========================================================|==========|========| +| Dokumentation | | | +'========================================================='=========='========' + diff --git a/src/bem3d/autom4te.cache/output.1 b/src/bem3d/autom4te.cache/output.1 index b34ae7e..6868db4 100755 --- a/src/bem3d/autom4te.cache/output.1 +++ b/src/bem3d/autom4te.cache/output.1 @@ -3590,7 +3590,7 @@ fi # Files: -DX_PROJECT=Hilbert 3D +DX_PROJECT="Hilbert 3D" DX_CONFIG=Doxyfile @@ -9337,7 +9337,7 @@ $as_echo "@%:@define HAVE_STDBOOL_H 1" >>confdefs.h fi -ac_config_files="$ac_config_files Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile" +ac_config_files="$ac_config_files Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile src/laplace/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -10155,6 +10155,7 @@ do "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/boundary_mesh/Makefile") CONFIG_FILES="$CONFIG_FILES src/boundary_mesh/Makefile" ;; "src/spaces/Makefile") CONFIG_FILES="$CONFIG_FILES src/spaces/Makefile" ;; + "src/laplace/Makefile") CONFIG_FILES="$CONFIG_FILES src/laplace/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac diff --git a/src/bem3d/autom4te.cache/output.2 b/src/bem3d/autom4te.cache/output.2 index b34ae7e..6868db4 100755 --- a/src/bem3d/autom4te.cache/output.2 +++ b/src/bem3d/autom4te.cache/output.2 @@ -3590,7 +3590,7 @@ fi # Files: -DX_PROJECT=Hilbert 3D +DX_PROJECT="Hilbert 3D" DX_CONFIG=Doxyfile @@ -9337,7 +9337,7 @@ $as_echo "@%:@define HAVE_STDBOOL_H 1" >>confdefs.h fi -ac_config_files="$ac_config_files Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile" +ac_config_files="$ac_config_files Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile src/laplace/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -10155,6 +10155,7 @@ do "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/boundary_mesh/Makefile") CONFIG_FILES="$CONFIG_FILES src/boundary_mesh/Makefile" ;; "src/spaces/Makefile") CONFIG_FILES="$CONFIG_FILES src/spaces/Makefile" ;; + "src/laplace/Makefile") CONFIG_FILES="$CONFIG_FILES src/laplace/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac diff --git a/src/bem3d/autom4te.cache/requests b/src/bem3d/autom4te.cache/requests index 8e7a009..85aa52a 100755 --- a/src/bem3d/autom4te.cache/requests +++ b/src/bem3d/autom4te.cache/requests @@ -105,9 +105,9 @@ 'AM_PROG_MKDIR_P' => 1, 'DX_FEATURE_chi' => 1, 'DX_IF_FEATURE' => 1, + 'DX_CHM_FEATURE' => 1, 'AM_AUTOMAKE_VERSION' => 1, 'DX_FEATURE_doc' => 1, - 'DX_CHM_FEATURE' => 1, 'AM_MISSING_HAS_RUN' => 1, 'DX_PDF_FEATURE' => 1, 'AM_SUBST_NOTMAKE' => 1, diff --git a/src/bem3d/autom4te.cache/traces.1 b/src/bem3d/autom4te.cache/traces.1 index 1f1ebe0..8c32705 100755 --- a/src/bem3d/autom4te.cache/traces.1 +++ b/src/bem3d/autom4te.cache/traces.1 @@ -1485,7 +1485,7 @@ m4trace:configure.ac:6: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) m4trace:configure.ac:7: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:10: -1- DX_INIT_DOXYGEN([Hilbert 3D], [Doxyfile], [docs/doxygen]) +m4trace:configure.ac:10: -1- DX_INIT_DOXYGEN(["Hilbert 3D"], [Doxyfile], [docs/doxygen]) m4trace:configure.ac:10: -1- m4_pattern_allow([^DX_PROJECT$]) m4trace:configure.ac:10: -1- m4_pattern_allow([^DX_CONFIG$]) m4trace:configure.ac:10: -1- m4_pattern_allow([^DX_DOCDIR$]) diff --git a/src/bem3d/autom4te.cache/traces.2 b/src/bem3d/autom4te.cache/traces.2 index 9de8fcf..4a1e5e6 100755 --- a/src/bem3d/autom4te.cache/traces.2 +++ b/src/bem3d/autom4te.cache/traces.2 @@ -303,7 +303,7 @@ m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) m4trace:configure.ac:7: -1- AC_SUBST([RANLIB]) m4trace:configure.ac:7: -1- AC_SUBST_TRACE([RANLIB]) m4trace:configure.ac:7: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:10: -1- AC_SUBST([DX_PROJECT], [Hilbert 3D]) +m4trace:configure.ac:10: -1- AC_SUBST([DX_PROJECT], ["Hilbert 3D"]) m4trace:configure.ac:10: -1- AC_SUBST_TRACE([DX_PROJECT]) m4trace:configure.ac:10: -1- m4_pattern_allow([^DX_PROJECT$]) m4trace:configure.ac:10: -1- AC_SUBST([DX_CONFIG], [ifelse([Doxyfile], [], Doxyfile, [Doxyfile])]) @@ -952,7 +952,7 @@ m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDBOOL_H]) m4trace:configure.ac:16: -1- m4_pattern_allow([^HAVE_STDBOOL_H$]) m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STDBOOL_H], [/* Define to 1 if stdbool.h conforms to C99. */ @%:@undef HAVE_STDBOOL_H]) -m4trace:configure.ac:18: -1- AC_CONFIG_FILES([Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile]) +m4trace:configure.ac:18: -1- AC_CONFIG_FILES([Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile src/laplace/Makefile]) m4trace:configure.ac:19: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) m4trace:configure.ac:19: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:19: -1- m4_pattern_allow([^LIB@&t@OBJS$]) diff --git a/src/bem3d/config.status b/src/bem3d/config.status new file mode 100755 index 0000000..5450625 --- /dev/null +++ b/src/bem3d/config.status @@ -0,0 +1,1272 @@ +#! /bin/bash +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=${CONFIG_SHELL-/bin/bash} +export SHELL +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Hilbert 3D $as_me 0.1.0, which was +generated by GNU Autoconf 2.67. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. +config_files=" Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile src/laplace/Makefile" +config_headers=" src/config.h" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to . +Hilbert 3D home page: ." + +ac_cs_config="" +ac_cs_version="\ +Hilbert 3D config.status 0.1.0 +configured by ./configure, generated by GNU Autoconf 2.67, + with options \"$ac_cs_config\" + +Copyright (C) 2010 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='/home/treecity/workspace/bacc/src/bem3d' +srcdir='.' +INSTALL='/usr/bin/install -c' +MKDIR_P='/bin/mkdir -p' +AWK='mawk' +test -n "$AWK" || AWK=awk +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + set X '/bin/bash' './configure' $ac_configure_extra_args --no-create --no-recursion + shift + $as_echo "running CONFIG_SHELL=/bin/bash $*" >&6 + CONFIG_SHELL='/bin/bash' + export CONFIG_SHELL + exec "$@" +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +# +# INIT-COMMANDS +# +AMDEP_TRUE="" ac_aux_dir="." + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/boundary_mesh/Makefile") CONFIG_FILES="$CONFIG_FILES src/boundary_mesh/Makefile" ;; + "src/spaces/Makefile") CONFIG_FILES="$CONFIG_FILES src/spaces/Makefile" ;; + "src/laplace/Makefile") CONFIG_FILES="$CONFIG_FILES src/laplace/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +cat >>"$tmp/subs1.awk" <<\_ACAWK && +S["am__EXEEXT_FALSE"]="" +S["am__EXEEXT_TRUE"]="#" +S["LTLIBOBJS"]="" +S["LIBOBJS"]="" +S["EGREP"]="/bin/grep -E" +S["GREP"]="/bin/grep" +S["CPP"]="gcc -E" +S["HLIB_LIB"]="-lhmatrix" +S["HLIB_ROOT_PATH"]="/usr/local" +S["HLIB_LDFLAGS"]="-L/usr/local/lib" +S["HLIB_CPPFLAGS"]="-I/usr/local/include" +S["LAPACK_LIBS"]="-llapack" +S["BLAS_LIBS"]="-lblas" +S["FLIBS"]=" -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu "\ +"-lgfortran -lm" +S["ac_ct_F77"]="gfortran" +S["FFLAGS"]="-g -O2" +S["F77"]="gfortran" +S["BOOST_REGEX_LIB"]="-lboost_regex-mt" +S["am__fastdepCC_FALSE"]="#" +S["am__fastdepCC_TRUE"]="" +S["CCDEPMODE"]="depmode=gcc3" +S["ac_ct_CC"]="gcc" +S["CFLAGS"]="-g -O2" +S["CC"]="gcc" +S["BOOST_ROOT_PATH"]="/usr" +S["BOOST_LDFLAGS"]="-L/usr/lib" +S["BOOST_CPPFLAGS"]="-I/usr/include" +S["DOXYGEN_PAPER_SIZE"]="" +S["DX_COND_latex_FALSE"]="" +S["DX_COND_latex_TRUE"]="#" +S["DX_COND_pdf_FALSE"]="" +S["DX_COND_pdf_TRUE"]="#" +S["DX_PDFLATEX"]="" +S["DX_FLAG_pdf"]="0" +S["DX_COND_ps_FALSE"]="" +S["DX_COND_ps_TRUE"]="#" +S["DX_EGREP"]="" +S["DX_DVIPS"]="" +S["DX_MAKEINDEX"]="" +S["DX_LATEX"]="" +S["DX_FLAG_ps"]="0" +S["DX_COND_html_FALSE"]="" +S["DX_COND_html_TRUE"]="#" +S["DX_FLAG_html"]="0" +S["DX_COND_chi_FALSE"]="" +S["DX_COND_chi_TRUE"]="#" +S["DX_FLAG_chi"]="0" +S["DX_COND_chm_FALSE"]="" +S["DX_COND_chm_TRUE"]="#" +S["DX_HHC"]="" +S["DX_FLAG_chm"]="0" +S["DX_COND_xml_FALSE"]="" +S["DX_COND_xml_TRUE"]="#" +S["DX_FLAG_xml"]="0" +S["DX_COND_rtf_FALSE"]="" +S["DX_COND_rtf_TRUE"]="#" +S["DX_FLAG_rtf"]="0" +S["DX_COND_man_FALSE"]="" +S["DX_COND_man_TRUE"]="#" +S["DX_FLAG_man"]="0" +S["DX_COND_dot_FALSE"]="" +S["DX_COND_dot_TRUE"]="#" +S["DX_DOT"]="" +S["DX_FLAG_dot"]="0" +S["DX_COND_doc_FALSE"]="" +S["DX_COND_doc_TRUE"]="#" +S["DX_PERL"]="/usr/bin/perl" +S["DX_DOXYGEN"]="" +S["DX_FLAG_doc"]="0" +S["DX_ENV"]=" SRCDIR='.' PROJECT='Hilbert 3D' DOCDIR='docs/doxygen' VERSION='0.1.0' HAVE_DOT='NO' GENERATE_MAN='NO' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_"\ +"HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='NO' GENERATE_LATEX='NO'" +S["DX_DOCDIR"]="docs/doxygen" +S["DX_CONFIG"]="Doxyfile" +S["DX_PROJECT"]="Hilbert 3D" +S["RANLIB"]="ranlib" +S["am__fastdepCXX_FALSE"]="#" +S["am__fastdepCXX_TRUE"]="" +S["CXXDEPMODE"]="depmode=gcc3" +S["AMDEPBACKSLASH"]="\\" +S["AMDEP_FALSE"]="#" +S["AMDEP_TRUE"]="" +S["am__quote"]="" +S["am__include"]="include" +S["DEPDIR"]=".deps" +S["OBJEXT"]="o" +S["EXEEXT"]="" +S["ac_ct_CXX"]="g++" +S["CPPFLAGS"]="" +S["LDFLAGS"]="" +S["CXXFLAGS"]="-g -O2" +S["CXX"]="g++" +S["am__untar"]="${AMTAR} xf -" +S["am__tar"]="${AMTAR} chof - \"$$tardir\"" +S["AMTAR"]="${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run tar" +S["am__leading_dot"]="." +S["SET_MAKE"]="" +S["AWK"]="mawk" +S["mkdir_p"]="/bin/mkdir -p" +S["MKDIR_P"]="/bin/mkdir -p" +S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" +S["STRIP"]="" +S["install_sh"]="${SHELL} /home/treecity/workspace/bacc/src/bem3d/install-sh" +S["MAKEINFO"]="${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run makeinfo" +S["AUTOHEADER"]="${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoheader" +S["AUTOMAKE"]="${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run automake-1.11" +S["AUTOCONF"]="${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoconf" +S["ACLOCAL"]="${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run aclocal-1.11" +S["VERSION"]="0.1.0" +S["PACKAGE"]="hilbert3d" +S["CYGPATH_W"]="echo" +S["am__isrc"]="" +S["INSTALL_DATA"]="${INSTALL} -m 644" +S["INSTALL_SCRIPT"]="${INSTALL}" +S["INSTALL_PROGRAM"]="${INSTALL}" +S["target_alias"]="" +S["host_alias"]="" +S["build_alias"]="" +S["LIBS"]="" +S["ECHO_T"]="" +S["ECHO_N"]="-n" +S["ECHO_C"]="" +S["DEFS"]="-DHAVE_CONFIG_H" +S["mandir"]="${datarootdir}/man" +S["localedir"]="${datarootdir}/locale" +S["libdir"]="${exec_prefix}/lib" +S["psdir"]="${docdir}" +S["pdfdir"]="${docdir}" +S["dvidir"]="${docdir}" +S["htmldir"]="${docdir}" +S["infodir"]="${datarootdir}/info" +S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}" +S["oldincludedir"]="/usr/include" +S["includedir"]="${prefix}/include" +S["localstatedir"]="${prefix}/var" +S["sharedstatedir"]="${prefix}/com" +S["sysconfdir"]="${prefix}/etc" +S["datadir"]="${datarootdir}" +S["datarootdir"]="${prefix}/share" +S["libexecdir"]="${exec_prefix}/libexec" +S["sbindir"]="${exec_prefix}/sbin" +S["bindir"]="${exec_prefix}/bin" +S["program_transform_name"]="s,x,x," +S["prefix"]="/usr/local" +S["exec_prefix"]="${prefix}" +S["PACKAGE_URL"]="http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git" +S["PACKAGE_BUGREPORT"]="markus.mayr@tuwien.ac.at" +S["PACKAGE_STRING"]="Hilbert 3D 0.1.0" +S["PACKAGE_VERSION"]="0.1.0" +S["PACKAGE_TARNAME"]="hilbert3d" +S["PACKAGE_NAME"]="Hilbert 3D" +S["PATH_SEPARATOR"]=":" +S["SHELL"]="/bin/bash" +_ACAWK +cat >>"$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$tmp/defines.awk" <<\_ACAWK || +BEGIN { +D["PACKAGE_NAME"]=" \"Hilbert 3D\"" +D["PACKAGE_TARNAME"]=" \"hilbert3d\"" +D["PACKAGE_VERSION"]=" \"0.1.0\"" +D["PACKAGE_STRING"]=" \"Hilbert 3D 0.1.0\"" +D["PACKAGE_BUGREPORT"]=" \"markus.mayr@tuwien.ac.at\"" +D["PACKAGE_URL"]=" \"http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git\"" +D["PACKAGE"]=" \"hilbert3d\"" +D["VERSION"]=" \"0.1.0\"" +D["HAVE_BOOST"]=" /**/" +D["HAVE_BOOST_REGEX"]=" /**/" +D["HAVE_BLAS"]=" 1" +D["HAVE_LAPACK"]=" 1" +D["HAVE_HLIB"]=" /**/" +D["STDC_HEADERS"]=" 1" +D["HAVE_SYS_TYPES_H"]=" 1" +D["HAVE_SYS_STAT_H"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_STRING_H"]=" 1" +D["HAVE_MEMORY_H"]=" 1" +D["HAVE_STRINGS_H"]=" 1" +D["HAVE_INTTYPES_H"]=" 1" +D["HAVE_STDINT_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["HAVE__BOOL"]=" 1" +D["HAVE_STDBOOL_H"]=" 1" + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ { + line = $ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac +ac_sed_extra="/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 diff --git a/src/bem3d/configure b/src/bem3d/configure index c23e2dd..e0e7146 100755 --- a/src/bem3d/configure +++ b/src/bem3d/configure @@ -3590,7 +3590,7 @@ fi # Files: -DX_PROJECT=Hilbert 3D +DX_PROJECT="Hilbert 3D" DX_CONFIG=Doxyfile @@ -9337,7 +9337,7 @@ $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi -ac_config_files="$ac_config_files Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile" +ac_config_files="$ac_config_files Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile src/laplace/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -10155,6 +10155,7 @@ do "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/boundary_mesh/Makefile") CONFIG_FILES="$CONFIG_FILES src/boundary_mesh/Makefile" ;; "src/spaces/Makefile") CONFIG_FILES="$CONFIG_FILES src/spaces/Makefile" ;; + "src/laplace/Makefile") CONFIG_FILES="$CONFIG_FILES src/laplace/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac diff --git a/src/bem3d/configure.ac b/src/bem3d/configure.ac index bdf94fb..06f3daf 100644 --- a/src/bem3d/configure.ac +++ b/src/bem3d/configure.ac @@ -7,7 +7,7 @@ AC_PROG_CXX AC_PROG_RANLIB AC_PROG_INSTALL -DX_INIT_DOXYGEN([Hilbert 3D], [Doxyfile], [docs/doxygen]) +DX_INIT_DOXYGEN(["Hilbert 3D"], [Doxyfile], [docs/doxygen]) AX_BOOST_BASE([1.38.0]) AX_BOOST_REGEX @@ -15,6 +15,6 @@ AX_HLIB AC_HEADER_STDBOOL -AC_CONFIG_FILES([Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile]) +AC_CONFIG_FILES([Makefile src/Makefile src/boundary_mesh/Makefile src/spaces/Makefile src/laplace/Makefile]) AC_OUTPUT diff --git a/src/bem3d/src/HLibOperator.cpp b/src/bem3d/src/HLibOperator.cpp new file mode 100644 index 0000000..f86b745 --- /dev/null +++ b/src/bem3d/src/HLibOperator.cpp @@ -0,0 +1,15 @@ +#include "HLibOperator_fwd.hpp" + +extern "C" +{ +# include "HLib/rkmatrix.h" +} + +void +HLibInitializer::initialize() +{ + init_rkmatrices(0); +} + +bool HLibInitializer::hLibInitialized = false; + diff --git a/src/bem3d/src/HLibOperator.hpp b/src/bem3d/src/HLibOperator.hpp new file mode 100644 index 0000000..21a238a --- /dev/null +++ b/src/bem3d/src/HLibOperator.hpp @@ -0,0 +1,8 @@ +#ifndef HILBERT3D_HLIBOPERATOR_HPP_GUARD_ +#define HILBERT3D_HLIBOPERATOR_HPP_GUARD_ + +#include "HLibOperator_fwd.hpp" +#include "HLibOperator_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/HLibOperator_fwd.hpp b/src/bem3d/src/HLibOperator_fwd.hpp new file mode 100644 index 0000000..dcf06f7 --- /dev/null +++ b/src/bem3d/src/HLibOperator_fwd.hpp @@ -0,0 +1,123 @@ +#ifndef HILBERT3D_HLIBOPERATOR_FWD_HPP_GUARD_ +#define HILBERT3D_HLIBOPERATOR_FWD_HPP_GUARD_ + +#include + +extern "C" +{ +# include "HLib/cluster.h" +# include "HLib/supermatrix.h" +# include "HLib/krylov.h" +# include "HLib/graphics.h" +# include "HLib/aca.h" +} + +#define ACA_KMAX 1e4 +#define ACA_EPS 1e-5 +#define ACA_STRATEGY HLIB_ACA_RELATIVE + +enum MatrixSymmetry +{ + SymmetricMatrix, + UnsymmetricMatrix +}; + +enum HLibOperatorConstructionMethod +{ + BuildHLibOperatorFull, + BuildHLibOperatorFromCluster +}; + +class HLibInitializer +{ + public: + static void initialize(); + + private: + static bool hLibInitialized; +}; + +/** + * @brief Base class for operators which are based upon HLib. + * + * This class template encapsulates most calls to the hierarchical matrix + * library HLib which are necessary to build an operator, which is cheap in + * terms of storage and computational complexity. + * + * The class takes an ansatz space and a test space class as template + * parameters. Spaces, which are used as template parameters, must provide the + * createClusterFactory method and the getNumberOfElements method. In other + * words they must implement the space::HLibSpace class. Apart from implementing + * the createClusterFactory method within the finite element space classes, it + * should not be necessary to make further calls to HLib functions. + * + * The third template parameter, symmetry, takes either the values + * UnsymmetricMatrix or SymmetricMatrix. For the symmetric case, we provide + * a more efficient implementation of the adaptive cross approximation + * algorithm, c.f. fillSupermatrixAca. + */ +template < class TAnsatzSpace, class TTestSpace, + enum MatrixSymmetry symmetry = UnsymmetricMatrix > +class HLibOperator +{ + public: + static const double defaultEpsForAcaAlgorithm = 1e-8; + static const double defaultAimedResidualForGMRes = 1e-6; + static const double defaultMaximumNumberOfStepsForGMRes = 100; + static const int hLibMinimalAdmissableBlockSize = 30; + static const enum HLibOperatorConstructionMethod + defaultOperatorConstructionMethod = BuildHLibOperatorFromCluster; + + HLibOperator( + const TAnsatzSpace& ansatzSpace, + const TTestSpace& testSpace, + double (&computeEntry)( const typename TAnsatzSpace::Element& e1, + const typename TTestSpace::Element& e2 ), + double acaEps = defaultEpsForAcaAlgorithm, + enum HLibOperatorConstructionMethod method = + defaultOperatorConstructionMethod); + virtual ~HLibOperator(); + + std::vector< double > solveGMRes( + const std::vector< double >& rhs, + double aimedResidual = defaultAimedResidualForGMRes, + double maximumNumberOfSteps = defaultMaximumNumberOfStepsForGMRes + ) const; + + private: + const TAnsatzSpace ansatzSpace_; + const TTestSpace testSpace_; + double (&computeEntry_)( const typename TAnsatzSpace::Element& e1, + const typename TTestSpace::Element& e2 ); + supermatrix* supermatrix_; + clustertree* rowClusterTree_; + clustertree* columnClusterTree_; + + static void fillSupermatrixAca( + supermatrix* matrix, + const cluster* rowCluster, + const cluster* columnCluster, + void* data, + double acaEps); + + /** + * @brief Wrapper method around the computeEntry_ function. + * + * @param i Index of an element within the ansatz space with respect to + * HLib's internal order. + * @param j Index of an element within the test space with respect to + * HLib's internal order. + * @param data A valid pointer to an HLibOperator instance. + * + * Using the HLibOperator instance data points to, this function determines + * the elements within the respective finite element spaces and calls the + * computeEntry_ function. + * + * @returns The result the computeEntry_ function returns for the determined + * space elements. + */ + static double computeEntryHelper( int i, int j, void* data ); +}; + +#endif + diff --git a/src/bem3d/src/HLibOperator_tmpl.cpp b/src/bem3d/src/HLibOperator_tmpl.cpp new file mode 100644 index 0000000..63005be --- /dev/null +++ b/src/bem3d/src/HLibOperator_tmpl.cpp @@ -0,0 +1,201 @@ +#include "HLibOperator_fwd.hpp" + +template < class TAnsatzSpace, class TTestSpace, + enum MatrixSymmetry symmetry > +HLibOperator< TAnsatzSpace, TTestSpace, symmetry >::HLibOperator( + const TAnsatzSpace& ansatzSpace, + const TTestSpace& testSpace, + double (&computeEntry)( const typename TAnsatzSpace::Element& e1, + const typename TTestSpace::Element& e2 ), + double acaEps, + enum HLibOperatorConstructionMethod method ) + : ansatzSpace_(ansatzSpace), testSpace_(testSpace), + computeEntry_(computeEntry), supermatrix_(0), + rowClusterTree_(0), columnClusterTree_(0) +{ + HLibInitializer::initialize(); + + unsigned int numberOfAnsatzElements = ansatzSpace_.getNumberOfElements(); + clusterfactory* ansatzFactory = ansatzSpace_.createClusterFactory(); + + + columnClusterTree_ = create_clustertree( + ansatzFactory, HLIB_GEOMETRIC, 30, /* XXX: What is this constant? */ + numberOfAnsatzElements * numberOfAnsatzElements); + del_clusterfactory( ansatzFactory ); + + write_clustertree(columnClusterTree_,"clustertree.txt"); + output_clustertree(columnClusterTree_,"clustertree.ps",0); + + unsigned int numberOfTestElements = testSpace_.getNumberOfElements(); + if ( &ansatzSpace == &testSpace ) + { + std::cerr << "TestSpace = AnsatzSpace" << std::endl; + rowClusterTree_ = columnClusterTree_; + } + else + { + clusterfactory* testFactory = testSpace_.createClusterFactory(); + rowClusterTree_ = create_clustertree( + testFactory, HLIB_GEOMETRIC, 30, /* XXX: What is this constant? */ + numberOfTestElements * numberOfTestElements ); + del_clusterfactory( testFactory ); + } + + if ( method == BuildHLibOperatorFull ) + { + supermatrix_ = build_full_supermatrix( + rowClusterTree_->root, columnClusterTree_->root ); + } + else if ( method == BuildHLibOperatorFromCluster ) + { + //assert(0); // TODO/XXX: Not implemented yet! + supermatrix_ = build_supermatrix_from_cluster( + rowClusterTree_->root, columnClusterTree_->root, + 1, 30, HLIB_MINADM); + } + else + { + assert(0); + } + + outputrank_supermatrix(supermatrix_,"V.ps"); +// print_cluster(rowClusterTree_->root,0,0); + + fillSupermatrixAca( + supermatrix_, + rowClusterTree_->root, + columnClusterTree_->root, + (void*) this, + acaEps); + +// fill_supermatrix_aca(supermatrix_,rowClusterTree_->root,columnClusterTree_->root,(void*) this, computeEntryHelper, acaEps); +} + +template < class TAnsatzSpace, class TTestSpace, + enum MatrixSymmetry symmetry > +HLibOperator< TAnsatzSpace, TTestSpace, symmetry >::~HLibOperator() +{ + del_supermatrix( supermatrix_ ); +} + +template < class TAnsatzSpace, class TTestSpace, + enum MatrixSymmetry symmetry > +std::vector< double > +HLibOperator< TAnsatzSpace, TTestSpace, symmetry >::solveGMRes( + const std::vector< double >& rhs, + double aimedResidual, + double maximumNumberOfSteps) const +{ + if ( rhs.size() != testSpace_.getNumberOfElements() ) + { + assert(0); /* TODO: Replace by an exception, name: *DimensionMismatch* */ + } + + std::vector< double > solution( ansatzSpace_.getNumberOfElements(), 0 ); + + /* TODO: Document this call and the effects for certain operators. + * Should it be possible to specify preconditioner matrices? + */ + solve_gmres_supermatrix( + supermatrix_, (double*)(&rhs[0]), &solution[0], + aimedResidual, maximumNumberOfSteps, + 0, HLIB_PREC_LU, + 0, HLIB_EVAL_DEFAULT, + 0); + + return solution; +} + + +// XXX: MK: is it necessary to have a template function here? +template < class TAnsatzSpace, class TTestSpace, + enum MatrixSymmetry symmetry > +void +HLibOperator< TAnsatzSpace, TTestSpace, symmetry >::fillSupermatrixAca( + supermatrix* matrix, + const cluster* rowCluster, + const cluster* columnCluster, + void* data, + double acaEps) +{ + // TODO/XXX: At the moment, this function only covers the full case, i.e. + // the constructor needs to be called with BuildHLibOperatorFull. + + rkmatrix* r = matrix->r; + int rank; + + if ( matrix->f != 0 ) + { + fullmatrix* full = matrix->f; + int rowClusterSize = rowCluster->size; + + for ( int i = 0; i < rowCluster->size; ++i ) + { + for ( int j = 0; j < columnCluster->size; ++j ) + { + full->e[ i + j*rowClusterSize ] = computeEntryHelper( + rowCluster->start + i, + columnCluster->start + j, + data ); + } + } + return; + } + + if ( r != 0) + { + if ( r->rows > r->cols ) + rank = r->cols; + else + rank = r->rows; + + if ( rank > ACA_KMAX) + rank = ACA_KMAX; + + r->k = rank; + r->a = allocate_matrix(r->rows,rank); + r->b = allocate_matrix(r->cols,rank); + + r->kt = newaca_fill_block(r->a, r->b, r->rows, r->cols, + rowCluster->start, columnCluster->start, + computeEntryHelper, data, + rank, acaEps, ACA_STRATEGY); + + r->a = (double*) realloc(r->a,r->rows*r->kt*sizeof(double)); + r->b = (double*) realloc(r->b,r->cols*r->kt*sizeof(double)); + r->k = r->kt; + + return; + } + + if(rowCluster->sons>0) { + if(columnCluster->sons>0) { + for(int i=0;isons;++i) + for(int j=0;jsons;++j) { + int s=i+j*rowCluster->sons; + fillSupermatrixAca(matrix->s[s],rowCluster->son[i],columnCluster->son[j],data,acaEps); + } + } else { + for(int i=0;isons;++i) + fillSupermatrixAca(matrix->s[i],rowCluster->son[i],columnCluster,data,acaEps); + } + } else { + for(int i=0;isons;++i) + fillSupermatrixAca(matrix->s[i],rowCluster,columnCluster->son[i],data,acaEps); + } + +} + +template < class TAnsatzSpace, class TTestSpace, + enum MatrixSymmetry symmetry > +double +HLibOperator< TAnsatzSpace, TTestSpace, symmetry >::computeEntryHelper( + int i, int j, void* data ) +{ + HLibOperator* op = static_cast< HLibOperator* >( data ); + int ourI = op->rowClusterTree_->dof2idx[ i ]; + int ourJ = op->columnClusterTree_->dof2idx[ j ]; + return op->computeEntry_( op->ansatzSpace_[ ourI ], op->testSpace_[ ourJ ] ); +} + diff --git a/src/bem3d/src/Makefile b/src/bem3d/src/Makefile new file mode 100644 index 0000000..90fcf89 --- /dev/null +++ b/src/bem3d/src/Makefile @@ -0,0 +1,582 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +pkgdatadir = $(datadir)/hilbert3d +pkgincludedir = $(includedir)/hilbert3d +pkglibdir = $(libdir)/hilbert3d +pkglibexecdir = $(libexecdir)/hilbert3d +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.h.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_blas.m4 \ + $(top_srcdir)/m4/ax_boost_base.m4 \ + $(top_srcdir)/m4/ax_boost_regex.m4 $(top_srcdir)/m4/ax_hlib.m4 \ + $(top_srcdir)/m4/ax_lapack.m4 \ + $(top_srcdir)/m4/ax_prog_doxygen.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run aclocal-1.11 +AMTAR = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run tar +AUTOCONF = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoconf +AUTOHEADER = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoheader +AUTOMAKE = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run automake-1.11 +AWK = mawk +BLAS_LIBS = -lblas +BOOST_CPPFLAGS = -I/usr/include +BOOST_LDFLAGS = -L/usr/lib +BOOST_REGEX_LIB = -lboost_regex-mt +BOOST_ROOT_PATH = /usr +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN_PAPER_SIZE = +DX_CONFIG = Doxyfile +DX_DOCDIR = docs/doxygen +DX_DOT = +DX_DOXYGEN = +DX_DVIPS = +DX_EGREP = +DX_ENV = SRCDIR='.' PROJECT='Hilbert 3D' DOCDIR='docs/doxygen' VERSION='0.1.0' HAVE_DOT='NO' GENERATE_MAN='NO' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='NO' GENERATE_LATEX='NO' +DX_FLAG_chi = 0 +DX_FLAG_chm = 0 +DX_FLAG_doc = 0 +DX_FLAG_dot = 0 +DX_FLAG_html = 0 +DX_FLAG_man = 0 +DX_FLAG_pdf = 0 +DX_FLAG_ps = 0 +DX_FLAG_rtf = 0 +DX_FLAG_xml = 0 +DX_HHC = +DX_LATEX = +DX_MAKEINDEX = +DX_PDFLATEX = +DX_PERL = /usr/bin/perl +DX_PROJECT = Hilbert 3D +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FLIBS = -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu -lgfortran -lm +GREP = /bin/grep +HLIB_CPPFLAGS = -I/usr/local/include +HLIB_LDFLAGS = -L/usr/local/lib +HLIB_LIB = -lhmatrix +HLIB_ROOT_PATH = /usr/local +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LAPACK_LIBS = -llapack +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +OBJEXT = o +PACKAGE = hilbert3d +PACKAGE_BUGREPORT = markus.mayr@tuwien.ac.at +PACKAGE_NAME = Hilbert 3D +PACKAGE_STRING = Hilbert 3D 0.1.0 +PACKAGE_TARNAME = hilbert3d +PACKAGE_URL = http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git +PACKAGE_VERSION = 0.1.0 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/bash +STRIP = +VERSION = 0.1.0 +abs_builddir = /home/treecity/workspace/bacc/src/bem3d/src +abs_srcdir = /home/treecity/workspace/bacc/src/bem3d/src +abs_top_builddir = /home/treecity/workspace/bacc/src/bem3d +abs_top_srcdir = /home/treecity/workspace/bacc/src/bem3d +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host_alias = +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +SUBDIRS = boundary_mesh spaces laplace +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status src/config.h +$(srcdir)/config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ + ctags-recursive install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-hdr \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bem3d/src/Makefile.am b/src/bem3d/src/Makefile.am index c413d10..4f3282b 100644 --- a/src/bem3d/src/Makefile.am +++ b/src/bem3d/src/Makefile.am @@ -1,2 +1,2 @@ -SUBDIRS = boundary_mesh spaces laplace +SUBDIRS = boundary_mesh spaces laplace diff --git a/src/bem3d/src/Makefile.in b/src/bem3d/src/Makefile.in index 32853c9..af23781 100644 --- a/src/bem3d/src/Makefile.in +++ b/src/bem3d/src/Makefile.in @@ -218,7 +218,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SUBDIRS = boundary_mesh spaces laplace +SUBDIRS = boundary_mesh spaces laplace all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive diff --git a/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-CouldNotDispatchCall.Po b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-CouldNotDispatchCall.Po new file mode 100644 index 0000000..51de0f9 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-CouldNotDispatchCall.Po @@ -0,0 +1,213 @@ +libhilbert_mesh_a-CouldNotDispatchCall.o: \ + exception/CouldNotDispatchCall.cpp exception/CouldNotDispatchCall.hpp \ + /usr/include/c++/4.5/exception \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/stl_algobase.h /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/postypes.h \ + /usr/include/c++/4.5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/basic_string.tcc + +exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/basic_string.tcc: diff --git a/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-DispatchIdNotSet.Po b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-DispatchIdNotSet.Po new file mode 100644 index 0000000..64582a8 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-DispatchIdNotSet.Po @@ -0,0 +1,212 @@ +libhilbert_mesh_a-DispatchIdNotSet.o: exception/DispatchIdNotSet.cpp \ + exception/DispatchIdNotSet.hpp /usr/include/c++/4.5/exception \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/stl_algobase.h /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/postypes.h \ + /usr/include/c++/4.5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/basic_string.tcc + +exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/basic_string.tcc: diff --git a/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-FlexibleMesh.Po b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-FlexibleMesh.Po new file mode 100644 index 0000000..27fd0e8 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-FlexibleMesh.Po @@ -0,0 +1,1314 @@ +libhilbert_mesh_a-FlexibleMesh.o: FlexibleMesh.cpp FlexibleMesh.hpp \ + FaceDispatch.hpp /usr/include/c++/4.5/vector \ + /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc ../generic/Singleton.hpp \ + ../generic/Singleton_tmpl.cpp ../generic/Singleton.hpp \ + ../generic/TypeList.hpp ../generic/BaseTypes.hpp \ + ../generic/BaseTypes.hpp exception/DispatchIdNotSet.hpp \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/basic_string.tcc FaceDispatch_tmpl.cpp \ + exception/CouldNotDispatchCall.hpp /usr/include/c++/4.5/cassert \ + /usr/include/assert.h Face.hpp /usr/include/c++/4.5/iterator \ + /usr/include/c++/4.5/ostream /usr/include/c++/4.5/ios \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/bits/locale_classes.h \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc /usr/include/c++/4.5/istream \ + /usr/include/c++/4.5/bits/istream.tcc \ + /usr/include/c++/4.5/bits/stream_iterator.h types.hpp \ + /usr/include/c++/4.5/limits exception.hpp \ + exception/NoMatchingFaceType.hpp Face_tmpl.cpp \ + /usr/include/c++/4.5/sstream /usr/include/c++/4.5/bits/sstream.tcc \ + HalfEdge.hpp HalfEdge_tmpl.cpp Vertex.hpp ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp ../generic/GenericVector.hpp \ + Vertex_tmpl.cpp Mesh.hpp MeshBuilder.hpp MeshBuilder_tmpl.cpp \ + /usr/include/boost/type_traits/is_pointer.hpp \ + /usr/include/boost/type_traits/is_member_pointer.hpp \ + /usr/include/boost/type_traits/config.hpp /usr/include/boost/config.hpp \ + /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.5/utility /usr/include/c++/4.5/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.5/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp \ + /usr/include/boost/detail/workaround.hpp \ + /usr/include/boost/type_traits/is_member_function_pointer.hpp \ + /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ + /usr/include/boost/type_traits/remove_cv.hpp \ + /usr/include/boost/type_traits/broken_compiler_spec.hpp \ + /usr/include/boost/mpl/aux_/lambda_support.hpp \ + /usr/include/boost/mpl/aux_/config/lambda.hpp \ + /usr/include/boost/mpl/aux_/config/ttp.hpp \ + /usr/include/boost/mpl/aux_/config/msvc.hpp \ + /usr/include/boost/mpl/aux_/config/gcc.hpp \ + /usr/include/boost/mpl/aux_/config/workaround.hpp \ + /usr/include/boost/mpl/aux_/config/ctps.hpp \ + /usr/include/boost/type_traits/detail/cv_traits_impl.hpp \ + /usr/include/boost/type_traits/detail/type_trait_def.hpp \ + /usr/include/boost/type_traits/detail/template_arity_spec.hpp \ + /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \ + /usr/include/boost/mpl/aux_/adl_barrier.hpp \ + /usr/include/boost/mpl/aux_/config/adl.hpp \ + /usr/include/boost/mpl/aux_/config/intel.hpp \ + /usr/include/boost/mpl/aux_/nttp_decl.hpp \ + /usr/include/boost/mpl/aux_/config/nttp.hpp \ + /usr/include/boost/mpl/aux_/integral_wrapper.hpp \ + /usr/include/boost/mpl/integral_c_tag.hpp \ + /usr/include/boost/mpl/aux_/config/static_constant.hpp \ + /usr/include/boost/mpl/aux_/static_cast.hpp \ + /usr/include/boost/preprocessor/cat.hpp \ + /usr/include/boost/preprocessor/config/config.hpp \ + /usr/include/boost/mpl/aux_/template_arity_fwd.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/params.hpp \ + /usr/include/boost/mpl/aux_/config/preprocessor.hpp \ + /usr/include/boost/preprocessor/comma_if.hpp \ + /usr/include/boost/preprocessor/punctuation/comma_if.hpp \ + /usr/include/boost/preprocessor/control/if.hpp \ + /usr/include/boost/preprocessor/control/iif.hpp \ + /usr/include/boost/preprocessor/logical/bool.hpp \ + /usr/include/boost/preprocessor/facilities/empty.hpp \ + /usr/include/boost/preprocessor/punctuation/comma.hpp \ + /usr/include/boost/preprocessor/repeat.hpp \ + /usr/include/boost/preprocessor/repetition/repeat.hpp \ + /usr/include/boost/preprocessor/debug/error.hpp \ + /usr/include/boost/preprocessor/detail/auto_rec.hpp \ + /usr/include/boost/preprocessor/tuple/eat.hpp \ + /usr/include/boost/preprocessor/inc.hpp \ + /usr/include/boost/preprocessor/arithmetic/inc.hpp \ + /usr/include/boost/mpl/aux_/config/overload_resolution.hpp \ + /usr/include/boost/type_traits/detail/type_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_def.hpp \ + /usr/include/boost/type_traits/integral_constant.hpp \ + /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \ + /usr/include/boost/mpl/integral_c.hpp \ + /usr/include/boost/mpl/integral_c_fwd.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/ice_and.hpp \ + /usr/include/boost/type_traits/detail/ice_not.hpp \ + /usr/include/boost/utility/enable_if.hpp Mesh.cpp \ + /usr/include/c++/4.5/iostream /usr/include/c++/4.5/set \ + /usr/include/c++/4.5/bits/stl_tree.h /usr/include/c++/4.5/bits/stl_set.h \ + /usr/include/c++/4.5/bits/stl_multiset.h /usr/include/c++/4.5/list \ + /usr/include/c++/4.5/bits/stl_list.h /usr/include/c++/4.5/bits/list.tcc \ + exception/NoMatchingFaceType_tmpl.hpp exception/NoMatchingFaceType.hpp \ + exception/NoMatchingFaceType_tmpl.cpp /usr/include/c++/4.5/cstring \ + /usr/include/string.h /usr/include/bits/string3.h face/Triangle_tmpl.hpp \ + face/Triangle.hpp face/../../generic/BaseTypes.hpp \ + face/Triangle_tmpl.cpp face/Triangle_tmpl.hpp face/../Face.hpp \ + face/Parallelogram_tmpl.hpp face/Parallelogram.hpp \ + face/ConvexQuadrilateral.hpp face/Quadrilateral.hpp face/../types.hpp \ + face/Parallelogram_tmpl.cpp /usr/include/c++/4.5/cmath \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/c++/4.5/bits/cmath.tcc \ + face/ConvexQuadrilateral_tmpl.hpp face/ConvexQuadrilateral_tmpl.cpp \ + face/Quadrilateral_tmpl.hpp face/Quadrilateral_tmpl.cpp \ + face/Parallelogram_tmpl.hpp algorithm/HandleObj.hpp \ + algorithm/HandleObj_tmpl.cpp /usr/include/c++/4.5/fstream \ + /usr/include/c++/4.5/bits/codecvt.h /usr/include/c++/4.5/cstdio \ + /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.5/bits/fstream.tcc /usr/include/boost/regex.hpp \ + /usr/include/boost/regex/config.hpp /usr/include/boost/regex/user.hpp \ + /usr/include/boost/regex/config/cwchar.hpp \ + /usr/include/boost/config/auto_link.hpp \ + /usr/include/boost/regex/v4/regex.hpp \ + /usr/include/boost/regex/v4/regex_workaround.hpp \ + /usr/include/c++/4.5/climits \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.5/algorithm /usr/include/c++/4.5/bits/stl_algo.h \ + /usr/include/c++/4.5/bits/algorithmfwd.h \ + /usr/include/c++/4.5/bits/stl_heap.h \ + /usr/include/c++/4.5/bits/stl_tempbuf.h /usr/include/c++/4.5/map \ + /usr/include/c++/4.5/bits/stl_map.h \ + /usr/include/c++/4.5/bits/stl_multimap.h /usr/include/boost/limits.hpp \ + /usr/include/boost/assert.hpp /usr/include/boost/cstdint.hpp \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h \ + /usr/include/stdint.h /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/exception/detail/attribute_noreturn.hpp \ + /usr/include/boost/exception/exception.hpp \ + /usr/include/boost/current_function.hpp \ + /usr/include/boost/scoped_ptr.hpp \ + /usr/include/boost/smart_ptr/scoped_ptr.hpp \ + /usr/include/boost/checked_delete.hpp /usr/include/c++/4.5/memory \ + /usr/include/c++/4.5/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.5/backward/auto_ptr.h \ + /usr/include/boost/smart_ptr/detail/operator_bool.hpp \ + /usr/include/boost/scoped_array.hpp \ + /usr/include/boost/smart_ptr/scoped_array.hpp \ + /usr/include/boost/shared_ptr.hpp \ + /usr/include/boost/smart_ptr/shared_ptr.hpp \ + /usr/include/boost/config/no_tr1/memory.hpp \ + /usr/include/boost/smart_ptr/detail/shared_count.hpp \ + /usr/include/boost/smart_ptr/bad_weak_ptr.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base.hpp \ + /usr/include/boost/smart_ptr/detail/sp_has_sync.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/boost/detail/sp_typeinfo.hpp /usr/include/c++/4.5/typeinfo \ + /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.5/functional \ + /usr/include/boost/smart_ptr/detail/sp_convertible.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_sync.hpp \ + /usr/include/boost/smart_ptr/detail/yield_k.hpp \ + /usr/include/boost/memory_order.hpp /usr/include/c++/4.5/locale \ + /usr/include/c++/4.5/bits/locale_facets_nonio.h \ + /usr/include/c++/4.5/ctime \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.5/bits/locale_facets_nonio.tcc \ + /usr/include/boost/regex_fwd.hpp \ + /usr/include/boost/regex/v4/regex_fwd.hpp \ + /usr/include/boost/regex/regex_traits.hpp \ + /usr/include/boost/regex/v4/regex_traits.hpp \ + /usr/include/boost/regex/v4/syntax_type.hpp \ + /usr/include/boost/regex/v4/error_type.hpp \ + /usr/include/boost/regex/v4/regex_traits_defaults.hpp \ + /usr/include/boost/regex/v4/cpp_regex_traits.hpp \ + /usr/include/boost/regex/pattern_except.hpp \ + /usr/include/boost/regex/pending/static_mutex.hpp \ + /usr/include/boost/regex/v4/primary_transform.hpp \ + /usr/include/boost/regex/pending/object_cache.hpp \ + /usr/include/boost/regex/v4/c_regex_traits.hpp \ + /usr/include/boost/mpl/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/type_wrapper.hpp \ + /usr/include/boost/mpl/aux_/yes_no.hpp \ + /usr/include/boost/mpl/aux_/config/arrays.hpp \ + /usr/include/boost/mpl/aux_/config/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/config/msvc_typename.hpp \ + /usr/include/boost/static_assert.hpp \ + /usr/include/boost/regex/v4/match_flags.hpp \ + /usr/include/boost/regex/v4/regex_raw_buffer.hpp \ + /usr/include/boost/regex/v4/char_regex_traits.hpp \ + /usr/include/boost/regex/v4/states.hpp \ + /usr/include/boost/regex/v4/regbase.hpp \ + /usr/include/boost/regex/v4/iterator_traits.hpp \ + /usr/include/boost/regex/v4/basic_regex.hpp \ + /usr/include/boost/type_traits/is_same.hpp \ + /usr/include/boost/functional/hash.hpp \ + /usr/include/boost/functional/hash/hash.hpp \ + /usr/include/boost/functional/hash/hash_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float.hpp \ + /usr/include/boost/functional/hash/detail/float_functions.hpp \ + /usr/include/boost/config/no_tr1/cmath.hpp \ + /usr/include/boost/functional/hash/detail/limits.hpp \ + /usr/include/boost/integer/static_log2.hpp \ + /usr/include/boost/integer_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float_generic.hpp \ + /usr/include/boost/functional/hash/extensions.hpp \ + /usr/include/boost/detail/container_fwd.hpp \ + /usr/include/boost/regex/v4/basic_regex_creator.hpp \ + /usr/include/boost/regex/v4/basic_regex_parser.hpp \ + /usr/include/boost/regex/v4/sub_match.hpp \ + /usr/include/boost/regex/v4/regex_format.hpp \ + /usr/include/boost/type_traits/is_function.hpp \ + /usr/include/boost/type_traits/is_reference.hpp \ + /usr/include/boost/type_traits/detail/false_result.hpp \ + /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ + /usr/include/boost/type_traits/is_class.hpp \ + /usr/include/boost/type_traits/intrinsics.hpp \ + /usr/include/boost/type_traits/is_volatile.hpp \ + /usr/include/boost/type_traits/is_convertible.hpp \ + /usr/include/boost/type_traits/detail/yes_no_type.hpp \ + /usr/include/boost/type_traits/is_array.hpp \ + /usr/include/boost/type_traits/add_reference.hpp \ + /usr/include/boost/type_traits/ice.hpp \ + /usr/include/boost/type_traits/detail/ice_or.hpp \ + /usr/include/boost/type_traits/detail/ice_eq.hpp \ + /usr/include/boost/type_traits/is_arithmetic.hpp \ + /usr/include/boost/type_traits/is_integral.hpp \ + /usr/include/boost/type_traits/is_float.hpp \ + /usr/include/boost/type_traits/is_void.hpp \ + /usr/include/boost/type_traits/is_abstract.hpp \ + /usr/include/boost/type_traits/remove_pointer.hpp \ + /usr/include/boost/mpl/if.hpp /usr/include/boost/mpl/aux_/value_wknd.hpp \ + /usr/include/boost/mpl/aux_/config/integral.hpp \ + /usr/include/boost/mpl/aux_/config/eti.hpp \ + /usr/include/boost/mpl/aux_/na_spec.hpp \ + /usr/include/boost/mpl/lambda_fwd.hpp \ + /usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \ + /usr/include/boost/mpl/aux_/na_fwd.hpp \ + /usr/include/boost/mpl/aux_/lambda_arity_param.hpp \ + /usr/include/boost/mpl/aux_/arity.hpp \ + /usr/include/boost/mpl/aux_/config/dtp.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/enum.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ + /usr/include/boost/mpl/limits/arity.hpp \ + /usr/include/boost/preprocessor/logical/and.hpp \ + /usr/include/boost/preprocessor/logical/bitand.hpp \ + /usr/include/boost/preprocessor/identity.hpp \ + /usr/include/boost/preprocessor/facilities/identity.hpp \ + /usr/include/boost/preprocessor/empty.hpp \ + /usr/include/boost/preprocessor/arithmetic/add.hpp \ + /usr/include/boost/preprocessor/arithmetic/dec.hpp \ + /usr/include/boost/preprocessor/control/while.hpp \ + /usr/include/boost/preprocessor/list/fold_left.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_left.hpp \ + /usr/include/boost/preprocessor/control/expr_iif.hpp \ + /usr/include/boost/preprocessor/list/adt.hpp \ + /usr/include/boost/preprocessor/detail/is_binary.hpp \ + /usr/include/boost/preprocessor/detail/check.hpp \ + /usr/include/boost/preprocessor/logical/compl.hpp \ + /usr/include/boost/preprocessor/list/fold_right.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_right.hpp \ + /usr/include/boost/preprocessor/list/reverse.hpp \ + /usr/include/boost/preprocessor/control/detail/while.hpp \ + /usr/include/boost/preprocessor/tuple/elem.hpp \ + /usr/include/boost/preprocessor/arithmetic/sub.hpp \ + /usr/include/boost/mpl/and.hpp \ + /usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/nested_type_wknd.hpp \ + /usr/include/boost/mpl/aux_/include_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/config/compiler.hpp \ + /usr/include/boost/preprocessor/stringize.hpp \ + /usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ + /usr/include/boost/mpl/not.hpp \ + /usr/include/boost/regex/v4/match_results.hpp \ + /usr/include/boost/regex/v4/protected_call.hpp \ + /usr/include/boost/regex/v4/perl_matcher.hpp \ + /usr/include/boost/regex/v4/iterator_category.hpp \ + /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp \ + /usr/include/boost/regex/v4/perl_matcher_common.hpp \ + /usr/include/boost/regex/v4/instances.hpp \ + /usr/include/boost/regex/v4/regex_match.hpp \ + /usr/include/boost/regex/v4/regex_search.hpp \ + /usr/include/boost/regex/v4/regex_iterator.hpp \ + /usr/include/boost/regex/v4/regex_token_iterator.hpp \ + /usr/include/boost/regex/v4/regex_grep.hpp \ + /usr/include/boost/regex/v4/regex_replace.hpp \ + /usr/include/boost/regex/v4/regex_merge.hpp \ + /usr/include/boost/regex/v4/regex_split.hpp algorithm/../MeshBuilder.hpp \ + algorithm/RefineUniformly.hpp algorithm/../types.hpp \ + algorithm/../FaceDispatch.hpp algorithm/RefineUniformly_tmpl.cpp \ + algorithm/RefineUniformly.hpp FlexibleMesh_tmpl.cpp + +FlexibleMesh.hpp: + +FaceDispatch.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +../generic/Singleton.hpp: + +../generic/Singleton_tmpl.cpp: + +../generic/Singleton.hpp: + +../generic/TypeList.hpp: + +../generic/BaseTypes.hpp: + +../generic/BaseTypes.hpp: + +exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +FaceDispatch_tmpl.cpp: + +exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +Face.hpp: + +/usr/include/c++/4.5/iterator: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +/usr/include/c++/4.5/istream: + +/usr/include/c++/4.5/bits/istream.tcc: + +/usr/include/c++/4.5/bits/stream_iterator.h: + +types.hpp: + +/usr/include/c++/4.5/limits: + +exception.hpp: + +exception/NoMatchingFaceType.hpp: + +Face_tmpl.cpp: + +/usr/include/c++/4.5/sstream: + +/usr/include/c++/4.5/bits/sstream.tcc: + +HalfEdge.hpp: + +HalfEdge_tmpl.cpp: + +Vertex.hpp: + +../generic/GenericVector.hpp: + +../generic/GenericVector_tmpl.cpp: + +../generic/GenericVector.hpp: + +Vertex_tmpl.cpp: + +Mesh.hpp: + +MeshBuilder.hpp: + +MeshBuilder_tmpl.cpp: + +/usr/include/boost/type_traits/is_pointer.hpp: + +/usr/include/boost/type_traits/is_member_pointer.hpp: + +/usr/include/boost/type_traits/config.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.5/utility: + +/usr/include/c++/4.5/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/boost/type_traits/is_member_function_pointer.hpp: + +/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: + +/usr/include/boost/type_traits/remove_cv.hpp: + +/usr/include/boost/type_traits/broken_compiler_spec.hpp: + +/usr/include/boost/mpl/aux_/lambda_support.hpp: + +/usr/include/boost/mpl/aux_/config/lambda.hpp: + +/usr/include/boost/mpl/aux_/config/ttp.hpp: + +/usr/include/boost/mpl/aux_/config/msvc.hpp: + +/usr/include/boost/mpl/aux_/config/gcc.hpp: + +/usr/include/boost/mpl/aux_/config/workaround.hpp: + +/usr/include/boost/mpl/aux_/config/ctps.hpp: + +/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: + +/usr/include/boost/type_traits/detail/type_trait_def.hpp: + +/usr/include/boost/type_traits/detail/template_arity_spec.hpp: + +/usr/include/boost/mpl/int.hpp: + +/usr/include/boost/mpl/int_fwd.hpp: + +/usr/include/boost/mpl/aux_/adl_barrier.hpp: + +/usr/include/boost/mpl/aux_/config/adl.hpp: + +/usr/include/boost/mpl/aux_/config/intel.hpp: + +/usr/include/boost/mpl/aux_/nttp_decl.hpp: + +/usr/include/boost/mpl/aux_/config/nttp.hpp: + +/usr/include/boost/mpl/aux_/integral_wrapper.hpp: + +/usr/include/boost/mpl/integral_c_tag.hpp: + +/usr/include/boost/mpl/aux_/config/static_constant.hpp: + +/usr/include/boost/mpl/aux_/static_cast.hpp: + +/usr/include/boost/preprocessor/cat.hpp: + +/usr/include/boost/preprocessor/config/config.hpp: + +/usr/include/boost/mpl/aux_/template_arity_fwd.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/params.hpp: + +/usr/include/boost/mpl/aux_/config/preprocessor.hpp: + +/usr/include/boost/preprocessor/comma_if.hpp: + +/usr/include/boost/preprocessor/punctuation/comma_if.hpp: + +/usr/include/boost/preprocessor/control/if.hpp: + +/usr/include/boost/preprocessor/control/iif.hpp: + +/usr/include/boost/preprocessor/logical/bool.hpp: + +/usr/include/boost/preprocessor/facilities/empty.hpp: + +/usr/include/boost/preprocessor/punctuation/comma.hpp: + +/usr/include/boost/preprocessor/repeat.hpp: + +/usr/include/boost/preprocessor/repetition/repeat.hpp: + +/usr/include/boost/preprocessor/debug/error.hpp: + +/usr/include/boost/preprocessor/detail/auto_rec.hpp: + +/usr/include/boost/preprocessor/tuple/eat.hpp: + +/usr/include/boost/preprocessor/inc.hpp: + +/usr/include/boost/preprocessor/arithmetic/inc.hpp: + +/usr/include/boost/mpl/aux_/config/overload_resolution.hpp: + +/usr/include/boost/type_traits/detail/type_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_def.hpp: + +/usr/include/boost/type_traits/integral_constant.hpp: + +/usr/include/boost/mpl/bool.hpp: + +/usr/include/boost/mpl/bool_fwd.hpp: + +/usr/include/boost/mpl/integral_c.hpp: + +/usr/include/boost/mpl/integral_c_fwd.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/ice_and.hpp: + +/usr/include/boost/type_traits/detail/ice_not.hpp: + +/usr/include/boost/utility/enable_if.hpp: + +Mesh.cpp: + +/usr/include/c++/4.5/iostream: + +/usr/include/c++/4.5/set: + +/usr/include/c++/4.5/bits/stl_tree.h: + +/usr/include/c++/4.5/bits/stl_set.h: + +/usr/include/c++/4.5/bits/stl_multiset.h: + +/usr/include/c++/4.5/list: + +/usr/include/c++/4.5/bits/stl_list.h: + +/usr/include/c++/4.5/bits/list.tcc: + +exception/NoMatchingFaceType_tmpl.hpp: + +exception/NoMatchingFaceType.hpp: + +exception/NoMatchingFaceType_tmpl.cpp: + +/usr/include/c++/4.5/cstring: + +/usr/include/string.h: + +/usr/include/bits/string3.h: + +face/Triangle_tmpl.hpp: + +face/Triangle.hpp: + +face/../../generic/BaseTypes.hpp: + +face/Triangle_tmpl.cpp: + +face/Triangle_tmpl.hpp: + +face/../Face.hpp: + +face/Parallelogram_tmpl.hpp: + +face/Parallelogram.hpp: + +face/ConvexQuadrilateral.hpp: + +face/Quadrilateral.hpp: + +face/../types.hpp: + +face/Parallelogram_tmpl.cpp: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: + +face/ConvexQuadrilateral_tmpl.hpp: + +face/ConvexQuadrilateral_tmpl.cpp: + +face/Quadrilateral_tmpl.hpp: + +face/Quadrilateral_tmpl.cpp: + +face/Parallelogram_tmpl.hpp: + +algorithm/HandleObj.hpp: + +algorithm/HandleObj_tmpl.cpp: + +/usr/include/c++/4.5/fstream: + +/usr/include/c++/4.5/bits/codecvt.h: + +/usr/include/c++/4.5/cstdio: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.5/bits/fstream.tcc: + +/usr/include/boost/regex.hpp: + +/usr/include/boost/regex/config.hpp: + +/usr/include/boost/regex/user.hpp: + +/usr/include/boost/regex/config/cwchar.hpp: + +/usr/include/boost/config/auto_link.hpp: + +/usr/include/boost/regex/v4/regex.hpp: + +/usr/include/boost/regex/v4/regex_workaround.hpp: + +/usr/include/c++/4.5/climits: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.5/algorithm: + +/usr/include/c++/4.5/bits/stl_algo.h: + +/usr/include/c++/4.5/bits/algorithmfwd.h: + +/usr/include/c++/4.5/bits/stl_heap.h: + +/usr/include/c++/4.5/bits/stl_tempbuf.h: + +/usr/include/c++/4.5/map: + +/usr/include/c++/4.5/bits/stl_map.h: + +/usr/include/c++/4.5/bits/stl_multimap.h: + +/usr/include/boost/limits.hpp: + +/usr/include/boost/assert.hpp: + +/usr/include/boost/cstdint.hpp: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/exception/detail/attribute_noreturn.hpp: + +/usr/include/boost/exception/exception.hpp: + +/usr/include/boost/current_function.hpp: + +/usr/include/boost/scoped_ptr.hpp: + +/usr/include/boost/smart_ptr/scoped_ptr.hpp: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/c++/4.5/memory: + +/usr/include/c++/4.5/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.5/backward/auto_ptr.h: + +/usr/include/boost/smart_ptr/detail/operator_bool.hpp: + +/usr/include/boost/scoped_array.hpp: + +/usr/include/boost/smart_ptr/scoped_array.hpp: + +/usr/include/boost/shared_ptr.hpp: + +/usr/include/boost/smart_ptr/shared_ptr.hpp: + +/usr/include/boost/config/no_tr1/memory.hpp: + +/usr/include/boost/smart_ptr/detail/shared_count.hpp: + +/usr/include/boost/smart_ptr/bad_weak_ptr.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base.hpp: + +/usr/include/boost/smart_ptr/detail/sp_has_sync.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/boost/detail/sp_typeinfo.hpp: + +/usr/include/c++/4.5/typeinfo: + +/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.5/functional: + +/usr/include/boost/smart_ptr/detail/sp_convertible.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: + +/usr/include/boost/smart_ptr/detail/yield_k.hpp: + +/usr/include/boost/memory_order.hpp: + +/usr/include/c++/4.5/locale: + +/usr/include/c++/4.5/bits/locale_facets_nonio.h: + +/usr/include/c++/4.5/ctime: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.5/bits/locale_facets_nonio.tcc: + +/usr/include/boost/regex_fwd.hpp: + +/usr/include/boost/regex/v4/regex_fwd.hpp: + +/usr/include/boost/regex/regex_traits.hpp: + +/usr/include/boost/regex/v4/regex_traits.hpp: + +/usr/include/boost/regex/v4/syntax_type.hpp: + +/usr/include/boost/regex/v4/error_type.hpp: + +/usr/include/boost/regex/v4/regex_traits_defaults.hpp: + +/usr/include/boost/regex/v4/cpp_regex_traits.hpp: + +/usr/include/boost/regex/pattern_except.hpp: + +/usr/include/boost/regex/pending/static_mutex.hpp: + +/usr/include/boost/regex/v4/primary_transform.hpp: + +/usr/include/boost/regex/pending/object_cache.hpp: + +/usr/include/boost/regex/v4/c_regex_traits.hpp: + +/usr/include/boost/mpl/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/type_wrapper.hpp: + +/usr/include/boost/mpl/aux_/yes_no.hpp: + +/usr/include/boost/mpl/aux_/config/arrays.hpp: + +/usr/include/boost/mpl/aux_/config/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/config/msvc_typename.hpp: + +/usr/include/boost/static_assert.hpp: + +/usr/include/boost/regex/v4/match_flags.hpp: + +/usr/include/boost/regex/v4/regex_raw_buffer.hpp: + +/usr/include/boost/regex/v4/char_regex_traits.hpp: + +/usr/include/boost/regex/v4/states.hpp: + +/usr/include/boost/regex/v4/regbase.hpp: + +/usr/include/boost/regex/v4/iterator_traits.hpp: + +/usr/include/boost/regex/v4/basic_regex.hpp: + +/usr/include/boost/type_traits/is_same.hpp: + +/usr/include/boost/functional/hash.hpp: + +/usr/include/boost/functional/hash/hash.hpp: + +/usr/include/boost/functional/hash/hash_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float.hpp: + +/usr/include/boost/functional/hash/detail/float_functions.hpp: + +/usr/include/boost/config/no_tr1/cmath.hpp: + +/usr/include/boost/functional/hash/detail/limits.hpp: + +/usr/include/boost/integer/static_log2.hpp: + +/usr/include/boost/integer_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: + +/usr/include/boost/functional/hash/extensions.hpp: + +/usr/include/boost/detail/container_fwd.hpp: + +/usr/include/boost/regex/v4/basic_regex_creator.hpp: + +/usr/include/boost/regex/v4/basic_regex_parser.hpp: + +/usr/include/boost/regex/v4/sub_match.hpp: + +/usr/include/boost/regex/v4/regex_format.hpp: + +/usr/include/boost/type_traits/is_function.hpp: + +/usr/include/boost/type_traits/is_reference.hpp: + +/usr/include/boost/type_traits/detail/false_result.hpp: + +/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp: + +/usr/include/boost/type_traits/is_class.hpp: + +/usr/include/boost/type_traits/intrinsics.hpp: + +/usr/include/boost/type_traits/is_volatile.hpp: + +/usr/include/boost/type_traits/is_convertible.hpp: + +/usr/include/boost/type_traits/detail/yes_no_type.hpp: + +/usr/include/boost/type_traits/is_array.hpp: + +/usr/include/boost/type_traits/add_reference.hpp: + +/usr/include/boost/type_traits/ice.hpp: + +/usr/include/boost/type_traits/detail/ice_or.hpp: + +/usr/include/boost/type_traits/detail/ice_eq.hpp: + +/usr/include/boost/type_traits/is_arithmetic.hpp: + +/usr/include/boost/type_traits/is_integral.hpp: + +/usr/include/boost/type_traits/is_float.hpp: + +/usr/include/boost/type_traits/is_void.hpp: + +/usr/include/boost/type_traits/is_abstract.hpp: + +/usr/include/boost/type_traits/remove_pointer.hpp: + +/usr/include/boost/mpl/if.hpp: + +/usr/include/boost/mpl/aux_/value_wknd.hpp: + +/usr/include/boost/mpl/aux_/config/integral.hpp: + +/usr/include/boost/mpl/aux_/config/eti.hpp: + +/usr/include/boost/mpl/aux_/na_spec.hpp: + +/usr/include/boost/mpl/lambda_fwd.hpp: + +/usr/include/boost/mpl/void_fwd.hpp: + +/usr/include/boost/mpl/aux_/na.hpp: + +/usr/include/boost/mpl/aux_/na_fwd.hpp: + +/usr/include/boost/mpl/aux_/lambda_arity_param.hpp: + +/usr/include/boost/mpl/aux_/arity.hpp: + +/usr/include/boost/mpl/aux_/config/dtp.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/enum.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp: + +/usr/include/boost/mpl/limits/arity.hpp: + +/usr/include/boost/preprocessor/logical/and.hpp: + +/usr/include/boost/preprocessor/logical/bitand.hpp: + +/usr/include/boost/preprocessor/identity.hpp: + +/usr/include/boost/preprocessor/facilities/identity.hpp: + +/usr/include/boost/preprocessor/empty.hpp: + +/usr/include/boost/preprocessor/arithmetic/add.hpp: + +/usr/include/boost/preprocessor/arithmetic/dec.hpp: + +/usr/include/boost/preprocessor/control/while.hpp: + +/usr/include/boost/preprocessor/list/fold_left.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_left.hpp: + +/usr/include/boost/preprocessor/control/expr_iif.hpp: + +/usr/include/boost/preprocessor/list/adt.hpp: + +/usr/include/boost/preprocessor/detail/is_binary.hpp: + +/usr/include/boost/preprocessor/detail/check.hpp: + +/usr/include/boost/preprocessor/logical/compl.hpp: + +/usr/include/boost/preprocessor/list/fold_right.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_right.hpp: + +/usr/include/boost/preprocessor/list/reverse.hpp: + +/usr/include/boost/preprocessor/control/detail/while.hpp: + +/usr/include/boost/preprocessor/tuple/elem.hpp: + +/usr/include/boost/preprocessor/arithmetic/sub.hpp: + +/usr/include/boost/mpl/and.hpp: + +/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/nested_type_wknd.hpp: + +/usr/include/boost/mpl/aux_/include_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/config/compiler.hpp: + +/usr/include/boost/preprocessor/stringize.hpp: + +/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp: + +/usr/include/boost/mpl/not.hpp: + +/usr/include/boost/regex/v4/match_results.hpp: + +/usr/include/boost/regex/v4/protected_call.hpp: + +/usr/include/boost/regex/v4/perl_matcher.hpp: + +/usr/include/boost/regex/v4/iterator_category.hpp: + +/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: + +/usr/include/boost/regex/v4/perl_matcher_common.hpp: + +/usr/include/boost/regex/v4/instances.hpp: + +/usr/include/boost/regex/v4/regex_match.hpp: + +/usr/include/boost/regex/v4/regex_search.hpp: + +/usr/include/boost/regex/v4/regex_iterator.hpp: + +/usr/include/boost/regex/v4/regex_token_iterator.hpp: + +/usr/include/boost/regex/v4/regex_grep.hpp: + +/usr/include/boost/regex/v4/regex_replace.hpp: + +/usr/include/boost/regex/v4/regex_merge.hpp: + +/usr/include/boost/regex/v4/regex_split.hpp: + +algorithm/../MeshBuilder.hpp: + +algorithm/RefineUniformly.hpp: + +algorithm/../types.hpp: + +algorithm/../FaceDispatch.hpp: + +algorithm/RefineUniformly_tmpl.cpp: + +algorithm/RefineUniformly.hpp: + +FlexibleMesh_tmpl.cpp: diff --git a/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-GenericVector.Po b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-GenericVector.Po new file mode 100644 index 0000000..247e377 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/.deps/libhilbert_mesh_a-GenericVector.Po @@ -0,0 +1,294 @@ +libhilbert_mesh_a-GenericVector.o: ../generic/GenericVector.cpp \ + ../generic/GenericVector.hpp /usr/include/c++/4.5/ostream \ + /usr/include/c++/4.5/ios /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/exception \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/cctype \ + /usr/include/ctype.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/locale_classes.h /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/basic_string.tcc \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc ../generic/GenericVector_tmpl.cpp \ + /usr/include/c++/4.5/cassert /usr/include/assert.h \ + /usr/include/c++/4.5/cmath /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \ + /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \ + /usr/include/bits/nan.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/include/c++/4.5/bits/cmath.tcc + +../generic/GenericVector.hpp: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +../generic/GenericVector_tmpl.cpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: diff --git a/src/bem3d/src/boundary_mesh/.deps/t.Po b/src/bem3d/src/boundary_mesh/.deps/t.Po new file mode 100644 index 0000000..5717b26 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/.deps/t.Po @@ -0,0 +1,1313 @@ +t.o: t.cpp FlexibleMesh.hpp FaceDispatch.hpp /usr/include/c++/4.5/vector \ + /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc ../generic/Singleton.hpp \ + ../generic/Singleton_tmpl.cpp ../generic/Singleton.hpp \ + ../generic/TypeList.hpp ../generic/BaseTypes.hpp \ + ../generic/BaseTypes.hpp exception/DispatchIdNotSet.hpp \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/basic_string.tcc FaceDispatch_tmpl.cpp \ + exception/CouldNotDispatchCall.hpp /usr/include/c++/4.5/cassert \ + /usr/include/assert.h Face.hpp /usr/include/c++/4.5/iterator \ + /usr/include/c++/4.5/ostream /usr/include/c++/4.5/ios \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/bits/locale_classes.h \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc /usr/include/c++/4.5/istream \ + /usr/include/c++/4.5/bits/istream.tcc \ + /usr/include/c++/4.5/bits/stream_iterator.h types.hpp \ + /usr/include/c++/4.5/limits exception.hpp \ + exception/NoMatchingFaceType.hpp Face_tmpl.cpp \ + /usr/include/c++/4.5/sstream /usr/include/c++/4.5/bits/sstream.tcc \ + HalfEdge.hpp HalfEdge_tmpl.cpp Vertex.hpp ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp ../generic/GenericVector.hpp \ + Vertex_tmpl.cpp Mesh.hpp MeshBuilder.hpp MeshBuilder_tmpl.cpp \ + /usr/include/boost/type_traits/is_pointer.hpp \ + /usr/include/boost/type_traits/is_member_pointer.hpp \ + /usr/include/boost/type_traits/config.hpp /usr/include/boost/config.hpp \ + /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.5/utility /usr/include/c++/4.5/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.5/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp \ + /usr/include/boost/detail/workaround.hpp \ + /usr/include/boost/type_traits/is_member_function_pointer.hpp \ + /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ + /usr/include/boost/type_traits/remove_cv.hpp \ + /usr/include/boost/type_traits/broken_compiler_spec.hpp \ + /usr/include/boost/mpl/aux_/lambda_support.hpp \ + /usr/include/boost/mpl/aux_/config/lambda.hpp \ + /usr/include/boost/mpl/aux_/config/ttp.hpp \ + /usr/include/boost/mpl/aux_/config/msvc.hpp \ + /usr/include/boost/mpl/aux_/config/gcc.hpp \ + /usr/include/boost/mpl/aux_/config/workaround.hpp \ + /usr/include/boost/mpl/aux_/config/ctps.hpp \ + /usr/include/boost/type_traits/detail/cv_traits_impl.hpp \ + /usr/include/boost/type_traits/detail/type_trait_def.hpp \ + /usr/include/boost/type_traits/detail/template_arity_spec.hpp \ + /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \ + /usr/include/boost/mpl/aux_/adl_barrier.hpp \ + /usr/include/boost/mpl/aux_/config/adl.hpp \ + /usr/include/boost/mpl/aux_/config/intel.hpp \ + /usr/include/boost/mpl/aux_/nttp_decl.hpp \ + /usr/include/boost/mpl/aux_/config/nttp.hpp \ + /usr/include/boost/mpl/aux_/integral_wrapper.hpp \ + /usr/include/boost/mpl/integral_c_tag.hpp \ + /usr/include/boost/mpl/aux_/config/static_constant.hpp \ + /usr/include/boost/mpl/aux_/static_cast.hpp \ + /usr/include/boost/preprocessor/cat.hpp \ + /usr/include/boost/preprocessor/config/config.hpp \ + /usr/include/boost/mpl/aux_/template_arity_fwd.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/params.hpp \ + /usr/include/boost/mpl/aux_/config/preprocessor.hpp \ + /usr/include/boost/preprocessor/comma_if.hpp \ + /usr/include/boost/preprocessor/punctuation/comma_if.hpp \ + /usr/include/boost/preprocessor/control/if.hpp \ + /usr/include/boost/preprocessor/control/iif.hpp \ + /usr/include/boost/preprocessor/logical/bool.hpp \ + /usr/include/boost/preprocessor/facilities/empty.hpp \ + /usr/include/boost/preprocessor/punctuation/comma.hpp \ + /usr/include/boost/preprocessor/repeat.hpp \ + /usr/include/boost/preprocessor/repetition/repeat.hpp \ + /usr/include/boost/preprocessor/debug/error.hpp \ + /usr/include/boost/preprocessor/detail/auto_rec.hpp \ + /usr/include/boost/preprocessor/tuple/eat.hpp \ + /usr/include/boost/preprocessor/inc.hpp \ + /usr/include/boost/preprocessor/arithmetic/inc.hpp \ + /usr/include/boost/mpl/aux_/config/overload_resolution.hpp \ + /usr/include/boost/type_traits/detail/type_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_def.hpp \ + /usr/include/boost/type_traits/integral_constant.hpp \ + /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \ + /usr/include/boost/mpl/integral_c.hpp \ + /usr/include/boost/mpl/integral_c_fwd.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/ice_and.hpp \ + /usr/include/boost/type_traits/detail/ice_not.hpp \ + /usr/include/boost/utility/enable_if.hpp Mesh.cpp \ + /usr/include/c++/4.5/iostream /usr/include/c++/4.5/set \ + /usr/include/c++/4.5/bits/stl_tree.h /usr/include/c++/4.5/bits/stl_set.h \ + /usr/include/c++/4.5/bits/stl_multiset.h /usr/include/c++/4.5/list \ + /usr/include/c++/4.5/bits/stl_list.h /usr/include/c++/4.5/bits/list.tcc \ + exception/NoMatchingFaceType_tmpl.hpp exception/NoMatchingFaceType.hpp \ + exception/NoMatchingFaceType_tmpl.cpp /usr/include/c++/4.5/cstring \ + /usr/include/string.h /usr/include/bits/string3.h face/Triangle_tmpl.hpp \ + face/Triangle.hpp face/../../generic/BaseTypes.hpp \ + face/Triangle_tmpl.cpp face/Triangle_tmpl.hpp face/../Face.hpp \ + face/Parallelogram_tmpl.hpp face/Parallelogram.hpp \ + face/ConvexQuadrilateral.hpp face/Quadrilateral.hpp face/../types.hpp \ + face/Parallelogram_tmpl.cpp /usr/include/c++/4.5/cmath \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/c++/4.5/bits/cmath.tcc \ + face/ConvexQuadrilateral_tmpl.hpp face/ConvexQuadrilateral_tmpl.cpp \ + face/Quadrilateral_tmpl.hpp face/Quadrilateral_tmpl.cpp \ + face/Parallelogram_tmpl.hpp algorithm/HandleObj.hpp \ + algorithm/HandleObj_tmpl.cpp /usr/include/c++/4.5/fstream \ + /usr/include/c++/4.5/bits/codecvt.h /usr/include/c++/4.5/cstdio \ + /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.5/bits/fstream.tcc /usr/include/boost/regex.hpp \ + /usr/include/boost/regex/config.hpp /usr/include/boost/regex/user.hpp \ + /usr/include/boost/regex/config/cwchar.hpp \ + /usr/include/boost/config/auto_link.hpp \ + /usr/include/boost/regex/v4/regex.hpp \ + /usr/include/boost/regex/v4/regex_workaround.hpp \ + /usr/include/c++/4.5/climits \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.5/algorithm /usr/include/c++/4.5/bits/stl_algo.h \ + /usr/include/c++/4.5/bits/algorithmfwd.h \ + /usr/include/c++/4.5/bits/stl_heap.h \ + /usr/include/c++/4.5/bits/stl_tempbuf.h /usr/include/c++/4.5/map \ + /usr/include/c++/4.5/bits/stl_map.h \ + /usr/include/c++/4.5/bits/stl_multimap.h /usr/include/boost/limits.hpp \ + /usr/include/boost/assert.hpp /usr/include/boost/cstdint.hpp \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h \ + /usr/include/stdint.h /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/exception/detail/attribute_noreturn.hpp \ + /usr/include/boost/exception/exception.hpp \ + /usr/include/boost/current_function.hpp \ + /usr/include/boost/scoped_ptr.hpp \ + /usr/include/boost/smart_ptr/scoped_ptr.hpp \ + /usr/include/boost/checked_delete.hpp /usr/include/c++/4.5/memory \ + /usr/include/c++/4.5/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.5/backward/auto_ptr.h \ + /usr/include/boost/smart_ptr/detail/operator_bool.hpp \ + /usr/include/boost/scoped_array.hpp \ + /usr/include/boost/smart_ptr/scoped_array.hpp \ + /usr/include/boost/shared_ptr.hpp \ + /usr/include/boost/smart_ptr/shared_ptr.hpp \ + /usr/include/boost/config/no_tr1/memory.hpp \ + /usr/include/boost/smart_ptr/detail/shared_count.hpp \ + /usr/include/boost/smart_ptr/bad_weak_ptr.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base.hpp \ + /usr/include/boost/smart_ptr/detail/sp_has_sync.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/boost/detail/sp_typeinfo.hpp /usr/include/c++/4.5/typeinfo \ + /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.5/functional \ + /usr/include/boost/smart_ptr/detail/sp_convertible.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_sync.hpp \ + /usr/include/boost/smart_ptr/detail/yield_k.hpp \ + /usr/include/boost/memory_order.hpp /usr/include/c++/4.5/locale \ + /usr/include/c++/4.5/bits/locale_facets_nonio.h \ + /usr/include/c++/4.5/ctime \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.5/bits/locale_facets_nonio.tcc \ + /usr/include/boost/regex_fwd.hpp \ + /usr/include/boost/regex/v4/regex_fwd.hpp \ + /usr/include/boost/regex/regex_traits.hpp \ + /usr/include/boost/regex/v4/regex_traits.hpp \ + /usr/include/boost/regex/v4/syntax_type.hpp \ + /usr/include/boost/regex/v4/error_type.hpp \ + /usr/include/boost/regex/v4/regex_traits_defaults.hpp \ + /usr/include/boost/regex/v4/cpp_regex_traits.hpp \ + /usr/include/boost/regex/pattern_except.hpp \ + /usr/include/boost/regex/pending/static_mutex.hpp \ + /usr/include/boost/regex/v4/primary_transform.hpp \ + /usr/include/boost/regex/pending/object_cache.hpp \ + /usr/include/boost/regex/v4/c_regex_traits.hpp \ + /usr/include/boost/mpl/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/type_wrapper.hpp \ + /usr/include/boost/mpl/aux_/yes_no.hpp \ + /usr/include/boost/mpl/aux_/config/arrays.hpp \ + /usr/include/boost/mpl/aux_/config/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/config/msvc_typename.hpp \ + /usr/include/boost/static_assert.hpp \ + /usr/include/boost/regex/v4/match_flags.hpp \ + /usr/include/boost/regex/v4/regex_raw_buffer.hpp \ + /usr/include/boost/regex/v4/char_regex_traits.hpp \ + /usr/include/boost/regex/v4/states.hpp \ + /usr/include/boost/regex/v4/regbase.hpp \ + /usr/include/boost/regex/v4/iterator_traits.hpp \ + /usr/include/boost/regex/v4/basic_regex.hpp \ + /usr/include/boost/type_traits/is_same.hpp \ + /usr/include/boost/functional/hash.hpp \ + /usr/include/boost/functional/hash/hash.hpp \ + /usr/include/boost/functional/hash/hash_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float.hpp \ + /usr/include/boost/functional/hash/detail/float_functions.hpp \ + /usr/include/boost/config/no_tr1/cmath.hpp \ + /usr/include/boost/functional/hash/detail/limits.hpp \ + /usr/include/boost/integer/static_log2.hpp \ + /usr/include/boost/integer_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float_generic.hpp \ + /usr/include/boost/functional/hash/extensions.hpp \ + /usr/include/boost/detail/container_fwd.hpp \ + /usr/include/boost/regex/v4/basic_regex_creator.hpp \ + /usr/include/boost/regex/v4/basic_regex_parser.hpp \ + /usr/include/boost/regex/v4/sub_match.hpp \ + /usr/include/boost/regex/v4/regex_format.hpp \ + /usr/include/boost/type_traits/is_function.hpp \ + /usr/include/boost/type_traits/is_reference.hpp \ + /usr/include/boost/type_traits/detail/false_result.hpp \ + /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ + /usr/include/boost/type_traits/is_class.hpp \ + /usr/include/boost/type_traits/intrinsics.hpp \ + /usr/include/boost/type_traits/is_volatile.hpp \ + /usr/include/boost/type_traits/is_convertible.hpp \ + /usr/include/boost/type_traits/detail/yes_no_type.hpp \ + /usr/include/boost/type_traits/is_array.hpp \ + /usr/include/boost/type_traits/add_reference.hpp \ + /usr/include/boost/type_traits/ice.hpp \ + /usr/include/boost/type_traits/detail/ice_or.hpp \ + /usr/include/boost/type_traits/detail/ice_eq.hpp \ + /usr/include/boost/type_traits/is_arithmetic.hpp \ + /usr/include/boost/type_traits/is_integral.hpp \ + /usr/include/boost/type_traits/is_float.hpp \ + /usr/include/boost/type_traits/is_void.hpp \ + /usr/include/boost/type_traits/is_abstract.hpp \ + /usr/include/boost/type_traits/remove_pointer.hpp \ + /usr/include/boost/mpl/if.hpp /usr/include/boost/mpl/aux_/value_wknd.hpp \ + /usr/include/boost/mpl/aux_/config/integral.hpp \ + /usr/include/boost/mpl/aux_/config/eti.hpp \ + /usr/include/boost/mpl/aux_/na_spec.hpp \ + /usr/include/boost/mpl/lambda_fwd.hpp \ + /usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \ + /usr/include/boost/mpl/aux_/na_fwd.hpp \ + /usr/include/boost/mpl/aux_/lambda_arity_param.hpp \ + /usr/include/boost/mpl/aux_/arity.hpp \ + /usr/include/boost/mpl/aux_/config/dtp.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/enum.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ + /usr/include/boost/mpl/limits/arity.hpp \ + /usr/include/boost/preprocessor/logical/and.hpp \ + /usr/include/boost/preprocessor/logical/bitand.hpp \ + /usr/include/boost/preprocessor/identity.hpp \ + /usr/include/boost/preprocessor/facilities/identity.hpp \ + /usr/include/boost/preprocessor/empty.hpp \ + /usr/include/boost/preprocessor/arithmetic/add.hpp \ + /usr/include/boost/preprocessor/arithmetic/dec.hpp \ + /usr/include/boost/preprocessor/control/while.hpp \ + /usr/include/boost/preprocessor/list/fold_left.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_left.hpp \ + /usr/include/boost/preprocessor/control/expr_iif.hpp \ + /usr/include/boost/preprocessor/list/adt.hpp \ + /usr/include/boost/preprocessor/detail/is_binary.hpp \ + /usr/include/boost/preprocessor/detail/check.hpp \ + /usr/include/boost/preprocessor/logical/compl.hpp \ + /usr/include/boost/preprocessor/list/fold_right.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_right.hpp \ + /usr/include/boost/preprocessor/list/reverse.hpp \ + /usr/include/boost/preprocessor/control/detail/while.hpp \ + /usr/include/boost/preprocessor/tuple/elem.hpp \ + /usr/include/boost/preprocessor/arithmetic/sub.hpp \ + /usr/include/boost/mpl/and.hpp \ + /usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/nested_type_wknd.hpp \ + /usr/include/boost/mpl/aux_/include_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/config/compiler.hpp \ + /usr/include/boost/preprocessor/stringize.hpp \ + /usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ + /usr/include/boost/mpl/not.hpp \ + /usr/include/boost/regex/v4/match_results.hpp \ + /usr/include/boost/regex/v4/protected_call.hpp \ + /usr/include/boost/regex/v4/perl_matcher.hpp \ + /usr/include/boost/regex/v4/iterator_category.hpp \ + /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp \ + /usr/include/boost/regex/v4/perl_matcher_common.hpp \ + /usr/include/boost/regex/v4/instances.hpp \ + /usr/include/boost/regex/v4/regex_match.hpp \ + /usr/include/boost/regex/v4/regex_search.hpp \ + /usr/include/boost/regex/v4/regex_iterator.hpp \ + /usr/include/boost/regex/v4/regex_token_iterator.hpp \ + /usr/include/boost/regex/v4/regex_grep.hpp \ + /usr/include/boost/regex/v4/regex_replace.hpp \ + /usr/include/boost/regex/v4/regex_merge.hpp \ + /usr/include/boost/regex/v4/regex_split.hpp algorithm/../MeshBuilder.hpp \ + algorithm/RefineUniformly.hpp algorithm/../types.hpp \ + algorithm/../FaceDispatch.hpp algorithm/RefineUniformly_tmpl.cpp \ + algorithm/RefineUniformly.hpp FlexibleMesh_tmpl.cpp + +FlexibleMesh.hpp: + +FaceDispatch.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +../generic/Singleton.hpp: + +../generic/Singleton_tmpl.cpp: + +../generic/Singleton.hpp: + +../generic/TypeList.hpp: + +../generic/BaseTypes.hpp: + +../generic/BaseTypes.hpp: + +exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +FaceDispatch_tmpl.cpp: + +exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +Face.hpp: + +/usr/include/c++/4.5/iterator: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +/usr/include/c++/4.5/istream: + +/usr/include/c++/4.5/bits/istream.tcc: + +/usr/include/c++/4.5/bits/stream_iterator.h: + +types.hpp: + +/usr/include/c++/4.5/limits: + +exception.hpp: + +exception/NoMatchingFaceType.hpp: + +Face_tmpl.cpp: + +/usr/include/c++/4.5/sstream: + +/usr/include/c++/4.5/bits/sstream.tcc: + +HalfEdge.hpp: + +HalfEdge_tmpl.cpp: + +Vertex.hpp: + +../generic/GenericVector.hpp: + +../generic/GenericVector_tmpl.cpp: + +../generic/GenericVector.hpp: + +Vertex_tmpl.cpp: + +Mesh.hpp: + +MeshBuilder.hpp: + +MeshBuilder_tmpl.cpp: + +/usr/include/boost/type_traits/is_pointer.hpp: + +/usr/include/boost/type_traits/is_member_pointer.hpp: + +/usr/include/boost/type_traits/config.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.5/utility: + +/usr/include/c++/4.5/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/boost/type_traits/is_member_function_pointer.hpp: + +/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: + +/usr/include/boost/type_traits/remove_cv.hpp: + +/usr/include/boost/type_traits/broken_compiler_spec.hpp: + +/usr/include/boost/mpl/aux_/lambda_support.hpp: + +/usr/include/boost/mpl/aux_/config/lambda.hpp: + +/usr/include/boost/mpl/aux_/config/ttp.hpp: + +/usr/include/boost/mpl/aux_/config/msvc.hpp: + +/usr/include/boost/mpl/aux_/config/gcc.hpp: + +/usr/include/boost/mpl/aux_/config/workaround.hpp: + +/usr/include/boost/mpl/aux_/config/ctps.hpp: + +/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: + +/usr/include/boost/type_traits/detail/type_trait_def.hpp: + +/usr/include/boost/type_traits/detail/template_arity_spec.hpp: + +/usr/include/boost/mpl/int.hpp: + +/usr/include/boost/mpl/int_fwd.hpp: + +/usr/include/boost/mpl/aux_/adl_barrier.hpp: + +/usr/include/boost/mpl/aux_/config/adl.hpp: + +/usr/include/boost/mpl/aux_/config/intel.hpp: + +/usr/include/boost/mpl/aux_/nttp_decl.hpp: + +/usr/include/boost/mpl/aux_/config/nttp.hpp: + +/usr/include/boost/mpl/aux_/integral_wrapper.hpp: + +/usr/include/boost/mpl/integral_c_tag.hpp: + +/usr/include/boost/mpl/aux_/config/static_constant.hpp: + +/usr/include/boost/mpl/aux_/static_cast.hpp: + +/usr/include/boost/preprocessor/cat.hpp: + +/usr/include/boost/preprocessor/config/config.hpp: + +/usr/include/boost/mpl/aux_/template_arity_fwd.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/params.hpp: + +/usr/include/boost/mpl/aux_/config/preprocessor.hpp: + +/usr/include/boost/preprocessor/comma_if.hpp: + +/usr/include/boost/preprocessor/punctuation/comma_if.hpp: + +/usr/include/boost/preprocessor/control/if.hpp: + +/usr/include/boost/preprocessor/control/iif.hpp: + +/usr/include/boost/preprocessor/logical/bool.hpp: + +/usr/include/boost/preprocessor/facilities/empty.hpp: + +/usr/include/boost/preprocessor/punctuation/comma.hpp: + +/usr/include/boost/preprocessor/repeat.hpp: + +/usr/include/boost/preprocessor/repetition/repeat.hpp: + +/usr/include/boost/preprocessor/debug/error.hpp: + +/usr/include/boost/preprocessor/detail/auto_rec.hpp: + +/usr/include/boost/preprocessor/tuple/eat.hpp: + +/usr/include/boost/preprocessor/inc.hpp: + +/usr/include/boost/preprocessor/arithmetic/inc.hpp: + +/usr/include/boost/mpl/aux_/config/overload_resolution.hpp: + +/usr/include/boost/type_traits/detail/type_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_def.hpp: + +/usr/include/boost/type_traits/integral_constant.hpp: + +/usr/include/boost/mpl/bool.hpp: + +/usr/include/boost/mpl/bool_fwd.hpp: + +/usr/include/boost/mpl/integral_c.hpp: + +/usr/include/boost/mpl/integral_c_fwd.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/ice_and.hpp: + +/usr/include/boost/type_traits/detail/ice_not.hpp: + +/usr/include/boost/utility/enable_if.hpp: + +Mesh.cpp: + +/usr/include/c++/4.5/iostream: + +/usr/include/c++/4.5/set: + +/usr/include/c++/4.5/bits/stl_tree.h: + +/usr/include/c++/4.5/bits/stl_set.h: + +/usr/include/c++/4.5/bits/stl_multiset.h: + +/usr/include/c++/4.5/list: + +/usr/include/c++/4.5/bits/stl_list.h: + +/usr/include/c++/4.5/bits/list.tcc: + +exception/NoMatchingFaceType_tmpl.hpp: + +exception/NoMatchingFaceType.hpp: + +exception/NoMatchingFaceType_tmpl.cpp: + +/usr/include/c++/4.5/cstring: + +/usr/include/string.h: + +/usr/include/bits/string3.h: + +face/Triangle_tmpl.hpp: + +face/Triangle.hpp: + +face/../../generic/BaseTypes.hpp: + +face/Triangle_tmpl.cpp: + +face/Triangle_tmpl.hpp: + +face/../Face.hpp: + +face/Parallelogram_tmpl.hpp: + +face/Parallelogram.hpp: + +face/ConvexQuadrilateral.hpp: + +face/Quadrilateral.hpp: + +face/../types.hpp: + +face/Parallelogram_tmpl.cpp: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: + +face/ConvexQuadrilateral_tmpl.hpp: + +face/ConvexQuadrilateral_tmpl.cpp: + +face/Quadrilateral_tmpl.hpp: + +face/Quadrilateral_tmpl.cpp: + +face/Parallelogram_tmpl.hpp: + +algorithm/HandleObj.hpp: + +algorithm/HandleObj_tmpl.cpp: + +/usr/include/c++/4.5/fstream: + +/usr/include/c++/4.5/bits/codecvt.h: + +/usr/include/c++/4.5/cstdio: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.5/bits/fstream.tcc: + +/usr/include/boost/regex.hpp: + +/usr/include/boost/regex/config.hpp: + +/usr/include/boost/regex/user.hpp: + +/usr/include/boost/regex/config/cwchar.hpp: + +/usr/include/boost/config/auto_link.hpp: + +/usr/include/boost/regex/v4/regex.hpp: + +/usr/include/boost/regex/v4/regex_workaround.hpp: + +/usr/include/c++/4.5/climits: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.5/algorithm: + +/usr/include/c++/4.5/bits/stl_algo.h: + +/usr/include/c++/4.5/bits/algorithmfwd.h: + +/usr/include/c++/4.5/bits/stl_heap.h: + +/usr/include/c++/4.5/bits/stl_tempbuf.h: + +/usr/include/c++/4.5/map: + +/usr/include/c++/4.5/bits/stl_map.h: + +/usr/include/c++/4.5/bits/stl_multimap.h: + +/usr/include/boost/limits.hpp: + +/usr/include/boost/assert.hpp: + +/usr/include/boost/cstdint.hpp: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/exception/detail/attribute_noreturn.hpp: + +/usr/include/boost/exception/exception.hpp: + +/usr/include/boost/current_function.hpp: + +/usr/include/boost/scoped_ptr.hpp: + +/usr/include/boost/smart_ptr/scoped_ptr.hpp: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/c++/4.5/memory: + +/usr/include/c++/4.5/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.5/backward/auto_ptr.h: + +/usr/include/boost/smart_ptr/detail/operator_bool.hpp: + +/usr/include/boost/scoped_array.hpp: + +/usr/include/boost/smart_ptr/scoped_array.hpp: + +/usr/include/boost/shared_ptr.hpp: + +/usr/include/boost/smart_ptr/shared_ptr.hpp: + +/usr/include/boost/config/no_tr1/memory.hpp: + +/usr/include/boost/smart_ptr/detail/shared_count.hpp: + +/usr/include/boost/smart_ptr/bad_weak_ptr.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base.hpp: + +/usr/include/boost/smart_ptr/detail/sp_has_sync.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/boost/detail/sp_typeinfo.hpp: + +/usr/include/c++/4.5/typeinfo: + +/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.5/functional: + +/usr/include/boost/smart_ptr/detail/sp_convertible.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: + +/usr/include/boost/smart_ptr/detail/yield_k.hpp: + +/usr/include/boost/memory_order.hpp: + +/usr/include/c++/4.5/locale: + +/usr/include/c++/4.5/bits/locale_facets_nonio.h: + +/usr/include/c++/4.5/ctime: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.5/bits/locale_facets_nonio.tcc: + +/usr/include/boost/regex_fwd.hpp: + +/usr/include/boost/regex/v4/regex_fwd.hpp: + +/usr/include/boost/regex/regex_traits.hpp: + +/usr/include/boost/regex/v4/regex_traits.hpp: + +/usr/include/boost/regex/v4/syntax_type.hpp: + +/usr/include/boost/regex/v4/error_type.hpp: + +/usr/include/boost/regex/v4/regex_traits_defaults.hpp: + +/usr/include/boost/regex/v4/cpp_regex_traits.hpp: + +/usr/include/boost/regex/pattern_except.hpp: + +/usr/include/boost/regex/pending/static_mutex.hpp: + +/usr/include/boost/regex/v4/primary_transform.hpp: + +/usr/include/boost/regex/pending/object_cache.hpp: + +/usr/include/boost/regex/v4/c_regex_traits.hpp: + +/usr/include/boost/mpl/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/type_wrapper.hpp: + +/usr/include/boost/mpl/aux_/yes_no.hpp: + +/usr/include/boost/mpl/aux_/config/arrays.hpp: + +/usr/include/boost/mpl/aux_/config/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/config/msvc_typename.hpp: + +/usr/include/boost/static_assert.hpp: + +/usr/include/boost/regex/v4/match_flags.hpp: + +/usr/include/boost/regex/v4/regex_raw_buffer.hpp: + +/usr/include/boost/regex/v4/char_regex_traits.hpp: + +/usr/include/boost/regex/v4/states.hpp: + +/usr/include/boost/regex/v4/regbase.hpp: + +/usr/include/boost/regex/v4/iterator_traits.hpp: + +/usr/include/boost/regex/v4/basic_regex.hpp: + +/usr/include/boost/type_traits/is_same.hpp: + +/usr/include/boost/functional/hash.hpp: + +/usr/include/boost/functional/hash/hash.hpp: + +/usr/include/boost/functional/hash/hash_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float.hpp: + +/usr/include/boost/functional/hash/detail/float_functions.hpp: + +/usr/include/boost/config/no_tr1/cmath.hpp: + +/usr/include/boost/functional/hash/detail/limits.hpp: + +/usr/include/boost/integer/static_log2.hpp: + +/usr/include/boost/integer_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: + +/usr/include/boost/functional/hash/extensions.hpp: + +/usr/include/boost/detail/container_fwd.hpp: + +/usr/include/boost/regex/v4/basic_regex_creator.hpp: + +/usr/include/boost/regex/v4/basic_regex_parser.hpp: + +/usr/include/boost/regex/v4/sub_match.hpp: + +/usr/include/boost/regex/v4/regex_format.hpp: + +/usr/include/boost/type_traits/is_function.hpp: + +/usr/include/boost/type_traits/is_reference.hpp: + +/usr/include/boost/type_traits/detail/false_result.hpp: + +/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp: + +/usr/include/boost/type_traits/is_class.hpp: + +/usr/include/boost/type_traits/intrinsics.hpp: + +/usr/include/boost/type_traits/is_volatile.hpp: + +/usr/include/boost/type_traits/is_convertible.hpp: + +/usr/include/boost/type_traits/detail/yes_no_type.hpp: + +/usr/include/boost/type_traits/is_array.hpp: + +/usr/include/boost/type_traits/add_reference.hpp: + +/usr/include/boost/type_traits/ice.hpp: + +/usr/include/boost/type_traits/detail/ice_or.hpp: + +/usr/include/boost/type_traits/detail/ice_eq.hpp: + +/usr/include/boost/type_traits/is_arithmetic.hpp: + +/usr/include/boost/type_traits/is_integral.hpp: + +/usr/include/boost/type_traits/is_float.hpp: + +/usr/include/boost/type_traits/is_void.hpp: + +/usr/include/boost/type_traits/is_abstract.hpp: + +/usr/include/boost/type_traits/remove_pointer.hpp: + +/usr/include/boost/mpl/if.hpp: + +/usr/include/boost/mpl/aux_/value_wknd.hpp: + +/usr/include/boost/mpl/aux_/config/integral.hpp: + +/usr/include/boost/mpl/aux_/config/eti.hpp: + +/usr/include/boost/mpl/aux_/na_spec.hpp: + +/usr/include/boost/mpl/lambda_fwd.hpp: + +/usr/include/boost/mpl/void_fwd.hpp: + +/usr/include/boost/mpl/aux_/na.hpp: + +/usr/include/boost/mpl/aux_/na_fwd.hpp: + +/usr/include/boost/mpl/aux_/lambda_arity_param.hpp: + +/usr/include/boost/mpl/aux_/arity.hpp: + +/usr/include/boost/mpl/aux_/config/dtp.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/enum.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp: + +/usr/include/boost/mpl/limits/arity.hpp: + +/usr/include/boost/preprocessor/logical/and.hpp: + +/usr/include/boost/preprocessor/logical/bitand.hpp: + +/usr/include/boost/preprocessor/identity.hpp: + +/usr/include/boost/preprocessor/facilities/identity.hpp: + +/usr/include/boost/preprocessor/empty.hpp: + +/usr/include/boost/preprocessor/arithmetic/add.hpp: + +/usr/include/boost/preprocessor/arithmetic/dec.hpp: + +/usr/include/boost/preprocessor/control/while.hpp: + +/usr/include/boost/preprocessor/list/fold_left.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_left.hpp: + +/usr/include/boost/preprocessor/control/expr_iif.hpp: + +/usr/include/boost/preprocessor/list/adt.hpp: + +/usr/include/boost/preprocessor/detail/is_binary.hpp: + +/usr/include/boost/preprocessor/detail/check.hpp: + +/usr/include/boost/preprocessor/logical/compl.hpp: + +/usr/include/boost/preprocessor/list/fold_right.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_right.hpp: + +/usr/include/boost/preprocessor/list/reverse.hpp: + +/usr/include/boost/preprocessor/control/detail/while.hpp: + +/usr/include/boost/preprocessor/tuple/elem.hpp: + +/usr/include/boost/preprocessor/arithmetic/sub.hpp: + +/usr/include/boost/mpl/and.hpp: + +/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/nested_type_wknd.hpp: + +/usr/include/boost/mpl/aux_/include_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/config/compiler.hpp: + +/usr/include/boost/preprocessor/stringize.hpp: + +/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp: + +/usr/include/boost/mpl/not.hpp: + +/usr/include/boost/regex/v4/match_results.hpp: + +/usr/include/boost/regex/v4/protected_call.hpp: + +/usr/include/boost/regex/v4/perl_matcher.hpp: + +/usr/include/boost/regex/v4/iterator_category.hpp: + +/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: + +/usr/include/boost/regex/v4/perl_matcher_common.hpp: + +/usr/include/boost/regex/v4/instances.hpp: + +/usr/include/boost/regex/v4/regex_match.hpp: + +/usr/include/boost/regex/v4/regex_search.hpp: + +/usr/include/boost/regex/v4/regex_iterator.hpp: + +/usr/include/boost/regex/v4/regex_token_iterator.hpp: + +/usr/include/boost/regex/v4/regex_grep.hpp: + +/usr/include/boost/regex/v4/regex_replace.hpp: + +/usr/include/boost/regex/v4/regex_merge.hpp: + +/usr/include/boost/regex/v4/regex_split.hpp: + +algorithm/../MeshBuilder.hpp: + +algorithm/RefineUniformly.hpp: + +algorithm/../types.hpp: + +algorithm/../FaceDispatch.hpp: + +algorithm/RefineUniformly_tmpl.cpp: + +algorithm/RefineUniformly.hpp: + +FlexibleMesh_tmpl.cpp: diff --git a/src/bem3d/src/boundary_mesh/Face.cpp b/src/bem3d/src/boundary_mesh/Face.cpp index 02b17f5..fae314a 100644 --- a/src/bem3d/src/boundary_mesh/Face.cpp +++ b/src/bem3d/src/boundary_mesh/Face.cpp @@ -5,6 +5,7 @@ using namespace boundary_mesh; +#if 0 Face::Face() : halfedge_(0) {} @@ -95,4 +96,5 @@ double Face::area() const assert(0); } } +#endif diff --git a/src/bem3d/src/boundary_mesh/Face.hpp b/src/bem3d/src/boundary_mesh/Face.hpp index eac4bed..29c5ef2 100644 --- a/src/bem3d/src/boundary_mesh/Face.hpp +++ b/src/bem3d/src/boundary_mesh/Face.hpp @@ -2,42 +2,130 @@ #define BOUNDARY_MESH_FACE_HPP_GUARD_ #include +#include + +#include "types.hpp" +#include "exception.hpp" +#include "FaceDispatch.hpp" + +/** + * @page boundary_mesh_faces The Face datatypes + * + * The boundary mesh library is a flexible template library, which provides + * optimized versions for many use cases. In terms of faces, the library is + * flexible by the means of allowing any number of different kinds of faces + * within a single mesh. At the same time, it provides optimizations for + * meshes, which consist only of one kind of faces. More details are provided + * in section @ref boundary_mesh_mesh_traits_faces. + * + * The library also makes strong use of C++'s type system so that it is + * possible to structure code in an idiomatic way. For more details on this, + * please refer to @ref boundary_mesh_face_specific_code. + * + * Furthermore, it is possible to add custom faces without modifying the + * code of the boundary mesh library. Further details can be found in section + * @ref boundary_mesh_adding_new_face_types. + * + * Within boundary mesh algorithms or other code related to boundary meshes, + * one should not refer to faces directly, but only by using the Mesh class. + * For example, provided Mesh is the name of the mesh class that is used, one + * should write Mesh::Triangle instead of Triangle< Mesh >. For technically + * interested people, a reason is provided below. + * + * We provide three different classes for each kind of faces. As an example, + * we consider the classes provided for triangles. + * - Triangle: This class provides an implementation which should be used + * when the given mesh only contains this kind of faces. It must + * not be used, when different kinds of faces are involved. + * - RTriangle: This class contains additional run-time information, which + * makes it possible to use instances of that class even if the + * given mesh contains different kinds of faces. + * For users of the mesh, it makes no difference which class is used, because + * they refer to that class only using Mesh::Triangle for built-in types or + * Mesh::Prop::Triangle for user types. Finally, for each kind of face, there + * is another class: + * - NoTriangle: This class is just an indicator, that the mesh does not + * contain any faces of that kind. + * + * Below, there is an UML diagram for all built-in types (Triangle, + * Quadrilateral, Parallelogram, Rectangle and AxisParallelRectangle). + * + * TODO: A proper diagram is missing. + */ + +/** + * @file Face.hpp + * + * TODO: Write documentation. + */ namespace boundary_mesh { - class Face; - class HalfEdge; - class Vertex; - - class Face + /** + * @class CommonFaceBase__ + * @brief A base class for all flavours of faces. + */ + template < class TMesh > + class CommonFaceBase__ { - template < class T > friend class Mesh; + template < class TFace, class TNext > friend class FaceFactory; public: - template < class T > - class Iterator__ : public std::iterator< std::input_iterator_tag, T > + typedef TMesh Mesh; + + enum WhereToStart + { + StartAtBeginning, + StartAtEnd + }; + + class IteratorBase__ { public: - Iterator__(const HalfEdge* startingEdge, bool end = false); - Iterator__(const Iterator__& copy); + IteratorBase__(const typename TMesh::HalfEdge& halfedge, + enum WhereToStart); + bool operator==(const IteratorBase__& rhs) const; + bool operator!=(const IteratorBase__& rhs) const; + IteratorBase__& operator++(); - bool operator==(const Iterator__< T >& rhs) const; - bool operator!=(const Iterator__< T >& rhs) const; - Iterator__< T >& operator++(); - const T& operator*() const; - const T* operator->() const; + protected: + const typename TMesh::HalfEdge* getCurrentHalfEdge() const; private: - const HalfEdge& getCurrentEdge() const; + const typename TMesh::HalfEdge* startingEdge_; + const typename TMesh::HalfEdge* currentEdge_; + }; - const HalfEdge* startingEdge_; - const HalfEdge* currentEdge_; + class ConstFaceIterator : public IteratorBase__, + std::iterator< std::input_iterator_tag, typename TMesh::Face > + { + public: + ConstFaceIterator(const typename TMesh::HalfEdge& halfedge, + enum WhereToStart); + ConstFaceIterator& operator++(); + const typename TMesh::Face& operator*() const; + const typename TMesh::Face* operator->() const; }; - public: - typedef Iterator__< Face > ConstFaceIterator; - typedef Iterator__< Vertex > ConstVertexIterator; - typedef Iterator__< HalfEdge > ConstEdgeIterator; + class ConstVertexIterator : public IteratorBase__, + std::iterator< std::input_iterator_tag, typename TMesh::Vertex > + { + public: + ConstVertexIterator(const typename TMesh::HalfEdge& halfedge, + enum WhereToStart); + const typename TMesh::Vertex& operator*() const; + const typename TMesh::Vertex* operator->() const; + }; + + class ConstEdgeIterator : public IteratorBase__, + std::iterator< std::input_iterator_tag, typename TMesh::HalfEdge > + { + public: + ConstEdgeIterator(const typename TMesh::HalfEdge& halfedge, + enum WhereToStart); + const typename TMesh::HalfEdge& operator*() const; + const typename TMesh::HalfEdge* operator->() const; + }; ConstVertexIterator begin_v() const; ConstVertexIterator end_v() const; @@ -46,21 +134,51 @@ namespace boundary_mesh ConstFaceIterator begin_f() const; ConstFaceIterator end_f() const; - unsigned int getNumberOfVertices() const; - bool isBoundaryFace() const; - bool operator==(const Face& rhs) const; - double area() const; + unsigned int getLocalEdgeId( + const typename TMesh::Prop::HalfEdge& edge ) const; + + bool operator==(const typename TMesh::Prop::HalfEdge& rhs) const; + + protected: + CommonFaceBase__( const typename TMesh::Prop::HalfEdge& halfedge ) + : halfedge_( halfedge ) {} private: - Face(); - void setHalfEdge(const HalfEdge& edge); + const typename TMesh::Prop::HalfEdge& halfedge_; + }; - const HalfEdge* halfedge_; + template < class TMesh > + class RFace : public CommonFaceBase__< TMesh > + { + public: + RFace( const typename TMesh::Prop::HalfEdge& halfedge, + geoid_t id) + : CommonFaceBase__< TMesh >(halfedge), id_(id) {} + typedef RFace< TMesh >* CommonSuperFace; + geoid_t getId() const; - static const ConstVertexIterator scVertexEndIterator; - static const ConstEdgeIterator scEdgeEndIterator; - static const ConstFaceIterator scFaceEndIterator; + virtual double computeArea() const =0; + virtual unsigned int getNumberOfVertices() const =0; + virtual dispatchId_t getDispatchId() const =0; + + private: + geoid_t id_; }; + + template < class TMesh > + class FaceVertexCache + : public generic::Singleton< FaceVertexCache< TMesh > > + { + public: + FaceVertexCache(); + static const typename TMesh::Vertex& Get( + const typename TMesh::Face* face, unsigned int id ); + + private: + const typename TMesh::Face* face_; + typename std::vector< const typename TMesh::Vertex* > vertices_; + }; + } #include "Face_tmpl.cpp" diff --git a/src/bem3d/src/boundary_mesh/FaceDispatch.hpp b/src/bem3d/src/boundary_mesh/FaceDispatch.hpp new file mode 100644 index 0000000..0cff98b --- /dev/null +++ b/src/bem3d/src/boundary_mesh/FaceDispatch.hpp @@ -0,0 +1,103 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACEDISPATCH_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACEDISPATCH_HPP_GUARD_ + +#include + +#include "../generic/Singleton.hpp" +#include "../generic/TypeList.hpp" +#include "../generic/BaseTypes.hpp" +#include "exception/DispatchIdNotSet.hpp" + +typedef int dispatchId_t; + +namespace boundary_mesh +{ + template < class TExecutor, class TBase, class TTypes, class TResult = void > + class StaticSingleDispatcher + { + public: + typedef TExecutor PARAM; + + static TResult Exec( + const TBase& face, + TExecutor exec); + }; + + template < class TExecutor, class TBase, class TResult > + class StaticSingleDispatcher< TExecutor, TBase, generic::NullType, TResult > + { + public: + typedef TExecutor PARAM; + + static TResult Exec( + const TBase& face, + TExecutor exec); + }; + + template < class TExecutor, class TMesh, class TResult = void > + class SingleFaceDispatcher + : public StaticSingleDispatcher< + TExecutor, + typename TMesh::Face, typename TMesh::FaceTypes, + TResult > + {}; + + template < class TExecutor, class TBaseLhs, class TTypesLhs, + class TBaseRhs = TBaseLhs, class TTypesRhs = TTypesLhs, + class TResult = void > + class StaticDoubleDispatcher + { + public: + typedef TExecutor PARAM; + + static TResult Exec( + const TBaseLhs& lhs, + const TBaseRhs& rhs, + const TExecutor& exec); + + template < class TLhs > + static TResult DispatchRhs( + const TLhs & lhs, + const TBaseRhs& rhs, + const TExecutor& exec); + }; + + template < class TExecutor, class TBaseLhs, + class TBaseRhs, class TTypesRhs, class TResult > + class StaticDoubleDispatcher< TExecutor, TBaseLhs, generic::NullType, + TBaseRhs, TTypesRhs, TResult > + { + public: + static TResult Exec( + const TBaseLhs& lhs, + const TBaseRhs& rhs, + const TExecutor& exec ); + }; + + template < class TExecutor, class TBaseLhs, class TTypesLhs, + class TBaseRhs, class TResult > + class StaticDoubleDispatcher< TExecutor, TBaseLhs, TTypesLhs, + TBaseRhs, generic::NullType, TResult > + { + public: + template < class TLhs > + static TResult DispatchRhs( + const TLhs& lhs, + const TBaseRhs& rhs, + const TExecutor& exec); + }; + + template < class TExecutor, class TMesh, class TResult > + class DoubleFaceDispatcher + : public StaticDoubleDispatcher< + TExecutor, + typename TMesh::Face, typename TMesh::FaceTypes, + typename TMesh::Face, typename TMesh::FaceTypes, + TResult > + {}; +} + +#include "FaceDispatch_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/FaceDispatch_tmpl.cpp b/src/bem3d/src/boundary_mesh/FaceDispatch_tmpl.cpp new file mode 100644 index 0000000..8380a16 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/FaceDispatch_tmpl.cpp @@ -0,0 +1,123 @@ +#ifdef HILBERT3D_BOUNDARY_MESH_FACEDISPATCH_CPP_GUARD_ +#error Please never include or compile this file directly. Include the \ + corresponding header file instead. +#else +#define HILBERT3D_BOUNDARY_MESH_FACEDISPATCH_CPP_GUARD_ +#include "FaceDispatch.hpp" + +#include "exception/CouldNotDispatchCall.hpp" + +#include + +namespace boundary_mesh +{ + template < class TExecutor, class TBase, class TTypes, class TResult > + TResult + StaticSingleDispatcher< TExecutor, TBase, TTypes, TResult >::Exec( + const TBase& face, + TExecutor exec) + { + typedef typename TTypes::Head Head; + typedef typename TTypes::Tail Tail; + + if (const Head* castedFace = dynamic_cast< const Head* >(&face)) + { + exec.exec( *castedFace ); + } + else + { + StaticSingleDispatcher< TExecutor, TBase, Tail, TResult >:: + Exec( face, exec ); + } + } + + template < class TExecutor, class TBase, class TResult > + TResult + StaticSingleDispatcher< TExecutor, TBase, generic::NullType, TResult >::Exec( + const TBase& face, + TExecutor exec) + { + throw new exception::CouldNotDispatchCall( + "Could not dispatch function call!\n"); + } + + template < class TExecutor, class TBaseLhs, class TTypesLhs, + class TBaseRhs, class TTypesRhs, class TResult > + TResult + StaticDoubleDispatcher< TExecutor, TBaseLhs, TTypesLhs, + TBaseRhs, TTypesRhs, TResult >::Exec( + const TBaseLhs& lhs, + const TBaseRhs& rhs, + const TExecutor& exec) + { + typedef typename TTypesLhs::Head Head; + typedef typename TTypesLhs::Tail Tail; + + if (const Head* p1 = dynamic_cast(&lhs)) + { + return StaticDoubleDispatcher< TExecutor, TBaseLhs, Head, + TBaseRhs, TTypesRhs, TResult >::DispatchRhs( *p1, rhs, exec ); + } + else + { + return StaticDoubleDispatcher< TExecutor, TBaseLhs, Tail, + TBaseRhs, TTypesRhs, TResult >::Exec( lhs, rhs, exec ); + } + } + + template < class TExecutor, class TBaseLhs, class TTypesLhs, + class TBaseRhs, class TTypesRhs, class TResult > + template < class TLhs > + TResult + StaticDoubleDispatcher< TExecutor, TBaseLhs, TTypesLhs, + TBaseRhs, TTypesRhs, TResult >::DispatchRhs( + const TLhs& lhs, + const TBaseRhs& rhs, + const TExecutor& exec) + { + typedef typename TTypesRhs::Head Head; + typedef typename TTypesRhs::Tail Tail; + + if (const Head* p2 = dynamic_cast(&rhs)) + { + return exec.exec( lhs, *p2 ); + } + else + { + return StaticDoubleDispatcher< TExecutor, TLhs, TTypesLhs, + TBaseRhs, Tail, TResult >::DispatchRhs( + lhs, rhs, exec ); + } + } + + template < class TExecutor, class TBaseLhs, + class TBaseRhs, class TTypesRhs, class TResult > + TResult + StaticDoubleDispatcher< TExecutor, TBaseLhs, generic::NullType, + TBaseRhs, TTypesRhs, TResult >::Exec( + const TBaseLhs& lhs, + const TBaseRhs& rhs, + const TExecutor& exec) + { + throw exception::CouldNotDispatchCall( + "Double Dispatcher: Could not dispatch left-hand side argument!\n"); + } + + template < class TExecutor, class TBaseLhs, class TTypesLhs, + class TBaseRhs, class TResult > + template < class TLhs > + TResult + StaticDoubleDispatcher< TExecutor, TBaseLhs, TTypesLhs, + TBaseRhs, generic::NullType, TResult >::DispatchRhs( + const TLhs& lhs, + const TBaseRhs& rhs, + const TExecutor& exec) + { + throw exception::CouldNotDispatchCall( + "Double Dispatcher: Could not dispatch right-hand side argument!\n"); + } + +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/Face_tmpl.cpp b/src/bem3d/src/boundary_mesh/Face_tmpl.cpp index 2830dc8..5f99319 100644 --- a/src/bem3d/src/boundary_mesh/Face_tmpl.cpp +++ b/src/bem3d/src/boundary_mesh/Face_tmpl.cpp @@ -1,135 +1,250 @@ -#ifdef MESH_FACE_TMPL_CPP_GUARD_ -#error "Never include this file directly! Use #include \"Face.hpp\" instead!" -#else +#ifndef MESH_FACE_TMPL_CPP_GUARD_ #define MESH_FACE_TMPL_CPP_GUARD_ #include +#include +#include -#include "HalfEdge.hpp" +#include "Face.hpp" namespace boundary_mesh { -template <> -inline -Face::Iterator__& -Face::Iterator__::operator++() -{ - do + template < class TMesh > + CommonFaceBase__< TMesh >::IteratorBase__::IteratorBase__( + const typename TMesh::HalfEdge& startingEdge, + enum WhereToStart whereToStart) + : startingEdge_( &startingEdge ), currentEdge_( &startingEdge ) + { + if ( whereToStart == StartAtEnd ) + { + currentEdge_ = 0; + return; + } + } + + template < class TMesh > + bool + CommonFaceBase__< TMesh >::IteratorBase__::operator==( + const CommonFaceBase__< TMesh >::IteratorBase__& rhs) const + { + assert( startingEdge_ == rhs.startingEdge_ ); + return currentEdge_ == rhs.currentEdge_; + } + + template < class TMesh > + bool + CommonFaceBase__< TMesh >::IteratorBase__::operator!=( + const CommonFaceBase__< TMesh >::IteratorBase__& rhs) const + { + return ! ( *this == rhs ); + } + + + template < class TMesh > + typename CommonFaceBase__< TMesh >::IteratorBase__& + CommonFaceBase__< TMesh >::IteratorBase__::operator++() { currentEdge_ = currentEdge_->getNextEdge(); if (currentEdge_ == startingEdge_) { currentEdge_ = 0; - break; } - } while (currentEdge_->getOppositeEdge() == 0); - return *this; -} + return *this; + } -template < class T > -inline -Face::Iterator__& -Face::Iterator__::operator++() -{ - currentEdge_ = currentEdge_->getNextEdge(); - if (currentEdge_ == startingEdge_) + template < class TMesh > + const typename TMesh::HalfEdge* + CommonFaceBase__< TMesh >::IteratorBase__::getCurrentHalfEdge() const { - currentEdge_ = 0; + return currentEdge_; } - return *this; -} -template <> -inline -Face::Iterator__::Iterator__(const HalfEdge* startingEdge, bool end) - : startingEdge_(startingEdge), currentEdge_(startingEdge) -{ - if (end) + template < class TMesh > + CommonFaceBase__< TMesh >::ConstFaceIterator::ConstFaceIterator( + const typename TMesh::HalfEdge& halfedge, + enum WhereToStart whereToStart) + : CommonFaceBase__< TMesh >::IteratorBase__( halfedge, whereToStart ) { - currentEdge_ = 0; - return; + if ( this->getCurrentHalfEdge() != 0 ) + { + if ( this->getCurrentHalfEdge()->getOppositeEdge() == 0 ) + ++(*this); + } } - if (getCurrentEdge().getOppositeEdge() == 0) - ++(*this); -} -template < class T > -inline -Face::Iterator__::Iterator__(const HalfEdge* startingEdge, bool end) - : startingEdge_(startingEdge), currentEdge_(startingEdge) -{ - if (end) + template < class TMesh > + typename CommonFaceBase__< TMesh >::ConstFaceIterator& + CommonFaceBase__< TMesh >::ConstFaceIterator::operator++() { - currentEdge_ = 0; - return; + do + { + CommonFaceBase__< TMesh >::IteratorBase__::operator++(); + } while ( this->getCurrentHalfEdge() != 0 + && this->getCurrentHalfEdge()->getOppositeEdge() == 0 ); } -} -template < class T > -inline -Face::Iterator__::Iterator__(const Face::Iterator__& copy) - : startingEdge_(copy.startingEdge_), currentEdge_(copy.currentEdge_) -{} - -template < class T > -inline -bool -Face::Iterator__::operator==( - const Face::Iterator__& rhs) const -{ - assert( startingEdge_ == rhs.startingEdge_ ); - return currentEdge_ == rhs.currentEdge_; -} + template < class TMesh > + const typename TMesh::Face& + CommonFaceBase__< TMesh >::ConstFaceIterator::operator*() const + { + assert( this->getCurrentHalfEdge() != 0 + && this->getCurrentHalfEdge()->getOppositeEdge() != 0); + return this->getCurrentHalfEdge()->getOppositeEdge()->getFace(); + } -template < class T > -inline -bool -Face::Iterator__::operator!=( - const Face::Iterator__& rhs) const -{ - return ! ( *this == rhs ); -} + template < class TMesh > + const typename TMesh::Face* + CommonFaceBase__< TMesh >::ConstFaceIterator::operator->() const + { + assert( this->getCurrentHalfEdge() != 0 + && this->getCurrentHalfEdge()->getOppositeEdge() != 0); + return &(this->getCurrentHalfEdge()->getOppositeEdge()->getFace()); + } -template <> -inline -const Vertex& -Face::Iterator__< Vertex >::operator*() const -{ - return getCurrentEdge().getStartVertex(); -} + template < class TMesh > + CommonFaceBase__< TMesh >::ConstVertexIterator::ConstVertexIterator( + const typename TMesh::HalfEdge& halfedge, + enum WhereToStart whereToStart) + : CommonFaceBase__< TMesh >::IteratorBase__( halfedge, whereToStart ) + {} -template <> -inline -const HalfEdge& -Face::Iterator__< HalfEdge >::operator*() const -{ - return getCurrentEdge(); -} + template < class TMesh > + const typename TMesh::Vertex& + CommonFaceBase__< TMesh >::ConstVertexIterator::operator*() const + { + assert( this->getCurrentHalfEdge() != 0 ); + return this->getCurrentHalfEdge()->getStartVertex(); + } -template <> -inline -const Face& -Face::Iterator__< Face >::operator*() const -{ - return getCurrentEdge().getOppositeEdge()->getFace(); -} + template < class TMesh > + const typename TMesh::Vertex* + CommonFaceBase__< TMesh >::ConstVertexIterator::operator->() const + { + assert( this->getCurrentHalfEdge() != 0 ); + &(this->getCurrentHalfEdge()->getStartVertex()); + } -template < class T > -inline -const T* -Face::Iterator__< T >::operator->() const -{ - return &(Face::Iterator__< T >::operator*( *this )); -} + template < class TMesh > + CommonFaceBase__< TMesh >::ConstEdgeIterator::ConstEdgeIterator( + const typename TMesh::HalfEdge& halfedge, + enum WhereToStart whereToStart) + : CommonFaceBase__< TMesh >::IteratorBase__( halfedge, whereToStart ) + {} -template < class T > -inline -const HalfEdge& -Face::Iterator__::getCurrentEdge() const -{ - return *currentEdge_; -} + template < class TMesh > + const typename TMesh::HalfEdge& + CommonFaceBase__< TMesh >::ConstEdgeIterator::operator*() const + { + assert( this->getCurrentHalfEdge() != 0 ); + return *(this->getCurrentHalfEdge()); + } + template < class TMesh > + const typename TMesh::HalfEdge* + CommonFaceBase__< TMesh >::ConstEdgeIterator::operator->() const + { + assert( this->getCurrentHalfEdge() != 0 ); + return this->getCurrentHalfEdge(); + } + + template < class TMesh > + typename CommonFaceBase__< TMesh >::ConstEdgeIterator + CommonFaceBase__< TMesh >::begin_e() const + { + return ConstEdgeIterator( halfedge_, StartAtBeginning ); + } + + template < class TMesh > + typename CommonFaceBase__< TMesh >::ConstEdgeIterator + CommonFaceBase__< TMesh >::end_e() const + { + return ConstEdgeIterator( halfedge_, StartAtEnd ); + } + + template < class TMesh > + typename CommonFaceBase__< TMesh >::ConstFaceIterator + CommonFaceBase__< TMesh >::begin_f() const + { + return ConstFaceIterator( halfedge_, StartAtBeginning ); + } + + template < class TMesh > + typename CommonFaceBase__< TMesh >::ConstFaceIterator + CommonFaceBase__< TMesh >::end_f() const + { + return ConstFaceIterator( halfedge_, StartAtEnd ); + } + + template < class TMesh > + typename CommonFaceBase__< TMesh >::ConstVertexIterator + CommonFaceBase__< TMesh >::begin_v() const + { + return ConstVertexIterator( halfedge_, StartAtBeginning ); + } + + template < class TMesh > + typename CommonFaceBase__< TMesh >::ConstVertexIterator + CommonFaceBase__< TMesh >::end_v() const + { + return ConstVertexIterator( halfedge_, StartAtEnd ); + } + + template < class TMesh > + unsigned int + CommonFaceBase__< TMesh >::getLocalEdgeId( + const typename TMesh::Prop::HalfEdge& edge ) const + { + unsigned int i = 0; + CommonFaceBase__< TMesh >::ConstEdgeIterator edgeIt = begin_e(); + assert( edgeIt != end_e() ); + + while ( *edgeIt != edge && ++edgeIt != end_e() ) + { + ++i; + } + + assert( edgeIt != end_e() ); + return i; + } + + template < class TMesh > + geoid_t + RFace< TMesh >::getId() const + { + return id_; + } + + template < class TMesh > + FaceVertexCache< TMesh >::FaceVertexCache() + : face_(0), + vertices_( std::vector< const typename TMesh::Vertex* >( + TMesh::Prop::maximumNumberOfEdgesPerFace ) ) + { + } + + template < class TMesh > + const typename TMesh::Vertex& + FaceVertexCache< TMesh >::Get( const typename TMesh::Face* face, + unsigned int id ) + { + FaceVertexCache& cache = + generic::Singleton< FaceVertexCache< TMesh > >::Get(); + + if ( cache.face_ != face ) + { + cache.face_ = face; + unsigned int i = 0; + + for ( typename TMesh::Face::ConstVertexIterator vertex = face->begin_v(); + vertex != face->end_v(); ++vertex ) + { + cache.vertices_[ i ] = &(*vertex); + ++i; + } + } + + return *(cache.vertices_[ id ]); + } } #endif diff --git a/src/bem3d/src/boundary_mesh/FlexibleMesh.cpp b/src/bem3d/src/boundary_mesh/FlexibleMesh.cpp new file mode 100644 index 0000000..4e4798b --- /dev/null +++ b/src/bem3d/src/boundary_mesh/FlexibleMesh.cpp @@ -0,0 +1,2 @@ +#include "FlexibleMesh.hpp" + diff --git a/src/bem3d/src/boundary_mesh/FlexibleMesh.hpp b/src/bem3d/src/boundary_mesh/FlexibleMesh.hpp new file mode 100644 index 0000000..4f7ff53 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/FlexibleMesh.hpp @@ -0,0 +1,55 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FLEXIBLEMESH_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FLEXIBLEMESH_HPP_GUARD_ + +#include "FaceDispatch.hpp" +#include "Face.hpp" +#include "HalfEdge.hpp" +#include "Vertex.hpp" +#include "Mesh.hpp" + +#include "../generic/TypeList.hpp" + +#include "face/Triangle_tmpl.hpp" +#include "face/Parallelogram_tmpl.hpp" + +#include "algorithm/HandleObj.hpp" +#include "algorithm/RefineUniformly.hpp" + +namespace boundary_mesh +{ + template < class TMesh > + struct FlexibleMeshProps + { + typedef UnlinkedVertex UVertex; + typedef VertexT< TMesh > Vertex; + typedef HalfEdgeT< TMesh > HalfEdge; + typedef RFace< TMesh >* IntFace; + typedef RFace< TMesh > Face; + + typedef face::RTriangle< TMesh > Triangle; + typedef face::RParallelogram< TMesh > Parallelogram; + typedef Parallelogram ConvexQuadrilateral; + typedef Parallelogram Quadrilateral; + + typedef HILBERT3D_TYPELIST_2( Triangle, Parallelogram ) FaceTypes; + + static const unsigned int maximumNumberOfEdgesPerFace = 4; + static const unsigned int maximumNumberOfHangingNodes = 1; + }; + + template < class TMesh > + struct FlexibleMeshAlgorithms + { + static TMesh (*loadFromObj)( const char* ); + static void (*saveAsObj)( const TMesh&, const char* ); + static TMesh (*refineUniformly)( const TMesh& ); + }; + + template class Mesh< FlexibleMeshProps, FlexibleMeshAlgorithms >; + typedef Mesh< FlexibleMeshProps, FlexibleMeshAlgorithms > FlexibleMesh; +} + +#include "FlexibleMesh_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/FlexibleMesh_tmpl.cpp b/src/bem3d/src/boundary_mesh/FlexibleMesh_tmpl.cpp new file mode 100644 index 0000000..56aff7f --- /dev/null +++ b/src/bem3d/src/boundary_mesh/FlexibleMesh_tmpl.cpp @@ -0,0 +1,23 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FLEXIBLEMESH_TMPL_CPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FLEXIBLEMESH_TMPL_CPP_GUARD_ + +#include "FlexibleMesh.hpp" +#include "FaceDispatch.hpp" + +namespace boundary_mesh +{ + template < class TMesh > + TMesh (* FlexibleMeshAlgorithms< TMesh >::loadFromObj)(const char*) + = &(algorithm::loadFromObj< TMesh >); + + template < class TMesh > + void (* FlexibleMeshAlgorithms< TMesh >::saveAsObj)(const TMesh&, const char*) + = &(algorithm::saveAsObj< TMesh >); + + template < class TMesh > + TMesh (* FlexibleMeshAlgorithms< TMesh >::refineUniformly)(const TMesh& ) + = &(algorithm::refineUniformly< TMesh >); +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/HalfEdge.cpp b/src/bem3d/src/boundary_mesh/HalfEdge.cpp deleted file mode 100644 index e7c95a3..0000000 --- a/src/bem3d/src/boundary_mesh/HalfEdge.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include "HalfEdge.hpp" - -namespace boundary_mesh { -unsigned int HalfEdge::getNumberOfHangingNodes() const -{ - if (hanging_ == 0) - { - return 0; - } - else - { - HalfEdge* hanging = hanging_; - unsigned int hangingNodes = 0; - while ( (hanging = hanging->hanging_) != 0 ) - ++hangingNodes; - return hangingNodes; - } -} - -bool -HalfEdge::operator<(const HalfEdge& rhs) const -{ - const Vertex* my_min = start_; - const Vertex* my_max = end_; - const Vertex* rhs_min = rhs.start_; - const Vertex* rhs_max = rhs.end_; - - if ( my_min > my_max ) - { - my_min = end_; - my_max = start_; - } - - if ( rhs_min > rhs_max ) - { - rhs_min = rhs.end_; - rhs_max = rhs.start_; - } - - return ( my_min < rhs_min || ( my_min == rhs_min && my_max <= rhs_max ) ); -} - -bool -HalfEdge::oppositeEdgeCheck(const HalfEdge& rhs) const -{ - const Vertex* my_min = start_; - const Vertex* my_max = end_; - const Vertex* rhs_min = rhs.start_; - const Vertex* rhs_max = rhs.end_; - - if ( my_min > my_max ) - { - my_min = end_; - my_max = start_; - } - - if ( rhs_min > rhs_max ) - { - rhs_min = rhs.end_; - rhs_max = rhs.start_; - } - - return ( my_min == rhs_min && my_max == rhs_max ); -} - -bool -halfedge_p_comparator_lt_minmax_vertex( - const HalfEdge* lhs, const HalfEdge* rhs) -{ - if ( lhs == 0 ) - return lhs != rhs; - else if ( rhs == 0 ) - return false; - else - return *lhs < *rhs; -} - -bool -halfedge_p_comparator_lt_lexical_vertex( - const HalfEdge* lhs, const HalfEdge* rhs) -{ - return ( &(lhs->getStartVertex()) < &(rhs->getStartVertex()) || - ( &(lhs->getStartVertex()) == &(rhs->getStartVertex()) - && &(lhs->getEndVertex()) < &(rhs->getEndVertex()) ) ); -} -} - diff --git a/src/bem3d/src/boundary_mesh/HalfEdge.hpp b/src/bem3d/src/boundary_mesh/HalfEdge.hpp index b9a5d9f..6d3193b 100644 --- a/src/bem3d/src/boundary_mesh/HalfEdge.hpp +++ b/src/bem3d/src/boundary_mesh/HalfEdge.hpp @@ -1,73 +1,98 @@ -#ifndef MESH_HALFEDGE_HPP_GUARD_ -#define MESH_HALFEDGE_HPP_GUARD_ +#ifndef HILBERT3D_BOUNDARY_MESH_HALFEDGE_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_HALFEDGE_HPP_GUARD_ + +/** + * @file HalfEdge.hpp + * @brief Declares a half-edge data structure. + * + * Half-edges contain the information about the geometry of the boundary mesh, + * basically all information except for the coordinates of the vertices. + */ namespace boundary_mesh { - class Face; - class HalfEdge; - class Vertex; - - class HalfEdge + /** + * HalfEdgeT is a class template, which implements a half-edge data + * structure. The template parameter must be a class, which declares at + * least the class-local data types Face, HalfEdge and Vertex. This class + * does not make any assumptions on the Face and the Vertex type. The + * type TMesh::HalfEdge must however be equal to the HalfEdgeT< TMesh > + * type when TMesh is the template parameter passed to HalfEdgeT. + * + * TODO: Do not use the Mesh class as a friend class. Create a + * HalfEdgeBuilder class instead. This also requires some changes in the + * Mesh class. + */ + template < class TMesh > + class HalfEdgeT { - template < class T > friend class Mesh; + template < template class TProp, + template class TAlg > friend class Mesh; public: - HalfEdge(const Vertex& start, const Vertex& end, const Face& face) - : start_(&start), end_(&end), face_(&face), - pair_(0), prev_(0), next_(0), hanging_(0) - {} - - const Vertex& getStartVertex() const + const typename TMesh::Vertex& getStartVertex() const { return *start_; } - const Vertex& getEndVertex() const + const typename TMesh::Vertex& getEndVertex() const { return *end_; } - const Face& getFace() const - { return *face_; } - const HalfEdge* getOppositeEdge() const + const typename TMesh::Face& getFace() const + { assert( face_ != 0 ); return *face_; } + const typename TMesh::HalfEdge* getOppositeEdge() const { return pair_; } - const HalfEdge* getHangingEdge() const + const typename TMesh::HalfEdge* getHangingEdge() const { return hanging_; } - const HalfEdge* getPreviousEdge() const + const typename TMesh::HalfEdge* getPreviousEdge() const { return prev_; } - const HalfEdge* getNextEdge() const + const typename TMesh::HalfEdge* getNextEdge() const { return next_; } unsigned int getNumberOfHangingNodes() const; - bool operator<(const HalfEdge& halfedge) const; - bool oppositeEdgeCheck(const HalfEdge& halfedge) const; + bool operator<(const typename TMesh::HalfEdge& halfedge) const; + bool oppositeEdgeCheck(const typename TMesh::HalfEdge& halfedge) const; + + static bool compLtMinmaxVertex( + const typename TMesh::HalfEdge* lhs, + const typename TMesh::HalfEdge* rhs); + static bool compLtLexicalVertex( + const typename TMesh::HalfEdge* lhs, + const typename TMesh::HalfEdge* rhs); private: - HalfEdge(); - HalfEdge* getOppositeEdge() + HalfEdgeT(const typename TMesh::Vertex& start, + const typename TMesh::Vertex& end) + : start_(&start), end_(&end), face_(0), + pair_(0), prev_(0), next_(0), hanging_(0) + {} + + HalfEdgeT(); + typename TMesh::HalfEdge* getOppositeEdge() { return pair_; } - HalfEdge* getPreviousEdge() + typename TMesh::HalfEdge* getPreviousEdge() { return prev_; } - HalfEdge* getNextEdge() + typename TMesh::HalfEdge* getNextEdge() { return next_; } - HalfEdge* getHangingEdge() + typename TMesh::HalfEdge* getHangingEdge() { return hanging_; } - void setOppositeEdge(HalfEdge* oppositeEdge) + void setFace(typename TMesh::Face& face) + { face_ = &face; } + void setOppositeEdge(typename TMesh::HalfEdge* oppositeEdge) { pair_ = oppositeEdge; } - void setPreviousEdge(HalfEdge* prevEdge) + void setPreviousEdge(typename TMesh::HalfEdge* prevEdge) { prev_ = prevEdge; } - void setNextEdge(HalfEdge* nextEdge) + void setNextEdge(typename TMesh::HalfEdge* nextEdge) { next_ = nextEdge; } - void setHangingEdge(HalfEdge* hangingEdge) + void setHangingEdge(typename TMesh::HalfEdge* hangingEdge) { hanging_ = hangingEdge; } - const Vertex* start_; - const Vertex* end_; - const Face* face_; - HalfEdge* pair_; - HalfEdge* prev_; - HalfEdge* next_; - HalfEdge* hanging_; + const typename TMesh::Vertex* start_; + const typename TMesh::Vertex* end_; + const typename TMesh::Face* face_; + typename TMesh::HalfEdge* pair_; + typename TMesh::HalfEdge* prev_; + typename TMesh::HalfEdge* next_; + typename TMesh::HalfEdge* hanging_; }; - - bool halfedge_p_comparator_lt_minmax_vertex( - const HalfEdge* lhs, const HalfEdge* rhs); - bool halfedge_p_comparator_lt_lexical_vertex( - const HalfEdge* lhs, const HalfEdge* rhs); } +#include "HalfEdge_tmpl.cpp" + #endif diff --git a/src/bem3d/src/boundary_mesh/HalfEdge_tmpl.cpp b/src/bem3d/src/boundary_mesh/HalfEdge_tmpl.cpp new file mode 100644 index 0000000..f62a197 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/HalfEdge_tmpl.cpp @@ -0,0 +1,99 @@ +#include "HalfEdge.hpp" + +namespace boundary_mesh { +template < class TMesh > +unsigned int HalfEdgeT< TMesh >::getNumberOfHangingNodes() const +{ + if (hanging_ == 0) + { + return 0; + } + else + { + typename TMesh::HalfEdge* hanging = hanging_; + unsigned int hangingNodes = 0; + while ( (hanging = hanging->hanging_) != 0 ) + ++hangingNodes; + return hangingNodes; + } +} + +template < class TMesh > +bool +HalfEdgeT< TMesh >::operator<(const typename TMesh::HalfEdge& rhs) const +{ + const typename TMesh::Vertex* my_min = start_; + const typename TMesh::Vertex* my_max = end_; + const typename TMesh::Vertex* rhs_min = rhs.start_; + const typename TMesh::Vertex* rhs_max = rhs.end_; + + if ( my_min > my_max ) + { + my_min = end_; + my_max = start_; + } + + if ( rhs_min > rhs_max ) + { + rhs_min = rhs.end_; + rhs_max = rhs.start_; + } + + return ( my_min < rhs_min || ( my_min == rhs_min && my_max <= rhs_max ) ); +} + +template < class TMesh > +bool +HalfEdgeT< TMesh >::oppositeEdgeCheck(const typename TMesh::HalfEdge& rhs) const +{ + const typename TMesh::Vertex* my_min = start_; + const typename TMesh::Vertex* my_max = end_; + const typename TMesh::Vertex* rhs_min = rhs.start_; + const typename TMesh::Vertex* rhs_max = rhs.end_; + + if ( my_min > my_max ) + { + my_min = end_; + my_max = start_; + } + + if ( rhs_min > rhs_max ) + { + rhs_min = (rhs.end_); + rhs_max = (rhs.start_); + } + + return ( my_min == rhs_min && my_max == rhs_max ); +} + +template < class TMesh > +bool +HalfEdgeT< TMesh >::compLtMinmaxVertex( + const typename TMesh::HalfEdge* lhs, + const typename TMesh::HalfEdge* rhs) +{ + if ( lhs == 0 ) + return lhs != rhs; + else if ( rhs == 0 ) + return false; + else + return *lhs < *rhs; +} + +template < class TMesh > +bool +HalfEdgeT::compLtLexicalVertex( + const typename TMesh::HalfEdge* lhs, + const typename TMesh::HalfEdge* rhs) +{ + if ( lhs == 0 ) + return lhs != rhs; + else if ( rhs == 0) + return false; + else + return ( &(lhs->getStartVertex()) < &(rhs->getStartVertex()) || + ( &(lhs->getStartVertex()) == &(rhs->getStartVertex()) + && &(lhs->getEndVertex()) < &(rhs->getEndVertex()) ) ); +} +} + diff --git a/src/bem3d/src/boundary_mesh/Makefile b/src/bem3d/src/boundary_mesh/Makefile new file mode 100644 index 0000000..1011ccb --- /dev/null +++ b/src/bem3d/src/boundary_mesh/Makefile @@ -0,0 +1,711 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# src/boundary_mesh/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + + +pkgdatadir = $(datadir)/hilbert3d +pkgincludedir = $(includedir)/hilbert3d +pkglibdir = $(libdir)/hilbert3d +pkglibexecdir = $(libexecdir)/hilbert3d +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = testhilbertmesh$(EXEEXT) +subdir = src/boundary_mesh +DIST_COMMON = $(libhilbert_mesh_a_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(testhilbertmesh_HEADERS) +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_blas.m4 \ + $(top_srcdir)/m4/ax_boost_base.m4 \ + $(top_srcdir)/m4/ax_boost_regex.m4 $(top_srcdir)/m4/ax_hlib.m4 \ + $(top_srcdir)/m4/ax_lapack.m4 \ + $(top_srcdir)/m4/ax_prog_doxygen.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(libhilbert_mesh_adir)" \ + "$(DESTDIR)$(testhilbertmeshdir)" +LIBRARIES = $(lib_LIBRARIES) +AR = ar +ARFLAGS = cru +libhilbert_mesh_a_AR = $(AR) $(ARFLAGS) +libhilbert_mesh_a_LIBADD = +am_libhilbert_mesh_a_OBJECTS = \ + libhilbert_mesh_a-CouldNotDispatchCall.$(OBJEXT) \ + libhilbert_mesh_a-DispatchIdNotSet.$(OBJEXT) \ + libhilbert_mesh_a-GenericVector.$(OBJEXT) \ + libhilbert_mesh_a-FlexibleMesh.$(OBJEXT) +libhilbert_mesh_a_OBJECTS = $(am_libhilbert_mesh_a_OBJECTS) +PROGRAMS = $(bin_PROGRAMS) +am_testhilbertmesh_OBJECTS = t.$(OBJEXT) +testhilbertmesh_OBJECTS = $(am_testhilbertmesh_OBJECTS) +am__DEPENDENCIES_1 = +testhilbertmesh_DEPENDENCIES = $(am__DEPENDENCIES_1) libhilbert-mesh.a +DEFAULT_INCLUDES = -I. -I$(top_builddir)/src +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ +SOURCES = $(libhilbert_mesh_a_SOURCES) $(testhilbertmesh_SOURCES) +DIST_SOURCES = $(libhilbert_mesh_a_SOURCES) $(testhilbertmesh_SOURCES) +HEADERS = $(libhilbert_mesh_a_HEADERS) $(testhilbertmesh_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run aclocal-1.11 +AMTAR = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run tar +AUTOCONF = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoconf +AUTOHEADER = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoheader +AUTOMAKE = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run automake-1.11 +AWK = mawk +BLAS_LIBS = -lblas +BOOST_CPPFLAGS = -I/usr/include +BOOST_LDFLAGS = -L/usr/lib +BOOST_REGEX_LIB = -lboost_regex-mt +BOOST_ROOT_PATH = /usr +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN_PAPER_SIZE = +DX_CONFIG = Doxyfile +DX_DOCDIR = docs/doxygen +DX_DOT = +DX_DOXYGEN = +DX_DVIPS = +DX_EGREP = +DX_ENV = SRCDIR='.' PROJECT='Hilbert 3D' DOCDIR='docs/doxygen' VERSION='0.1.0' HAVE_DOT='NO' GENERATE_MAN='NO' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='NO' GENERATE_LATEX='NO' +DX_FLAG_chi = 0 +DX_FLAG_chm = 0 +DX_FLAG_doc = 0 +DX_FLAG_dot = 0 +DX_FLAG_html = 0 +DX_FLAG_man = 0 +DX_FLAG_pdf = 0 +DX_FLAG_ps = 0 +DX_FLAG_rtf = 0 +DX_FLAG_xml = 0 +DX_HHC = +DX_LATEX = +DX_MAKEINDEX = +DX_PDFLATEX = +DX_PERL = /usr/bin/perl +DX_PROJECT = Hilbert 3D +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FLIBS = -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu -lgfortran -lm +GREP = /bin/grep +HLIB_CPPFLAGS = -I/usr/local/include +HLIB_LDFLAGS = -L/usr/local/lib +HLIB_LIB = -lhmatrix +HLIB_ROOT_PATH = /usr/local +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LAPACK_LIBS = -llapack +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +OBJEXT = o +PACKAGE = hilbert3d +PACKAGE_BUGREPORT = markus.mayr@tuwien.ac.at +PACKAGE_NAME = Hilbert 3D +PACKAGE_STRING = Hilbert 3D 0.1.0 +PACKAGE_TARNAME = hilbert3d +PACKAGE_URL = http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git +PACKAGE_VERSION = 0.1.0 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/bash +STRIP = +VERSION = 0.1.0 +abs_builddir = /home/treecity/workspace/bacc/src/bem3d/src/boundary_mesh +abs_srcdir = /home/treecity/workspace/bacc/src/bem3d/src/boundary_mesh +abs_top_builddir = /home/treecity/workspace/bacc/src/bem3d +abs_top_srcdir = /home/treecity/workspace/bacc/src/bem3d +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host_alias = +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +lib_LIBRARIES = libhilbert-mesh.a +libhilbert_mesh_adir = . +libhilbert_mesh_a_SOURCES = \ + exception/CouldNotDispatchCall.cpp exception/DispatchIdNotSet.cpp \ + ../generic/GenericVector.cpp FlexibleMesh.cpp + +libhilbert_mesh_a_HEADERS = \ + Face.hpp Face.cpp FaceDispatch.hpp FaceDispatch_tmpl.cpp FlexibleMesh.hpp \ + FlexibleMesh_tmpl.cpp HalfEdge.hpp HalfEdge_tmpl.cpp MeshBuilder.hpp \ + MeshBuilder_tmpl.cpp Mesh.hpp Mesh.cpp types.hpp Vertex.hpp Vertex_tmpl.cpp \ + algorithm/HandleObj.hpp algorithm/HandleObj_tmpl.cpp \ + algorithm/RefineUniformly.hpp algorithm/RefineUniformly_tmpl.cpp \ + exception/CouldNotDispatchCall.hpp exception/DispatchIdNotSet.hpp \ + exception/NoMatchingFaceType.hpp exception/NoMatchingFaceType_tmpl.cpp \ + face/ConvexQuadrilateral.hpp face/ConvexQuadrilateral_tmpl.cpp \ + face/Parallelogram.hpp face/Parallelogram_tmpl.cpp \ + face/Quadrilateral.hpp face/Quadrilateral_tmpl.cpp \ + face/Triangle.hpp face/Triangle_tmpl.cpp \ + ../generic/BaseTypes.hpp ../generic/TypeList.hpp \ + ../generic/Singleton.hpp ../generic/Singleton_tmpl.cpp \ + ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp + +libhilbert_mesh_a_CPPFLAGS = $(CPPFLAGS) +testhilbertmeshdir = . +testhilbertmesh_SOURCES = t.cpp +testhilbertmesh_HEADERS = \ + Face.hpp HalfEdge.hpp FlexibleMesh.hpp Mesh.hpp Vertex.hpp \ + ../generic/GenericVector.hpp exception/DispatchIdNotSet.hpp \ + exception/NoMatchingFaceType.hpp exception/CouldNotDispatchCall.hpp \ + algorithm/HandleObj.hpp algorithm/RefineUniformly.hpp + +testhilbertmesh_LDADD = $(BOOST_REGEX_LIB) libhilbert-mesh.a +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/boundary_mesh/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/boundary_mesh/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-libLIBRARIES: $(lib_LIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } + @$(POST_INSTALL) + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + if test -f $$p; then \ + $(am__strip_dir) \ + echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ + ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ + else :; fi; \ + done + +uninstall-libLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ + cd "$(DESTDIR)$(libdir)" && rm -f $$files + +clean-libLIBRARIES: + -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) +libhilbert-mesh.a: $(libhilbert_mesh_a_OBJECTS) $(libhilbert_mesh_a_DEPENDENCIES) + -rm -f libhilbert-mesh.a + $(libhilbert_mesh_a_AR) libhilbert-mesh.a $(libhilbert_mesh_a_OBJECTS) $(libhilbert_mesh_a_LIBADD) + $(RANLIB) libhilbert-mesh.a +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +testhilbertmesh$(EXEEXT): $(testhilbertmesh_OBJECTS) $(testhilbertmesh_DEPENDENCIES) + @rm -f testhilbertmesh$(EXEEXT) + $(CXXLINK) $(testhilbertmesh_OBJECTS) $(testhilbertmesh_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Po +include ./$(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Po +include ./$(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Po +include ./$(DEPDIR)/libhilbert_mesh_a-GenericVector.Po +include ./$(DEPDIR)/t.Po + +.cpp.o: + $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +libhilbert_mesh_a-CouldNotDispatchCall.o: exception/CouldNotDispatchCall.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-CouldNotDispatchCall.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo -c -o libhilbert_mesh_a-CouldNotDispatchCall.o `test -f 'exception/CouldNotDispatchCall.cpp' || echo '$(srcdir)/'`exception/CouldNotDispatchCall.cpp + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Po +# source='exception/CouldNotDispatchCall.cpp' object='libhilbert_mesh_a-CouldNotDispatchCall.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-CouldNotDispatchCall.o `test -f 'exception/CouldNotDispatchCall.cpp' || echo '$(srcdir)/'`exception/CouldNotDispatchCall.cpp + +libhilbert_mesh_a-CouldNotDispatchCall.obj: exception/CouldNotDispatchCall.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-CouldNotDispatchCall.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo -c -o libhilbert_mesh_a-CouldNotDispatchCall.obj `if test -f 'exception/CouldNotDispatchCall.cpp'; then $(CYGPATH_W) 'exception/CouldNotDispatchCall.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/CouldNotDispatchCall.cpp'; fi` + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Po +# source='exception/CouldNotDispatchCall.cpp' object='libhilbert_mesh_a-CouldNotDispatchCall.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-CouldNotDispatchCall.obj `if test -f 'exception/CouldNotDispatchCall.cpp'; then $(CYGPATH_W) 'exception/CouldNotDispatchCall.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/CouldNotDispatchCall.cpp'; fi` + +libhilbert_mesh_a-DispatchIdNotSet.o: exception/DispatchIdNotSet.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-DispatchIdNotSet.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo -c -o libhilbert_mesh_a-DispatchIdNotSet.o `test -f 'exception/DispatchIdNotSet.cpp' || echo '$(srcdir)/'`exception/DispatchIdNotSet.cpp + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Po +# source='exception/DispatchIdNotSet.cpp' object='libhilbert_mesh_a-DispatchIdNotSet.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-DispatchIdNotSet.o `test -f 'exception/DispatchIdNotSet.cpp' || echo '$(srcdir)/'`exception/DispatchIdNotSet.cpp + +libhilbert_mesh_a-DispatchIdNotSet.obj: exception/DispatchIdNotSet.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-DispatchIdNotSet.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo -c -o libhilbert_mesh_a-DispatchIdNotSet.obj `if test -f 'exception/DispatchIdNotSet.cpp'; then $(CYGPATH_W) 'exception/DispatchIdNotSet.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/DispatchIdNotSet.cpp'; fi` + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Po +# source='exception/DispatchIdNotSet.cpp' object='libhilbert_mesh_a-DispatchIdNotSet.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-DispatchIdNotSet.obj `if test -f 'exception/DispatchIdNotSet.cpp'; then $(CYGPATH_W) 'exception/DispatchIdNotSet.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/DispatchIdNotSet.cpp'; fi` + +libhilbert_mesh_a-GenericVector.o: ../generic/GenericVector.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-GenericVector.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo -c -o libhilbert_mesh_a-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo $(DEPDIR)/libhilbert_mesh_a-GenericVector.Po +# source='../generic/GenericVector.cpp' object='libhilbert_mesh_a-GenericVector.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp + +libhilbert_mesh_a-GenericVector.obj: ../generic/GenericVector.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-GenericVector.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo -c -o libhilbert_mesh_a-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo $(DEPDIR)/libhilbert_mesh_a-GenericVector.Po +# source='../generic/GenericVector.cpp' object='libhilbert_mesh_a-GenericVector.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` + +libhilbert_mesh_a-FlexibleMesh.o: FlexibleMesh.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-FlexibleMesh.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo -c -o libhilbert_mesh_a-FlexibleMesh.o `test -f 'FlexibleMesh.cpp' || echo '$(srcdir)/'`FlexibleMesh.cpp + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Po +# source='FlexibleMesh.cpp' object='libhilbert_mesh_a-FlexibleMesh.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-FlexibleMesh.o `test -f 'FlexibleMesh.cpp' || echo '$(srcdir)/'`FlexibleMesh.cpp + +libhilbert_mesh_a-FlexibleMesh.obj: FlexibleMesh.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-FlexibleMesh.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo -c -o libhilbert_mesh_a-FlexibleMesh.obj `if test -f 'FlexibleMesh.cpp'; then $(CYGPATH_W) 'FlexibleMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/FlexibleMesh.cpp'; fi` + $(am__mv) $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Po +# source='FlexibleMesh.cpp' object='libhilbert_mesh_a-FlexibleMesh.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-FlexibleMesh.obj `if test -f 'FlexibleMesh.cpp'; then $(CYGPATH_W) 'FlexibleMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/FlexibleMesh.cpp'; fi` +install-libhilbert_mesh_aHEADERS: $(libhilbert_mesh_a_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(libhilbert_mesh_adir)" || $(MKDIR_P) "$(DESTDIR)$(libhilbert_mesh_adir)" + @list='$(libhilbert_mesh_a_HEADERS)'; test -n "$(libhilbert_mesh_adir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libhilbert_mesh_adir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libhilbert_mesh_adir)" || exit $$?; \ + done + +uninstall-libhilbert_mesh_aHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(libhilbert_mesh_a_HEADERS)'; test -n "$(libhilbert_mesh_adir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(libhilbert_mesh_adir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(libhilbert_mesh_adir)" && rm -f $$files +install-testhilbertmeshHEADERS: $(testhilbertmesh_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(testhilbertmeshdir)" || $(MKDIR_P) "$(DESTDIR)$(testhilbertmeshdir)" + @list='$(testhilbertmesh_HEADERS)'; test -n "$(testhilbertmeshdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(testhilbertmeshdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(testhilbertmeshdir)" || exit $$?; \ + done + +uninstall-testhilbertmeshHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(testhilbertmesh_HEADERS)'; test -n "$(testhilbertmeshdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(testhilbertmeshdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(testhilbertmeshdir)" && rm -f $$files + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libhilbert_mesh_adir)" "$(DESTDIR)$(testhilbertmeshdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-libhilbert_mesh_aHEADERS \ + install-testhilbertmeshHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS install-libLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-libLIBRARIES \ + uninstall-libhilbert_mesh_aHEADERS \ + uninstall-testhilbertmeshHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLIBRARIES install-libhilbert_mesh_aHEADERS \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip install-testhilbertmeshHEADERS \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-libLIBRARIES \ + uninstall-libhilbert_mesh_aHEADERS \ + uninstall-testhilbertmeshHEADERS + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bem3d/src/boundary_mesh/Makefile.am b/src/bem3d/src/boundary_mesh/Makefile.am index 03eada2..247cc63 100644 --- a/src/bem3d/src/boundary_mesh/Makefile.am +++ b/src/bem3d/src/boundary_mesh/Makefile.am @@ -1,38 +1,33 @@ -bin_PROGRAMS = testhilbertmesh mesh_compare +bin_PROGRAMS = testhilbertmesh lib_LIBRARIES = libhilbert-mesh.a libhilbert_mesh_adir = . -libhilbert_mesh_a_HEADERS = \ - Face.hpp Face_tmpl.cpp HalfEdge.hpp Mesh.hpp Mesh.cpp Vertex.hpp \ - ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ - mixin/ExportingObj.hpp mixin/ExportingObj.cpp \ - mixin/LoadingObj.hpp mixin/LoadingObj.cpp \ - layer/Marker.hpp layer/Marker.cpp mixin/MeshMixin.hpp \ - mixin/RefiningAdaptivly.hpp mixin/RefiningAdaptivly.cpp \ - mixin/RefiningUniformly.hpp mixin/RefiningUniformly.cpp libhilbert_mesh_a_SOURCES = \ - Face.cpp HalfEdge.cpp Vertex.cpp \ - ../generic/GenericVector.cpp - + exception/CouldNotDispatchCall.cpp exception/DispatchIdNotSet.cpp \ + ../generic/GenericVector.cpp FlexibleMesh.cpp +libhilbert_mesh_a_HEADERS = \ + Face.hpp Face.cpp FaceDispatch.hpp FaceDispatch_tmpl.cpp FlexibleMesh.hpp \ + FlexibleMesh_tmpl.cpp HalfEdge.hpp HalfEdge_tmpl.cpp MeshBuilder.hpp \ + MeshBuilder_tmpl.cpp Mesh.hpp Mesh.cpp types.hpp Vertex.hpp Vertex_tmpl.cpp \ + algorithm/HandleObj.hpp algorithm/HandleObj_tmpl.cpp \ + algorithm/RefineUniformly.hpp algorithm/RefineUniformly_tmpl.cpp \ + exception/CouldNotDispatchCall.hpp exception/DispatchIdNotSet.hpp \ + exception/NoMatchingFaceType.hpp exception/NoMatchingFaceType_tmpl.cpp \ + face/ConvexQuadrilateral.hpp face/ConvexQuadrilateral_tmpl.cpp \ + face/Parallelogram.hpp face/Parallelogram_tmpl.cpp \ + face/Quadrilateral.hpp face/Quadrilateral_tmpl.cpp \ + face/Triangle.hpp face/Triangle_tmpl.cpp \ + ../generic/BaseTypes.hpp ../generic/TypeList.hpp \ + ../generic/Singleton.hpp ../generic/Singleton_tmpl.cpp \ + ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp +libhilbert_mesh_a_CPPFLAGS = $(CPPFLAGS) testhilbertmeshdir = . testhilbertmesh_SOURCES = t.cpp testhilbertmesh_HEADERS = \ - Face.hpp HalfEdge.hpp Mesh.hpp Mesh.cpp Vertex.hpp \ - ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ - mixin/ExportingObj.hpp mixin/ExportingObj.cpp \ - mixin/LoadingObj.hpp mixin/LoadingObj.cpp \ - layer/Marker.hpp layer/Marker.cpp mixin/MeshMixin.hpp \ - mixin/RefiningAdaptivly.hpp mixin/RefiningAdaptivly.cpp \ - mixin/RefiningUniformly.hpp mixin/RefiningUniformly.cpp + Face.hpp HalfEdge.hpp FlexibleMesh.hpp Mesh.hpp Vertex.hpp \ + ../generic/GenericVector.hpp exception/DispatchIdNotSet.hpp \ + exception/NoMatchingFaceType.hpp exception/CouldNotDispatchCall.hpp \ + algorithm/HandleObj.hpp algorithm/RefineUniformly.hpp testhilbertmesh_LDADD = $(BOOST_REGEX_LIB) libhilbert-mesh.a -mesh_comparedir = . -mesh_compare_SOURCES = mesh_compare.cpp -mesh_compare_HEADERS = \ - Face.hpp HalfEdge.hpp Mesh.hpp Mesh.cpp Vertex.hpp \ - mixin/ExportingObj.hpp mixin/ExportingObj.cpp \ - mixin/LoadingObj.hpp mixin/LoadingObj.cpp \ - mixin/Comparing.hpp mixin/Comparing.cpp -mesh_compare_LDADD = $(BOOST_REGEX_LIB) libhilbert-mesh.a - diff --git a/src/bem3d/src/boundary_mesh/Makefile.in b/src/bem3d/src/boundary_mesh/Makefile.in index b38c191..9798cb5 100644 --- a/src/bem3d/src/boundary_mesh/Makefile.in +++ b/src/bem3d/src/boundary_mesh/Makefile.in @@ -34,11 +34,10 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -bin_PROGRAMS = testhilbertmesh$(EXEEXT) mesh_compare$(EXEEXT) +bin_PROGRAMS = testhilbertmesh$(EXEEXT) subdir = src/boundary_mesh -DIST_COMMON = $(libhilbert_mesh_a_HEADERS) $(mesh_compare_HEADERS) \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(testhilbertmesh_HEADERS) +DIST_COMMON = $(libhilbert_mesh_a_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(testhilbertmesh_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_blas.m4 \ $(top_srcdir)/m4/ax_boost_base.m4 \ @@ -74,23 +73,22 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(libhilbert_mesh_adir)" \ - "$(DESTDIR)$(mesh_comparedir)" \ "$(DESTDIR)$(testhilbertmeshdir)" LIBRARIES = $(lib_LIBRARIES) AR = ar ARFLAGS = cru libhilbert_mesh_a_AR = $(AR) $(ARFLAGS) libhilbert_mesh_a_LIBADD = -am_libhilbert_mesh_a_OBJECTS = Face.$(OBJEXT) HalfEdge.$(OBJEXT) \ - Vertex.$(OBJEXT) GenericVector.$(OBJEXT) +am_libhilbert_mesh_a_OBJECTS = \ + libhilbert_mesh_a-CouldNotDispatchCall.$(OBJEXT) \ + libhilbert_mesh_a-DispatchIdNotSet.$(OBJEXT) \ + libhilbert_mesh_a-GenericVector.$(OBJEXT) \ + libhilbert_mesh_a-FlexibleMesh.$(OBJEXT) libhilbert_mesh_a_OBJECTS = $(am_libhilbert_mesh_a_OBJECTS) PROGRAMS = $(bin_PROGRAMS) -am_mesh_compare_OBJECTS = mesh_compare.$(OBJEXT) -mesh_compare_OBJECTS = $(am_mesh_compare_OBJECTS) -am__DEPENDENCIES_1 = -mesh_compare_DEPENDENCIES = $(am__DEPENDENCIES_1) libhilbert-mesh.a am_testhilbertmesh_OBJECTS = t.$(OBJEXT) testhilbertmesh_OBJECTS = $(am_testhilbertmesh_OBJECTS) +am__DEPENDENCIES_1 = testhilbertmesh_DEPENDENCIES = $(am__DEPENDENCIES_1) libhilbert-mesh.a DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src depcomp = $(SHELL) $(top_srcdir)/depcomp @@ -101,12 +99,9 @@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ -SOURCES = $(libhilbert_mesh_a_SOURCES) $(mesh_compare_SOURCES) \ - $(testhilbertmesh_SOURCES) -DIST_SOURCES = $(libhilbert_mesh_a_SOURCES) $(mesh_compare_SOURCES) \ - $(testhilbertmesh_SOURCES) -HEADERS = $(libhilbert_mesh_a_HEADERS) $(mesh_compare_HEADERS) \ - $(testhilbertmesh_HEADERS) +SOURCES = $(libhilbert_mesh_a_SOURCES) $(testhilbertmesh_SOURCES) +DIST_SOURCES = $(libhilbert_mesh_a_SOURCES) $(testhilbertmesh_SOURCES) +HEADERS = $(libhilbert_mesh_a_HEADERS) $(testhilbertmesh_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -241,40 +236,36 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LIBRARIES = libhilbert-mesh.a libhilbert_mesh_adir = . -libhilbert_mesh_a_HEADERS = \ - Face.hpp Face_tmpl.cpp HalfEdge.hpp Mesh.hpp Mesh.cpp Vertex.hpp \ - ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ - mixin/ExportingObj.hpp mixin/ExportingObj.cpp \ - mixin/LoadingObj.hpp mixin/LoadingObj.cpp \ - layer/Marker.hpp layer/Marker.cpp mixin/MeshMixin.hpp \ - mixin/RefiningAdaptivly.hpp mixin/RefiningAdaptivly.cpp \ - mixin/RefiningUniformly.hpp mixin/RefiningUniformly.cpp - libhilbert_mesh_a_SOURCES = \ - Face.cpp HalfEdge.cpp Vertex.cpp \ - ../generic/GenericVector.cpp + exception/CouldNotDispatchCall.cpp exception/DispatchIdNotSet.cpp \ + ../generic/GenericVector.cpp FlexibleMesh.cpp +libhilbert_mesh_a_HEADERS = \ + Face.hpp Face.cpp FaceDispatch.hpp FaceDispatch_tmpl.cpp FlexibleMesh.hpp \ + FlexibleMesh_tmpl.cpp HalfEdge.hpp HalfEdge_tmpl.cpp MeshBuilder.hpp \ + MeshBuilder_tmpl.cpp Mesh.hpp Mesh.cpp types.hpp Vertex.hpp Vertex_tmpl.cpp \ + algorithm/HandleObj.hpp algorithm/HandleObj_tmpl.cpp \ + algorithm/RefineUniformly.hpp algorithm/RefineUniformly_tmpl.cpp \ + exception/CouldNotDispatchCall.hpp exception/DispatchIdNotSet.hpp \ + exception/NoMatchingFaceType.hpp exception/NoMatchingFaceType_tmpl.cpp \ + face/ConvexQuadrilateral.hpp face/ConvexQuadrilateral_tmpl.cpp \ + face/Parallelogram.hpp face/Parallelogram_tmpl.cpp \ + face/Quadrilateral.hpp face/Quadrilateral_tmpl.cpp \ + face/Triangle.hpp face/Triangle_tmpl.cpp \ + ../generic/BaseTypes.hpp ../generic/TypeList.hpp \ + ../generic/Singleton.hpp ../generic/Singleton_tmpl.cpp \ + ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp + +libhilbert_mesh_a_CPPFLAGS = $(CPPFLAGS) testhilbertmeshdir = . testhilbertmesh_SOURCES = t.cpp testhilbertmesh_HEADERS = \ - Face.hpp HalfEdge.hpp Mesh.hpp Mesh.cpp Vertex.hpp \ - ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ - mixin/ExportingObj.hpp mixin/ExportingObj.cpp \ - mixin/LoadingObj.hpp mixin/LoadingObj.cpp \ - layer/Marker.hpp layer/Marker.cpp mixin/MeshMixin.hpp \ - mixin/RefiningAdaptivly.hpp mixin/RefiningAdaptivly.cpp \ - mixin/RefiningUniformly.hpp mixin/RefiningUniformly.cpp + Face.hpp HalfEdge.hpp FlexibleMesh.hpp Mesh.hpp Vertex.hpp \ + ../generic/GenericVector.hpp exception/DispatchIdNotSet.hpp \ + exception/NoMatchingFaceType.hpp exception/CouldNotDispatchCall.hpp \ + algorithm/HandleObj.hpp algorithm/RefineUniformly.hpp testhilbertmesh_LDADD = $(BOOST_REGEX_LIB) libhilbert-mesh.a -mesh_comparedir = . -mesh_compare_SOURCES = mesh_compare.cpp -mesh_compare_HEADERS = \ - Face.hpp HalfEdge.hpp Mesh.hpp Mesh.cpp Vertex.hpp \ - mixin/ExportingObj.hpp mixin/ExportingObj.cpp \ - mixin/LoadingObj.hpp mixin/LoadingObj.cpp \ - mixin/Comparing.hpp mixin/Comparing.cpp - -mesh_compare_LDADD = $(BOOST_REGEX_LIB) libhilbert-mesh.a all: all-am .SUFFIXES: @@ -382,9 +373,6 @@ uninstall-binPROGRAMS: clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -mesh_compare$(EXEEXT): $(mesh_compare_OBJECTS) $(mesh_compare_DEPENDENCIES) - @rm -f mesh_compare$(EXEEXT) - $(CXXLINK) $(mesh_compare_OBJECTS) $(mesh_compare_LDADD) $(LIBS) testhilbertmesh$(EXEEXT): $(testhilbertmesh_OBJECTS) $(testhilbertmesh_DEPENDENCIES) @rm -f testhilbertmesh$(EXEEXT) $(CXXLINK) $(testhilbertmesh_OBJECTS) $(testhilbertmesh_LDADD) $(LIBS) @@ -395,11 +383,10 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Face.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GenericVector.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HalfEdge.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vertex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mesh_compare.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhilbert_mesh_a-GenericVector.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t.Po@am__quote@ .cpp.o: @@ -416,19 +403,61 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -GenericVector.o: ../generic/GenericVector.cpp -@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT GenericVector.o -MD -MP -MF $(DEPDIR)/GenericVector.Tpo -c -o GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/GenericVector.Tpo $(DEPDIR)/GenericVector.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../generic/GenericVector.cpp' object='GenericVector.o' libtool=no @AMDEPBACKSLASH@ +libhilbert_mesh_a-CouldNotDispatchCall.o: exception/CouldNotDispatchCall.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-CouldNotDispatchCall.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo -c -o libhilbert_mesh_a-CouldNotDispatchCall.o `test -f 'exception/CouldNotDispatchCall.cpp' || echo '$(srcdir)/'`exception/CouldNotDispatchCall.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception/CouldNotDispatchCall.cpp' object='libhilbert_mesh_a-CouldNotDispatchCall.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-CouldNotDispatchCall.o `test -f 'exception/CouldNotDispatchCall.cpp' || echo '$(srcdir)/'`exception/CouldNotDispatchCall.cpp + +libhilbert_mesh_a-CouldNotDispatchCall.obj: exception/CouldNotDispatchCall.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-CouldNotDispatchCall.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo -c -o libhilbert_mesh_a-CouldNotDispatchCall.obj `if test -f 'exception/CouldNotDispatchCall.cpp'; then $(CYGPATH_W) 'exception/CouldNotDispatchCall.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/CouldNotDispatchCall.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Tpo $(DEPDIR)/libhilbert_mesh_a-CouldNotDispatchCall.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception/CouldNotDispatchCall.cpp' object='libhilbert_mesh_a-CouldNotDispatchCall.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-CouldNotDispatchCall.obj `if test -f 'exception/CouldNotDispatchCall.cpp'; then $(CYGPATH_W) 'exception/CouldNotDispatchCall.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/CouldNotDispatchCall.cpp'; fi` + +libhilbert_mesh_a-DispatchIdNotSet.o: exception/DispatchIdNotSet.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-DispatchIdNotSet.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo -c -o libhilbert_mesh_a-DispatchIdNotSet.o `test -f 'exception/DispatchIdNotSet.cpp' || echo '$(srcdir)/'`exception/DispatchIdNotSet.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception/DispatchIdNotSet.cpp' object='libhilbert_mesh_a-DispatchIdNotSet.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-DispatchIdNotSet.o `test -f 'exception/DispatchIdNotSet.cpp' || echo '$(srcdir)/'`exception/DispatchIdNotSet.cpp + +libhilbert_mesh_a-DispatchIdNotSet.obj: exception/DispatchIdNotSet.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-DispatchIdNotSet.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo -c -o libhilbert_mesh_a-DispatchIdNotSet.obj `if test -f 'exception/DispatchIdNotSet.cpp'; then $(CYGPATH_W) 'exception/DispatchIdNotSet.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/DispatchIdNotSet.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Tpo $(DEPDIR)/libhilbert_mesh_a-DispatchIdNotSet.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception/DispatchIdNotSet.cpp' object='libhilbert_mesh_a-DispatchIdNotSet.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-DispatchIdNotSet.obj `if test -f 'exception/DispatchIdNotSet.cpp'; then $(CYGPATH_W) 'exception/DispatchIdNotSet.cpp'; else $(CYGPATH_W) '$(srcdir)/exception/DispatchIdNotSet.cpp'; fi` + +libhilbert_mesh_a-GenericVector.o: ../generic/GenericVector.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-GenericVector.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo -c -o libhilbert_mesh_a-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo $(DEPDIR)/libhilbert_mesh_a-GenericVector.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../generic/GenericVector.cpp' object='libhilbert_mesh_a-GenericVector.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp + +libhilbert_mesh_a-GenericVector.obj: ../generic/GenericVector.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-GenericVector.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo -c -o libhilbert_mesh_a-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-GenericVector.Tpo $(DEPDIR)/libhilbert_mesh_a-GenericVector.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../generic/GenericVector.cpp' object='libhilbert_mesh_a-GenericVector.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` -GenericVector.obj: ../generic/GenericVector.cpp -@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT GenericVector.obj -MD -MP -MF $(DEPDIR)/GenericVector.Tpo -c -o GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` -@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/GenericVector.Tpo $(DEPDIR)/GenericVector.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../generic/GenericVector.cpp' object='GenericVector.obj' libtool=no @AMDEPBACKSLASH@ +libhilbert_mesh_a-FlexibleMesh.o: FlexibleMesh.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-FlexibleMesh.o -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo -c -o libhilbert_mesh_a-FlexibleMesh.o `test -f 'FlexibleMesh.cpp' || echo '$(srcdir)/'`FlexibleMesh.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='FlexibleMesh.cpp' object='libhilbert_mesh_a-FlexibleMesh.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-FlexibleMesh.o `test -f 'FlexibleMesh.cpp' || echo '$(srcdir)/'`FlexibleMesh.cpp + +libhilbert_mesh_a-FlexibleMesh.obj: FlexibleMesh.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_mesh_a-FlexibleMesh.obj -MD -MP -MF $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo -c -o libhilbert_mesh_a-FlexibleMesh.obj `if test -f 'FlexibleMesh.cpp'; then $(CYGPATH_W) 'FlexibleMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/FlexibleMesh.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Tpo $(DEPDIR)/libhilbert_mesh_a-FlexibleMesh.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='FlexibleMesh.cpp' object='libhilbert_mesh_a-FlexibleMesh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_mesh_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_mesh_a-FlexibleMesh.obj `if test -f 'FlexibleMesh.cpp'; then $(CYGPATH_W) 'FlexibleMesh.cpp'; else $(CYGPATH_W) '$(srcdir)/FlexibleMesh.cpp'; fi` install-libhilbert_mesh_aHEADERS: $(libhilbert_mesh_a_HEADERS) @$(NORMAL_INSTALL) test -z "$(libhilbert_mesh_adir)" || $(MKDIR_P) "$(DESTDIR)$(libhilbert_mesh_adir)" @@ -449,26 +478,6 @@ uninstall-libhilbert_mesh_aHEADERS: test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(libhilbert_mesh_adir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(libhilbert_mesh_adir)" && rm -f $$files -install-mesh_compareHEADERS: $(mesh_compare_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(mesh_comparedir)" || $(MKDIR_P) "$(DESTDIR)$(mesh_comparedir)" - @list='$(mesh_compare_HEADERS)'; test -n "$(mesh_comparedir)" || list=; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(mesh_comparedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(mesh_comparedir)" || exit $$?; \ - done - -uninstall-mesh_compareHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(mesh_compare_HEADERS)'; test -n "$(mesh_comparedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(mesh_comparedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(mesh_comparedir)" && rm -f $$files install-testhilbertmeshHEADERS: $(testhilbertmesh_HEADERS) @$(NORMAL_INSTALL) test -z "$(testhilbertmeshdir)" || $(MKDIR_P) "$(DESTDIR)$(testhilbertmeshdir)" @@ -576,7 +585,7 @@ check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libhilbert_mesh_adir)" "$(DESTDIR)$(mesh_comparedir)" "$(DESTDIR)$(testhilbertmeshdir)"; do \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libhilbert_mesh_adir)" "$(DESTDIR)$(testhilbertmeshdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -628,7 +637,7 @@ info: info-am info-am: install-data-am: install-libhilbert_mesh_aHEADERS \ - install-mesh_compareHEADERS install-testhilbertmeshHEADERS + install-testhilbertmeshHEADERS install-dvi: install-dvi-am @@ -675,7 +684,7 @@ ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-libLIBRARIES \ uninstall-libhilbert_mesh_aHEADERS \ - uninstall-mesh_compareHEADERS uninstall-testhilbertmeshHEADERS + uninstall-testhilbertmeshHEADERS .MAKE: install-am install-strip @@ -687,14 +696,14 @@ uninstall-am: uninstall-binPROGRAMS uninstall-libLIBRARIES \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLIBRARIES install-libhilbert_mesh_aHEADERS \ - install-man install-mesh_compareHEADERS install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - install-testhilbertmeshHEADERS installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ - ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-libLIBRARIES uninstall-libhilbert_mesh_aHEADERS \ - uninstall-mesh_compareHEADERS uninstall-testhilbertmeshHEADERS + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip install-testhilbertmeshHEADERS \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-libLIBRARIES \ + uninstall-libhilbert_mesh_aHEADERS \ + uninstall-testhilbertmeshHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/src/bem3d/src/boundary_mesh/Marker.hpp b/src/bem3d/src/boundary_mesh/Marker.hpp new file mode 100644 index 0000000..67fd4a1 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/Marker.hpp @@ -0,0 +1,8 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_MARKER_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_MARKER_HPP_GUARD_ + +#include "Marker_fwd.hpp" +#include "Marker_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/Marker_fwd.hpp b/src/bem3d/src/boundary_mesh/Marker_fwd.hpp new file mode 100644 index 0000000..6be62d2 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/Marker_fwd.hpp @@ -0,0 +1,144 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_MARKER_FWD_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_MARKER_FWD_HPP_GUARD_ + +#include + +namespace boundary_mesh +{ + /** + * The Marker class contains state information about a specific Mesh instance. + * It stores whether a certain edge is marked with respect to a certain face. + * This class was written for and is extensivly used within the adaptive + * refinement algorithms. There, we also provide functions to build the + * closure of a marking with respect to certain shape regularity constraints. + * + * In order to follow our design principle of objects being "immutable after + * construction", we provide the MarkerBuilder class which exposes methods + * to build or instantize a Marker instance step by step. + */ + template < class TMesh > + class Marker + { + template friend class MarkerBuilder; // MK changed this: XXX: why do i have to write typename, and not class TMesh? + + public: + /** + * @param face This is a face, which is contained within the Mesh + * instance this Marker instance was created for. + * @param edge This is a half-edge, which is contained within the Mesh + * instance this Marker instance was created for. + * + * TODO: Error handling? At the moment: + * The method fails and terminates the program if either face or edge + * are not within the Mesh instance, this Marker instance was created for, + * if compiled wihtout the NDEBUG flag. Otherwise, behaviour is undefined. + * + * @returns Whether the given half-edge is marked with respect to the + * given face. + */ + bool isMarked( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge) const; + + private: + const TMesh& mesh_; + std::vector< bool > marked_; + + /** + * @param mesh + * + * Creates and initializes a Marker instance which has enough space to + * mark any number of edges. + */ + Marker( const TMesh& mesh ); + + /** + * @param marker + * + * Creates a copy of the given Marker instance. + */ + Marker( const Marker& marker ); + + /** + * @param face This is a face, which is contained within the Mesh + * instance this Marker instance was created for. + * @param edge This is a half-edge, which is contained within the Mesh + * instance this Marker instance was created for. + * + * TODO: Error handling? At the moment: + * The method fails and terminates the program if either face or edge + * are not within the Mesh instance, this Marker instance was created for, + * if compiled wihtout the NDEBUG flag. Otherwise, behaviour is undefined. + * + * This method marks the given edge with respect to the given face. + * Subsequent class to the method isMarked with the same face and the same + * edge will return true. + */ + void mark( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge); + + /** + * @param face This is a face, which is contained within the Mesh + * instance this Marker instance was created for. + * @param edge This is a half-edge, which is contained within the Mesh + * instance this Marker instance was created for. + * + * TODO: Error handling? At the moment: + * The method fails and terminates the program if either face or edge + * are not within the Mesh instance, this Marker instance was created for, + * if compiled wihtout the NDEBUG flag. Otherwise, behaviour is undefined. + * + * @returns The index of the given face/edge combination with respect to + * the boolean vector, the marker flags are stored within. + */ + geoid_t getIndex( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge) const; + }; + + /** + * TODO: Write documentation for MarkerBuilder class. + */ + template < class TMesh > + class MarkerBuilder + { + public: + /** + * @param mesh + * + * Creates a new MeshBuilder instance with respect to the given Mesh + * instance. + */ + MarkerBuilder( const TMesh& mesh ); + + /** + * @param marker + * + * Create a new MeshBuilder instance with respect to the same Mesh + * instance the given Marker instance refers to. Also marks all the + * face/edge combinations, which are marked within the given Marker + * instance. + */ + MarkerBuilder( const Marker< TMesh >& marker ); + + /** + * @param face This is a face, which is contained within the Mesh + * instance this Marker instance was created for. + * @param edge This is a half-edge, which is contained within the Mesh + * instance this Marker instance was created for. + * + * Marks the given face/edge combination within the Marker instance. + */ + void mark( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge ); + + /** + * @returns Delivers the Marker instance that is built by this class. + */ + Marker< TMesh > deliver(); + + private: + Marker< TMesh > marker_; + }; +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/Marker_tmpl.cpp b/src/bem3d/src/boundary_mesh/Marker_tmpl.cpp new file mode 100644 index 0000000..c7e6efc --- /dev/null +++ b/src/bem3d/src/boundary_mesh/Marker_tmpl.cpp @@ -0,0 +1,72 @@ +#include "Marker_fwd.hpp" +#include + +namespace boundary_mesh +{ + template < class TMesh > + bool + Marker< TMesh >::isMarked( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge ) const + { + geoid_t idx = getIndex( face, edge ); + assert( idx < marked_.size() ); + return marked_[ idx ]; + } + + template < class TMesh > + Marker< TMesh >::Marker( const TMesh& mesh ) + : mesh_(mesh), + marked_(std::vector< bool >( mesh.getNumberOfFaces() * + TMesh::Prop::maximumNumberOfEdgesPerFace, false )) + {} + + template < class TMesh > + Marker< TMesh >::Marker( const Marker& marker ) + : mesh_(marker.mesh_), marked_(marker.marked_) + {} + + template < class TMesh > + void + Marker< TMesh >::mark( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge ) + { + geoid_t idx = getIndex( face, edge ); + assert( idx < marked_.size() ); + marked_[ idx ] = true; + } + + template < class TMesh > + geoid_t + Marker< TMesh >::getIndex( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge ) const + { + return TMesh::Prop::maximumNumberOfEdgesPerFace * mesh_.getFaceId( face ) + + face.getLocalEdgeId( edge ); + } + + template < class TMesh > + MarkerBuilder< TMesh >::MarkerBuilder( const TMesh& mesh ) + : marker_( Marker< TMesh >(mesh) ) + {} + + template < class TMesh > + MarkerBuilder< TMesh >::MarkerBuilder( const Marker< TMesh >& marker ) + : marker_( marker ) + {} + + template < class TMesh > + void + MarkerBuilder< TMesh >::mark( const typename TMesh::Face& face, + const typename TMesh::HalfEdge& edge ) + { + marker_.mark( face, edge ); + } + + template < class TMesh > + Marker< TMesh > + MarkerBuilder< TMesh >::deliver() + { + return marker_; + } +} + diff --git a/src/bem3d/src/boundary_mesh/Mesh.cpp b/src/bem3d/src/boundary_mesh/Mesh.cpp index 136cfad..4baa438 100644 --- a/src/bem3d/src/boundary_mesh/Mesh.cpp +++ b/src/bem3d/src/boundary_mesh/Mesh.cpp @@ -5,54 +5,66 @@ #include "Mesh.hpp" -#include "Face.hpp" -#include "HalfEdge.hpp" -#include "Vertex.hpp" - #include #include #include #include #include +#include "exception/NoMatchingFaceType_tmpl.hpp" + namespace boundary_mesh { -template < class Ttraits > -struct Mesh< Ttraits >::data +template < template < typename > class TProp, template < typename > class TAlg > +struct Mesh< TProp, TAlg >::data { data() - : number_of_faces(0), number_of_vertices(0), number_of_halfedges(0), + : numberOfFaces(0), numberOfVertices(0), numberOfHalfEdges(0), reference_counter(1) {} + ~data() + { + if ( boost::is_pointer< typename Mesh::IntFace >() ) + { + for (typename std::vector< typename Mesh::IntFace >::iterator + it = face.begin(); it != face.end(); ++it) + { + delete *it; + } + } + } - typename std::vector< typename traits::Vertex > vertex; - typename std::vector< typename traits::Face > face; - typename std::vector< typename traits::HalfEdge > edge; + typename std::vector< typename Mesh::Vertex > vertex; + typename std::vector< typename Mesh::IntFace > face; + typename std::vector< typename Mesh::HalfEdge > edge; - unsigned int number_of_faces; - unsigned int number_of_vertices; - unsigned int number_of_halfedges; + unsigned int numberOfFaces; + unsigned int numberOfVertices; + unsigned int numberOfHalfEdges; unsigned int reference_counter; }; -template < class Ttraits > -Mesh< Ttraits >::Mesh(const Mesh< Ttraits >& copy) +template < template < typename > class TProp, template < typename > class TAlg > +bool Mesh< TProp, TAlg >::initialized_ = false; + +template < template < typename > class TProp, template < typename > class TAlg > +Mesh< TProp, TAlg >::Mesh(const Mesh< TProp, TAlg >& copy) : d(copy.d) { ++(d->reference_counter); } -template < class Ttraits > -Mesh< Ttraits >::~Mesh() +template < template < typename > class TProp, template < typename > class TAlg > +Mesh< TProp, TAlg >::~Mesh() { if (--(d->reference_counter) <= 0) delete d; } -template < class Ttraits > -Mesh< Ttraits >& -Mesh< Ttraits >::operator=(const Mesh& rhs) +template < template < typename > class TProp, template < typename > class TAlg > +Mesh< TProp, TAlg >& +Mesh< TProp, TAlg >::operator=(const Mesh& rhs) { if (d == rhs.d) return *this; @@ -65,142 +77,233 @@ Mesh< Ttraits >::operator=(const Mesh& rhs) return *this; } -template < class Ttraits > -typename Mesh< Ttraits >::ConstFaceIterator -Mesh< Ttraits >::begin_f() const +template < template < typename > class TProp, template < typename > class TAlg > +typename Mesh< TProp, TAlg >::ConstFaceIterator +Mesh< TProp, TAlg >::begin_f() const { - return d->face.begin(); + return ConstFaceIterator( d->face.begin() ); } -template < class Ttraits > -typename Mesh< Ttraits >::ConstFaceIterator -Mesh< Ttraits >::end_f() const +template < template < typename > class TProp, template < typename > class TAlg > +typename Mesh< TProp, TAlg >::ConstFaceIterator +Mesh< TProp, TAlg >::end_f() const { - return d->face.end(); + return ConstFaceIterator( d->face.end() ); } -template < class Ttraits > -typename Mesh< Ttraits >::ConstVertexIterator -Mesh< Ttraits >::begin_v() const +template < template < typename > class TProp, template < typename > class TAlg > +typename Mesh< TProp, TAlg >::ConstVertexIterator +Mesh< TProp, TAlg >::begin_v() const { return d->vertex.begin(); } -template < class Ttraits > -typename Mesh< Ttraits >::ConstVertexIterator -Mesh< Ttraits >::end_v() const +template < template < typename > class TProp, template < typename > class TAlg > +typename Mesh< TProp, TAlg >::ConstVertexIterator +Mesh< TProp, TAlg >::end_v() const { return d->vertex.end(); } -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > unsigned int -Mesh< Ttraits >::getNumberOfFaces() const +Mesh< TProp, TAlg >::getNumberOfFaces() const { - return d->number_of_faces; + return d->numberOfFaces; } -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > unsigned int -Mesh< Ttraits >::getNumberOfEdges() const +Mesh< TProp, TAlg >::getNumberOfEdges() const { - return d->number_of_halfedges; + return d->numberOfHalfEdges; } -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > unsigned int -Mesh< Ttraits >::getNumberOfVertices() const +Mesh< TProp, TAlg >::getNumberOfVertices() const { - return d->number_of_vertices; + return d->numberOfVertices; } -template < class Ttraits > -Mesh< Ttraits >::Mesh( const Mesh< Ttraits >::Size& sizeInfo ) - : d(new Mesh< Ttraits >::data()) +template < template < typename > class TProp, template < typename > class TAlg > +Mesh< TProp, TAlg >::Mesh( const Size& sizeInfo ) + : d(new Mesh< TProp, TAlg >::data()) { - reserve( sizeInfo ); + initialize(); + d->vertex.reserve( sizeInfo.vertices ); + d->face.reserve( sizeInfo.faces ); + d->edge.reserve( sizeInfo.edges ); } -template < class Ttraits > -Mesh< Ttraits >::Mesh() - : d(new Mesh< Ttraits >::data()) -{} - -template < class Ttraits > -void -Mesh< Ttraits >::reserve(const Mesh< Ttraits >::Size& sizeInfo) -{ - d->vertex.reserve(sizeInfo.vertices); - d->face.reserve(sizeInfo.faces); - d->edge.reserve(sizeInfo.edges); -} - -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > unsigned int -Mesh< Ttraits >::addVertex(const typename Ttraits::UnlinkedVertex& v) +Mesh< TProp, TAlg >::addVertex(const typename Mesh::UVertex& v) { - assert(d->vertex.capacity() > d->number_of_vertices); + assert(d->vertex.capacity() > d->numberOfVertices); d->vertex.push_back(Vertex(v)); - return d->number_of_vertices++; + return d->numberOfVertices++; } -template < class Ttraits > -const typename Ttraits::Face& -Mesh< Ttraits >::addFace(unsigned int number_of_vertices, - unsigned int vertex_id[]) +template < template < typename > class TProp, template < typename > class TAlg > +const typename Mesh< TProp, TAlg >::Face& +Mesh< TProp, TAlg >::addFace( std::vector< geoid_t > vertexIds ) { - unsigned int NUMOF_VERTICES = number_of_vertices; - assert(NUMOF_VERTICES > 2); - unsigned int max_length_id = 0; - double max_length = 0.; - d->face.push_back(typename traits::Face()); - typename Ttraits::Face& f = d->face[d->number_of_faces]; - - for (unsigned int i = 0; i < NUMOF_VERTICES; ++i) + unsigned int numberOfVertices = vertexIds.size(); + assert( numberOfVertices >= 3 ); + std::vector< const typename Mesh::Vertex* > vertices; + vertices.reserve( vertexIds.size() ); + + // Create all half-edges and store them within the d->edge vector. + // Also determine the longest half-edge and assign a half-edge to each vertex. + Mesh::HalfEdge* longestHalfEdge = 0; + double longestHalfEdgeLength = 0.; + + for (unsigned int i = 0; i < numberOfVertices; ++i) { - typename Ttraits::UnlinkedVertex diff = - (d->vertex[vertex_id[(i+1) % NUMOF_VERTICES]] - d->vertex[vertex_id[i]]); - double length = diff.norm(); - if (length > max_length) + typename Mesh::Vertex& startVertex = d->vertex[ vertexIds[ i ] ]; + typename Mesh::Vertex& endVertex = + d->vertex[ vertexIds[ (i+1) % numberOfVertices ] ]; + vertices.push_back( &startVertex ); + + d->edge.push_back( Mesh::HalfEdge( startVertex, endVertex ) ); + typename Mesh::HalfEdge& currentHalfEdge = d->edge.back(); + double currentHalfEdgeLength = + (currentHalfEdge.getEndVertex() - + currentHalfEdge.getStartVertex()).norm(); + + if ( currentHalfEdgeLength >= longestHalfEdgeLength ) { - max_length = length; - max_length_id = i; + longestHalfEdgeLength = currentHalfEdgeLength; + longestHalfEdge = ¤tHalfEdge; } - assert(d->edge.capacity() > d->number_of_halfedges+i); - d->edge.push_back(HalfEdge(d->vertex[vertex_id[i]], - d->vertex[vertex_id[(i+1) % NUMOF_VERTICES]], f)); - d->vertex[vertex_id[i]].setHalfEdge(d->edge[d->number_of_halfedges]); + + startVertex.setHalfEdge( currentHalfEdge ); } - for (unsigned int i = 0; i < NUMOF_VERTICES; ++i) + assert(longestHalfEdge != 0); + + // Link the half-edges into a double-linked list. + for (unsigned int i = 0; i < numberOfVertices; ++i) { - d->edge[d->number_of_halfedges+i].setPreviousEdge( - &(d->edge[d->number_of_halfedges+((i-1) % NUMOF_VERTICES)])); - d->edge[d->number_of_halfedges+i].setNextEdge( - &(d->edge[d->number_of_halfedges+((i+1) % NUMOF_VERTICES)])); + d->edge[ d->numberOfHalfEdges + i ].setPreviousEdge( + &( d->edge[ d->numberOfHalfEdges + ((i-1) % numberOfVertices) ] )); + d->edge[ d->numberOfHalfEdges + i ].setNextEdge( + &( d->edge[ d->numberOfHalfEdges + ((i+1) % numberOfVertices) ] )); } - f.setHalfEdge(d->edge[d->number_of_halfedges + max_length_id]); - assert(d->face.capacity() > d->number_of_faces); + d->numberOfHalfEdges += numberOfVertices; + + // Create the face by using the mesh's face-factory which does the + // type checking magic. + // The reference edge of the face is set to the longest half-edge: + typename Mesh< TProp, TAlg >::Face& currentFace = + Mesh< TProp, TAlg >::factorizeFace< Mesh< TProp, TAlg >::FaceTypes >( + vertices, longestHalfEdge ); - d->number_of_faces += 1; - d->number_of_halfedges += NUMOF_VERTICES; + // Modify the counters for the number of faces and half-edges: + return currentFace; +} + +template < template < typename > class TProp, template < typename > class TAlg > +template < class TypeList > +typename boost::enable_if_c< + generic::typelist::Length< TypeList >::value == 0, + typename Mesh< TProp, TAlg >::Face& >::type +Mesh< TProp, TAlg >::factorizeFace( + const typename std::vector< const typename Mesh::Vertex* >& vertices, + const typename Mesh::HalfEdge* longestHalfEdge) +{ + throw exception::NoMatchingFaceType< Mesh >( + "Could not find a matching face type.", vertices); +} + +template < template < typename > class TProp, template < typename > class TAlg > +template < class TypeList > +typename boost::enable_if_c< + generic::typelist::Length< TypeList >::value >= 1, + typename Mesh< TProp, TAlg >::Face& >::type +Mesh< TProp, TAlg >::factorizeFace( + const typename std::vector< const typename Mesh::Vertex* >& vertices, + const typename Mesh::HalfEdge* longestHalfEdge) +{ + typedef typename TypeList::Head Head; + typedef typename TypeList::Tail Tail; + if ( Head::is( vertices ) == true ) + { + return factorizeFace_< Mesh< TProp, TAlg >, Head >(longestHalfEdge); + } + else + { + return factorizeFace< Tail >(vertices, longestHalfEdge); + } +} + +template < template < typename > class TProp, template < typename > class TAlg > +template < class TMesh, class TSpecificFace > +typename boost::enable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type +Mesh< TProp, TAlg >::factorizeFace_( + const typename TMesh::HalfEdge* longestHalfEdge) +{ + d->face.push_back(new TSpecificFace( *longestHalfEdge, d->numberOfFaces )); + typename TMesh::Face& f = getFaceRefById< TMesh >( d->numberOfFaces ); + ++(d->numberOfFaces); return f; } -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > +template < class TMesh, class TSpecificFace > +typename boost::disable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type +Mesh< TProp, TAlg >::factorizeFace_( + const typename TMesh::HalfEdge* longestHalfEdge) +{ + d->face.push_back(TSpecificFace( *longestHalfEdge )); + typename TMesh::Face& f = getFaceRefById< TMesh >( d->numberOfFaces ); + ++(d->numberOfFaces); + return f; +} + +template < template < typename > class TProp, template < typename > class TAlg > +template < class TMesh > +typename boost::enable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type +Mesh< TProp, TAlg >::getFaceRefById( geoid_t faceId ) + const +{ + assert( faceId < d->face.size() ); + return *(d->face[faceId]); +} + +template < template < typename > class TProp, template < typename > class TAlg > +template < class TMesh > +typename boost::disable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type +Mesh< TProp, TAlg >::getFaceRefById( geoid_t faceId ) + const +{ + assert( faceId < d->face.size() ); + return d->face[faceId]; +} + +template < template < typename > class TProp, template < typename > class TAlg > void -Mesh< Ttraits >::build_meta_data() +Mesh< TProp, TAlg >::buildMetaData( void ) { - typedef typename std::set< typename Ttraits::HalfEdge*, - bool(*)(const typename Ttraits::HalfEdge*, - const typename Ttraits::HalfEdge*) > + typedef typename std::set< typename Mesh::HalfEdge*, + bool(*)(const typename Mesh::HalfEdge*, + const typename Mesh::HalfEdge*) > custom_set; - custom_set minmax_sorted(&halfedge_p_comparator_lt_minmax_vertex); + custom_set minmax_sorted(&Mesh::HalfEdge::compLtMinmaxVertex); - for (typename std::vector< typename Ttraits::HalfEdge >::iterator + for (typename std::vector< typename Mesh::HalfEdge >::iterator edge_it = d->edge.begin(); edge_it != d->edge.end(); ++edge_it) { @@ -210,11 +313,11 @@ Mesh< Ttraits >::build_meta_data() typename custom_set::iterator edge_it = minmax_sorted.begin(); while (edge_it != minmax_sorted.end()) { - typename Ttraits::HalfEdge* current = *edge_it; + typename Mesh::HalfEdge* current = *edge_it; ++edge_it; if (edge_it == minmax_sorted.end()) break; - typename Ttraits::HalfEdge* next = *edge_it; + typename Mesh::HalfEdge* next = *edge_it; if (current->oppositeEdgeCheck(*next)) { @@ -226,7 +329,7 @@ Mesh< Ttraits >::build_meta_data() minmax_sorted.clear(); - if (traits::maximumNumberOfHangingNodes <= 0) + if (Mesh::Prop::maximumNumberOfHangingNodes <= 0) return; // Now we have built all neighbour relationships except for the ones that @@ -242,19 +345,19 @@ Mesh< Ttraits >::build_meta_data() // 4.) Clean up. // Build incidence list: - std::vector< std::list< typename Ttraits::HalfEdge* > > incidenceList; + std::vector< std::list< typename Mesh::HalfEdge* > > incidenceList; incidenceList.resize( getNumberOfVertices() ); - for (std::vector::iterator edge_it = d->edge.begin(); - edge_it != d->edge.end(); ++edge_it) + for (typename std::vector< typename Mesh::HalfEdge >::iterator + edgeIt = d->edge.begin(); edgeIt != d->edge.end(); ++edgeIt) { - incidenceList[ getVertexId(edge_it->getStartVertex()) ] - .push_back(&(*edge_it)); + incidenceList[ getVertexId(edgeIt->getStartVertex()) ] + .push_back(&(*edgeIt)); } // Link: - for (std::vector::iterator edge_it = d->edge.begin(); - edge_it != d->edge.end(); ++edge_it) + for (typename std::vector< typename Mesh::HalfEdge >::iterator + edge_it = d->edge.begin(); edge_it != d->edge.end(); ++edge_it) { if (edge_it->getOppositeEdge() != 0) continue; @@ -264,18 +367,19 @@ Mesh< Ttraits >::build_meta_data() // 2.) It starts or ends at a hanging node. // In the second case, the difference vectors of both edges are linearly // dependent. - typename Ttraits::UnlinkedVertex edge_vec = + typename Mesh::UVertex edge_vec = edge_it->getEndVertex() - edge_it->getStartVertex(); std::list< HalfEdge* > vert_inc_list = incidenceList[ getVertexId(edge_it->getEndVertex()) ]; - for (std::list< HalfEdge* >::iterator inc_edge = vert_inc_list.begin(); - inc_edge != vert_inc_list.end(); ++inc_edge) + for ( typename std::list< typename Mesh::HalfEdge* >::iterator + inc_edge = vert_inc_list.begin(); inc_edge != vert_inc_list.end(); + ++inc_edge) { if ((*inc_edge)->getOppositeEdge() != 0) continue; - typename Ttraits::UnlinkedVertex inc_edge_vec + typename Mesh::UVertex inc_edge_vec = (*inc_edge)->getEndVertex() - (*inc_edge)->getStartVertex(); if (edge_vec.isProlongation(inc_edge_vec)) @@ -287,38 +391,38 @@ Mesh< Ttraits >::build_meta_data() } // Third phase: - for (typename std::vector::iterator + for (typename std::vector::iterator edgeIt = d->edge.begin(); edgeIt != d->edge.end(); ++edgeIt) { if (edgeIt->getOppositeEdge() != 0 || edgeIt->getHangingEdge() != 0) continue; - const typename Ttraits::Vertex& startVertex = edgeIt->getStartVertex(); - const typename Ttraits::Vertex& endVertex = edgeIt->getEndVertex(); - const typename Ttraits::UnlinkedVertex edgeDiff = endVertex - startVertex; + const typename Mesh::Vertex& startVertex = edgeIt->getStartVertex(); + const typename Mesh::Vertex& endVertex = edgeIt->getEndVertex(); + const typename Mesh::UVertex edgeDiff = endVertex - startVertex; bool foundOppositeEdge = false; // Find appropiate candidates for opposite edges: - for (typename std::list< typename Ttraits::HalfEdge* >::iterator opEdgeIt = + for (typename std::list< typename Mesh::HalfEdge* >::iterator opEdgeIt = incidenceList[ getVertexId( endVertex ) ].begin(); opEdgeIt != incidenceList[ getVertexId( endVertex ) ].end(); ++opEdgeIt) { - const typename Ttraits::Vertex& opStartVertex = + const typename Mesh::Vertex& opStartVertex = (*opEdgeIt)->getStartVertex(); - const typename Ttraits::UnlinkedVertex opEdgeDiff = + const typename Mesh::UVertex opEdgeDiff = opStartVertex - (*opEdgeIt)->getEndVertex(); if ( opEdgeDiff.isProlongation( edgeDiff ) == false ) continue; unsigned int hangingEdgeIterations = 0; - typename Ttraits::HalfEdge* first = *opEdgeIt; - typename Ttraits::HalfEdge* next = first; + typename Mesh::HalfEdge* first = *opEdgeIt; + typename Mesh::HalfEdge* next = first; while (next->getHangingEdge() != 0 && - ++hangingEdgeIterations <= traits::maximumNumberOfHangingNodes) + ++hangingEdgeIterations <= Mesh::Prop::maximumNumberOfHangingNodes) { next = next->getHangingEdge(); const Vertex& opEndVertex = next->getEndVertex(); @@ -341,33 +445,97 @@ Mesh< Ttraits >::build_meta_data() // Cleanup: } -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > unsigned int -Mesh< Ttraits >::getVertexId(const typename Ttraits::Vertex& v) const +Mesh< TProp, TAlg >::getVertexId(const typename Mesh::Vertex& v) const { + assert( d->edge.size() > 0 ); long offset = static_cast(&v - &(d->vertex.front())); - assert(offset >= 0 && offset < d->number_of_vertices); + assert(offset >= 0 && offset < d->numberOfVertices); return offset; } -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > unsigned int -Mesh< Ttraits >::getEdgeId(const typename Ttraits::HalfEdge& e) const +Mesh< TProp, TAlg >::getEdgeId(const typename Mesh::HalfEdge& e) const { + assert( d->edge.size() > 0 ); long offset = static_cast(&e - &(d->edge.front())); - assert(offset >= 0 && offset < d->number_of_halfedges); + assert(offset >= 0 && offset < d->numberOfHalfEdges); return offset; } -template < class Ttraits > +template < template < typename > class TProp, template < typename > class TAlg > unsigned int -Mesh< Ttraits >::getFaceId(const typename Ttraits::Face& f) const +Mesh< TProp, TAlg >::getFaceId(const typename Mesh::Face& f) const { - assert( d->face.size() > 0 ); - long offset = static_cast(&f - &(d->face.front())); - assert(offset >= 0 && offset < d->number_of_halfedges); - return offset; + return f.getId(); } + + +template < template < typename > class TProp, template < typename > class TAlg > +Mesh< TProp, TAlg >::ConstFaceIterator::ConstFaceIterator( + typename std::vector< Mesh::IntFace >::const_iterator iterator) + : vectorIterator_(iterator) +{} + + +template < template < typename > class TProp, template < typename > class TAlg > +Mesh< TProp, TAlg >::ConstFaceIterator::ConstFaceIterator( + const ConstFaceIterator& copy) + : vectorIterator_( copy.vectorIterator_ ) +{} + + +template < template < typename > class TProp, template < typename > class TAlg > +bool +Mesh< TProp, TAlg >::ConstFaceIterator::operator==( + const ConstFaceIterator& rhs) const +{ + return ( vectorIterator_ == rhs.vectorIterator_ ); +} + +template < template < typename > class TProp, template < typename > class TAlg > +bool +Mesh< TProp, TAlg >::ConstFaceIterator::operator!=( + const ConstFaceIterator& rhs) const +{ + return ( vectorIterator_ != rhs.vectorIterator_ ); +} + +template < template < typename > class TProp, template < typename > class TAlg > +typename Mesh< TProp, TAlg >::ConstFaceIterator& +Mesh< TProp, TAlg >::ConstFaceIterator::operator++() +{ + ++vectorIterator_; + return *this; +} + +template < template < typename > class TProp, template < typename > class TAlg > +const typename Mesh< TProp, TAlg >::Face& +Mesh< TProp, TAlg >::ConstFaceIterator::operator*() const +{ + // XXX: The case that IntFace is not a pointer is missing: + return **vectorIterator_; +} + +template < template < typename > class TProp, template < typename > class TAlg > +const typename Mesh< TProp, TAlg >::Face* +Mesh< TProp, TAlg >::ConstFaceIterator::operator->() const +{ + // XXX: The case that IntFace is not a pointer is missing: + return *vectorIterator_; +} + +template < template < typename > class TProp, template < typename > class TAlg > +void Mesh< TProp, TAlg >::initialize() +{ + if ( initialized_ == false ) + { + initialized_ = true; + } +} + } #endif diff --git a/src/bem3d/src/boundary_mesh/Mesh.hpp b/src/bem3d/src/boundary_mesh/Mesh.hpp index 4bfab9d..dad7d6d 100644 --- a/src/bem3d/src/boundary_mesh/Mesh.hpp +++ b/src/bem3d/src/boundary_mesh/Mesh.hpp @@ -45,45 +45,26 @@ * The constants help the implementation of the algorithms to use optimized * data structures. * - * A good example for a traits class is the DefaultMeshTraits class within - * this file. - * - * The Traits template parameter defaults to the DefaultMeshTraits class. + * Using XXX */ #include #include #include -#include "Face.hpp" -#include "Vertex.hpp" -#include "HalfEdge.hpp" +#include "types.hpp" +#include "MeshBuilder.hpp" +#include "../generic/BaseTypes.hpp" +#include "../generic/TypeList.hpp" + +#include +#include +#include namespace boundary_mesh { - /** - * @class DefaultMeshTraits - * @brief Basic settings for the mesh. - * - * This is an example for a Traits class that is passed to the Mesh class - * template to create a concrete Mesh class. It defines a few types, more - * precisly a Face, a HalfEdge, a Vertex and an UnlinkedVertex type. Each - * of these types must provide a number of basic methods to make use of the - * mesh algorithms that are contained within the layer namespace. - */ - class DefaultMeshTraits - { - public: - typedef boundary_mesh::Face Face; - typedef boundary_mesh::HalfEdge HalfEdge; - typedef boundary_mesh::Vertex Vertex; - typedef boundary_mesh::UnlinkedVertex UnlinkedVertex; - - static const unsigned int maximumNumberOfHangingNodes = 1; - static const unsigned int maximumNumberOfFaceVertices = 4; - }; - - template < class T > + template < template < typename > class TProp, + template < typename > class TAlg > class Mesh; /** @@ -102,16 +83,57 @@ namespace boundary_mesh * modified after construction and that it can not retain any information * during method calls. */ - template < class Ttraits = boundary_mesh::DefaultMeshTraits > + template < template < typename > class TProp, + template < typename > class TAlg> class Mesh { + template friend class MeshBuilder; + public: - typedef Ttraits traits; - typedef typename std::vector< typename traits::Face >::const_iterator - ConstFaceIterator; - typedef typename std::vector< typename traits::Vertex >::const_iterator + typedef TProp< Mesh > Prop; + typedef TAlg< Mesh > Alg; + typedef MeshBuilder< Mesh > Builder; + + typedef typename Prop::UVertex UVertex; + typedef typename Prop::Vertex Vertex; + typedef typename Prop::HalfEdge HalfEdge; + typedef typename Prop::IntFace IntFace; + typedef typename Prop::Face Face; + + typedef typename Prop::FaceTypes FaceTypes; + + struct Size + { + geoid_t vertices; + geoid_t faces; + geoid_t edges; + }; + + typedef typename std::vector< Vertex >::const_iterator ConstVertexIterator; + /* The mesh's face elements can either be pointers to a compliant class + * or complete copies of instances. To everyone outside this class, this + * difference should not matter. This class cares about that matter. + */ + class ConstFaceIterator + { + public: + ConstFaceIterator( + typename std::vector< IntFace >::const_iterator iterator ); + ConstFaceIterator( const ConstFaceIterator& copy ); + + bool operator==( const ConstFaceIterator& rhs ) const; + bool operator!=( const ConstFaceIterator& rhs ) const; + ConstFaceIterator& operator++(); + const typename Mesh::Face & operator*() const; + const typename Mesh::Face * operator->() const; + + private: + typename std::vector< typename Mesh::IntFace >::const_iterator + vectorIterator_; + }; + /** * @fn Mesh(const Mesh& copy) * @@ -183,28 +205,28 @@ namespace boundary_mesh ConstVertexIterator end_v() const; /** - * @fn unsigned int getNumberOfFaces() const + * @fn geoid_t getNumberOfFaces() const * * Returns the number of faces contained in this mesh. */ - unsigned int getNumberOfFaces() const; + geoid_t getNumberOfFaces() const; /** - * @fn unsigned int getNumberOfEdges() const + * @fn geoid_t getNumberOfEdges() const * * Returns the number of half-edges contained in this mesh. */ - unsigned int getNumberOfEdges() const; + geoid_t getNumberOfEdges() const; /** - * @fn unsigned int getNumberOfVertices() const + * @fn geoid_t getNumberOfVertices() const * * Returns the number of vertices contained in this mesh. */ - unsigned int getNumberOfVertices() const; + geoid_t getNumberOfVertices() const; /** - * @fn unsigned int getVertexId(const typename traits::Vertex& v) const + * @fn geoid_t getVertexId(const typename traits::Vertex& v) const * * Returns an unique id which is between 0 and getNumberOfVertices() - 1. * The ids are assigned in the same order as the vertices are added to @@ -213,20 +235,20 @@ namespace boundary_mesh * This method throws an assertion if the vertex v does not belong to the * mesh. */ - unsigned int getVertexId(const typename traits::Vertex& v) const; + geoid_t getVertexId(const typename Mesh::Vertex& v) const; /** - * @fn unsigned int getEdgeId(const typename traits::HalfEdge& e) const + * @fn geoid_t getEdgeId(const typename traits::HalfEdge& e) const * * Returns an unique id which is between 0 and getNumberOfEdges() - 1. * * This method throws an assertion if the half-edge e does not belong to the * mesh. */ - unsigned int getEdgeId(const typename traits::HalfEdge& e) const; + geoid_t getEdgeId(const typename Mesh::HalfEdge& e) const; /** - * @fn unsigned int getFaceId(const typename traits::Face& f) const + * @fn geoid_t getFaceId(const typename traits::Face& f) const * * Returns an unique id which is between 0 and getNumberOfFaces() - 1. * The ids are assigned in the same order as the faces are added to @@ -235,43 +257,78 @@ namespace boundary_mesh * This method throws an assertion if the face f does not belong to the * mesh. */ - unsigned int getFaceId(const typename traits::Face& f) const; - - protected: - typedef Mesh< Ttraits > Base; + geoid_t getFaceId(const typename Mesh::Face& f) const; - struct Size - { - unsigned int vertices; - unsigned int faces; - unsigned int edges; - }; + /** + * @fn Size getSize() const + * @brief Returns a struct that contains the number of vertices, edges + * and faces of the mesh. + */ + Size getSize() const; - // This is used by MeshLoader classes, which impelement parsers for - // individual file formats. + private: + // The following part of the interface is only used by the + // MeshBuilder class. The MeshBuilder class is the only way + // to construct Mesh instances. Mesh(); Mesh( const Size& sizeInfo ); - void reserve(const Size& sizeInfo); - unsigned int addVertex(const typename traits::UnlinkedVertex& v); - const typename Mesh::traits::Face& addFace( - unsigned int number_of_vertices, unsigned int vertex_id[]); - const typename Mesh::traits::Face& addFace( - unsigned int a, unsigned int b, unsigned int c) - { - unsigned int t[] = {a, b, c}; - return addFace(3, t); - } - const typename Mesh::traits::Face& addFace( - unsigned int a, unsigned int b, unsigned int c, unsigned int d) - { - unsigned int t[] = {a, b, c, d}; - return addFace(4, t); - } - void build_meta_data(); + geoid_t addVertex(const typename Mesh::UVertex& v); + const typename Mesh::Face& addFace( + std::vector< geoid_t > vertexIds ); + void buildMetaData( void ); - private: + // The following methods' main purpose is to abstract the actual + // representation of the face classes within this class, i.e. if we + // maintain pointers to the objects or store them in a long block + // of memory. + template < class TypeList > + typename boost::enable_if_c< + generic::typelist::Length< TypeList >::value == 0, + typename Mesh< TProp, TAlg >::Face& >::type + factorizeFace( + const typename std::vector< const typename Mesh::Vertex* >& vertices, + const typename Mesh::HalfEdge* longestHalfEdge); + + template < class TypeList > + typename boost::enable_if_c< + generic::typelist::Length< TypeList >::value >= 1, + typename Mesh< TProp, TAlg >::Face& >::type + factorizeFace( + const typename std::vector< const typename Mesh::Vertex* >& vertices, + const typename Mesh::HalfEdge* longestHalfEdge); + + template < class TMesh, class TSpecificFace > + typename boost::enable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type + factorizeFace_( + const typename TMesh::HalfEdge* longestHalfEdge); + + template < class TMesh, class TSpecificFace > + typename boost::disable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type + factorizeFace_( + const typename TMesh::HalfEdge* longestHalfEdge); + + template < class TMesh > + typename boost::enable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type + getFaceRefById( geoid_t faceId ) const; + + template < class TMesh > + typename boost::disable_if< + boost::is_pointer< typename TMesh::IntFace >, + typename TMesh::Face& >::type + getFaceRefById( geoid_t faceId ) const; + + // For various reasons this class uses the Pimpl idiom. struct data; data* d; + + static void initialize(); + static bool initialized_; }; } diff --git a/src/bem3d/src/boundary_mesh/MeshBuilder.hpp b/src/bem3d/src/boundary_mesh/MeshBuilder.hpp new file mode 100644 index 0000000..5af08ce --- /dev/null +++ b/src/bem3d/src/boundary_mesh/MeshBuilder.hpp @@ -0,0 +1,26 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_MESH_BUILDER_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_MESH_BUILDER_HPP_GUARD_ + +#include "types.hpp" +#include "Mesh.hpp" + +namespace boundary_mesh +{ + template < class TMesh > + class MeshBuilder + { + public: + MeshBuilder( const typename TMesh::Size& size ); + geoid_t addVertex( const typename TMesh::UVertex& v ); + const typename TMesh::Face& addFace( std::vector< geoid_t > vertexIds ); + TMesh deliver(); + + private: + TMesh mesh_; + }; +} + +#include "MeshBuilder_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/MeshBuilder_tmpl.cpp b/src/bem3d/src/boundary_mesh/MeshBuilder_tmpl.cpp new file mode 100644 index 0000000..f12cbe1 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/MeshBuilder_tmpl.cpp @@ -0,0 +1,41 @@ +#ifdef HILBERT3D_BOUNDARY_MESH_MESHBUILDER_CPP_GUARD_ +#error Please never include or compile this file directly, but include the \ + corresponding header files instead. +#else +#define HILBERT3D_BOUNDARY_MESH_MESHBUILDER_CPP_GUARD_ +#include "MeshBuilder.hpp" + +namespace boundary_mesh +{ + template < class TMesh > + MeshBuilder< TMesh >::MeshBuilder( const typename TMesh::Size& size ) + : mesh_( size ) + { + TMesh::initialize(); + } + + template < class TMesh > + geoid_t + MeshBuilder< TMesh >::addVertex( const typename TMesh::UVertex& v ) + { + return mesh_.addVertex( v ); + } + + template < class TMesh > + const typename TMesh::Face& + MeshBuilder< TMesh >::addFace( std::vector< geoid_t > vertexIds ) + { + return mesh_.addFace( vertexIds ); + } + + template < class TMesh > + TMesh + MeshBuilder< TMesh >::deliver() + { + mesh_.buildMetaData(); + return mesh_; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/Vertex.cpp b/src/bem3d/src/boundary_mesh/Vertex.cpp deleted file mode 100644 index 414e0bc..0000000 --- a/src/bem3d/src/boundary_mesh/Vertex.cpp +++ /dev/null @@ -1,136 +0,0 @@ -#include "Vertex.hpp" - -#include - -namespace boundary_mesh -{ - Vertex::Vertex(const double coord[3]) - : UnlinkedVertex(coord), halfedge_(0) - {} - - Vertex::Vertex(const UnlinkedVertex& down_copy) - : UnlinkedVertex(down_copy), halfedge_(0) - {} - - void - Vertex::setHalfEdge(const HalfEdge& halfedge) - { - halfedge_ = &halfedge; - } - -#if 0 - const Vertex::ConstVertexIterator & - Vertex::s_vertex_end_iterator = Vertex::ConstVertexIterator(); - - const Vertex::ConstFaceIterator & - Vertex::s_face_end_iterator = Vertex::ConstFaceIterator(); - - bool - Vertex::IteratorData_Base__::operator==( - const Vertex::IteratorData_Base__ & rhs) const - { - return m_startingEdge == rhs.m_startingEdge && - ( - (m_startingEdge == NULL) - || - (m_currentEdge == rhs.m_currentEdge - && m_options == rhs.m_options - && m_inverted == rhs.m_inverted) - ); - } - - bool - Vertex::IteratorData_Base__::operator!=( - const Vertex::IteratorData_Base__& rhs) const - { - return ! (*this == rhs); - } - - Vertex::IteratorData_Base__ & - Vertex::IteratorData_Base__::operator++() - { - // XXX: Implement this function, support options, ... - #warning Vertex::IteratorData_Base__::operator++ is not implemented yet,\ - you may experience troubles using it, especially if you are trying\ - to use it on boundary vertices! - if (m_inverted == false) - { - if (m_fast_forward_hanging_nodes) - { - m_currentEdge = m_currentEdge->getHangingEdge(); - assert(m_currentEdge->getHangingEdge() == 0); - m_currentEdge = m_currentEdge->getNextEdge(); - m_fast_forward_hanging_nodes = false; - } - else - { - if (m_currentEdge->getOppositeEdge() == 0) - { -# if 0 - if (m_options.no_boundary_inversion()) - { - m_startingEdge = m_currentEdge = 0; - return *this; - } - else - { -# endif - m_currentEdge = m_startingEdge->getOppositeEdge(); - m_inverted = true; - return ++(*this); -# if 0 - } -# endif - } - - m_currentEdge = m_currentEdge->getOppositeEdge()->getNextEdge(); - - if (m_currentEdge == m_startingEdge) - { - m_startingEdge = m_currentEdge = 0; - return *this; - } - } - } - else // m_inverted == true - { - - } - - return *this; - } - - Vertex::ConstFaceIterator - Vertex::begin_f() const - { - assert(m_halfedge != 0); - return ConstFaceIterator(m_halfedge); - } - - const Vertex::ConstFaceIterator& - Vertex::end_f() - { - return s_face_end_iterator; - } - - Vertex::ConstVertexIterator - Vertex::begin_v() const - { - assert(m_halfedge != 0); - return ConstVertexIterator(m_halfedge); - } - - const Vertex::ConstVertexIterator& - Vertex::end_v() - { - return s_vertex_end_iterator; - } - - bool - Vertex::isBoundaryVertex() const - { - #warning isBoundaryVertex is not implemented correctly yet. - return begin_v() == end_v(); - } -#endif -} diff --git a/src/bem3d/src/boundary_mesh/Vertex.hpp b/src/bem3d/src/boundary_mesh/Vertex.hpp index bb7c5b0..d561d78 100644 --- a/src/bem3d/src/boundary_mesh/Vertex.hpp +++ b/src/bem3d/src/boundary_mesh/Vertex.hpp @@ -8,155 +8,32 @@ /** * @file boundary_mesh/Vertex.hpp * @brief This file provides the types boundary_mesh::Vertex and - * boundary_mesh::OVertex. + * boundary_mesh::UnlinkedVertex. */ namespace boundary_mesh { - class HalfEdge; - - /** - * @class OVertex - * @brief An OVertex supports all operations, you may want to use on points - * or vectors, but in contrast to the Vertex class, it does not belong - * to a particular mesh. - * - * In contrast to the Vertex class, the OVertex class allows instantation - * (from a double[3] array). All operations on Vertex instances return - * OVertex instances, as the result does not belong to a particular mesh. - * - * For more information on the supported operations, please refer to the - * documentation of generic::GenericVector. - */ typedef generic::Vector3D UnlinkedVertex; - class Vertex : public UnlinkedVertex + template < class TMesh > + class VertexT : public TMesh::UVertex { - template < class T > friend class Mesh; + template < template class TProp, + template class TAlg > friend class Mesh; public: -#if 0 - class IteratorData_Base__; - class ConstVertexIterator; - class ConstFaceIterator; - - class IteratorData_Base__ - { - public: - IteratorData_Base__(const HalfEdge* startingEdge, - const HalfEdge* currentEdge, - iterator_options options = iterator_options(), - bool inverted = false) - : m_startingEdge(startingEdge), m_currentEdge(currentEdge), - m_options(options), m_inverted(inverted), - m_fast_forward_hanging_nodes(false) - {} - IteratorData_Base__(const IteratorData_Base__& copy) - : m_startingEdge(copy.m_startingEdge), - m_currentEdge(copy.m_currentEdge), - m_options(copy.m_options), m_inverted(copy.m_inverted), - m_fast_forward_hanging_nodes(false) - {} - - bool operator==(const IteratorData_Base__& rhs) const; - bool operator!=(const IteratorData_Base__& rhs) const; - IteratorData_Base__& operator++(); - - const HalfEdge& getCurrentHalfEdge() const - { return *m_currentEdge; } - - private: - const HalfEdge* m_startingEdge; - const HalfEdge* m_currentEdge; - iterator_options m_options; - bool m_inverted; - bool m_fast_forward_hanging_nodes; - }; - - class ConstVertexIterator : public std::iterator< - std::input_iterator_tag, Vertex> - { - friend class Vertex; - - public: - ConstVertexIterator(const ConstVertexIterator& copy) - : m_data(copy.m_data) - {} - bool operator==(const ConstVertexIterator& rhs) const - { return m_data == rhs.m_data; } - bool operator!=(const ConstVertexIterator& rhs) const - { return m_data != rhs.m_data; } - ConstVertexIterator& operator++() - { ++m_data; return *this; } - const Vertex& operator*() const; - - private: - ConstVertexIterator() - : m_data(0,0) - {} - ConstVertexIterator(const HalfEdge* startingEdge) - : m_data(startingEdge,startingEdge) - {} - ConstVertexIterator(const HalfEdge* startingEdge, - iterator_options options) - : m_data(startingEdge,startingEdge,options) - {} - - IteratorData_Base__ m_data; - }; - - class ConstFaceIterator : public std::iterator< - std::input_iterator_tag, Face> - { - friend class Vertex; - - public: - ConstFaceIterator(const ConstFaceIterator& copy) - : m_data(copy.m_data) - {} - bool operator==(const ConstFaceIterator& rhs) const - { return m_data == rhs.m_data; } - bool operator!=(const ConstFaceIterator& rhs) const - { return m_data != rhs.m_data; } - ConstFaceIterator& operator++() - { ++m_data; return *this; } - const Face& operator*() const; - - private: - ConstFaceIterator() - : m_data(0,0) - {} - ConstFaceIterator(const HalfEdge* startingEdge) - : m_data(startingEdge,startingEdge) - {} - ConstFaceIterator(const HalfEdge* startingEdge, - iterator_options options) - : m_data(startingEdge,startingEdge,options) - {} - - IteratorData_Base__ m_data; - }; - - ConstFaceIterator begin_f() const; - static const ConstFaceIterator& end_f(); - ConstVertexIterator begin_v() const; - static const ConstVertexIterator& end_v(); - bool isBoundaryVertex() const; -#endif + const typename TMesh::HalfEdge* getHalfEdge() const; private: - Vertex(const double[3]); - Vertex(const UnlinkedVertex& down_copy); - void setHalfEdge(const HalfEdge& halfedge); - - const HalfEdge* halfedge_; + VertexT(const double[3]); + VertexT(const typename TMesh::UVertex& downCopy); + void setHalfEdge(const typename TMesh::HalfEdge& halfedge); -#if 0 - static const ConstVertexIterator& s_vertex_end_iterator; - static const ConstFaceIterator& s_face_end_iterator; -#endif + const typename TMesh::HalfEdge* halfedge_; }; } +#include "Vertex_tmpl.cpp" + #endif diff --git a/src/bem3d/src/boundary_mesh/Vertex_tmpl.cpp b/src/bem3d/src/boundary_mesh/Vertex_tmpl.cpp new file mode 100644 index 0000000..1935e64 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/Vertex_tmpl.cpp @@ -0,0 +1,30 @@ +#include "Vertex.hpp" + +#include + +namespace boundary_mesh +{ + template < class TMesh > + VertexT< TMesh >::VertexT(const double coord[3]) + : TMesh::UVertex(coord), halfedge_(0) + {} + + template < class TMesh > + VertexT< TMesh >::VertexT(const typename TMesh::UVertex& down_copy) + : TMesh::UVertex(down_copy), halfedge_(0) + {} + + template < class TMesh > + void + VertexT< TMesh >::setHalfEdge(const typename TMesh::HalfEdge& halfedge) + { + halfedge_ = &halfedge; + } + + template < class TMesh > + const typename TMesh::HalfEdge* + VertexT< TMesh >::getHalfEdge() const + { + return halfedge_; + } +} diff --git a/src/bem3d/src/boundary_mesh/algorithm/HandleObj.hpp b/src/bem3d/src/boundary_mesh/algorithm/HandleObj.hpp new file mode 100644 index 0000000..41929c9 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/algorithm/HandleObj.hpp @@ -0,0 +1,27 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_ALGORITHM_HANDLEOBJ_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_ALGORITHM_HANDLEOBJ_HPP_GUARD_ + +#include + +namespace boundary_mesh +{ + namespace algorithm + { + template < class TMesh > + TMesh loadFromObj( const char* fileName ); + + template < class TMesh > + TMesh loadFromObj( std::string fileName ); + + template < class TMesh > + void saveAsObj( const TMesh& mesh, const char* fileName ); + + template < class TMesh > + void saveAsObj( const TMesh& mesh, std::string fileName ); + } +} + +#include "HandleObj_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/algorithm/HandleObj_tmpl.cpp b/src/bem3d/src/boundary_mesh/algorithm/HandleObj_tmpl.cpp new file mode 100644 index 0000000..ce297ba --- /dev/null +++ b/src/bem3d/src/boundary_mesh/algorithm/HandleObj_tmpl.cpp @@ -0,0 +1,193 @@ + +#include +#include +#include +#include +#include +#include +#include "../MeshBuilder.hpp" + +namespace boundary_mesh +{ + namespace algorithm + { + template < class TMesh > + TMesh + loadFromObj( const char* fileName ) + { + return loadFromObj< TMesh >( std::string( fileName ) ); + } + + template < class TMesh > + TMesh + loadFromObj( std::string fileName ) + { + static const unsigned int vertexDimension = 3; + static const boost::regex + vertex_line("v\\s+(-?\\d+(?:\\.\\d+)?)\\s+(-?\\d+(?:\\.\\d+)?)" + "\\s+(-?\\d+(?:\\.\\d+)?)\\s*", + boost::regex::perl); + static const boost::regex + face_line("f\\s+((?:\\d+\\s+|\\d+$){3,})\\s*", + boost::regex::perl); + static const boost::regex empty_line("\\s*|\\s*\\#.*", + boost::regex::perl); + + const size_t matchedNumberBufferSize = 1024; + char* matchedNumberBuffer = new char[matchedNumberBufferSize]; + + std::ifstream file(fileName.c_str()); + + if ( file.is_open() == false ) + { + assert(0); +// throw exception::FileIO(fileName, exception::FileIO::Reading); + } + + struct TMesh::Size sizeInfo; + sizeInfo.vertices = 0; + sizeInfo.faces = 0; + sizeInfo.edges = 0; + boost::smatch what; + std::string line; + + while ( file.good() ) + { + std::getline( file, line ); + + if ( line[0] == 'v' ) + sizeInfo.vertices += 1; + else if (line[0] == 'f' && boost::regex_match( line, what, face_line )) + { + sizeInfo.faces += 1; + const std::string numbers = what[1].str(); + assert( numbers.length() < matchedNumberBufferSize ); + matchedNumberBuffer = strncpy(matchedNumberBuffer, numbers.c_str(), + matchedNumberBufferSize); + char* savePtr = 0; + char* currentNumber = strtok_r(matchedNumberBuffer, " \t", &savePtr); + do + { + sizeInfo.edges += 1; + } while ((currentNumber = strtok_r( 0, " \t", &savePtr )) != 0); + } + } + + file.clear(); + file.seekg( 0, std::ios_base::beg ); + + typename TMesh::Builder builder(sizeInfo); + unsigned int line_number = 0; + std::vector< geoid_t > vertexIds; + vertexIds.reserve(TMesh::Prop::maximumNumberOfEdgesPerFace); + + while ( file.good() ) + { + std::getline( file, line ); + ++line_number; + + if (line[0] == 'v' && boost::regex_match( line, what, vertex_line )) + { + double coordinates[vertexDimension]; + assert(what.size() == vertexDimension+1); + for (unsigned int i = 0; i < vertexDimension; ++i) + { + std::istringstream istr( what[i+1] ); + istr >> coordinates[i]; + } + builder.addVertex(typename TMesh::UVertex(coordinates)); + } + else if (line[0] == 'f' && boost::regex_match( line, what, face_line )) + { + assert(what.size() == 2); + + vertexIds.clear(); + const std::string numbers = what[1].str(); + assert( numbers.length() < matchedNumberBufferSize ); + matchedNumberBuffer = strncpy(matchedNumberBuffer, numbers.c_str(), + matchedNumberBufferSize); + char* savePtr = 0; + char* currentNumber = strtok_r(matchedNumberBuffer, " \t", &savePtr); + do + { + unsigned int id = 0; + std::istringstream istr( currentNumber ); + istr >> id; + vertexIds.push_back( id-1 ); + } while ((currentNumber = strtok_r( 0, " \t", &savePtr )) != 0); + + assert(vertexIds.size() >= 3); + + builder.addFace(vertexIds); + } + else if ( boost::regex_match( line, what, empty_line ) ) + {} + else + { + assert(0); + #if 0 + throw new mesh::exception::syntax( file_name, line_number ); + #endif + } + } + + delete[] matchedNumberBuffer; + return builder.deliver(); + } + + template < class TMesh > + void saveAsObj( const TMesh& mesh, const char* fileName ) + { + saveAsObj( mesh, std::string( fileName ) ); + } + + template < class TMesh > + void saveAsObj( const TMesh& mesh, std::string fileName ) + { + std::ofstream outputFile( fileName.c_str() ); + + if ( outputFile.fail() == true ) + { + // TODO: Throw proper exception. + assert(0); + } + + /// Print out all vertices ordered by their ids: + for (typename TMesh::ConstVertexIterator vertexIt = mesh.begin_v(); + vertexIt != mesh.end_v(); ++vertexIt) + { + outputFile << "v " + << (*vertexIt)[0] << " " + << (*vertexIt)[1] << " " + << (*vertexIt)[2] << std::endl; + } + + /// Print out all faces with their respective ids: + for (typename TMesh::ConstFaceIterator faceIt = mesh.begin_f(); + faceIt != mesh.end_f(); ++faceIt) + { + outputFile << "f "; + typename TMesh::Face::ConstVertexIterator vertexIt = faceIt->begin_v(); + assert( vertexIt != faceIt->end_v() ); + + while ( true ) + { + outputFile << mesh.getVertexId( *vertexIt ) + 1; + ++vertexIt; + if ( vertexIt != faceIt->end_v() ) + { + outputFile << " "; + } + else + { + outputFile << std::endl; + break; + } + } + } + + outputFile.close(); + } + } +} + diff --git a/src/bem3d/src/boundary_mesh/algorithm/RefineUniformly.hpp b/src/bem3d/src/boundary_mesh/algorithm/RefineUniformly.hpp new file mode 100644 index 0000000..a91df60 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/algorithm/RefineUniformly.hpp @@ -0,0 +1,74 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_ALGORITHM_REFINEUNIFORMLY_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_ALGORITHM_REFINEUNIFORMLY_HPP_GUARD_ + +#include "../types.hpp" +#include "../FaceDispatch.hpp" + +#define HILBERT3D_DISPATCH_PARAMETERS_0(Name) \ + public: \ + Name() {} \ + private: +#define HILBERT3D_DISPATCH_PARAMETERS_1(Name, T1, N1) \ + public: \ + Name(T1 N1) : N1(N1) {} \ + private: \ + T1 N1; +#define HILBERT3D_DISPATCH_PARAMETERS_2(Name, T1, N1, T2, N2) \ + public: \ + Name(T1 N1, T2 N2) : N1(N1), N2(N2) {} \ + private: \ + T1 N1; T2 N2; +#define HILBERT3D_DISPATCH_PARAMETERS_3(Name, T1, N1, T2, N2, T3, N3) \ + public: \ + Name(T1 N1, T2 N2, T3 N3) : N1(N1), N2(N2), N3(N3) {} \ + private: \ + T1 N1; T2 N2; T3 N3; + + +namespace boundary_mesh +{ + namespace algorithm + { + namespace refine_uniformly_impl + { + template < class TMesh > + std::vector< geoid_t > + addEdgeVerticesForFace( + const TMesh& oldMesh, + typename TMesh::Builder* builder, + const typename TMesh::Face& face, + std::vector< geoid_t >* newVertices ); + + template < class TMesh > + class RefineFaceUniformlyImpl + { + HILBERT3D_DISPATCH_PARAMETERS_3( RefineFaceUniformlyImpl, + const TMesh&, oldMesh_, typename TMesh::Builder*, builder_, + std::vector< geoid_t >*, newVertices_ ); + + public: + void exec(const typename TMesh::Prop::Triangle& face); + void exec(const typename TMesh::Prop::ConvexQuadrilateral& face); + }; + + template < class TMesh > + class ComputeNewSizeForFaceImpl + { + HILBERT3D_DISPATCH_PARAMETERS_1( ComputeNewSizeForFaceImpl, + typename TMesh::Size*, size_ ); + + public: + void exec( const typename TMesh::Prop::Triangle& face ); + void exec( const typename TMesh::Prop::ConvexQuadrilateral& face ); + }; + } + + template < class TMesh > + TMesh refineUniformly( const TMesh& mesh ); + } +} + +#include "RefineUniformly_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/algorithm/RefineUniformly_tmpl.cpp b/src/bem3d/src/boundary_mesh/algorithm/RefineUniformly_tmpl.cpp new file mode 100644 index 0000000..514da47 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/algorithm/RefineUniformly_tmpl.cpp @@ -0,0 +1,206 @@ +#include "RefineUniformly.hpp" +#include "../FaceDispatch.hpp" + +namespace boundary_mesh +{ + namespace algorithm + { + namespace refine_uniformly_impl + { + template < class TMesh > + std::vector< geoid_t > + addEdgeVerticesForFace( + const TMesh& oldMesh, + typename TMesh::Builder* builder, + const typename TMesh::Face& face, + std::vector< geoid_t >* newVertices) + { + unsigned int i = 0; + std::vector< geoid_t > faceVertexIds( + face.getNumberOfVertices() * 2, 0); + + for ( typename TMesh::Face::ConstEdgeIterator edgeIt = face.begin_e(); + edgeIt != face.end_e(); ++edgeIt ) + { + const typename TMesh::Vertex& startVertex = edgeIt->getStartVertex(); + geoid_t edgeId = oldMesh.getEdgeId( *edgeIt ); + + if ( (*newVertices)[ edgeId ] == geoid_t_max ) + { + const typename TMesh::Vertex& endVertex = edgeIt->getEndVertex(); + (*newVertices)[ edgeId ] = + builder->addVertex( ( startVertex + endVertex ) / 2. ); + if ( edgeIt->getOppositeEdge() != 0 ) + { + (*newVertices)[oldMesh.getEdgeId(*(edgeIt->getOppositeEdge()))] = + (*newVertices)[ edgeId ]; + } + } + + faceVertexIds[ 2*i + 0 ] = oldMesh.getVertexId( startVertex ); + faceVertexIds[ 2*i + 1 ] = (*newVertices)[ edgeId ]; + + ++i; + } + + return faceVertexIds; + } + + template < class TMesh > + void + RefineFaceUniformlyImpl< TMesh >::exec( + const typename TMesh::Prop::Triangle& face) + { + std::vector< geoid_t > faceVertexIds = + addEdgeVerticesForFace( oldMesh_, builder_, face, newVertices_ ); + std::vector< geoid_t > triangle(3); + + assert( faceVertexIds.size() == 6 ); + + // Some ASCII-Art: + // 4 + // * + // / \ The big triangle is refined to the small + // 5 *---* 3 ones. The numbers next to the stars are the + // / \ / \ indices of the appropiate nodes with respect + // 0 *---*---* 2 to the faceVertexIds vector. + // 1 + // We need to add the following triangles: + // [ 0, 1, 5 ], [ 1, 2, 3 ], [ 1, 3, 5 ] and [ 3, 4, 5 ] + + triangle[0] = faceVertexIds[0]; + triangle[1] = faceVertexIds[1]; + triangle[2] = faceVertexIds[5]; + builder_->addFace( triangle ); + + triangle[0] = faceVertexIds[1]; + triangle[1] = faceVertexIds[2]; + triangle[2] = faceVertexIds[3]; + builder_->addFace( triangle ); + + triangle[0] = faceVertexIds[1]; + triangle[1] = faceVertexIds[3]; + triangle[2] = faceVertexIds[5]; + builder_->addFace( triangle ); + + triangle[0] = faceVertexIds[3]; + triangle[1] = faceVertexIds[4]; + triangle[2] = faceVertexIds[5]; + builder_->addFace( triangle ); + } + + template < class TMesh > + void + RefineFaceUniformlyImpl< TMesh >::exec( + const typename TMesh::Prop::ConvexQuadrilateral& face) + { + std::vector< geoid_t > faceVertexIds = + addEdgeVerticesForFace( oldMesh_, builder_, face, newVertices_ ); + std::vector< geoid_t > quad(4); + + assert( faceVertexIds.size() == 8 ); + + // Add an additional vertex right in the center of the rectangle: + const typename TMesh::Prop::Quadrilateral& rect = + dynamic_cast< const typename TMesh::Prop::Quadrilateral& >( + face); + + geoid_t centerVertexId = builder_->addVertex( + ( rect.getA() + rect.getC() ) / 2.); + + // Some ASCII-Art: + // 5 + // 6 *---*---* 4 Stars and numbers have the same meaning + // | | as in the triangle case. + // 7 *---c---* 3 c is also a vertex, it has the special id + // | | centerVertexId. + // 0 *---*---* 2 + // 1 + // We need to add the following rectangles: + // [0, 1, c, 7], [1, 2, 3, c], [3, 4, 5, c] and [5, 6, 7, c] + quad[0] = faceVertexIds[0]; quad[1] = faceVertexIds[1]; + quad[2] = centerVertexId; quad[3] = faceVertexIds[7]; + builder_->addFace( quad ); + + quad[0] = faceVertexIds[1]; quad[2] = faceVertexIds[2]; + quad[3] = faceVertexIds[3]; quad[4] = centerVertexId; + builder_->addFace( quad ); + + quad[0] = faceVertexIds[3]; quad[1] = faceVertexIds[4]; + quad[2] = faceVertexIds[5]; quad[3] = centerVertexId; + builder_->addFace( quad ); + + quad[0] = faceVertexIds[5]; quad[1] = faceVertexIds[6]; + quad[2] = faceVertexIds[7]; quad[3] = centerVertexId; + builder_->addFace( quad ); + } + + template < class TMesh > + void + ComputeNewSizeForFaceImpl< TMesh >::exec( + const typename TMesh::Prop::Triangle& face) + { + size_->vertices += 6; + size_->faces += 4; + size_->edges += 12; + } + + template < class TMesh > + void + ComputeNewSizeForFaceImpl< TMesh >::exec( + const typename TMesh::Prop::ConvexQuadrilateral& face) + { + size_->vertices += 9; + size_->faces += 4; + size_->edges += 16; + } + } + + template < class TMesh > + TMesh + refineUniformly( const TMesh& mesh ) + { + // Define nice names for the used functions. + typedef SingleFaceDispatcher< + refine_uniformly_impl::ComputeNewSizeForFaceImpl< TMesh >, TMesh > + ComputeNewSizeForFace; + typedef SingleFaceDispatcher< + refine_uniformly_impl::RefineFaceUniformlyImpl< TMesh >, TMesh > + RefineFaceUniformly; + + // Compute the new size of the mesh using the appropiate functor and + // create a TMesh::Builder instance for the new mesh. + typename TMesh::Size newSize = { 0, 0, 0 }; + for (typename TMesh::ConstFaceIterator faceIt = mesh.begin_f(); + faceIt != mesh.end_f(); ++faceIt) + { + ComputeNewSizeForFace::Exec( *faceIt, + typename ComputeNewSizeForFace::PARAM( &newSize ) ); + } + + typename TMesh::Builder builder( newSize ); + + // Add all vertices of the old mesh (in the same order, the ids are + // therefore the same for both meshes): + for (typename TMesh::ConstVertexIterator vertexIt = mesh.begin_v(); + vertexIt != mesh.end_v(); ++vertexIt) + { + builder.addVertex( *vertexIt ); + } + + // Call the refineFaceUniformly functor to actually do the work and + // refine the faces. + std::vector< geoid_t > newVertices( mesh.getNumberOfEdges(), + geoid_t_max ); + for (typename TMesh::ConstFaceIterator faceIt = mesh.begin_f(); + faceIt != mesh.end_f(); ++faceIt) + { + RefineFaceUniformly::Exec( *faceIt, + typename RefineFaceUniformly::PARAM(mesh, &builder, &newVertices) ); + } + + return builder.deliver(); + } + } +} + diff --git a/src/bem3d/src/boundary_mesh/dispatchTest.cpp b/src/bem3d/src/boundary_mesh/dispatchTest.cpp new file mode 100644 index 0000000..e0882df --- /dev/null +++ b/src/bem3d/src/boundary_mesh/dispatchTest.cpp @@ -0,0 +1,110 @@ +#include "FaceDispatch.hpp" +#include + +using namespace boundary_mesh; + +/* + * NEU NEU NEU + * + * Ich habe gerade einen dynamischen Multi-Dispatcher geschrieben, hier ist + * das Ergebnis. Ziel ist es -- nur um dir das Googeln zu ersparen -- den + * Typ eines Faces dynamisch zur Laufzeit zu erkennen und daraufhin die dem + * Typ entsprechende Variante einer Funktion aufzurufen. + * + * Man kann dabei daran denken, dass wir eine Funktion refineFace schreiben + * können, die in Abhängigkeit vom Typ des Faces das Face selbstständig + * verfeinert. + * + * In unserem jetzigen refine-Algorithmus können wir dann einfach diese + * refine-Funktion aufrufen und es passiert das richtige, d.h. wir ersparen + * uns die Fallunterscheidungen innerhalb der Funktion, haben nicht den + * Code für alle verschiedenen Faces innerhalb dieser einen Funktion und + * halten die Bibliothek leichter erweiterbar. + * + */ + +// Hier deklarieren wir zum Testen eine abstrakte Basisklasse RFace, sowie +// zwei Realisierungen RTriangle und RQuadrilateral. +// Volle Implementierungen dieser Klassen sind bald Bestandteil von Face.hpp. +struct Mesh {}; + +struct RFace +{ + virtual dispatchId_t getDispatchId() const =0; +}; + +struct RTriangle : RFace +{ + virtual dispatchId_t getDispatchId() const { + return DispatchId< Mesh, RTriangle >::Get(); + } +}; + +struct RQuadrilateral : RFace +{ + virtual dispatchId_t getDispatchId() const { + return DispatchId< Mesh, RQuadrilateral >::Get(); + } +}; + +// Das ist die Realisierung der Funktion für ein Dreieck. +void testTriangle( const RFace& f ) +{ + std::cout << "Das ist ein Dreieck!" << std::endl; +} + +// Und das für ein Viereck. +void testQuadrilateral( const RFace& f ) +{ + std::cout << "Das ist ein Viereck!" << std::endl; +} + +// Nun erzeugen wir einen Dispatch-Funktor mit dem Namen test, in dem Fall +// als globale Variable. +MultiDispatchSingleArg< RFace, void (&)( const RFace& f ), + void (*)( const RFace& f )> test; + +int main() +{ + // Jedem Face-Typen gehört *einmalig* eine Id zugeordnet. Darum kümmert + // sich später eine Initialisierungsfunktion, die automatisch aufgerufen + // wird. + DispatchId< Mesh, RTriangle >::Set( + CentralDispatchIdDispenser< Mesh >::Get()); + DispatchId< Mesh, RQuadrilateral >::Set( + CentralDispatchIdDispenser< Mesh >::Get()); + + // Jedem Funktor muss mitgeteilt werden, welche Realisierungen zur + // Verfügung stehen. Prinzipiell wird es dazu eine Liste von + // Registrierungsfunktionen geben, die von der Initialisierungsfunktion + // aufgerufen werden. + test.registerHandler< Mesh, RTriangle >( testTriangle ); + test.registerHandler< Mesh, RQuadrilateral >( testQuadrilateral ); + + // So, sobald alles aufgesetzt ist wird es etwas hübscher: + // Unsere Test-Typen. + RTriangle t; + RQuadrilateral q; + + // So sehen dann die Funktionsaufrufe aus. + test(t)(t); + test(q)(q); + + // Ausgabe: + // Das ist ein Dreieck! + // Das ist ein Viereck! + // + + return 0; +} + +// Das sieht nicht nach sehr viel aus, aber dadurch wird es möglich, den +// Code gut zu strukturieren und die Netzverwaltung vorallem erweiterbar +// zu halten. Außerdem ist der Dispatcher schneller als eine Liste von +// dynamic_casts, weil er in einer Tabelle nachsieht und nicht versuchen +// muss das Objekt auf alle Möglichkeiten zu casten. + +// Was derzeit vor allem noch fehlt ist die Möglichkeit, den dynamischen +// Dispatcher gegen einen statischen auszutauschen um Zeit zu sparen, falls +// das Netz z.B. nur aus Dreiecken besteht. + diff --git a/src/bem3d/src/boundary_mesh/exception.hpp b/src/bem3d/src/boundary_mesh/exception.hpp new file mode 100644 index 0000000..9e3c0da --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception.hpp @@ -0,0 +1,7 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_HPP_GUARD_ + +#include "exception/NoMatchingFaceType.hpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/exception/CouldNotDispatchCall.cpp b/src/bem3d/src/boundary_mesh/exception/CouldNotDispatchCall.cpp new file mode 100644 index 0000000..16eda9f --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception/CouldNotDispatchCall.cpp @@ -0,0 +1,12 @@ +#include "CouldNotDispatchCall.hpp" + +namespace boundary_mesh +{ + namespace exception + { + CouldNotDispatchCall::CouldNotDispatchCall( const std::string& whatArg ) + : std::runtime_error( whatArg ) + {} + } +} + diff --git a/src/bem3d/src/boundary_mesh/exception/CouldNotDispatchCall.hpp b/src/bem3d/src/boundary_mesh/exception/CouldNotDispatchCall.hpp new file mode 100644 index 0000000..ee455c4 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception/CouldNotDispatchCall.hpp @@ -0,0 +1,21 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_COULDNOTDISPATCHCALL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_COULDNOTDISPATCHCALL_HPP_GUARD_ + +#include +#include +#include + +namespace boundary_mesh +{ + namespace exception + { + class CouldNotDispatchCall : public std::runtime_error + { + public: + CouldNotDispatchCall( const std::string& whatArg ); + }; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/exception/DispatchIdNotSet.cpp b/src/bem3d/src/boundary_mesh/exception/DispatchIdNotSet.cpp new file mode 100644 index 0000000..d3563b6 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception/DispatchIdNotSet.cpp @@ -0,0 +1,12 @@ +#include "DispatchIdNotSet.hpp" + +namespace boundary_mesh +{ + namespace exception + { + DispatchIdNotSet::DispatchIdNotSet( const std::string& whatArg ) + : std::logic_error( whatArg ) + {} + } +} + diff --git a/src/bem3d/src/boundary_mesh/exception/DispatchIdNotSet.hpp b/src/bem3d/src/boundary_mesh/exception/DispatchIdNotSet.hpp new file mode 100644 index 0000000..8d203eb --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception/DispatchIdNotSet.hpp @@ -0,0 +1,21 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_DISPATCHIDNOTSET_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_DISPATCHIDNOTSET_HPP_GUARD_ + +#include +#include +#include + +namespace boundary_mesh +{ + namespace exception + { + class DispatchIdNotSet : public std::logic_error + { + public: + DispatchIdNotSet( const std::string& whatArg ); + }; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType.hpp b/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType.hpp new file mode 100644 index 0000000..68790bc --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType.hpp @@ -0,0 +1,32 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_NOMATCHINGFACETYPE_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_NOMATCHINGFACETYPE_HPP_GUARD_ + +#include +#include +#include +#include + +namespace boundary_mesh +{ + namespace exception + { + template < class TMesh > + class NoMatchingFaceType : public std::runtime_error + { + public: + NoMatchingFaceType(const std::string& what_arg, + const std::vector< const typename TMesh::Vertex* > vertices) throw(); + + virtual ~NoMatchingFaceType() throw(); + virtual const char* what() const throw(); + + private: + char* message_; + + static const unsigned int maximumMessageSize = 512; + }; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp b/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp new file mode 100644 index 0000000..aed85e5 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp @@ -0,0 +1,68 @@ +#include "NoMatchingFaceType.hpp" + +#include +#include + +namespace boundary_mesh +{ + namespace exception + { + template < class TMesh > + NoMatchingFaceType< TMesh >::NoMatchingFaceType( + const std::string& what_arg, + const std::vector< const typename TMesh::Vertex* > vertices) throw() + : std::runtime_error(what_arg), message_(new char[maximumMessageSize]) + { + message_ = std::strncpy(message_, std::runtime_error::what(), + maximumMessageSize); + if ( message_[maximumMessageSize-1] != '\0' ) + { + message_[maximumMessageSize-1] = '\0'; + } + else + { + size_t firstFreePos = strlen(message_); + std::strncpy(message_+firstFreePos, + "\nThe following vertices are involved:", + maximumMessageSize - firstFreePos); + if (message_[maximumMessageSize-1] != '\0') + { + message_[maximumMessageSize-1] = '\0'; + } + else + { + std::stringstream ss; + for ( typename std::vector< const typename TMesh::Vertex* >:: + const_iterator vertexIt = vertices.begin(); + vertexIt != vertices.end(); ++vertexIt ) + { + ss << std::endl << **vertexIt; + } + std::string s = ss.str(); + + firstFreePos = strlen(message_); + std::strncpy(message_+firstFreePos, s.c_str(), + maximumMessageSize - firstFreePos); + if (message_[maximumMessageSize-1] != '\0') + { + message_[maximumMessageSize-1] = '\0'; + } + } + } + } + + template < class TMesh > + NoMatchingFaceType< TMesh >::~NoMatchingFaceType() throw() + { + delete message_; + } + + template < class TMesh > + const char* + NoMatchingFaceType< TMesh >::what() const throw() + { + return message_; + } + } +} + diff --git a/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp b/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp new file mode 100644 index 0000000..2880f14 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp @@ -0,0 +1,8 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_NOMATCHINGFACETYPE_TMPL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_NOMATCHINGFACETYPE_TMPL_HPP_GUARD_ + +#include "NoMatchingFaceType.hpp" +#include "NoMatchingFaceType_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral.hpp b/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral.hpp new file mode 100644 index 0000000..ccb5b23 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral.hpp @@ -0,0 +1,61 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_CONVEXQUADRILATERAL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_CONVEXQUADRILATERAL_HPP_GUARD_ + +#include "../../generic/BaseTypes.hpp" +#include "Quadrilateral.hpp" + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + template < class TFaceBase, class TMesh > + class GenericConvexQuadrilateral__ + : public TFaceBase + { + public: + static bool is( + const typename std::vector< const typename TMesh::Vertex* > + vertices); + + GenericConvexQuadrilateral__( + const typename TMesh::HalfEdge& halfedge ); + GenericConvexQuadrilateral__( + const typename TMesh::HalfEdge& halfedge, geoid_t id ); + double computeArea() const; + }; + } + + template < class TMesh > + class ConvexQuadrilateral + : public priv::GenericConvexQuadrilateral__< + Quadrilateral, TMesh > + { + public: + ConvexQuadrilateral( const typename TMesh::HalfEdge& halfedge ); + }; + + template < class TMesh > + class RConvexQuadrilateral + : public priv::GenericConvexQuadrilateral__< + RQuadrilateral< TMesh >, TMesh > + { + typedef priv::GenericConvexQuadrilateral__< + RQuadrilateral< TMesh >, TMesh > GenericConvexQuadrilateral; + + public: + RConvexQuadrilateral( const typename TMesh::HalfEdge& halfedge, + geoid_t id ); + virtual double computeArea() const; + }; + + template < class TMesh > + class NoConvexQuadrilateral + : public generic::NullType + {}; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp b/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp new file mode 100644 index 0000000..980428c --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp @@ -0,0 +1,95 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_CONVEXQUADRILATERAL_TMPL_CPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_CONVEXQUADRILATERAL_TMPL_CPP_GUARD_ + +#include "../Face.hpp" +#include "Quadrilateral_tmpl.hpp" + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + inline int signum(double x) // MK: changed this to inline, otherwise "mulitple definition error" when compiling....solution to this?? + { + if ( x < 0 ) + return -1; + else if ( x > 0 ) + return 1; + else + return 0; + } + + template < class TFaceBase, class TMesh > + bool + GenericConvexQuadrilateral__< TFaceBase, TMesh >::is( + const typename std::vector< const typename TMesh::Vertex* > + vertices) + { + if (vertices.size() == 4) + { + const typename TMesh::Vertex& a = *(vertices[0]); + const typename TMesh::Vertex& b = *(vertices[1]); + const typename TMesh::Vertex& c = *(vertices[2]); + const typename TMesh::Vertex& d = *(vertices[3]); + int sA1 = signum( (d-a) * (b-a) ); + int sA2 = signum( (a-b) * (c-b) ); + int sA3 = signum( (b-c) * (d-c) ); + int sA4 = signum( (c-d) * (a-d) ); + return sA1 == sA2 && sA2 == sA3 && sA3 == sA4 && sA4 != 0; + } + return false; + } + + template < class TFaceBase, class TMesh > + GenericConvexQuadrilateral__< TFaceBase, TMesh >:: + GenericConvexQuadrilateral__( + const typename TMesh::HalfEdge& halfedge) + : TFaceBase( halfedge ) + {} + + template < class TFaceBase, class TMesh > + GenericConvexQuadrilateral__< TFaceBase, TMesh >:: + GenericConvexQuadrilateral__( + const typename TMesh::HalfEdge& halfedge, geoid_t id) + : TFaceBase( halfedge, id ) + {} + + template < class TFaceBase, class TMesh > + double + GenericConvexQuadrilateral__< TFaceBase, TMesh >::computeArea() const + { + const typename TMesh::Vertex& a = TFaceBase::getA(); + const typename TMesh::Vertex& b = TFaceBase::getB(); + const typename TMesh::Vertex& c = TFaceBase::getC(); + const typename TMesh::Vertex& d = TFaceBase::getD(); + return .5 * ( (TMesh::Vertex::crossProduct( b-a, d-a )).norm() + + (TMesh::Vertex::crossProduct( b-c, d-c )).norm()); + } + } + + template < class TMesh > + ConvexQuadrilateral< TMesh >::ConvexQuadrilateral( + const typename TMesh::HalfEdge& halfedge) + : priv::GenericConvexQuadrilateral__< Quadrilateral< TMesh >, TMesh >( + halfedge) + {} + + template < class TMesh > + RConvexQuadrilateral< TMesh >::RConvexQuadrilateral( + const typename TMesh::HalfEdge& halfedge, geoid_t id) + : priv::GenericConvexQuadrilateral__< RQuadrilateral< TMesh >, TMesh >( + halfedge, id) + {} + + template < class TMesh > + double + RConvexQuadrilateral< TMesh >::computeArea() const + { + return GenericConvexQuadrilateral::computeArea(); + } + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp b/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp new file mode 100644 index 0000000..4b390c9 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp @@ -0,0 +1,8 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_CONVEXQUADRILATERAL_TMPL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_CONVEXQUADRILATERAL_TMPL_HPP_GUARD_ + +#include "ConvexQuadrilateral.hpp" +#include "ConvexQuadrilateral_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Parallelogram.hpp b/src/bem3d/src/boundary_mesh/face/Parallelogram.hpp new file mode 100644 index 0000000..93be81c --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Parallelogram.hpp @@ -0,0 +1,59 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_HPP_GUARD_ + +#include "../../generic/BaseTypes.hpp" +#include "ConvexQuadrilateral.hpp" + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + template < class TFaceBase, class TMesh > + class GenericParallelogram__ + : public TFaceBase + { + public: + static bool is( + const typename std::vector< const typename TMesh::Vertex* > + vertices); + + GenericParallelogram__( const typename TMesh::HalfEdge& halfedge ); + GenericParallelogram__( const typename TMesh::HalfEdge& halfedge, + geoid_t id ); + double computeArea() const; + }; + } + + template < class TMesh > + class Parallelogram + : public priv::GenericParallelogram__< + ConvexQuadrilateral, TMesh > + { + public: + Parallelogram( const typename TMesh::HalfEdge& halfedge ); + }; + + template < class TMesh > + class RParallelogram + : public priv::GenericParallelogram__< + RConvexQuadrilateral< TMesh >, TMesh > + { + typedef priv::GenericParallelogram__< + RConvexQuadrilateral< TMesh >, TMesh > GenericParallelogram; + + public: + RParallelogram( const typename TMesh::HalfEdge& halfedge, geoid_t id ); + virtual double computeArea() const; + }; + + template < class TMesh > + class NoParallelogram + : public generic::NullType + {}; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Parallelogram_tmpl.cpp b/src/bem3d/src/boundary_mesh/face/Parallelogram_tmpl.cpp new file mode 100644 index 0000000..9f0b5c1 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Parallelogram_tmpl.cpp @@ -0,0 +1,77 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_TMPL_CPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_TMPL_CPP_GUARD_ + +#include +#include "ConvexQuadrilateral_tmpl.hpp" +#include "Parallelogram_tmpl.hpp" + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + template < class TFaceBase, class TMesh > + bool GenericParallelogram__< TFaceBase, TMesh >::is( + const typename std::vector< const typename TMesh::Vertex* > + vertices) + { + if ( TFaceBase::is( vertices ) == true ) + { + const typename TMesh::Vertex& a = *(vertices[0]); + const typename TMesh::Vertex& b = *(vertices[1]); + const typename TMesh::Vertex& c = *(vertices[2]); + const typename TMesh::Vertex& d = *(vertices[3]); + return (b - a).isLinearlyDependent( d - c ) && + (c - b).isLinearlyDependent( a - d ); + } + return false; + } + + template < class TFaceBase, class TMesh > + GenericParallelogram__< TFaceBase, TMesh >::GenericParallelogram__( + const typename TMesh::HalfEdge& halfedge ) + : TFaceBase( halfedge ) + {} + + template < class TFaceBase, class TMesh > + GenericParallelogram__< TFaceBase, TMesh >::GenericParallelogram__( + const typename TMesh::HalfEdge& halfedge, geoid_t id ) + : TFaceBase( halfedge, id ) + {} + + template < class TFaceBase, class TMesh > + double + GenericParallelogram__< TFaceBase, TMesh >::computeArea() const + { + return TMesh::Vertex::crossProduct( + TFaceBase::getB() - TFaceBase::getA(), + TFaceBase::getC() - TFaceBase::getA() ).norm(); + } + } + + template < class TMesh > + Parallelogram< TMesh >::Parallelogram( + const typename TMesh::HalfEdge& halfedge) + : priv::GenericParallelogram__< ConvexQuadrilateral< TMesh >, TMesh >( + halfedge) + {} + + template < class TMesh > + RParallelogram< TMesh >::RParallelogram( + const typename TMesh::HalfEdge& halfedge, geoid_t id) + : priv::GenericParallelogram__< RConvexQuadrilateral< TMesh >, TMesh >( + halfedge, id) + {} + + template < class TMesh > + double + RParallelogram< TMesh >::computeArea() const + { + return GenericParallelogram::computeArea(); + } + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Parallelogram_tmpl.hpp b/src/bem3d/src/boundary_mesh/face/Parallelogram_tmpl.hpp new file mode 100644 index 0000000..3142138 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Parallelogram_tmpl.hpp @@ -0,0 +1,8 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_TMPL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_TMPL_HPP_GUARD_ + +#include "Parallelogram.hpp" +#include "Parallelogram_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Quadrilateral.hpp b/src/bem3d/src/boundary_mesh/face/Quadrilateral.hpp new file mode 100644 index 0000000..0f43964 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Quadrilateral.hpp @@ -0,0 +1,66 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_HPP_GUARD_ + +#include +#include "../../generic/BaseTypes.hpp" +#include "../types.hpp" +#include "../Face.hpp" + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + template < class TFaceBase, class TMesh > + class GenericQuadrilateral__ + : public TFaceBase + { + public: + static bool is( + const typename std::vector< const typename TMesh::Vertex* > + vertices); + + GenericQuadrilateral__( const typename TMesh::HalfEdge& halfedge ); + GenericQuadrilateral__( const typename TMesh::HalfEdge& halfedge, + geoid_t id ); + double computeArea() const; + geoid_t getNumberOfVertices() const; + const typename TMesh::Vertex& getA() const; + const typename TMesh::Vertex& getB() const; + const typename TMesh::Vertex& getC() const; + const typename TMesh::Vertex& getD() const; + }; + } + + template < class TMesh > + class Quadrilateral + : public priv::GenericQuadrilateral__< CommonFaceBase__< TMesh >, TMesh > + { + public: + Quadrilateral( const typename TMesh::HalfEdge& halfedge ); + }; + + template < class TMesh > + class RQuadrilateral + : public priv::GenericQuadrilateral__< RFace< TMesh >, TMesh > + { + typedef priv::GenericQuadrilateral__< RFace< TMesh >, TMesh > + GenericQuadrilateral; + + public: + RQuadrilateral( const typename TMesh::HalfEdge& halfedge, geoid_t id ); + virtual double computeArea() const; + virtual geoid_t getNumberOfVertices() const; + virtual dispatchId_t getDispatchId() const; + }; + + template < class TMesh > + class NoQuadrilateral + : public generic::NullType + {}; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Quadrilateral_tmpl.cpp b/src/bem3d/src/boundary_mesh/face/Quadrilateral_tmpl.cpp new file mode 100644 index 0000000..b1a6b79 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Quadrilateral_tmpl.cpp @@ -0,0 +1,134 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_TMPL_CPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_TMPL_CPP_GUARD_ + +#include + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + template < class TFaceBase, class TMesh > + bool + GenericQuadrilateral__< TFaceBase, TMesh >::is( + const typename std::vector< const typename TMesh::Vertex* > vertices) + { + #ifdef HILBERT3D_BOUNDARY_MESH_CHEAP_TYPE_CHECKS + return vertices.size() == 4; + #else + const typename TMesh::Vertex& a = vertices[0]; + const typename TMesh::Vertex& b = vertices[1]; + const typename TMesh::Vertex& c = vertices[2]; + const typename TMesh::Vertex& d = vertices[3]; + return ( vertices.size() == 4 && + (b-a).isLinearlyDependent(c-b) == false && + (c-b).isLinearlyDependent(d-c) == false && + (d-c).isLinearlyDependent(a-d) == false && + (a-d).isLinearlyDependent(b-a) == false ); + + #endif + } + + template < class TFaceBase, class TMesh > + GenericQuadrilateral__< TFaceBase, TMesh >::GenericQuadrilateral__( + const typename TMesh::HalfEdge& halfedge) + : TFaceBase( halfedge ) + {} + + template < class TFaceBase, class TMesh > + GenericQuadrilateral__< TFaceBase, TMesh >::GenericQuadrilateral__( + const typename TMesh::HalfEdge& halfedge, geoid_t id) + : TFaceBase( halfedge, id ) + {} + + template < class TFaceBase, class TMesh > + double + GenericQuadrilateral__< TFaceBase, TMesh >::computeArea() const + { + const typename TMesh::Vertex& a = getA(); + const typename TMesh::Vertex& b = getB(); + const typename TMesh::Vertex& c = getC(); + const typename TMesh::Vertex& d = getD(); + + return (TMesh::Vertex::crossProduct( d - a, b - a ) + + TMesh::Vertex::crossProduct( a - b, c - b ) + + TMesh::Vertex::crossProduct( b - c, d - c ) + + TMesh::Vertex::crossProduct( c - d, a - d )).norm(); + } + + template < class TFaceBase, class TMesh > + geoid_t + GenericQuadrilateral__< TFaceBase, TMesh >::getNumberOfVertices() const + { + return 4; + } + + template < class TFaceBase, class TMesh > + const typename TMesh::Vertex& + GenericQuadrilateral__< TFaceBase, TMesh >::getA() const + { + return FaceVertexCache< TMesh >::Get( this, 0 ); + } + + template < class TFaceBase, class TMesh > + const typename TMesh::Vertex& + GenericQuadrilateral__< TFaceBase, TMesh >::getB() const + { + return FaceVertexCache< TMesh >::Get( this, 1 ); + } + + template < class TFaceBase, class TMesh > + const typename TMesh::Vertex& + GenericQuadrilateral__< TFaceBase, TMesh >::getC() const + { + return FaceVertexCache< TMesh >::Get( this, 2 ); + } + + template < class TFaceBase, class TMesh > + const typename TMesh::Vertex& + GenericQuadrilateral__< TFaceBase, TMesh >::getD() const + { + return FaceVertexCache< TMesh >::Get( this, 3 ); + } + } + + template < class TMesh > + Quadrilateral< TMesh >::Quadrilateral( + const typename TMesh::HalfEdge& halfedge ) + : priv::GenericQuadrilateral__< CommonFaceBase__< TMesh >, TMesh >( + halfedge ) + {} + + template < class TMesh > + RQuadrilateral< TMesh >::RQuadrilateral( + const typename TMesh::HalfEdge& halfedge, geoid_t id ) + : priv::GenericQuadrilateral__< RFace< TMesh >, TMesh >(halfedge,id) + {} + + template < class TMesh > + double + RQuadrilateral< TMesh >::computeArea() const + { + return GenericQuadrilateral::computeArea(); + } + + template < class TMesh > + geoid_t + RQuadrilateral< TMesh >::getNumberOfVertices() const + { + return GenericQuadrilateral::getNumberOfVertices(); + } + + template < class TMesh > + dispatchId_t + RQuadrilateral< TMesh >::getDispatchId() const + { + // TODO: Implement or remove. + return -1; + } + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Quadrilateral_tmpl.hpp b/src/bem3d/src/boundary_mesh/face/Quadrilateral_tmpl.hpp new file mode 100644 index 0000000..0b89f4e --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Quadrilateral_tmpl.hpp @@ -0,0 +1,8 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_TMPL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_TMPL_HPP_GUARD_ + +#include "Quadrilateral.hpp" +#include "Quadrilateral_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Triangle.hpp b/src/bem3d/src/boundary_mesh/face/Triangle.hpp new file mode 100644 index 0000000..75ca88f --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Triangle.hpp @@ -0,0 +1,60 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_TRIANGLE_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_TRIANGLE_HPP_GUARD_ + +#include "../../generic/BaseTypes.hpp" + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + template < class TFaceBase, class TMesh > + class GenericTriangle__ + : public TFaceBase + { + public: + static bool is( + const typename std::vector< const typename TMesh::Vertex* > + vertices); + + GenericTriangle__( const typename TMesh::HalfEdge& halfedge ); + GenericTriangle__( const typename TMesh::HalfEdge& halfedge, + geoid_t id ); + double computeArea() const; + geoid_t getNumberOfVertices() const; + const typename TMesh::Vertex& getA() const; + const typename TMesh::Vertex& getB() const; + const typename TMesh::Vertex& getC() const; + }; + } + + template < class TMesh > + class Triangle + : public priv::GenericTriangle__< CommonFaceBase__< TMesh >, TMesh > + { + public: + Triangle( const typename TMesh::HalfEdge& halfedge ); + }; + + template < class TMesh > + class RTriangle + : public priv::GenericTriangle__< RFace< TMesh >, TMesh > + { + typedef priv::GenericTriangle__< RFace< TMesh >, TMesh > GenericTriangle; + + public: + RTriangle( const typename TMesh::HalfEdge& halfedge, geoid_t id ); + virtual double computeArea() const; + virtual geoid_t getNumberOfVertices() const; + virtual dispatchId_t getDispatchId() const; + }; + + template < class TMesh > + class NoTriangle : public generic::NullType + {}; + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Triangle_tmpl.cpp b/src/bem3d/src/boundary_mesh/face/Triangle_tmpl.cpp new file mode 100644 index 0000000..9808a27 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Triangle_tmpl.cpp @@ -0,0 +1,106 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_TRIANGLE_TMPL_CPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_TRIANGLE_TMPL_CPP_GUARD_ + +#include "Triangle_tmpl.hpp" +#include "../Face.hpp" + +namespace boundary_mesh +{ + namespace face + { + namespace priv + { + template < class TFaceBase, class TMesh > + bool + GenericTriangle__< TFaceBase, TMesh >::is( + const typename std::vector< const typename TMesh::Vertex* > vert) + { + return vert.size() == 3; + } + + template < class TFaceBase, class TMesh > + GenericTriangle__< TFaceBase, TMesh >::GenericTriangle__( + const typename TMesh::HalfEdge& halfedge) + : TFaceBase( halfedge ) + {} + + template < class TFaceBase, class TMesh > + GenericTriangle__< TFaceBase, TMesh >::GenericTriangle__( + const typename TMesh::HalfEdge& halfedge, geoid_t id) + : TFaceBase( halfedge, id ) + {} + + template < class TFaceBase, class TMesh > + double + GenericTriangle__< TFaceBase, TMesh >::computeArea() const + { + return .5 * (TMesh::Vertex::crossProduct( + getC() - getA(), getB() - getA() ).norm()); + } + + template < class TFaceBase, class TMesh > + geoid_t + GenericTriangle__< TFaceBase, TMesh >::getNumberOfVertices() const + { + return 3; + } + + template < class TFaceBase, class TMesh > + const typename TMesh::Vertex& + GenericTriangle__< TFaceBase, TMesh >::getA() const + { + return FaceVertexCache< TMesh >::Get( this, 0 ); + } + + template < class TFaceBase, class TMesh > + const typename TMesh::Vertex& + GenericTriangle__< TFaceBase, TMesh >::getB() const + { + return FaceVertexCache< TMesh >::Get( this, 1 ); + } + + template < class TFaceBase, class TMesh > + const typename TMesh::Vertex& + GenericTriangle__< TFaceBase, TMesh >::getC() const + { + return FaceVertexCache< TMesh >::Get( this, 2 ); + } + } + + template < class TMesh > + Triangle< TMesh >::Triangle( const typename TMesh::HalfEdge& halfedge ) + : priv::GenericTriangle__< CommonFaceBase__< TMesh >, TMesh >( halfedge ) + {} + + template < class TMesh > + RTriangle< TMesh >::RTriangle( const typename TMesh::HalfEdge& halfedge, + geoid_t id) + : priv::GenericTriangle__< RFace< TMesh >, TMesh >( halfedge, id ) + {} + + template < class TMesh > + double + RTriangle< TMesh >::computeArea() const + { + return GenericTriangle::computeArea(); + } + + template < class TMesh > + geoid_t + RTriangle< TMesh >::getNumberOfVertices() const + { + return GenericTriangle::getNumberOfVertices(); + } + + template < class TMesh > + dispatchId_t + RTriangle< TMesh >::getDispatchId() const + { + // TODO: Either remove this function or implement it. + return -1; + } + } +} + +#endif + diff --git a/src/bem3d/src/boundary_mesh/face/Triangle_tmpl.hpp b/src/bem3d/src/boundary_mesh/face/Triangle_tmpl.hpp new file mode 100644 index 0000000..545f85a --- /dev/null +++ b/src/bem3d/src/boundary_mesh/face/Triangle_tmpl.hpp @@ -0,0 +1,8 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_FACE_TRIANGLE_TMPL_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_FACE_TRIANGLE_TMPL_HPP_GUARD_ + +#include "Triangle.hpp" +#include "Triangle_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/boundary_mesh/generic/AbstractIteratorBase.hpp b/src/bem3d/src/boundary_mesh/generic/AbstractIteratorBase.hpp deleted file mode 100644 index 88289ab..0000000 --- a/src/bem3d/src/boundary_mesh/generic/AbstractIteratorBase.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef MESH_GENERIC_DATA_BASED_ITERATOR_HPP_GUARD_ -#define MESH_GENERIC_DATA_BASED_ITERATOR_HPP_GUARD_ - -#include - -namespace boundary_mesh { -namespace generic { - template < class TType, class THelper > - class AbstractIteratorBase : public std::iterator< - std::input_iterator_tag, TType > - { - public: - AbstractIteratorBase(THelper helper); - AbstractIteratorBase(const AbstractIteratorBase& copy); - AbstractIteratorBase(); - - bool operator==(const AbstractIteratorBase& rhs) const; - bool operator!=(const AbstractIteratorBase& rhs) const; - AbstractIteratorBase< TType, THelper >& operator++(); - const TType& operator*() const; - const TType* operator->() const; - - protected: - THelper helper_; - }; -} -} - -#include "AbstractIteratorBase.cpp" - -#endif - diff --git a/src/bem3d/src/boundary_mesh/generic/Marking.cpp b/src/bem3d/src/boundary_mesh/generic/Marking.cpp deleted file mode 100644 index b133833..0000000 --- a/src/bem3d/src/boundary_mesh/generic/Marking.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "Marking.hpp" - -template < Face, Edge, Vertex > -mesh::generic::Marking< Face, Edge, Vertex >::Marking( - Vertex& v1, Vertex& v2, Vertex& v3) - : Face(v1, v2, v3), marked(std::vector(32)) -{ -} - -template < Face, Edge, Vertex > -void -mesh::generic::Marking< Face, Edge, Vertex >::mark( - Edge& edge, int maximum_number_of_hanging_nodes) -{ - bool found = false; - unsigned int i = 0; - Face::EdgeIterator it = begin(); - - for (i = 0, it; it != end(); ++i, ++it) - { - if (&*it == edge) - { - found = true; - marked[i] = true; - break; - } - } - - if (! found) - { - #if 0 - throw exception - #endif - } - - if (isTriangle()) - marked[0] = true; - else if (isRectangle()) - marked[(i+2)%4] = true; -} - diff --git a/src/bem3d/src/boundary_mesh/generic/Marking.hpp b/src/bem3d/src/boundary_mesh/generic/Marking.hpp deleted file mode 100644 index 01fc291..0000000 --- a/src/bem3d/src/boundary_mesh/generic/Marking.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef MARKING_HPP_GUARD_ -#define MARKING_HPP_GUARD_ - -// This is an implementation of a marking algorithm that automatically closes -// the mesh in a way that guarantees the following two conditions: -// 1.) The marked face has not more than a certain number of hanging nodes. -// 2.) If any edge is marked within a triangle, the longest edge is marked -// as well -// 3.) If an edge is marked within a face with 4 edges, the opposite edge -// is marked as well. -namespace mesh -{ -namespace generic -{ - template < Face, Edge, Vertex > - class Marking : public Face - { - public: - Marking(Vertex&, Vertex&, Vertex&); - void mark(Edge&, int maximum_number_of_hanging_nodes = -1); - void unmark(Edge&, int maximum_number_of_hanging_nodes = -1); - bool isMarked(Edge&) const; - bool isMarked(unsigned int id); - - private: - std::vector marked; - }; -} -} - -#endif - diff --git a/src/bem3d/src/boundary_mesh/layer/Marker.cpp b/src/bem3d/src/boundary_mesh/layer/Marker.cpp deleted file mode 100644 index 59a5c0c..0000000 --- a/src/bem3d/src/boundary_mesh/layer/Marker.cpp +++ /dev/null @@ -1,168 +0,0 @@ -#ifdef MESH_LAYER_MARKER_CPP_GUARD_ -#error -#else -#define MESH_LAYER_MARKER_CPP_GUARD_ - -#include - -namespace boundary_mesh { -namespace layer { - - template < class TMesh > - Marker< TMesh >::Marker(const TMesh& mesh) - : mesh_(mesh), - marked_(std::vector(2 * TMesh::traits::maximumNumberOfFaceVertices * - mesh.getNumberOfFaces(), false)) - { - } - - template < class TMesh > - void - Marker< TMesh >::mark( const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge ) - { - Marker< TMesh >::mark( face, Marker< TMesh >::getEdgeId( face, edge ) ); - } - - template < class TMesh > - void - Marker< TMesh >::mark( const typename TMesh::traits::Face& face, - unsigned int edgeId) - { - assert( edgeId >= 0 && - edgeId < TMesh::traits::maximumNumberOfFaceVertices ); - unsigned int idx = 2 * TMesh::traits::maximumNumberOfFaceVertices * - mesh_.getFaceId( face ) + edgeId; - assert( idx >= 0 && idx < marked_.size() ); - marked_[ idx ] = true; - } - - template < class TMesh > - bool - Marker< TMesh >::isMarked( const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge ) const - { - return Marker< TMesh >::isMarked( face, - Marker< TMesh >::getEdgeId( face, edge ) ); - } - - template < class TMesh > - bool - Marker< TMesh >::isMarked( const typename TMesh::traits::Face& face, - unsigned int edgeId ) const - { - assert( edgeId >= 0 && - edgeId < TMesh::traits::maximumNumberOfFaceVertices ); - unsigned int idx = 2 * TMesh::traits::maximumNumberOfFaceVertices * - mesh_.getFaceId( face ) + edgeId; - assert( idx >= 0 && idx < marked_.size() ); - return marked_[ idx ]; - } - - template < class TMesh > - unsigned int - Marker< TMesh >::getEdgeId( const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge ) const - { - unsigned int i = 0; - #ifndef NDEBUG - bool found = false; - #endif - for (typename TMesh::traits::Face::ConstEdgeIterator - edgeIt = face.begin_e(); edgeIt != face.end_e(); ++edgeIt, ++i) - { - if (&(*edgeIt) == &edge) - { - #ifndef NDEBUG - found = true; - #endif - break; - } - } - assert(found); - return i; - } - - template < class TMesh > - void - Marker< TMesh >::close(unsigned int allowedNumberOfHangingNodes) - { - assert(allowedNumberOfHangingNodes <= - TMesh::traits::maximumNumberOfHangingNodes); - - for (typename TMesh::ConstFaceIterator faceIt = mesh_.begin_f(); - faceIt != mesh_.end_f(); ++faceIt) - { - _close( allowedNumberOfHangingNodes, *faceIt ); - } - } - - template < class TMesh > - void - Marker< TMesh >::_close( unsigned int allowedNumberOfHangingNodes, - const typename TMesh::traits::Face& face ) - { - unsigned int numberOfEdges = 0; - bool anyMarked = false; - for (typename TMesh::traits::Face::ConstEdgeIterator - edgeIt = face.begin_e(); edgeIt != face.end_e(); ++edgeIt) - { - if (Marker< TMesh >::isMarked( face, *edgeIt )) - { - _close( allowedNumberOfHangingNodes, face, *edgeIt ); - anyMarked = true; - } - ++numberOfEdges; - } - - if (numberOfEdges == 3 && anyMarked && - Marker< TMesh >::isMarked( face, 0 ) == false) - { - Marker< TMesh >::mark( face, 0 ); - _close( allowedNumberOfHangingNodes, face, *(face.begin_e()) ); - } - else if (numberOfEdges % 2 == 0) - { - for (unsigned int i = 0; i < numberOfEdges; ++i) - { - unsigned int opposite = (i + (numberOfEdges / 2)) % numberOfEdges; - if ( Marker< TMesh >::isMarked( face, i ) && - not Marker< TMesh >::isMarked( face, opposite ) ) - { - Marker< TMesh >::mark( face, opposite ); - typename TMesh::traits::Face::ConstEdgeIterator edgeIt = - face.begin_e(); - for (unsigned int j = 0; j < opposite; ++j) - { - ++edgeIt; - } - Marker< TMesh >::_close( allowedNumberOfHangingNodes, face, *edgeIt ); - } - } - } - } - - template < class TMesh > - void - Marker< TMesh >::_close(unsigned int allowedNumberOfHangingNodes, - const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge) - { - const typename TMesh::traits::HalfEdge* opEdge = - edge.getOppositeEdge(); - if (opEdge != 0) - { - if (opEdge->getNumberOfHangingNodes() >= - allowedNumberOfHangingNodes && - Marker< TMesh >::isMarked(opEdge->getFace(), *opEdge) == false ) - { - Marker< TMesh >::mark(opEdge->getFace(), *opEdge); - Marker< TMesh >::_close(allowedNumberOfHangingNodes, opEdge->getFace()); - } - } - } -} -} - -#endif - diff --git a/src/bem3d/src/boundary_mesh/layer/Marker.hpp b/src/bem3d/src/boundary_mesh/layer/Marker.hpp deleted file mode 100644 index 652f178..0000000 --- a/src/bem3d/src/boundary_mesh/layer/Marker.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef MESH_LAYER_MARKER_HPP_GUARD_ -#define MESH_LAYER_MARKER_HPP_GUARD_ - -#include - -namespace boundary_mesh { -namespace layer { - template < class TMesh > - class Marker - { - public: - Marker(const TMesh& mesh); - void mark(const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge); - void mark(const typename TMesh::traits::Face& face, - unsigned int edgeId); - bool isMarked(const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge) const; - bool isMarked(const typename TMesh::traits::Face& face, - unsigned int edgeId) const; - void close(unsigned int allowedNumberOfHangingNodes = 0); - - private: - const TMesh& mesh_; - std::vector marked_; - - Marker(); - unsigned int getEdgeId( const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge ) const; - void _close( unsigned int allowedNumberOfHangingNodes, - const typename TMesh::traits::Face& face); - void _close( unsigned int allowedNumberOfHangingNodes, - const typename TMesh::traits::Face& face, - const typename TMesh::traits::HalfEdge& edge ); - }; -} -} - -#include "Marker.cpp" - -#endif - diff --git a/src/bem3d/src/boundary_mesh/mesh_compare.cpp b/src/bem3d/src/boundary_mesh/mesh_compare.cpp index 9093023..614e9cc 100644 --- a/src/bem3d/src/boundary_mesh/mesh_compare.cpp +++ b/src/bem3d/src/boundary_mesh/mesh_compare.cpp @@ -35,8 +35,8 @@ #include "HalfEdge.hpp" #include "Vertex.hpp" -#include "mixin/LoadingObj.hpp" -#include "mixin/ExportingObj.hpp" +#include "LoadingObj.hpp" +#include "ExportingObj.hpp" #include "mixin/Comparing.hpp" typedef boundary_mesh::mixin::LoadingObj< diff --git a/src/bem3d/src/boundary_mesh/mixin/ExportingObj.cpp b/src/bem3d/src/boundary_mesh/mixin/ExportingObj.cpp deleted file mode 100644 index 5743270..0000000 --- a/src/bem3d/src/boundary_mesh/mixin/ExportingObj.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#ifdef HILBERT3D_BOUNDARY_MESH_MIXIN_EXPORTING_OBJ_CPP_GUARD_ -#error This file must not be compiled or included directly. Include the \ - appropiate header file instead. -#else -#define HILBERT3D_BOUNDARY_MESH_MIXIN_EXPORTING_OBJ_CPP_GUARD_ - -#include "ExportingObj.hpp" - -#include -#include - -namespace boundary_mesh { -namespace mixin { - template < class TMesh > - void - ExportingObj< TMesh >::exportTo(const char* file_name) const - { - std::ofstream output_file(file_name); - - for (typename TMesh::ConstVertexIterator vertex_it = TMesh::begin_v(); - vertex_it != TMesh::end_v(); ++vertex_it) - { - const typename traits::Vertex& v = *vertex_it; - output_file << "v " << v[0] << " " << v[1] << " " << v[2] << std::endl; - } - - for (typename TMesh::ConstFaceIterator face_it = TMesh::begin_f(); - face_it != TMesh::end_f(); ++face_it) - { - const typename traits::Face& f = *face_it; - output_file << "f "; - for (typename traits::Face::ConstVertexIterator vertex_it = f.begin_v(); - vertex_it != f.end_v(); ++vertex_it) - { - output_file << TMesh::getVertexId(*vertex_it)+1 << " "; - } - output_file << std::endl; - } - } - - template < class TMesh > - void - ExportingObj< TMesh >::exportTo(std::string file_name) const - { - ExportingObj< TMesh >::exportTo(file_name.c_str()); - } -} -} - -#endif - diff --git a/src/bem3d/src/boundary_mesh/mixin/ExportingObj.hpp b/src/bem3d/src/boundary_mesh/mixin/ExportingObj.hpp deleted file mode 100644 index 3e04240..0000000 --- a/src/bem3d/src/boundary_mesh/mixin/ExportingObj.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef HILBERT3D_BOUNDARY_MESH_MIXIN_EXPORTING_OBJ_HPP_GUARD_ -#define HILBERT3D_BOUNDARY_MESH_MIXIN_EXPORTING_OBJ_HPP_GUARD_ - -#include - -#include "MeshMixin.hpp" - -namespace boundary_mesh -{ - namespace mixin - { - template < class TMesh > - class ExportingObj : public TMesh - { - HILBERT3D_MESH_MIXIN( ExportingObj, TMesh ) - - public: - void exportTo(const char* file_name) const; - void exportTo(std::string file_name) const; - }; - } -} - -#include "ExportingObj.cpp" - -#endif - diff --git a/src/bem3d/src/boundary_mesh/mixin/LoadingObj.cpp b/src/bem3d/src/boundary_mesh/mixin/LoadingObj.cpp deleted file mode 100644 index bf77b6b..0000000 --- a/src/bem3d/src/boundary_mesh/mixin/LoadingObj.cpp +++ /dev/null @@ -1,126 +0,0 @@ -#include "LoadingObj.hpp" - -#include -#include -#include -#include -#include "../../exception.hpp" - -#include - -namespace boundary_mesh { -namespace mixin { - -/* Please note, that the vertex_line regex specifially checks that vertices - * are three-dimensional. It is not sufficient to modify this constant in - * order to switch to another dimension! - */ -static const unsigned int vertexDimension = 3; - -template < class TMesh > -LoadingObj< TMesh >::LoadingObj(const char* file_name) - : TMesh() -{ - LoadingObj< TMesh >::init(std::string(file_name)); -} - -template < class TMesh > -LoadingObj< TMesh >::LoadingObj(std::string file_name) -{ - LoadingObj< TMesh >::init(file_name); -} - -template < class TMesh > -void -LoadingObj< TMesh >::init(std::string fileName) -{ - static const boost::regex - vertex_line("v\\s+(-?\\d+(?:\\.\\d+)?)\\s+(-?\\d+(?:\\.\\d+)?)\\s+(-?\\d+(?:\\.\\d+)?)\\s*", - boost::regex::perl); - static const boost::regex - face_line("f\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s*", - boost::regex::perl); - static const boost::regex empty_line("\\s*|\\s*\\#.*", - boost::regex::perl); - - std::ifstream file(fileName.c_str()); - - if ( file.is_open() == false ) - { - throw exception::FileIO(fileName, exception::FileIO::Reading); - } - - struct TMesh::Size size_info; - size_info.vertices = 0; - size_info.faces = 0; - size_info.edges = 0; - boost::smatch what; - std::string line; - - while ( file.good() ) - { - std::getline( file, line ); - - if ( line[0] == 'v' ) - size_info.vertices += 1; - else if ( line[0] == 'f' && boost::regex_match( line, what, face_line ) ) - { - size_info.faces += 1; - size_info.edges += what.size(); - } - } - - file.clear(); - file.seekg( 0, std::ios_base::beg ); - - reserve( size_info ); - - unsigned int line_number = 0; - - while ( file.good() ) - { - std::getline( file, line ); - ++line_number; - - if ( line[0] == 'v' && boost::regex_match( line, what, vertex_line ) ) - { - double coordinates[vertexDimension]; - assert(what.size() == vertexDimension+1); - for (unsigned int i = 0; i < vertexDimension; ++i) - { - std::istringstream istr( what[i+1] ); - istr >> coordinates[i]; - } - TMesh::addVertex(typename TMesh::traits::UnlinkedVertex(coordinates)); - } - else if ( line[0] == 'f' && boost::regex_match( line, what, face_line ) ) - { - unsigned int patterns_matched = what.size(); - assert(patterns_matched > 3); - unsigned int vertex_id[patterns_matched-1]; - for (unsigned int i = 1; i < patterns_matched; ++i) - { - std::istringstream istr( what[i] ); - istr >> vertex_id[i-1]; - vertex_id[i-1] -= 1; - } - - TMesh::addFace(patterns_matched - 1, vertex_id); - } - else if ( boost::regex_match( line, what, empty_line ) ) - {} - else - { - assert(0); - #if 0 - throw new mesh::exception::syntax( file_name, line_number ); - #endif - } - } - - TMesh::build_meta_data(); -} - -} -} - diff --git a/src/bem3d/src/boundary_mesh/mixin/LoadingObj.hpp b/src/bem3d/src/boundary_mesh/mixin/LoadingObj.hpp deleted file mode 100644 index 2b60fa1..0000000 --- a/src/bem3d/src/boundary_mesh/mixin/LoadingObj.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef MESH_MESHLOADER_HPP_GUARD_ -#define MESH_MESHLOADER_HPP_GUARD_ - -#include - -#include "MeshMixin.hpp" - -namespace boundary_mesh { -namespace mixin { - template < class TMesh > - class LoadingObj : public TMesh - { - HILBERT3D_MESH_MIXIN( LoadingObj, TMesh ) - - public: - LoadingObj(const char* fileName); - LoadingObj(std::string fileName); - - private: - void init(std::string fileName); - }; -} -} - -#include "LoadingObj.cpp" - -#endif - diff --git a/src/bem3d/src/boundary_mesh/mixin/RefiningAdaptivly.cpp b/src/bem3d/src/boundary_mesh/mixin/RefiningAdaptivly.cpp index 72a03de..1ff97a6 100644 --- a/src/bem3d/src/boundary_mesh/mixin/RefiningAdaptivly.cpp +++ b/src/bem3d/src/boundary_mesh/mixin/RefiningAdaptivly.cpp @@ -7,7 +7,7 @@ #include #include "RefiningAdaptivly.hpp" -#include "../layer/Marker.hpp" +#include "../Marker.hpp" #include "../layer/RefinementData.hpp" namespace boundary_mesh diff --git a/src/bem3d/src/boundary_mesh/mixin/RefiningUniformly.cpp b/src/bem3d/src/boundary_mesh/mixin/RefiningUniformly.cpp deleted file mode 100644 index d00db3f..0000000 --- a/src/bem3d/src/boundary_mesh/mixin/RefiningUniformly.cpp +++ /dev/null @@ -1,97 +0,0 @@ -#include "RefiningUniformly.hpp" - -#include - -namespace boundary_mesh -{ - namespace mixin - { - template < class TMesh > - RefiningUniformly< TMesh > - RefiningUniformly< TMesh >::refineUniform() const - { - typename TMesh::Size new_size; - new_size.vertices = TMesh::getNumberOfVertices() * 5; - new_size.faces = TMesh::getNumberOfFaces() * 4; - new_size.edges = TMesh::getNumberOfEdges() * 4; - - RefiningUniformly< TMesh > new_mesh( new_size ); - - std::vector< unsigned int > new_vertices; - new_vertices.resize( TMesh::getNumberOfEdges() ); - for (unsigned int i = 0; i < TMesh::getNumberOfEdges(); ++i) - { - new_vertices[i] = 0; - } - - for (typename TMesh::ConstVertexIterator it = TMesh::begin_v(); - it != TMesh::end_v(); ++it) - { - new_mesh.addVertex(*it); - } - - for (typename TMesh::ConstFaceIterator face_it = TMesh::begin_f(); - face_it != TMesh::end_f(); ++face_it) - { - unsigned int number_of_face_edges = 0; - unsigned int old_ids[4]; - unsigned int new_ids[5]; - - for (typename traits::Face::ConstEdgeIterator - edge_it = face_it->begin_e(); - edge_it != face_it->end_e(); ++edge_it) - { - old_ids[number_of_face_edges] - = TMesh::getVertexId( (*edge_it).getStartVertex() ); - if (new_vertices[ TMesh::getEdgeId( *edge_it ) ] != 0) - { - new_ids[number_of_face_edges] - = new_vertices[ TMesh::getEdgeId( *edge_it ) ]; - } - else - { - unsigned int id = new_mesh.addVertex( - 0.5 * ((*edge_it).getStartVertex() + (*edge_it).getEndVertex())); - new_vertices[ TMesh::getEdgeId( *edge_it ) ] = id; - if ( ((*edge_it).getOppositeEdge()) != 0) - { - new_vertices[ - TMesh::getEdgeId( *((*edge_it).getOppositeEdge()) ) ] = id; - } - new_ids[number_of_face_edges] = id; - } - ++number_of_face_edges; - assert(number_of_face_edges <= 4); - } - - if (number_of_face_edges == 3) - { - new_mesh.addFace(old_ids[0], new_ids[0], new_ids[2]); - new_mesh.addFace(new_ids[0], old_ids[1], new_ids[1]); - new_mesh.addFace(new_ids[0], new_ids[1], old_ids[2]); - new_mesh.addFace(new_ids[0], old_ids[2], new_ids[2]); - } - else if (number_of_face_edges == 4) - { - typename traits::Face::ConstVertexIterator vertex_it = - (*face_it).begin_v(); - ++(++vertex_it); - new_ids[4] = new_mesh.addVertex( - 0.5 * (*vertex_it + *(*face_it).begin_v()) ); - new_mesh.addFace(old_ids[0], new_ids[0], new_ids[4], new_ids[3]); - new_mesh.addFace(new_ids[0], old_ids[1], new_ids[1], new_ids[4]); - new_mesh.addFace(new_ids[1], old_ids[2], new_ids[2], new_ids[4]); - new_mesh.addFace(new_ids[2], old_ids[3], new_ids[3], new_ids[4]); - } - else - { - assert(0); // XXX: Not implemented yet, traits, etc. - } - } - - new_mesh.build_meta_data(); - return new_mesh; - } - } -} - diff --git a/src/bem3d/src/boundary_mesh/mixin/RefiningUniformly.hpp b/src/bem3d/src/boundary_mesh/mixin/RefiningUniformly.hpp deleted file mode 100644 index 5da1c88..0000000 --- a/src/bem3d/src/boundary_mesh/mixin/RefiningUniformly.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef MESH_LAYER_MESH_UNIFORM_REFINEMENT_HPP_GUARD_ -#define MESH_LAYER_MESH_UNIFORM_REFINEMENT_HPP_GUARD_ - -#include "MeshMixin.hpp" - -namespace boundary_mesh -{ - namespace mixin - { - template < class TMesh > - class RefiningUniformly : public TMesh - { - HILBERT3D_MESH_MIXIN(RefiningUniformly, TMesh); - - public: - RefiningUniformly< TMesh > refineUniform() const; - }; - } -} - -#include "RefiningUniformly.cpp" - -#endif - diff --git a/src/bem3d/src/boundary_mesh/t.cpp b/src/bem3d/src/boundary_mesh/t.cpp index 4358401..c654171 100644 --- a/src/bem3d/src/boundary_mesh/t.cpp +++ b/src/bem3d/src/boundary_mesh/t.cpp @@ -1,35 +1,22 @@ -#include "Mesh.hpp" -#include "mixin/LoadingObj.hpp" -#include "mixin/ExportingObj.hpp" -#include "mixin/RefiningAdaptivly.hpp" -#include "mixin/RefiningUniformly.hpp" -#include "layer/Marker.hpp" +#include "FlexibleMesh.hpp" + +#include +#include using namespace boundary_mesh; -typedef mixin::LoadingObj< - mixin::ExportingObj< - mixin::RefiningAdaptivly< - mixin::RefiningUniformly< - Mesh<> > > > > - ObjMesh; int main() { - ObjMesh::LoadingObj m("test.obj"); - layer::Marker< Mesh<> > marker(m); - marker.mark( *(m.begin_f()), 2 ); - marker.close(1); - clock_t commence, complete; - commence = clock(); - ObjMesh refined = m.refineAdaptivly( marker ); - complete = clock(); - - long lTime = (complete-commence); - std::cerr << "Time for refinement: " - << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; - - refined.exportTo("output.obj"); - + try + { + FlexibleMesh m = FlexibleMesh::Alg::loadFromObj( "head.obj" ); + FlexibleMesh refined = FlexibleMesh::Alg::refineUniformly( m ); + FlexibleMesh::Alg::saveAsObj( refined, "refined_head.obj" ); + } + catch (std::runtime_error& error) + { + std::cerr << error.what(); + } return 0; } diff --git a/src/bem3d/src/boundary_mesh/testhilbertmesh b/src/bem3d/src/boundary_mesh/testhilbertmesh new file mode 100755 index 0000000..51b8ad8 Binary files /dev/null and b/src/bem3d/src/boundary_mesh/testhilbertmesh differ diff --git a/src/bem3d/src/boundary_mesh/types.hpp b/src/bem3d/src/boundary_mesh/types.hpp new file mode 100644 index 0000000..a4d96f8 --- /dev/null +++ b/src/bem3d/src/boundary_mesh/types.hpp @@ -0,0 +1,13 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_TYPES_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_TYPES_HPP_GUARD_ + +#include + +namespace boundary_mesh { + typedef unsigned int geoid_t; + + const geoid_t geoid_t_max = std::numeric_limits< unsigned int >::max(); +} + +#endif + diff --git a/src/bem3d/src/config.h b/src/bem3d/src/config.h new file mode 100644 index 0000000..c4f8323 --- /dev/null +++ b/src/bem3d/src/config.h @@ -0,0 +1,84 @@ +/* src/config.h. Generated from config.h.in by configure. */ +/* src/config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to dummy `main' function (if any) required to link to the Fortran + libraries. */ +/* #undef F77_DUMMY_MAIN */ + +/* Define if F77 and FC dummy `main' functions are identical. */ +/* #undef FC_DUMMY_MAIN_EQ_F77 */ + +/* Define if you have a BLAS library. */ +#define HAVE_BLAS 1 + +/* define if the Boost library is available */ +#define HAVE_BOOST /**/ + +/* define if the Boost::Regex library is available */ +#define HAVE_BOOST_REGEX /**/ + +/* Define if HLib library is available */ +#define HAVE_HLIB /**/ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have LAPACK library. */ +#define HAVE_LAPACK 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if stdbool.h conforms to C99. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if the system has the type `_Bool'. */ +#define HAVE__BOOL 1 + +/* Name of package */ +#define PACKAGE "hilbert3d" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "markus.mayr@tuwien.ac.at" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Hilbert 3D" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Hilbert 3D 0.1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "hilbert3d" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.1.0" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "0.1.0" diff --git a/src/bem3d/src/generic/BaseTypes.hpp b/src/bem3d/src/generic/BaseTypes.hpp new file mode 100644 index 0000000..dde4540 --- /dev/null +++ b/src/bem3d/src/generic/BaseTypes.hpp @@ -0,0 +1,24 @@ +#ifndef HILBERT3D_GENERIC_BASETYPES_HPP_GUARD_ +#define HILBERT3D_GENERIC_BASETYPES_HPP_GUARD_ + +namespace generic +{ + struct NullType; + + struct NullType + { + static const bool isNullType = true; + }; + + struct EmptyType + {}; + + template + struct WorkAround + { + WorkAround(int) {} + }; +} + +#endif + diff --git a/src/bem3d/src/generic/GenericVector.cpp b/src/bem3d/src/generic/GenericVector.cpp index 39f7ebe..a05b3e6 100644 --- a/src/bem3d/src/generic/GenericVector.cpp +++ b/src/bem3d/src/generic/GenericVector.cpp @@ -21,16 +21,4 @@ namespace generic { template <> const float BaseTypeTraits< float >::initialValue = 0.; -#warning BADHACK -//template < class BaseType, class Traits > - Vector3D< double, generic::BaseTypeTraits< double > > -cross_product( const Vector3D< double, generic::BaseTypeTraits< double > >& lhs, - const Vector3D< double, generic::BaseTypeTraits< double > >& rhs ) -{ - return Vector3D< double, generic::BaseTypeTraits< double > >( - lhs[1] * rhs[2] - lhs[2] * rhs[1], - lhs[2] * rhs[0] - lhs[0] * rhs[2], - lhs[0] * rhs[1] - lhs[1] * rhs[0]); -} - } diff --git a/src/bem3d/src/generic/GenericVector.hpp b/src/bem3d/src/generic/GenericVector.hpp index c280ac7..e758b49 100644 --- a/src/bem3d/src/generic/GenericVector.hpp +++ b/src/bem3d/src/generic/GenericVector.hpp @@ -1,6 +1,8 @@ #ifndef HILBERT3D_GENERIC_GENERIC_VECTOR_HPP_GUARD_ #define HILBERT3D_GENERIC_GENERIC_VECTOR_HPP_GUARD_ +#include + namespace generic { static const unsigned int genericVectorDefaultDim = 3; @@ -44,7 +46,7 @@ namespace generic { BaseType norm() const; - static const unsigned int getDimension(); + static unsigned int getDimension(); private: BaseType coeff[DIM]; @@ -58,17 +60,10 @@ namespace generic { Vector3D(BaseType x, BaseType y, BaseType z); Vector3D(const BaseType coeff[3]); Vector3D(const GenericVector<3, BaseType, Traits >& copy); + + static Vector3D crossProduct( const Vector3D& lhs, const Vector3D& rhs ); }; -#warning BADHACK -/* template < class BaseType, class Traits > - Vector3D< BaseType, Traits > - cross_product( const Vector3D< BaseType, Traits >& lhs, - const Vector3D< BaseType, Traits >& rhs ); -*/ - Vector3D< double, BaseTypeTraits< double > > - cross_product( const Vector3D< double, BaseTypeTraits< double > >& lhs, - const Vector3D< double, BaseTypeTraits< double > >& rhs); template< unsigned int DIM, class BaseType, class Traits> bool operator==(const GenericVector< DIM, BaseType, Traits >&, @@ -105,6 +100,11 @@ namespace generic { template< unsigned int DIM, class BaseType, class Traits > const GenericVector< DIM, BaseType, Traits > operator*(const BaseType, const GenericVector< DIM, BaseType, Traits >&); + + template < unsigned int DIM, class BaseType, class Traits > + std::ostream& + operator<<( std::ostream& out, + const GenericVector< DIM, BaseType, Traits >& rhs); } #include "GenericVector_tmpl.cpp" diff --git a/src/bem3d/src/generic/GenericVector_tmpl.cpp b/src/bem3d/src/generic/GenericVector_tmpl.cpp index a4b4203..13d5fa3 100644 --- a/src/bem3d/src/generic/GenericVector_tmpl.cpp +++ b/src/bem3d/src/generic/GenericVector_tmpl.cpp @@ -35,7 +35,7 @@ const BaseType & GenericVector< DIM, BaseType, Traits >::operator[](unsigned int coord) const { - assert(coord >= 0 && coord < DIM); + assert(coord < DIM); return coeff[coord]; } @@ -43,7 +43,7 @@ template < unsigned int DIM, class BaseType, class Traits > BaseType & GenericVector< DIM, BaseType, Traits >::operator[](unsigned int coord) { - assert(coord >= 0 && coord < DIM); + assert(coord < DIM); return coeff[coord]; } @@ -140,7 +140,7 @@ GenericVector< DIM, BaseType, Traits >::norm() const } template < unsigned int DIM, class BaseType, class Traits > -const unsigned int +unsigned int GenericVector< DIM, BaseType, Traits >::getDimension() { return DIM; @@ -170,6 +170,18 @@ Vector3D< BaseType, Traits >::Vector3D(const GenericVector<3, BaseType, Traits > : GenericVector<3, BaseType, Traits>( copy ) {} +template < class BaseType, class Traits > +Vector3D< BaseType, Traits > +Vector3D< BaseType, Traits >::crossProduct( + const Vector3D< BaseType, Traits >& lhs, + const Vector3D< BaseType, Traits >& rhs ) +{ + return Vector3D< BaseType, Traits >( + lhs[1] * rhs[2] - lhs[2] * rhs[1], + lhs[2] * rhs[0] - lhs[0] * rhs[2], + lhs[0] * rhs[1] - lhs[1] * rhs[0]); +} + template < unsigned int DIM, class BaseType, class Traits > bool operator==( @@ -265,6 +277,18 @@ operator*( return result; } +template < unsigned int DIM, class BaseType, class Traits > +std::ostream& +operator<<( std::ostream& out, + const GenericVector< DIM, BaseType, Traits >& rhs) +{ + out << "[ "; + for (unsigned int i = 0; i < DIM-1; ++i) + out << rhs[i] << ", "; + out << rhs[DIM-1] << " ]"; + return out; +} + } #endif diff --git a/src/bem3d/src/generic/Singleton.hpp b/src/bem3d/src/generic/Singleton.hpp new file mode 100644 index 0000000..af6634a --- /dev/null +++ b/src/bem3d/src/generic/Singleton.hpp @@ -0,0 +1,23 @@ +#ifndef HILBERT3D_BOUNDARY_MESH_GENERIC_SINGLETON_HPP_GUARD_ +#define HILBERT3D_BOUNDARY_MESH_GENERIC_SINGLETON_HPP_GUARD_ + +namespace generic +{ + template < class T > + class Singleton + { + public: + static T& Get(); + + protected: + Singleton(); + + private: + Singleton( const Singleton& ); + }; +} + +#include "Singleton_tmpl.cpp" + +#endif + diff --git a/src/bem3d/src/generic/Singleton_tmpl.cpp b/src/bem3d/src/generic/Singleton_tmpl.cpp new file mode 100644 index 0000000..6aaed9c --- /dev/null +++ b/src/bem3d/src/generic/Singleton_tmpl.cpp @@ -0,0 +1,17 @@ +#include "Singleton.hpp" + +namespace generic +{ + template < class T > + T& Singleton< T >::Get() + { + static T singleton; + return singleton; + } + + template < class T > + Singleton< T >::Singleton() + { + } +} + diff --git a/src/bem3d/src/generic/TypeList.hpp b/src/bem3d/src/generic/TypeList.hpp new file mode 100644 index 0000000..dea6fa0 --- /dev/null +++ b/src/bem3d/src/generic/TypeList.hpp @@ -0,0 +1,80 @@ +#ifndef HILBERT3D_GENERIC_TYPELIST_HPP_GUARD_ +#define HILBERT3D_GENERIC_TYPELIST_HPP_GUARD_ + +/** + * TODO: Lizensierung klarstellen. + * Remark: This module is strongly based on Modern C++ Design by Andrei + * Alexandrescu and the Loki library. This is clearly derived work. As + * a result, full copyright belongs to Andrei Alexandrescu. + */ + +#include "BaseTypes.hpp" + +namespace generic +{ + template < class THead, class TTail > + struct TypeList + { + typedef THead Head; + typedef TTail Tail; + }; + + namespace typelist + { + template < class TList > struct Length; + + template <> struct Length< NullType > + { + enum { value = 0 }; + }; + + template < class THead, class TTail > + struct Length< TypeList< THead, TTail > > + { + enum { value = 1 + Length< TTail >::value }; + }; + + template < class TList, class T > struct IndexOf; + + template < class T > + struct IndexOf< NullType, T > + { + enum { value = -1 }; + }; + + template < class T, class TTail > + struct IndexOf< TypeList< T, TTail >, T > + { + enum { value = 0 }; + }; + + template < class THead, class TTail, class T > + struct IndexOf< TypeList< THead, TTail >, T > + { + private: + enum { temp = IndexOf< TTail, T >::value }; + public: + enum { value = ( temp == -1 ? -1 : 1 + temp ) }; + }; + } +} + +#define HILBERT3D_TYPELIST_1(T1) \ + ::generic::TypeList< T1, ::generic::NullType > +#define HILBERT3D_TYPELIST_2(T1, T2) \ + ::generic::TypeList< T1, HILBERT3D_TYPELIST_1(T2) > +#define HILBERT3D_TYPELIST_3(T1, T2, T3) \ + ::generic::TypeList< T1, HILBERT3D_TYPELIST_2(T2,T3) > +#define HILBERT3D_TYPELIST_4(T1, T2, T3, T4) \ + ::generic::TypeList< T1, HILBERT3D_TYPELIST_3(T2,T3,T4) > +#define HILBERT3D_TYPELIST_5(T1, T2, T3, T4, T5) \ + ::generic::TypeList< T1, HILBERT3D_TYPELIST_4(T2,T3,T4,T5) > +#define HILBERT3D_TYPELIST_6(T1, T2, T3, T4, T5, T6) \ + ::generic::TypeList< T1, HILBERT3D_TYPELIST_5(T2,T3,T4,T5,T6) > +#define HILBERT3D_TYPELIST_7(T1, T2, T3, T4, T5, T6, T7) \ + ::generic::TypeList< T1, HILBERT3D_TYPELIST_6(T2,T3,T4,T5,T6,T7) > +#define HILBERT3D_TYPELIST_8(T1, T2, T3, T4, T5, T6, T7, T8) \ + ::generic::TypeList< T1, HILBERT3D_TYPELIST_7(T2,T3,T4,T5,T6,T7,T8) > + +#endif + diff --git a/src/bem3d/src/hilbert.hpp b/src/bem3d/src/hilbert.hpp index 44cd760..d08d2a4 100644 --- a/src/bem3d/src/hilbert.hpp +++ b/src/bem3d/src/hilbert.hpp @@ -1,9 +1,9 @@ #ifndef HILBERT3D_HILBERT_HPP_GUARD_ #define HILBERT3D_HILBERT_HPP_GUARD_ -#include "boundary_mesh/Mesh.hpp" +#include "boundary_mesh/FlexibleMesh.hpp" -typedef boundary_mesh::Mesh<> BoundaryMesh; +typedef boundary_mesh::FlexibleMesh BoundaryMesh; #include "spaces/P0Space.hpp" // MK: warum muss dieses include nach dem typedefine in zeile 6 stehen?? sonst gehts nämlich nicht... #endif diff --git a/src/bem3d/src/laplace/.deps/testLaplace-GenericVector.Po b/src/bem3d/src/laplace/.deps/testLaplace-GenericVector.Po new file mode 100644 index 0000000..1f1a525 --- /dev/null +++ b/src/bem3d/src/laplace/.deps/testLaplace-GenericVector.Po @@ -0,0 +1,294 @@ +testLaplace-GenericVector.o: ../generic/GenericVector.cpp \ + ../generic/GenericVector.hpp /usr/include/c++/4.5/ostream \ + /usr/include/c++/4.5/ios /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/exception \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/cctype \ + /usr/include/ctype.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/locale_classes.h /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/basic_string.tcc \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc ../generic/GenericVector_tmpl.cpp \ + /usr/include/c++/4.5/cassert /usr/include/assert.h \ + /usr/include/c++/4.5/cmath /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \ + /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \ + /usr/include/bits/nan.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/include/c++/4.5/bits/cmath.tcc + +../generic/GenericVector.hpp: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +../generic/GenericVector_tmpl.cpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: diff --git a/src/bem3d/src/laplace/.deps/testLaplace-HLibOperator.Po b/src/bem3d/src/laplace/.deps/testLaplace-HLibOperator.Po new file mode 100644 index 0000000..f7a5243 --- /dev/null +++ b/src/bem3d/src/laplace/.deps/testLaplace-HLibOperator.Po @@ -0,0 +1,260 @@ +testLaplace-HLibOperator.o: ../HLibOperator.cpp ../HLibOperator_fwd.hpp \ + /usr/include/c++/4.5/vector /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/basic.h ../../src/config.h /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/xlocale.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h \ + /usr/local/include/HLib/clusterbasis.h /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/h2conversion.h \ + /usr/local/include/HLib/supermatrix.h \ + /usr/local/include/HLib/fullmatrix.h /usr/local/include/HLib/lapack.h \ + /usr/include/assert.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/local/include/HLib/blockcluster.h \ + /usr/local/include/HLib/rkmatrix.h \ + /usr/local/include/HLib/sparsematrix.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/local/include/HLib/uniformmatrix.h \ + /usr/local/include/HLib/supermatrix.h /usr/local/include/HLib/krylov.h \ + /usr/local/include/HLib/factorisations.h \ + /usr/local/include/HLib/graphics.h /usr/local/include/HLib/aca.h \ + /usr/local/include/HLib/surfacebem.h /usr/local/include/HLib/bem3d.h \ + /usr/local/include/HLib/h2virtual.h /usr/local/include/HLib/aca.h \ + /usr/local/include/HLib/quadrature2d.h \ + /usr/local/include/HLib/rkmatrix.h + +../HLibOperator_fwd.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/basic.h: + +../../src/config.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/xlocale.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/local/include/HLib/clusterbasis.h: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/h2conversion.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/fullmatrix.h: + +/usr/local/include/HLib/lapack.h: + +/usr/include/assert.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/local/include/HLib/blockcluster.h: + +/usr/local/include/HLib/rkmatrix.h: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/local/include/HLib/uniformmatrix.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/krylov.h: + +/usr/local/include/HLib/factorisations.h: + +/usr/local/include/HLib/graphics.h: + +/usr/local/include/HLib/aca.h: + +/usr/local/include/HLib/surfacebem.h: + +/usr/local/include/HLib/bem3d.h: + +/usr/local/include/HLib/h2virtual.h: + +/usr/local/include/HLib/aca.h: + +/usr/local/include/HLib/quadrature2d.h: + +/usr/local/include/HLib/rkmatrix.h: diff --git a/src/bem3d/src/laplace/.deps/testLaplace-SimpleLayerPotential.Po b/src/bem3d/src/laplace/.deps/testLaplace-SimpleLayerPotential.Po new file mode 100644 index 0000000..aeedc5c --- /dev/null +++ b/src/bem3d/src/laplace/.deps/testLaplace-SimpleLayerPotential.Po @@ -0,0 +1,1430 @@ +testLaplace-SimpleLayerPotential.o: SimpleLayerPotential.cpp \ + SimpleLayerPotential.hpp ../hilbert.hpp \ + ../boundary_mesh/FlexibleMesh.hpp ../boundary_mesh/FaceDispatch.hpp \ + /usr/include/c++/4.5/vector /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/TypeList.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/basic_string.tcc \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/exception/CouldNotDispatchCall.hpp \ + /usr/include/c++/4.5/cassert /usr/include/assert.h \ + ../boundary_mesh/Face.hpp /usr/include/c++/4.5/iterator \ + /usr/include/c++/4.5/ostream /usr/include/c++/4.5/ios \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/bits/locale_classes.h \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc /usr/include/c++/4.5/istream \ + /usr/include/c++/4.5/bits/istream.tcc \ + /usr/include/c++/4.5/bits/stream_iterator.h ../boundary_mesh/types.hpp \ + /usr/include/c++/4.5/limits ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp /usr/include/c++/4.5/sstream \ + /usr/include/c++/4.5/bits/sstream.tcc ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp ../boundary_mesh/Vertex.hpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/Vertex_tmpl.cpp ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp ../boundary_mesh/MeshBuilder_tmpl.cpp \ + /usr/include/boost/type_traits/is_pointer.hpp \ + /usr/include/boost/type_traits/is_member_pointer.hpp \ + /usr/include/boost/type_traits/config.hpp /usr/include/boost/config.hpp \ + /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.5/utility /usr/include/c++/4.5/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.5/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp \ + /usr/include/boost/detail/workaround.hpp \ + /usr/include/boost/type_traits/is_member_function_pointer.hpp \ + /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ + /usr/include/boost/type_traits/remove_cv.hpp \ + /usr/include/boost/type_traits/broken_compiler_spec.hpp \ + /usr/include/boost/mpl/aux_/lambda_support.hpp \ + /usr/include/boost/mpl/aux_/config/lambda.hpp \ + /usr/include/boost/mpl/aux_/config/ttp.hpp \ + /usr/include/boost/mpl/aux_/config/msvc.hpp \ + /usr/include/boost/mpl/aux_/config/gcc.hpp \ + /usr/include/boost/mpl/aux_/config/workaround.hpp \ + /usr/include/boost/mpl/aux_/config/ctps.hpp \ + /usr/include/boost/type_traits/detail/cv_traits_impl.hpp \ + /usr/include/boost/type_traits/detail/type_trait_def.hpp \ + /usr/include/boost/type_traits/detail/template_arity_spec.hpp \ + /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \ + /usr/include/boost/mpl/aux_/adl_barrier.hpp \ + /usr/include/boost/mpl/aux_/config/adl.hpp \ + /usr/include/boost/mpl/aux_/config/intel.hpp \ + /usr/include/boost/mpl/aux_/nttp_decl.hpp \ + /usr/include/boost/mpl/aux_/config/nttp.hpp \ + /usr/include/boost/mpl/aux_/integral_wrapper.hpp \ + /usr/include/boost/mpl/integral_c_tag.hpp \ + /usr/include/boost/mpl/aux_/config/static_constant.hpp \ + /usr/include/boost/mpl/aux_/static_cast.hpp \ + /usr/include/boost/preprocessor/cat.hpp \ + /usr/include/boost/preprocessor/config/config.hpp \ + /usr/include/boost/mpl/aux_/template_arity_fwd.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/params.hpp \ + /usr/include/boost/mpl/aux_/config/preprocessor.hpp \ + /usr/include/boost/preprocessor/comma_if.hpp \ + /usr/include/boost/preprocessor/punctuation/comma_if.hpp \ + /usr/include/boost/preprocessor/control/if.hpp \ + /usr/include/boost/preprocessor/control/iif.hpp \ + /usr/include/boost/preprocessor/logical/bool.hpp \ + /usr/include/boost/preprocessor/facilities/empty.hpp \ + /usr/include/boost/preprocessor/punctuation/comma.hpp \ + /usr/include/boost/preprocessor/repeat.hpp \ + /usr/include/boost/preprocessor/repetition/repeat.hpp \ + /usr/include/boost/preprocessor/debug/error.hpp \ + /usr/include/boost/preprocessor/detail/auto_rec.hpp \ + /usr/include/boost/preprocessor/tuple/eat.hpp \ + /usr/include/boost/preprocessor/inc.hpp \ + /usr/include/boost/preprocessor/arithmetic/inc.hpp \ + /usr/include/boost/mpl/aux_/config/overload_resolution.hpp \ + /usr/include/boost/type_traits/detail/type_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_def.hpp \ + /usr/include/boost/type_traits/integral_constant.hpp \ + /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \ + /usr/include/boost/mpl/integral_c.hpp \ + /usr/include/boost/mpl/integral_c_fwd.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/ice_and.hpp \ + /usr/include/boost/type_traits/detail/ice_not.hpp \ + /usr/include/boost/utility/enable_if.hpp ../boundary_mesh/Mesh.cpp \ + /usr/include/c++/4.5/iostream /usr/include/c++/4.5/set \ + /usr/include/c++/4.5/bits/stl_tree.h /usr/include/c++/4.5/bits/stl_set.h \ + /usr/include/c++/4.5/bits/stl_multiset.h /usr/include/c++/4.5/list \ + /usr/include/c++/4.5/bits/stl_list.h /usr/include/c++/4.5/bits/list.tcc \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp \ + /usr/include/c++/4.5/cstring /usr/include/string.h \ + /usr/include/bits/string3.h ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/Triangle.hpp \ + ../boundary_mesh/face/../../generic/BaseTypes.hpp \ + ../boundary_mesh/face/Triangle_tmpl.cpp \ + ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/../Face.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/face/Parallelogram.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral.hpp \ + ../boundary_mesh/face/Quadrilateral.hpp \ + ../boundary_mesh/face/../types.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.cpp /usr/include/c++/4.5/cmath \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/c++/4.5/bits/cmath.tcc \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.hpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + /usr/include/c++/4.5/fstream /usr/include/c++/4.5/bits/codecvt.h \ + /usr/include/c++/4.5/cstdio /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/bits/stdio_lim.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/include/bits/stdio2.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.5/bits/fstream.tcc /usr/include/boost/regex.hpp \ + /usr/include/boost/regex/config.hpp /usr/include/boost/regex/user.hpp \ + /usr/include/boost/regex/config/cwchar.hpp \ + /usr/include/boost/config/auto_link.hpp \ + /usr/include/boost/regex/v4/regex.hpp \ + /usr/include/boost/regex/v4/regex_workaround.hpp \ + /usr/include/c++/4.5/climits \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.5/algorithm /usr/include/c++/4.5/bits/stl_algo.h \ + /usr/include/c++/4.5/bits/algorithmfwd.h \ + /usr/include/c++/4.5/bits/stl_heap.h \ + /usr/include/c++/4.5/bits/stl_tempbuf.h /usr/include/c++/4.5/map \ + /usr/include/c++/4.5/bits/stl_map.h \ + /usr/include/c++/4.5/bits/stl_multimap.h /usr/include/boost/limits.hpp \ + /usr/include/boost/assert.hpp /usr/include/boost/cstdint.hpp \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h \ + /usr/include/stdint.h /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/exception/detail/attribute_noreturn.hpp \ + /usr/include/boost/exception/exception.hpp \ + /usr/include/boost/current_function.hpp \ + /usr/include/boost/scoped_ptr.hpp \ + /usr/include/boost/smart_ptr/scoped_ptr.hpp \ + /usr/include/boost/checked_delete.hpp /usr/include/c++/4.5/memory \ + /usr/include/c++/4.5/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.5/backward/auto_ptr.h \ + /usr/include/boost/smart_ptr/detail/operator_bool.hpp \ + /usr/include/boost/scoped_array.hpp \ + /usr/include/boost/smart_ptr/scoped_array.hpp \ + /usr/include/boost/shared_ptr.hpp \ + /usr/include/boost/smart_ptr/shared_ptr.hpp \ + /usr/include/boost/config/no_tr1/memory.hpp \ + /usr/include/boost/smart_ptr/detail/shared_count.hpp \ + /usr/include/boost/smart_ptr/bad_weak_ptr.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base.hpp \ + /usr/include/boost/smart_ptr/detail/sp_has_sync.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/boost/detail/sp_typeinfo.hpp /usr/include/c++/4.5/typeinfo \ + /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.5/functional \ + /usr/include/boost/smart_ptr/detail/sp_convertible.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_sync.hpp \ + /usr/include/boost/smart_ptr/detail/yield_k.hpp \ + /usr/include/boost/memory_order.hpp /usr/include/c++/4.5/locale \ + /usr/include/c++/4.5/bits/locale_facets_nonio.h \ + /usr/include/c++/4.5/ctime \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.5/bits/locale_facets_nonio.tcc \ + /usr/include/boost/regex_fwd.hpp \ + /usr/include/boost/regex/v4/regex_fwd.hpp \ + /usr/include/boost/regex/regex_traits.hpp \ + /usr/include/boost/regex/v4/regex_traits.hpp \ + /usr/include/boost/regex/v4/syntax_type.hpp \ + /usr/include/boost/regex/v4/error_type.hpp \ + /usr/include/boost/regex/v4/regex_traits_defaults.hpp \ + /usr/include/boost/regex/v4/cpp_regex_traits.hpp \ + /usr/include/boost/regex/pattern_except.hpp \ + /usr/include/boost/regex/pending/static_mutex.hpp \ + /usr/include/boost/regex/v4/primary_transform.hpp \ + /usr/include/boost/regex/pending/object_cache.hpp \ + /usr/include/boost/regex/v4/c_regex_traits.hpp \ + /usr/include/boost/mpl/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/type_wrapper.hpp \ + /usr/include/boost/mpl/aux_/yes_no.hpp \ + /usr/include/boost/mpl/aux_/config/arrays.hpp \ + /usr/include/boost/mpl/aux_/config/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/config/msvc_typename.hpp \ + /usr/include/boost/static_assert.hpp \ + /usr/include/boost/regex/v4/match_flags.hpp \ + /usr/include/boost/regex/v4/regex_raw_buffer.hpp \ + /usr/include/boost/regex/v4/char_regex_traits.hpp \ + /usr/include/boost/regex/v4/states.hpp \ + /usr/include/boost/regex/v4/regbase.hpp \ + /usr/include/boost/regex/v4/iterator_traits.hpp \ + /usr/include/boost/regex/v4/basic_regex.hpp \ + /usr/include/boost/type_traits/is_same.hpp \ + /usr/include/boost/functional/hash.hpp \ + /usr/include/boost/functional/hash/hash.hpp \ + /usr/include/boost/functional/hash/hash_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float.hpp \ + /usr/include/boost/functional/hash/detail/float_functions.hpp \ + /usr/include/boost/config/no_tr1/cmath.hpp \ + /usr/include/boost/functional/hash/detail/limits.hpp \ + /usr/include/boost/integer/static_log2.hpp \ + /usr/include/boost/integer_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float_generic.hpp \ + /usr/include/boost/functional/hash/extensions.hpp \ + /usr/include/boost/detail/container_fwd.hpp \ + /usr/include/boost/regex/v4/basic_regex_creator.hpp \ + /usr/include/boost/regex/v4/basic_regex_parser.hpp \ + /usr/include/boost/regex/v4/sub_match.hpp \ + /usr/include/boost/regex/v4/regex_format.hpp \ + /usr/include/boost/type_traits/is_function.hpp \ + /usr/include/boost/type_traits/is_reference.hpp \ + /usr/include/boost/type_traits/detail/false_result.hpp \ + /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ + /usr/include/boost/type_traits/is_class.hpp \ + /usr/include/boost/type_traits/intrinsics.hpp \ + /usr/include/boost/type_traits/is_volatile.hpp \ + /usr/include/boost/type_traits/is_convertible.hpp \ + /usr/include/boost/type_traits/detail/yes_no_type.hpp \ + /usr/include/boost/type_traits/is_array.hpp \ + /usr/include/boost/type_traits/add_reference.hpp \ + /usr/include/boost/type_traits/ice.hpp \ + /usr/include/boost/type_traits/detail/ice_or.hpp \ + /usr/include/boost/type_traits/detail/ice_eq.hpp \ + /usr/include/boost/type_traits/is_arithmetic.hpp \ + /usr/include/boost/type_traits/is_integral.hpp \ + /usr/include/boost/type_traits/is_float.hpp \ + /usr/include/boost/type_traits/is_void.hpp \ + /usr/include/boost/type_traits/is_abstract.hpp \ + /usr/include/boost/type_traits/remove_pointer.hpp \ + /usr/include/boost/mpl/if.hpp /usr/include/boost/mpl/aux_/value_wknd.hpp \ + /usr/include/boost/mpl/aux_/config/integral.hpp \ + /usr/include/boost/mpl/aux_/config/eti.hpp \ + /usr/include/boost/mpl/aux_/na_spec.hpp \ + /usr/include/boost/mpl/lambda_fwd.hpp \ + /usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \ + /usr/include/boost/mpl/aux_/na_fwd.hpp \ + /usr/include/boost/mpl/aux_/lambda_arity_param.hpp \ + /usr/include/boost/mpl/aux_/arity.hpp \ + /usr/include/boost/mpl/aux_/config/dtp.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/enum.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ + /usr/include/boost/mpl/limits/arity.hpp \ + /usr/include/boost/preprocessor/logical/and.hpp \ + /usr/include/boost/preprocessor/logical/bitand.hpp \ + /usr/include/boost/preprocessor/identity.hpp \ + /usr/include/boost/preprocessor/facilities/identity.hpp \ + /usr/include/boost/preprocessor/empty.hpp \ + /usr/include/boost/preprocessor/arithmetic/add.hpp \ + /usr/include/boost/preprocessor/arithmetic/dec.hpp \ + /usr/include/boost/preprocessor/control/while.hpp \ + /usr/include/boost/preprocessor/list/fold_left.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_left.hpp \ + /usr/include/boost/preprocessor/control/expr_iif.hpp \ + /usr/include/boost/preprocessor/list/adt.hpp \ + /usr/include/boost/preprocessor/detail/is_binary.hpp \ + /usr/include/boost/preprocessor/detail/check.hpp \ + /usr/include/boost/preprocessor/logical/compl.hpp \ + /usr/include/boost/preprocessor/list/fold_right.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_right.hpp \ + /usr/include/boost/preprocessor/list/reverse.hpp \ + /usr/include/boost/preprocessor/control/detail/while.hpp \ + /usr/include/boost/preprocessor/tuple/elem.hpp \ + /usr/include/boost/preprocessor/arithmetic/sub.hpp \ + /usr/include/boost/mpl/and.hpp \ + /usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/nested_type_wknd.hpp \ + /usr/include/boost/mpl/aux_/include_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/config/compiler.hpp \ + /usr/include/boost/preprocessor/stringize.hpp \ + /usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ + /usr/include/boost/mpl/not.hpp \ + /usr/include/boost/regex/v4/match_results.hpp \ + /usr/include/boost/regex/v4/protected_call.hpp \ + /usr/include/boost/regex/v4/perl_matcher.hpp \ + /usr/include/boost/regex/v4/iterator_category.hpp \ + /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp \ + /usr/include/boost/regex/v4/perl_matcher_common.hpp \ + /usr/include/boost/regex/v4/instances.hpp \ + /usr/include/boost/regex/v4/regex_match.hpp \ + /usr/include/boost/regex/v4/regex_search.hpp \ + /usr/include/boost/regex/v4/regex_iterator.hpp \ + /usr/include/boost/regex/v4/regex_token_iterator.hpp \ + /usr/include/boost/regex/v4/regex_grep.hpp \ + /usr/include/boost/regex/v4/regex_replace.hpp \ + /usr/include/boost/regex/v4/regex_merge.hpp \ + /usr/include/boost/regex/v4/regex_split.hpp \ + ../boundary_mesh/algorithm/../MeshBuilder.hpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/../types.hpp \ + ../boundary_mesh/algorithm/../FaceDispatch.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp ../boundary_mesh/FlexibleMesh.hpp \ + ../spaces/P0Space.hpp ../spaces/../hilbert.hpp \ + /usr/local/include/HLib/sparsematrix.h /usr/local/include/HLib/basic.h \ + ../../src/config.h /usr/local/include/HLib/supermatrix.h \ + /usr/local/include/HLib/fullmatrix.h /usr/local/include/HLib/lapack.h \ + /usr/local/include/HLib/blockcluster.h /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/clusterbasis.h \ + /usr/local/include/HLib/h2conversion.h \ + /usr/local/include/HLib/rkmatrix.h \ + /usr/local/include/HLib/sparsematrix.h \ + /usr/local/include/HLib/uniformmatrix.h \ + ../boundary_mesh/FaceDispatch.hpp ../HLibOperator.hpp \ + ../HLibOperator_fwd.hpp /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/supermatrix.h /usr/local/include/HLib/krylov.h \ + /usr/local/include/HLib/factorisations.h \ + /usr/local/include/HLib/graphics.h /usr/local/include/HLib/aca.h \ + /usr/local/include/HLib/surfacebem.h /usr/local/include/HLib/bem3d.h \ + /usr/local/include/HLib/h2virtual.h /usr/local/include/HLib/aca.h \ + /usr/local/include/HLib/quadrature2d.h ../HLibOperator_tmpl.cpp \ + ../spaces/P0Space.hpp TriangleIntegrator.hpp + +SimpleLayerPotential.hpp: + +../hilbert.hpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../boundary_mesh/FaceDispatch.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/Singleton_tmpl.cpp: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/TypeList.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +../boundary_mesh/FaceDispatch_tmpl.cpp: + +../boundary_mesh/exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +../boundary_mesh/Face.hpp: + +/usr/include/c++/4.5/iterator: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +/usr/include/c++/4.5/istream: + +/usr/include/c++/4.5/bits/istream.tcc: + +/usr/include/c++/4.5/bits/stream_iterator.h: + +../boundary_mesh/types.hpp: + +/usr/include/c++/4.5/limits: + +../boundary_mesh/exception.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/Face_tmpl.cpp: + +/usr/include/c++/4.5/sstream: + +/usr/include/c++/4.5/bits/sstream.tcc: + +../boundary_mesh/HalfEdge.hpp: + +../boundary_mesh/HalfEdge_tmpl.cpp: + +../boundary_mesh/Vertex.hpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/../generic/GenericVector_tmpl.cpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/Vertex_tmpl.cpp: + +../boundary_mesh/Mesh.hpp: + +../boundary_mesh/MeshBuilder.hpp: + +../boundary_mesh/MeshBuilder_tmpl.cpp: + +/usr/include/boost/type_traits/is_pointer.hpp: + +/usr/include/boost/type_traits/is_member_pointer.hpp: + +/usr/include/boost/type_traits/config.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.5/utility: + +/usr/include/c++/4.5/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/boost/type_traits/is_member_function_pointer.hpp: + +/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: + +/usr/include/boost/type_traits/remove_cv.hpp: + +/usr/include/boost/type_traits/broken_compiler_spec.hpp: + +/usr/include/boost/mpl/aux_/lambda_support.hpp: + +/usr/include/boost/mpl/aux_/config/lambda.hpp: + +/usr/include/boost/mpl/aux_/config/ttp.hpp: + +/usr/include/boost/mpl/aux_/config/msvc.hpp: + +/usr/include/boost/mpl/aux_/config/gcc.hpp: + +/usr/include/boost/mpl/aux_/config/workaround.hpp: + +/usr/include/boost/mpl/aux_/config/ctps.hpp: + +/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: + +/usr/include/boost/type_traits/detail/type_trait_def.hpp: + +/usr/include/boost/type_traits/detail/template_arity_spec.hpp: + +/usr/include/boost/mpl/int.hpp: + +/usr/include/boost/mpl/int_fwd.hpp: + +/usr/include/boost/mpl/aux_/adl_barrier.hpp: + +/usr/include/boost/mpl/aux_/config/adl.hpp: + +/usr/include/boost/mpl/aux_/config/intel.hpp: + +/usr/include/boost/mpl/aux_/nttp_decl.hpp: + +/usr/include/boost/mpl/aux_/config/nttp.hpp: + +/usr/include/boost/mpl/aux_/integral_wrapper.hpp: + +/usr/include/boost/mpl/integral_c_tag.hpp: + +/usr/include/boost/mpl/aux_/config/static_constant.hpp: + +/usr/include/boost/mpl/aux_/static_cast.hpp: + +/usr/include/boost/preprocessor/cat.hpp: + +/usr/include/boost/preprocessor/config/config.hpp: + +/usr/include/boost/mpl/aux_/template_arity_fwd.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/params.hpp: + +/usr/include/boost/mpl/aux_/config/preprocessor.hpp: + +/usr/include/boost/preprocessor/comma_if.hpp: + +/usr/include/boost/preprocessor/punctuation/comma_if.hpp: + +/usr/include/boost/preprocessor/control/if.hpp: + +/usr/include/boost/preprocessor/control/iif.hpp: + +/usr/include/boost/preprocessor/logical/bool.hpp: + +/usr/include/boost/preprocessor/facilities/empty.hpp: + +/usr/include/boost/preprocessor/punctuation/comma.hpp: + +/usr/include/boost/preprocessor/repeat.hpp: + +/usr/include/boost/preprocessor/repetition/repeat.hpp: + +/usr/include/boost/preprocessor/debug/error.hpp: + +/usr/include/boost/preprocessor/detail/auto_rec.hpp: + +/usr/include/boost/preprocessor/tuple/eat.hpp: + +/usr/include/boost/preprocessor/inc.hpp: + +/usr/include/boost/preprocessor/arithmetic/inc.hpp: + +/usr/include/boost/mpl/aux_/config/overload_resolution.hpp: + +/usr/include/boost/type_traits/detail/type_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_def.hpp: + +/usr/include/boost/type_traits/integral_constant.hpp: + +/usr/include/boost/mpl/bool.hpp: + +/usr/include/boost/mpl/bool_fwd.hpp: + +/usr/include/boost/mpl/integral_c.hpp: + +/usr/include/boost/mpl/integral_c_fwd.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/ice_and.hpp: + +/usr/include/boost/type_traits/detail/ice_not.hpp: + +/usr/include/boost/utility/enable_if.hpp: + +../boundary_mesh/Mesh.cpp: + +/usr/include/c++/4.5/iostream: + +/usr/include/c++/4.5/set: + +/usr/include/c++/4.5/bits/stl_tree.h: + +/usr/include/c++/4.5/bits/stl_set.h: + +/usr/include/c++/4.5/bits/stl_multiset.h: + +/usr/include/c++/4.5/list: + +/usr/include/c++/4.5/bits/stl_list.h: + +/usr/include/c++/4.5/bits/list.tcc: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp: + +/usr/include/c++/4.5/cstring: + +/usr/include/string.h: + +/usr/include/bits/string3.h: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/Triangle.hpp: + +../boundary_mesh/face/../../generic/BaseTypes.hpp: + +../boundary_mesh/face/Triangle_tmpl.cpp: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/../Face.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/face/Parallelogram.hpp: + +../boundary_mesh/face/ConvexQuadrilateral.hpp: + +../boundary_mesh/face/Quadrilateral.hpp: + +../boundary_mesh/face/../types.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.cpp: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp: + +../boundary_mesh/face/Quadrilateral_tmpl.hpp: + +../boundary_mesh/face/Quadrilateral_tmpl.cpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/algorithm/HandleObj.hpp: + +../boundary_mesh/algorithm/HandleObj_tmpl.cpp: + +/usr/include/c++/4.5/fstream: + +/usr/include/c++/4.5/bits/codecvt.h: + +/usr/include/c++/4.5/cstdio: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.5/bits/fstream.tcc: + +/usr/include/boost/regex.hpp: + +/usr/include/boost/regex/config.hpp: + +/usr/include/boost/regex/user.hpp: + +/usr/include/boost/regex/config/cwchar.hpp: + +/usr/include/boost/config/auto_link.hpp: + +/usr/include/boost/regex/v4/regex.hpp: + +/usr/include/boost/regex/v4/regex_workaround.hpp: + +/usr/include/c++/4.5/climits: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.5/algorithm: + +/usr/include/c++/4.5/bits/stl_algo.h: + +/usr/include/c++/4.5/bits/algorithmfwd.h: + +/usr/include/c++/4.5/bits/stl_heap.h: + +/usr/include/c++/4.5/bits/stl_tempbuf.h: + +/usr/include/c++/4.5/map: + +/usr/include/c++/4.5/bits/stl_map.h: + +/usr/include/c++/4.5/bits/stl_multimap.h: + +/usr/include/boost/limits.hpp: + +/usr/include/boost/assert.hpp: + +/usr/include/boost/cstdint.hpp: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/exception/detail/attribute_noreturn.hpp: + +/usr/include/boost/exception/exception.hpp: + +/usr/include/boost/current_function.hpp: + +/usr/include/boost/scoped_ptr.hpp: + +/usr/include/boost/smart_ptr/scoped_ptr.hpp: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/c++/4.5/memory: + +/usr/include/c++/4.5/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.5/backward/auto_ptr.h: + +/usr/include/boost/smart_ptr/detail/operator_bool.hpp: + +/usr/include/boost/scoped_array.hpp: + +/usr/include/boost/smart_ptr/scoped_array.hpp: + +/usr/include/boost/shared_ptr.hpp: + +/usr/include/boost/smart_ptr/shared_ptr.hpp: + +/usr/include/boost/config/no_tr1/memory.hpp: + +/usr/include/boost/smart_ptr/detail/shared_count.hpp: + +/usr/include/boost/smart_ptr/bad_weak_ptr.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base.hpp: + +/usr/include/boost/smart_ptr/detail/sp_has_sync.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/boost/detail/sp_typeinfo.hpp: + +/usr/include/c++/4.5/typeinfo: + +/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.5/functional: + +/usr/include/boost/smart_ptr/detail/sp_convertible.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: + +/usr/include/boost/smart_ptr/detail/yield_k.hpp: + +/usr/include/boost/memory_order.hpp: + +/usr/include/c++/4.5/locale: + +/usr/include/c++/4.5/bits/locale_facets_nonio.h: + +/usr/include/c++/4.5/ctime: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.5/bits/locale_facets_nonio.tcc: + +/usr/include/boost/regex_fwd.hpp: + +/usr/include/boost/regex/v4/regex_fwd.hpp: + +/usr/include/boost/regex/regex_traits.hpp: + +/usr/include/boost/regex/v4/regex_traits.hpp: + +/usr/include/boost/regex/v4/syntax_type.hpp: + +/usr/include/boost/regex/v4/error_type.hpp: + +/usr/include/boost/regex/v4/regex_traits_defaults.hpp: + +/usr/include/boost/regex/v4/cpp_regex_traits.hpp: + +/usr/include/boost/regex/pattern_except.hpp: + +/usr/include/boost/regex/pending/static_mutex.hpp: + +/usr/include/boost/regex/v4/primary_transform.hpp: + +/usr/include/boost/regex/pending/object_cache.hpp: + +/usr/include/boost/regex/v4/c_regex_traits.hpp: + +/usr/include/boost/mpl/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/type_wrapper.hpp: + +/usr/include/boost/mpl/aux_/yes_no.hpp: + +/usr/include/boost/mpl/aux_/config/arrays.hpp: + +/usr/include/boost/mpl/aux_/config/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/config/msvc_typename.hpp: + +/usr/include/boost/static_assert.hpp: + +/usr/include/boost/regex/v4/match_flags.hpp: + +/usr/include/boost/regex/v4/regex_raw_buffer.hpp: + +/usr/include/boost/regex/v4/char_regex_traits.hpp: + +/usr/include/boost/regex/v4/states.hpp: + +/usr/include/boost/regex/v4/regbase.hpp: + +/usr/include/boost/regex/v4/iterator_traits.hpp: + +/usr/include/boost/regex/v4/basic_regex.hpp: + +/usr/include/boost/type_traits/is_same.hpp: + +/usr/include/boost/functional/hash.hpp: + +/usr/include/boost/functional/hash/hash.hpp: + +/usr/include/boost/functional/hash/hash_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float.hpp: + +/usr/include/boost/functional/hash/detail/float_functions.hpp: + +/usr/include/boost/config/no_tr1/cmath.hpp: + +/usr/include/boost/functional/hash/detail/limits.hpp: + +/usr/include/boost/integer/static_log2.hpp: + +/usr/include/boost/integer_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: + +/usr/include/boost/functional/hash/extensions.hpp: + +/usr/include/boost/detail/container_fwd.hpp: + +/usr/include/boost/regex/v4/basic_regex_creator.hpp: + +/usr/include/boost/regex/v4/basic_regex_parser.hpp: + +/usr/include/boost/regex/v4/sub_match.hpp: + +/usr/include/boost/regex/v4/regex_format.hpp: + +/usr/include/boost/type_traits/is_function.hpp: + +/usr/include/boost/type_traits/is_reference.hpp: + +/usr/include/boost/type_traits/detail/false_result.hpp: + +/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp: + +/usr/include/boost/type_traits/is_class.hpp: + +/usr/include/boost/type_traits/intrinsics.hpp: + +/usr/include/boost/type_traits/is_volatile.hpp: + +/usr/include/boost/type_traits/is_convertible.hpp: + +/usr/include/boost/type_traits/detail/yes_no_type.hpp: + +/usr/include/boost/type_traits/is_array.hpp: + +/usr/include/boost/type_traits/add_reference.hpp: + +/usr/include/boost/type_traits/ice.hpp: + +/usr/include/boost/type_traits/detail/ice_or.hpp: + +/usr/include/boost/type_traits/detail/ice_eq.hpp: + +/usr/include/boost/type_traits/is_arithmetic.hpp: + +/usr/include/boost/type_traits/is_integral.hpp: + +/usr/include/boost/type_traits/is_float.hpp: + +/usr/include/boost/type_traits/is_void.hpp: + +/usr/include/boost/type_traits/is_abstract.hpp: + +/usr/include/boost/type_traits/remove_pointer.hpp: + +/usr/include/boost/mpl/if.hpp: + +/usr/include/boost/mpl/aux_/value_wknd.hpp: + +/usr/include/boost/mpl/aux_/config/integral.hpp: + +/usr/include/boost/mpl/aux_/config/eti.hpp: + +/usr/include/boost/mpl/aux_/na_spec.hpp: + +/usr/include/boost/mpl/lambda_fwd.hpp: + +/usr/include/boost/mpl/void_fwd.hpp: + +/usr/include/boost/mpl/aux_/na.hpp: + +/usr/include/boost/mpl/aux_/na_fwd.hpp: + +/usr/include/boost/mpl/aux_/lambda_arity_param.hpp: + +/usr/include/boost/mpl/aux_/arity.hpp: + +/usr/include/boost/mpl/aux_/config/dtp.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/enum.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp: + +/usr/include/boost/mpl/limits/arity.hpp: + +/usr/include/boost/preprocessor/logical/and.hpp: + +/usr/include/boost/preprocessor/logical/bitand.hpp: + +/usr/include/boost/preprocessor/identity.hpp: + +/usr/include/boost/preprocessor/facilities/identity.hpp: + +/usr/include/boost/preprocessor/empty.hpp: + +/usr/include/boost/preprocessor/arithmetic/add.hpp: + +/usr/include/boost/preprocessor/arithmetic/dec.hpp: + +/usr/include/boost/preprocessor/control/while.hpp: + +/usr/include/boost/preprocessor/list/fold_left.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_left.hpp: + +/usr/include/boost/preprocessor/control/expr_iif.hpp: + +/usr/include/boost/preprocessor/list/adt.hpp: + +/usr/include/boost/preprocessor/detail/is_binary.hpp: + +/usr/include/boost/preprocessor/detail/check.hpp: + +/usr/include/boost/preprocessor/logical/compl.hpp: + +/usr/include/boost/preprocessor/list/fold_right.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_right.hpp: + +/usr/include/boost/preprocessor/list/reverse.hpp: + +/usr/include/boost/preprocessor/control/detail/while.hpp: + +/usr/include/boost/preprocessor/tuple/elem.hpp: + +/usr/include/boost/preprocessor/arithmetic/sub.hpp: + +/usr/include/boost/mpl/and.hpp: + +/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/nested_type_wknd.hpp: + +/usr/include/boost/mpl/aux_/include_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/config/compiler.hpp: + +/usr/include/boost/preprocessor/stringize.hpp: + +/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp: + +/usr/include/boost/mpl/not.hpp: + +/usr/include/boost/regex/v4/match_results.hpp: + +/usr/include/boost/regex/v4/protected_call.hpp: + +/usr/include/boost/regex/v4/perl_matcher.hpp: + +/usr/include/boost/regex/v4/iterator_category.hpp: + +/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: + +/usr/include/boost/regex/v4/perl_matcher_common.hpp: + +/usr/include/boost/regex/v4/instances.hpp: + +/usr/include/boost/regex/v4/regex_match.hpp: + +/usr/include/boost/regex/v4/regex_search.hpp: + +/usr/include/boost/regex/v4/regex_iterator.hpp: + +/usr/include/boost/regex/v4/regex_token_iterator.hpp: + +/usr/include/boost/regex/v4/regex_grep.hpp: + +/usr/include/boost/regex/v4/regex_replace.hpp: + +/usr/include/boost/regex/v4/regex_merge.hpp: + +/usr/include/boost/regex/v4/regex_split.hpp: + +../boundary_mesh/algorithm/../MeshBuilder.hpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/algorithm/../types.hpp: + +../boundary_mesh/algorithm/../FaceDispatch.hpp: + +../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/FlexibleMesh_tmpl.cpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../spaces/P0Space.hpp: + +../spaces/../hilbert.hpp: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/basic.h: + +../../src/config.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/fullmatrix.h: + +/usr/local/include/HLib/lapack.h: + +/usr/local/include/HLib/blockcluster.h: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/clusterbasis.h: + +/usr/local/include/HLib/h2conversion.h: + +/usr/local/include/HLib/rkmatrix.h: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/uniformmatrix.h: + +../boundary_mesh/FaceDispatch.hpp: + +../HLibOperator.hpp: + +../HLibOperator_fwd.hpp: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/krylov.h: + +/usr/local/include/HLib/factorisations.h: + +/usr/local/include/HLib/graphics.h: + +/usr/local/include/HLib/aca.h: + +/usr/local/include/HLib/surfacebem.h: + +/usr/local/include/HLib/bem3d.h: + +/usr/local/include/HLib/h2virtual.h: + +/usr/local/include/HLib/aca.h: + +/usr/local/include/HLib/quadrature2d.h: + +../HLibOperator_tmpl.cpp: + +../spaces/P0Space.hpp: + +TriangleIntegrator.hpp: diff --git a/src/bem3d/src/laplace/.deps/testLaplace-TriangleIntegrator.Po b/src/bem3d/src/laplace/.deps/testLaplace-TriangleIntegrator.Po new file mode 100644 index 0000000..b738a2d --- /dev/null +++ b/src/bem3d/src/laplace/.deps/testLaplace-TriangleIntegrator.Po @@ -0,0 +1,1387 @@ +testLaplace-TriangleIntegrator.o: TriangleIntegrator.cpp \ + TriangleIntegrator.hpp /usr/include/c++/4.5/vector \ + /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc ../hilbert.hpp \ + ../boundary_mesh/FlexibleMesh.hpp ../boundary_mesh/FaceDispatch.hpp \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/TypeList.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/basic_string.tcc \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/exception/CouldNotDispatchCall.hpp \ + /usr/include/c++/4.5/cassert /usr/include/assert.h \ + ../boundary_mesh/Face.hpp /usr/include/c++/4.5/iterator \ + /usr/include/c++/4.5/ostream /usr/include/c++/4.5/ios \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/bits/locale_classes.h \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc /usr/include/c++/4.5/istream \ + /usr/include/c++/4.5/bits/istream.tcc \ + /usr/include/c++/4.5/bits/stream_iterator.h ../boundary_mesh/types.hpp \ + /usr/include/c++/4.5/limits ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp /usr/include/c++/4.5/sstream \ + /usr/include/c++/4.5/bits/sstream.tcc ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp ../boundary_mesh/Vertex.hpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/Vertex_tmpl.cpp ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp ../boundary_mesh/MeshBuilder_tmpl.cpp \ + /usr/include/boost/type_traits/is_pointer.hpp \ + /usr/include/boost/type_traits/is_member_pointer.hpp \ + /usr/include/boost/type_traits/config.hpp /usr/include/boost/config.hpp \ + /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.5/utility /usr/include/c++/4.5/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.5/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp \ + /usr/include/boost/detail/workaround.hpp \ + /usr/include/boost/type_traits/is_member_function_pointer.hpp \ + /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ + /usr/include/boost/type_traits/remove_cv.hpp \ + /usr/include/boost/type_traits/broken_compiler_spec.hpp \ + /usr/include/boost/mpl/aux_/lambda_support.hpp \ + /usr/include/boost/mpl/aux_/config/lambda.hpp \ + /usr/include/boost/mpl/aux_/config/ttp.hpp \ + /usr/include/boost/mpl/aux_/config/msvc.hpp \ + /usr/include/boost/mpl/aux_/config/gcc.hpp \ + /usr/include/boost/mpl/aux_/config/workaround.hpp \ + /usr/include/boost/mpl/aux_/config/ctps.hpp \ + /usr/include/boost/type_traits/detail/cv_traits_impl.hpp \ + /usr/include/boost/type_traits/detail/type_trait_def.hpp \ + /usr/include/boost/type_traits/detail/template_arity_spec.hpp \ + /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \ + /usr/include/boost/mpl/aux_/adl_barrier.hpp \ + /usr/include/boost/mpl/aux_/config/adl.hpp \ + /usr/include/boost/mpl/aux_/config/intel.hpp \ + /usr/include/boost/mpl/aux_/nttp_decl.hpp \ + /usr/include/boost/mpl/aux_/config/nttp.hpp \ + /usr/include/boost/mpl/aux_/integral_wrapper.hpp \ + /usr/include/boost/mpl/integral_c_tag.hpp \ + /usr/include/boost/mpl/aux_/config/static_constant.hpp \ + /usr/include/boost/mpl/aux_/static_cast.hpp \ + /usr/include/boost/preprocessor/cat.hpp \ + /usr/include/boost/preprocessor/config/config.hpp \ + /usr/include/boost/mpl/aux_/template_arity_fwd.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/params.hpp \ + /usr/include/boost/mpl/aux_/config/preprocessor.hpp \ + /usr/include/boost/preprocessor/comma_if.hpp \ + /usr/include/boost/preprocessor/punctuation/comma_if.hpp \ + /usr/include/boost/preprocessor/control/if.hpp \ + /usr/include/boost/preprocessor/control/iif.hpp \ + /usr/include/boost/preprocessor/logical/bool.hpp \ + /usr/include/boost/preprocessor/facilities/empty.hpp \ + /usr/include/boost/preprocessor/punctuation/comma.hpp \ + /usr/include/boost/preprocessor/repeat.hpp \ + /usr/include/boost/preprocessor/repetition/repeat.hpp \ + /usr/include/boost/preprocessor/debug/error.hpp \ + /usr/include/boost/preprocessor/detail/auto_rec.hpp \ + /usr/include/boost/preprocessor/tuple/eat.hpp \ + /usr/include/boost/preprocessor/inc.hpp \ + /usr/include/boost/preprocessor/arithmetic/inc.hpp \ + /usr/include/boost/mpl/aux_/config/overload_resolution.hpp \ + /usr/include/boost/type_traits/detail/type_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_def.hpp \ + /usr/include/boost/type_traits/integral_constant.hpp \ + /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \ + /usr/include/boost/mpl/integral_c.hpp \ + /usr/include/boost/mpl/integral_c_fwd.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/ice_and.hpp \ + /usr/include/boost/type_traits/detail/ice_not.hpp \ + /usr/include/boost/utility/enable_if.hpp ../boundary_mesh/Mesh.cpp \ + /usr/include/c++/4.5/iostream /usr/include/c++/4.5/set \ + /usr/include/c++/4.5/bits/stl_tree.h /usr/include/c++/4.5/bits/stl_set.h \ + /usr/include/c++/4.5/bits/stl_multiset.h /usr/include/c++/4.5/list \ + /usr/include/c++/4.5/bits/stl_list.h /usr/include/c++/4.5/bits/list.tcc \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp \ + /usr/include/c++/4.5/cstring /usr/include/string.h \ + /usr/include/bits/string3.h ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/Triangle.hpp \ + ../boundary_mesh/face/../../generic/BaseTypes.hpp \ + ../boundary_mesh/face/Triangle_tmpl.cpp \ + ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/../Face.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/face/Parallelogram.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral.hpp \ + ../boundary_mesh/face/Quadrilateral.hpp \ + ../boundary_mesh/face/../types.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.cpp /usr/include/c++/4.5/cmath \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/c++/4.5/bits/cmath.tcc \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.hpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + /usr/include/c++/4.5/fstream /usr/include/c++/4.5/bits/codecvt.h \ + /usr/include/c++/4.5/cstdio /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/bits/stdio_lim.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/include/bits/stdio2.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.5/bits/fstream.tcc /usr/include/boost/regex.hpp \ + /usr/include/boost/regex/config.hpp /usr/include/boost/regex/user.hpp \ + /usr/include/boost/regex/config/cwchar.hpp \ + /usr/include/boost/config/auto_link.hpp \ + /usr/include/boost/regex/v4/regex.hpp \ + /usr/include/boost/regex/v4/regex_workaround.hpp \ + /usr/include/c++/4.5/climits \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.5/algorithm /usr/include/c++/4.5/bits/stl_algo.h \ + /usr/include/c++/4.5/bits/algorithmfwd.h \ + /usr/include/c++/4.5/bits/stl_heap.h \ + /usr/include/c++/4.5/bits/stl_tempbuf.h /usr/include/c++/4.5/map \ + /usr/include/c++/4.5/bits/stl_map.h \ + /usr/include/c++/4.5/bits/stl_multimap.h /usr/include/boost/limits.hpp \ + /usr/include/boost/assert.hpp /usr/include/boost/cstdint.hpp \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h \ + /usr/include/stdint.h /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/exception/detail/attribute_noreturn.hpp \ + /usr/include/boost/exception/exception.hpp \ + /usr/include/boost/current_function.hpp \ + /usr/include/boost/scoped_ptr.hpp \ + /usr/include/boost/smart_ptr/scoped_ptr.hpp \ + /usr/include/boost/checked_delete.hpp /usr/include/c++/4.5/memory \ + /usr/include/c++/4.5/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.5/backward/auto_ptr.h \ + /usr/include/boost/smart_ptr/detail/operator_bool.hpp \ + /usr/include/boost/scoped_array.hpp \ + /usr/include/boost/smart_ptr/scoped_array.hpp \ + /usr/include/boost/shared_ptr.hpp \ + /usr/include/boost/smart_ptr/shared_ptr.hpp \ + /usr/include/boost/config/no_tr1/memory.hpp \ + /usr/include/boost/smart_ptr/detail/shared_count.hpp \ + /usr/include/boost/smart_ptr/bad_weak_ptr.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base.hpp \ + /usr/include/boost/smart_ptr/detail/sp_has_sync.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/boost/detail/sp_typeinfo.hpp /usr/include/c++/4.5/typeinfo \ + /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.5/functional \ + /usr/include/boost/smart_ptr/detail/sp_convertible.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_sync.hpp \ + /usr/include/boost/smart_ptr/detail/yield_k.hpp \ + /usr/include/boost/memory_order.hpp /usr/include/c++/4.5/locale \ + /usr/include/c++/4.5/bits/locale_facets_nonio.h \ + /usr/include/c++/4.5/ctime \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.5/bits/locale_facets_nonio.tcc \ + /usr/include/boost/regex_fwd.hpp \ + /usr/include/boost/regex/v4/regex_fwd.hpp \ + /usr/include/boost/regex/regex_traits.hpp \ + /usr/include/boost/regex/v4/regex_traits.hpp \ + /usr/include/boost/regex/v4/syntax_type.hpp \ + /usr/include/boost/regex/v4/error_type.hpp \ + /usr/include/boost/regex/v4/regex_traits_defaults.hpp \ + /usr/include/boost/regex/v4/cpp_regex_traits.hpp \ + /usr/include/boost/regex/pattern_except.hpp \ + /usr/include/boost/regex/pending/static_mutex.hpp \ + /usr/include/boost/regex/v4/primary_transform.hpp \ + /usr/include/boost/regex/pending/object_cache.hpp \ + /usr/include/boost/regex/v4/c_regex_traits.hpp \ + /usr/include/boost/mpl/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/type_wrapper.hpp \ + /usr/include/boost/mpl/aux_/yes_no.hpp \ + /usr/include/boost/mpl/aux_/config/arrays.hpp \ + /usr/include/boost/mpl/aux_/config/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/config/msvc_typename.hpp \ + /usr/include/boost/static_assert.hpp \ + /usr/include/boost/regex/v4/match_flags.hpp \ + /usr/include/boost/regex/v4/regex_raw_buffer.hpp \ + /usr/include/boost/regex/v4/char_regex_traits.hpp \ + /usr/include/boost/regex/v4/states.hpp \ + /usr/include/boost/regex/v4/regbase.hpp \ + /usr/include/boost/regex/v4/iterator_traits.hpp \ + /usr/include/boost/regex/v4/basic_regex.hpp \ + /usr/include/boost/type_traits/is_same.hpp \ + /usr/include/boost/functional/hash.hpp \ + /usr/include/boost/functional/hash/hash.hpp \ + /usr/include/boost/functional/hash/hash_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float.hpp \ + /usr/include/boost/functional/hash/detail/float_functions.hpp \ + /usr/include/boost/config/no_tr1/cmath.hpp \ + /usr/include/boost/functional/hash/detail/limits.hpp \ + /usr/include/boost/integer/static_log2.hpp \ + /usr/include/boost/integer_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float_generic.hpp \ + /usr/include/boost/functional/hash/extensions.hpp \ + /usr/include/boost/detail/container_fwd.hpp \ + /usr/include/boost/regex/v4/basic_regex_creator.hpp \ + /usr/include/boost/regex/v4/basic_regex_parser.hpp \ + /usr/include/boost/regex/v4/sub_match.hpp \ + /usr/include/boost/regex/v4/regex_format.hpp \ + /usr/include/boost/type_traits/is_function.hpp \ + /usr/include/boost/type_traits/is_reference.hpp \ + /usr/include/boost/type_traits/detail/false_result.hpp \ + /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ + /usr/include/boost/type_traits/is_class.hpp \ + /usr/include/boost/type_traits/intrinsics.hpp \ + /usr/include/boost/type_traits/is_volatile.hpp \ + /usr/include/boost/type_traits/is_convertible.hpp \ + /usr/include/boost/type_traits/detail/yes_no_type.hpp \ + /usr/include/boost/type_traits/is_array.hpp \ + /usr/include/boost/type_traits/add_reference.hpp \ + /usr/include/boost/type_traits/ice.hpp \ + /usr/include/boost/type_traits/detail/ice_or.hpp \ + /usr/include/boost/type_traits/detail/ice_eq.hpp \ + /usr/include/boost/type_traits/is_arithmetic.hpp \ + /usr/include/boost/type_traits/is_integral.hpp \ + /usr/include/boost/type_traits/is_float.hpp \ + /usr/include/boost/type_traits/is_void.hpp \ + /usr/include/boost/type_traits/is_abstract.hpp \ + /usr/include/boost/type_traits/remove_pointer.hpp \ + /usr/include/boost/mpl/if.hpp /usr/include/boost/mpl/aux_/value_wknd.hpp \ + /usr/include/boost/mpl/aux_/config/integral.hpp \ + /usr/include/boost/mpl/aux_/config/eti.hpp \ + /usr/include/boost/mpl/aux_/na_spec.hpp \ + /usr/include/boost/mpl/lambda_fwd.hpp \ + /usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \ + /usr/include/boost/mpl/aux_/na_fwd.hpp \ + /usr/include/boost/mpl/aux_/lambda_arity_param.hpp \ + /usr/include/boost/mpl/aux_/arity.hpp \ + /usr/include/boost/mpl/aux_/config/dtp.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/enum.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ + /usr/include/boost/mpl/limits/arity.hpp \ + /usr/include/boost/preprocessor/logical/and.hpp \ + /usr/include/boost/preprocessor/logical/bitand.hpp \ + /usr/include/boost/preprocessor/identity.hpp \ + /usr/include/boost/preprocessor/facilities/identity.hpp \ + /usr/include/boost/preprocessor/empty.hpp \ + /usr/include/boost/preprocessor/arithmetic/add.hpp \ + /usr/include/boost/preprocessor/arithmetic/dec.hpp \ + /usr/include/boost/preprocessor/control/while.hpp \ + /usr/include/boost/preprocessor/list/fold_left.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_left.hpp \ + /usr/include/boost/preprocessor/control/expr_iif.hpp \ + /usr/include/boost/preprocessor/list/adt.hpp \ + /usr/include/boost/preprocessor/detail/is_binary.hpp \ + /usr/include/boost/preprocessor/detail/check.hpp \ + /usr/include/boost/preprocessor/logical/compl.hpp \ + /usr/include/boost/preprocessor/list/fold_right.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_right.hpp \ + /usr/include/boost/preprocessor/list/reverse.hpp \ + /usr/include/boost/preprocessor/control/detail/while.hpp \ + /usr/include/boost/preprocessor/tuple/elem.hpp \ + /usr/include/boost/preprocessor/arithmetic/sub.hpp \ + /usr/include/boost/mpl/and.hpp \ + /usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/nested_type_wknd.hpp \ + /usr/include/boost/mpl/aux_/include_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/config/compiler.hpp \ + /usr/include/boost/preprocessor/stringize.hpp \ + /usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ + /usr/include/boost/mpl/not.hpp \ + /usr/include/boost/regex/v4/match_results.hpp \ + /usr/include/boost/regex/v4/protected_call.hpp \ + /usr/include/boost/regex/v4/perl_matcher.hpp \ + /usr/include/boost/regex/v4/iterator_category.hpp \ + /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp \ + /usr/include/boost/regex/v4/perl_matcher_common.hpp \ + /usr/include/boost/regex/v4/instances.hpp \ + /usr/include/boost/regex/v4/regex_match.hpp \ + /usr/include/boost/regex/v4/regex_search.hpp \ + /usr/include/boost/regex/v4/regex_iterator.hpp \ + /usr/include/boost/regex/v4/regex_token_iterator.hpp \ + /usr/include/boost/regex/v4/regex_grep.hpp \ + /usr/include/boost/regex/v4/regex_replace.hpp \ + /usr/include/boost/regex/v4/regex_merge.hpp \ + /usr/include/boost/regex/v4/regex_split.hpp \ + ../boundary_mesh/algorithm/../MeshBuilder.hpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/../types.hpp \ + ../boundary_mesh/algorithm/../FaceDispatch.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp ../boundary_mesh/FlexibleMesh.hpp \ + ../spaces/P0Space.hpp ../spaces/../hilbert.hpp \ + /usr/local/include/HLib/sparsematrix.h /usr/local/include/HLib/basic.h \ + ../../src/config.h /usr/local/include/HLib/supermatrix.h \ + /usr/local/include/HLib/fullmatrix.h /usr/local/include/HLib/lapack.h \ + /usr/local/include/HLib/blockcluster.h /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/clusterbasis.h \ + /usr/local/include/HLib/h2conversion.h \ + /usr/local/include/HLib/rkmatrix.h \ + /usr/local/include/HLib/sparsematrix.h \ + /usr/local/include/HLib/uniformmatrix.h + +TriangleIntegrator.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +../hilbert.hpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../boundary_mesh/FaceDispatch.hpp: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/Singleton_tmpl.cpp: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/TypeList.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +../boundary_mesh/FaceDispatch_tmpl.cpp: + +../boundary_mesh/exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +../boundary_mesh/Face.hpp: + +/usr/include/c++/4.5/iterator: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +/usr/include/c++/4.5/istream: + +/usr/include/c++/4.5/bits/istream.tcc: + +/usr/include/c++/4.5/bits/stream_iterator.h: + +../boundary_mesh/types.hpp: + +/usr/include/c++/4.5/limits: + +../boundary_mesh/exception.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/Face_tmpl.cpp: + +/usr/include/c++/4.5/sstream: + +/usr/include/c++/4.5/bits/sstream.tcc: + +../boundary_mesh/HalfEdge.hpp: + +../boundary_mesh/HalfEdge_tmpl.cpp: + +../boundary_mesh/Vertex.hpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/../generic/GenericVector_tmpl.cpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/Vertex_tmpl.cpp: + +../boundary_mesh/Mesh.hpp: + +../boundary_mesh/MeshBuilder.hpp: + +../boundary_mesh/MeshBuilder_tmpl.cpp: + +/usr/include/boost/type_traits/is_pointer.hpp: + +/usr/include/boost/type_traits/is_member_pointer.hpp: + +/usr/include/boost/type_traits/config.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.5/utility: + +/usr/include/c++/4.5/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/boost/type_traits/is_member_function_pointer.hpp: + +/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: + +/usr/include/boost/type_traits/remove_cv.hpp: + +/usr/include/boost/type_traits/broken_compiler_spec.hpp: + +/usr/include/boost/mpl/aux_/lambda_support.hpp: + +/usr/include/boost/mpl/aux_/config/lambda.hpp: + +/usr/include/boost/mpl/aux_/config/ttp.hpp: + +/usr/include/boost/mpl/aux_/config/msvc.hpp: + +/usr/include/boost/mpl/aux_/config/gcc.hpp: + +/usr/include/boost/mpl/aux_/config/workaround.hpp: + +/usr/include/boost/mpl/aux_/config/ctps.hpp: + +/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: + +/usr/include/boost/type_traits/detail/type_trait_def.hpp: + +/usr/include/boost/type_traits/detail/template_arity_spec.hpp: + +/usr/include/boost/mpl/int.hpp: + +/usr/include/boost/mpl/int_fwd.hpp: + +/usr/include/boost/mpl/aux_/adl_barrier.hpp: + +/usr/include/boost/mpl/aux_/config/adl.hpp: + +/usr/include/boost/mpl/aux_/config/intel.hpp: + +/usr/include/boost/mpl/aux_/nttp_decl.hpp: + +/usr/include/boost/mpl/aux_/config/nttp.hpp: + +/usr/include/boost/mpl/aux_/integral_wrapper.hpp: + +/usr/include/boost/mpl/integral_c_tag.hpp: + +/usr/include/boost/mpl/aux_/config/static_constant.hpp: + +/usr/include/boost/mpl/aux_/static_cast.hpp: + +/usr/include/boost/preprocessor/cat.hpp: + +/usr/include/boost/preprocessor/config/config.hpp: + +/usr/include/boost/mpl/aux_/template_arity_fwd.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/params.hpp: + +/usr/include/boost/mpl/aux_/config/preprocessor.hpp: + +/usr/include/boost/preprocessor/comma_if.hpp: + +/usr/include/boost/preprocessor/punctuation/comma_if.hpp: + +/usr/include/boost/preprocessor/control/if.hpp: + +/usr/include/boost/preprocessor/control/iif.hpp: + +/usr/include/boost/preprocessor/logical/bool.hpp: + +/usr/include/boost/preprocessor/facilities/empty.hpp: + +/usr/include/boost/preprocessor/punctuation/comma.hpp: + +/usr/include/boost/preprocessor/repeat.hpp: + +/usr/include/boost/preprocessor/repetition/repeat.hpp: + +/usr/include/boost/preprocessor/debug/error.hpp: + +/usr/include/boost/preprocessor/detail/auto_rec.hpp: + +/usr/include/boost/preprocessor/tuple/eat.hpp: + +/usr/include/boost/preprocessor/inc.hpp: + +/usr/include/boost/preprocessor/arithmetic/inc.hpp: + +/usr/include/boost/mpl/aux_/config/overload_resolution.hpp: + +/usr/include/boost/type_traits/detail/type_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_def.hpp: + +/usr/include/boost/type_traits/integral_constant.hpp: + +/usr/include/boost/mpl/bool.hpp: + +/usr/include/boost/mpl/bool_fwd.hpp: + +/usr/include/boost/mpl/integral_c.hpp: + +/usr/include/boost/mpl/integral_c_fwd.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/ice_and.hpp: + +/usr/include/boost/type_traits/detail/ice_not.hpp: + +/usr/include/boost/utility/enable_if.hpp: + +../boundary_mesh/Mesh.cpp: + +/usr/include/c++/4.5/iostream: + +/usr/include/c++/4.5/set: + +/usr/include/c++/4.5/bits/stl_tree.h: + +/usr/include/c++/4.5/bits/stl_set.h: + +/usr/include/c++/4.5/bits/stl_multiset.h: + +/usr/include/c++/4.5/list: + +/usr/include/c++/4.5/bits/stl_list.h: + +/usr/include/c++/4.5/bits/list.tcc: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp: + +/usr/include/c++/4.5/cstring: + +/usr/include/string.h: + +/usr/include/bits/string3.h: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/Triangle.hpp: + +../boundary_mesh/face/../../generic/BaseTypes.hpp: + +../boundary_mesh/face/Triangle_tmpl.cpp: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/../Face.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/face/Parallelogram.hpp: + +../boundary_mesh/face/ConvexQuadrilateral.hpp: + +../boundary_mesh/face/Quadrilateral.hpp: + +../boundary_mesh/face/../types.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.cpp: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp: + +../boundary_mesh/face/Quadrilateral_tmpl.hpp: + +../boundary_mesh/face/Quadrilateral_tmpl.cpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/algorithm/HandleObj.hpp: + +../boundary_mesh/algorithm/HandleObj_tmpl.cpp: + +/usr/include/c++/4.5/fstream: + +/usr/include/c++/4.5/bits/codecvt.h: + +/usr/include/c++/4.5/cstdio: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.5/bits/fstream.tcc: + +/usr/include/boost/regex.hpp: + +/usr/include/boost/regex/config.hpp: + +/usr/include/boost/regex/user.hpp: + +/usr/include/boost/regex/config/cwchar.hpp: + +/usr/include/boost/config/auto_link.hpp: + +/usr/include/boost/regex/v4/regex.hpp: + +/usr/include/boost/regex/v4/regex_workaround.hpp: + +/usr/include/c++/4.5/climits: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.5/algorithm: + +/usr/include/c++/4.5/bits/stl_algo.h: + +/usr/include/c++/4.5/bits/algorithmfwd.h: + +/usr/include/c++/4.5/bits/stl_heap.h: + +/usr/include/c++/4.5/bits/stl_tempbuf.h: + +/usr/include/c++/4.5/map: + +/usr/include/c++/4.5/bits/stl_map.h: + +/usr/include/c++/4.5/bits/stl_multimap.h: + +/usr/include/boost/limits.hpp: + +/usr/include/boost/assert.hpp: + +/usr/include/boost/cstdint.hpp: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/exception/detail/attribute_noreturn.hpp: + +/usr/include/boost/exception/exception.hpp: + +/usr/include/boost/current_function.hpp: + +/usr/include/boost/scoped_ptr.hpp: + +/usr/include/boost/smart_ptr/scoped_ptr.hpp: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/c++/4.5/memory: + +/usr/include/c++/4.5/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.5/backward/auto_ptr.h: + +/usr/include/boost/smart_ptr/detail/operator_bool.hpp: + +/usr/include/boost/scoped_array.hpp: + +/usr/include/boost/smart_ptr/scoped_array.hpp: + +/usr/include/boost/shared_ptr.hpp: + +/usr/include/boost/smart_ptr/shared_ptr.hpp: + +/usr/include/boost/config/no_tr1/memory.hpp: + +/usr/include/boost/smart_ptr/detail/shared_count.hpp: + +/usr/include/boost/smart_ptr/bad_weak_ptr.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base.hpp: + +/usr/include/boost/smart_ptr/detail/sp_has_sync.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/boost/detail/sp_typeinfo.hpp: + +/usr/include/c++/4.5/typeinfo: + +/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.5/functional: + +/usr/include/boost/smart_ptr/detail/sp_convertible.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: + +/usr/include/boost/smart_ptr/detail/yield_k.hpp: + +/usr/include/boost/memory_order.hpp: + +/usr/include/c++/4.5/locale: + +/usr/include/c++/4.5/bits/locale_facets_nonio.h: + +/usr/include/c++/4.5/ctime: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.5/bits/locale_facets_nonio.tcc: + +/usr/include/boost/regex_fwd.hpp: + +/usr/include/boost/regex/v4/regex_fwd.hpp: + +/usr/include/boost/regex/regex_traits.hpp: + +/usr/include/boost/regex/v4/regex_traits.hpp: + +/usr/include/boost/regex/v4/syntax_type.hpp: + +/usr/include/boost/regex/v4/error_type.hpp: + +/usr/include/boost/regex/v4/regex_traits_defaults.hpp: + +/usr/include/boost/regex/v4/cpp_regex_traits.hpp: + +/usr/include/boost/regex/pattern_except.hpp: + +/usr/include/boost/regex/pending/static_mutex.hpp: + +/usr/include/boost/regex/v4/primary_transform.hpp: + +/usr/include/boost/regex/pending/object_cache.hpp: + +/usr/include/boost/regex/v4/c_regex_traits.hpp: + +/usr/include/boost/mpl/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/type_wrapper.hpp: + +/usr/include/boost/mpl/aux_/yes_no.hpp: + +/usr/include/boost/mpl/aux_/config/arrays.hpp: + +/usr/include/boost/mpl/aux_/config/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/config/msvc_typename.hpp: + +/usr/include/boost/static_assert.hpp: + +/usr/include/boost/regex/v4/match_flags.hpp: + +/usr/include/boost/regex/v4/regex_raw_buffer.hpp: + +/usr/include/boost/regex/v4/char_regex_traits.hpp: + +/usr/include/boost/regex/v4/states.hpp: + +/usr/include/boost/regex/v4/regbase.hpp: + +/usr/include/boost/regex/v4/iterator_traits.hpp: + +/usr/include/boost/regex/v4/basic_regex.hpp: + +/usr/include/boost/type_traits/is_same.hpp: + +/usr/include/boost/functional/hash.hpp: + +/usr/include/boost/functional/hash/hash.hpp: + +/usr/include/boost/functional/hash/hash_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float.hpp: + +/usr/include/boost/functional/hash/detail/float_functions.hpp: + +/usr/include/boost/config/no_tr1/cmath.hpp: + +/usr/include/boost/functional/hash/detail/limits.hpp: + +/usr/include/boost/integer/static_log2.hpp: + +/usr/include/boost/integer_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: + +/usr/include/boost/functional/hash/extensions.hpp: + +/usr/include/boost/detail/container_fwd.hpp: + +/usr/include/boost/regex/v4/basic_regex_creator.hpp: + +/usr/include/boost/regex/v4/basic_regex_parser.hpp: + +/usr/include/boost/regex/v4/sub_match.hpp: + +/usr/include/boost/regex/v4/regex_format.hpp: + +/usr/include/boost/type_traits/is_function.hpp: + +/usr/include/boost/type_traits/is_reference.hpp: + +/usr/include/boost/type_traits/detail/false_result.hpp: + +/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp: + +/usr/include/boost/type_traits/is_class.hpp: + +/usr/include/boost/type_traits/intrinsics.hpp: + +/usr/include/boost/type_traits/is_volatile.hpp: + +/usr/include/boost/type_traits/is_convertible.hpp: + +/usr/include/boost/type_traits/detail/yes_no_type.hpp: + +/usr/include/boost/type_traits/is_array.hpp: + +/usr/include/boost/type_traits/add_reference.hpp: + +/usr/include/boost/type_traits/ice.hpp: + +/usr/include/boost/type_traits/detail/ice_or.hpp: + +/usr/include/boost/type_traits/detail/ice_eq.hpp: + +/usr/include/boost/type_traits/is_arithmetic.hpp: + +/usr/include/boost/type_traits/is_integral.hpp: + +/usr/include/boost/type_traits/is_float.hpp: + +/usr/include/boost/type_traits/is_void.hpp: + +/usr/include/boost/type_traits/is_abstract.hpp: + +/usr/include/boost/type_traits/remove_pointer.hpp: + +/usr/include/boost/mpl/if.hpp: + +/usr/include/boost/mpl/aux_/value_wknd.hpp: + +/usr/include/boost/mpl/aux_/config/integral.hpp: + +/usr/include/boost/mpl/aux_/config/eti.hpp: + +/usr/include/boost/mpl/aux_/na_spec.hpp: + +/usr/include/boost/mpl/lambda_fwd.hpp: + +/usr/include/boost/mpl/void_fwd.hpp: + +/usr/include/boost/mpl/aux_/na.hpp: + +/usr/include/boost/mpl/aux_/na_fwd.hpp: + +/usr/include/boost/mpl/aux_/lambda_arity_param.hpp: + +/usr/include/boost/mpl/aux_/arity.hpp: + +/usr/include/boost/mpl/aux_/config/dtp.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/enum.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp: + +/usr/include/boost/mpl/limits/arity.hpp: + +/usr/include/boost/preprocessor/logical/and.hpp: + +/usr/include/boost/preprocessor/logical/bitand.hpp: + +/usr/include/boost/preprocessor/identity.hpp: + +/usr/include/boost/preprocessor/facilities/identity.hpp: + +/usr/include/boost/preprocessor/empty.hpp: + +/usr/include/boost/preprocessor/arithmetic/add.hpp: + +/usr/include/boost/preprocessor/arithmetic/dec.hpp: + +/usr/include/boost/preprocessor/control/while.hpp: + +/usr/include/boost/preprocessor/list/fold_left.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_left.hpp: + +/usr/include/boost/preprocessor/control/expr_iif.hpp: + +/usr/include/boost/preprocessor/list/adt.hpp: + +/usr/include/boost/preprocessor/detail/is_binary.hpp: + +/usr/include/boost/preprocessor/detail/check.hpp: + +/usr/include/boost/preprocessor/logical/compl.hpp: + +/usr/include/boost/preprocessor/list/fold_right.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_right.hpp: + +/usr/include/boost/preprocessor/list/reverse.hpp: + +/usr/include/boost/preprocessor/control/detail/while.hpp: + +/usr/include/boost/preprocessor/tuple/elem.hpp: + +/usr/include/boost/preprocessor/arithmetic/sub.hpp: + +/usr/include/boost/mpl/and.hpp: + +/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/nested_type_wknd.hpp: + +/usr/include/boost/mpl/aux_/include_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/config/compiler.hpp: + +/usr/include/boost/preprocessor/stringize.hpp: + +/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp: + +/usr/include/boost/mpl/not.hpp: + +/usr/include/boost/regex/v4/match_results.hpp: + +/usr/include/boost/regex/v4/protected_call.hpp: + +/usr/include/boost/regex/v4/perl_matcher.hpp: + +/usr/include/boost/regex/v4/iterator_category.hpp: + +/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: + +/usr/include/boost/regex/v4/perl_matcher_common.hpp: + +/usr/include/boost/regex/v4/instances.hpp: + +/usr/include/boost/regex/v4/regex_match.hpp: + +/usr/include/boost/regex/v4/regex_search.hpp: + +/usr/include/boost/regex/v4/regex_iterator.hpp: + +/usr/include/boost/regex/v4/regex_token_iterator.hpp: + +/usr/include/boost/regex/v4/regex_grep.hpp: + +/usr/include/boost/regex/v4/regex_replace.hpp: + +/usr/include/boost/regex/v4/regex_merge.hpp: + +/usr/include/boost/regex/v4/regex_split.hpp: + +../boundary_mesh/algorithm/../MeshBuilder.hpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/algorithm/../types.hpp: + +../boundary_mesh/algorithm/../FaceDispatch.hpp: + +../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/FlexibleMesh_tmpl.cpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../spaces/P0Space.hpp: + +../spaces/../hilbert.hpp: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/basic.h: + +../../src/config.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/fullmatrix.h: + +/usr/local/include/HLib/lapack.h: + +/usr/local/include/HLib/blockcluster.h: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/clusterbasis.h: + +/usr/local/include/HLib/h2conversion.h: + +/usr/local/include/HLib/rkmatrix.h: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/uniformmatrix.h: diff --git a/src/bem3d/src/laplace/.deps/testLaplace-t.Po b/src/bem3d/src/laplace/.deps/testLaplace-t.Po new file mode 100644 index 0000000..330d857 --- /dev/null +++ b/src/bem3d/src/laplace/.deps/testLaplace-t.Po @@ -0,0 +1,1430 @@ +testLaplace-t.o: t.cpp ../hilbert.hpp ../boundary_mesh/FlexibleMesh.hpp \ + ../boundary_mesh/FaceDispatch.hpp /usr/include/c++/4.5/vector \ + /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/TypeList.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/basic_string.tcc \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/exception/CouldNotDispatchCall.hpp \ + /usr/include/c++/4.5/cassert /usr/include/assert.h \ + ../boundary_mesh/Face.hpp /usr/include/c++/4.5/iterator \ + /usr/include/c++/4.5/ostream /usr/include/c++/4.5/ios \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/bits/locale_classes.h \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc /usr/include/c++/4.5/istream \ + /usr/include/c++/4.5/bits/istream.tcc \ + /usr/include/c++/4.5/bits/stream_iterator.h ../boundary_mesh/types.hpp \ + /usr/include/c++/4.5/limits ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp /usr/include/c++/4.5/sstream \ + /usr/include/c++/4.5/bits/sstream.tcc ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp ../boundary_mesh/Vertex.hpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/Vertex_tmpl.cpp ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp ../boundary_mesh/MeshBuilder_tmpl.cpp \ + /usr/include/boost/type_traits/is_pointer.hpp \ + /usr/include/boost/type_traits/is_member_pointer.hpp \ + /usr/include/boost/type_traits/config.hpp /usr/include/boost/config.hpp \ + /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.5/utility /usr/include/c++/4.5/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.5/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp \ + /usr/include/boost/detail/workaround.hpp \ + /usr/include/boost/type_traits/is_member_function_pointer.hpp \ + /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ + /usr/include/boost/type_traits/remove_cv.hpp \ + /usr/include/boost/type_traits/broken_compiler_spec.hpp \ + /usr/include/boost/mpl/aux_/lambda_support.hpp \ + /usr/include/boost/mpl/aux_/config/lambda.hpp \ + /usr/include/boost/mpl/aux_/config/ttp.hpp \ + /usr/include/boost/mpl/aux_/config/msvc.hpp \ + /usr/include/boost/mpl/aux_/config/gcc.hpp \ + /usr/include/boost/mpl/aux_/config/workaround.hpp \ + /usr/include/boost/mpl/aux_/config/ctps.hpp \ + /usr/include/boost/type_traits/detail/cv_traits_impl.hpp \ + /usr/include/boost/type_traits/detail/type_trait_def.hpp \ + /usr/include/boost/type_traits/detail/template_arity_spec.hpp \ + /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \ + /usr/include/boost/mpl/aux_/adl_barrier.hpp \ + /usr/include/boost/mpl/aux_/config/adl.hpp \ + /usr/include/boost/mpl/aux_/config/intel.hpp \ + /usr/include/boost/mpl/aux_/nttp_decl.hpp \ + /usr/include/boost/mpl/aux_/config/nttp.hpp \ + /usr/include/boost/mpl/aux_/integral_wrapper.hpp \ + /usr/include/boost/mpl/integral_c_tag.hpp \ + /usr/include/boost/mpl/aux_/config/static_constant.hpp \ + /usr/include/boost/mpl/aux_/static_cast.hpp \ + /usr/include/boost/preprocessor/cat.hpp \ + /usr/include/boost/preprocessor/config/config.hpp \ + /usr/include/boost/mpl/aux_/template_arity_fwd.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/params.hpp \ + /usr/include/boost/mpl/aux_/config/preprocessor.hpp \ + /usr/include/boost/preprocessor/comma_if.hpp \ + /usr/include/boost/preprocessor/punctuation/comma_if.hpp \ + /usr/include/boost/preprocessor/control/if.hpp \ + /usr/include/boost/preprocessor/control/iif.hpp \ + /usr/include/boost/preprocessor/logical/bool.hpp \ + /usr/include/boost/preprocessor/facilities/empty.hpp \ + /usr/include/boost/preprocessor/punctuation/comma.hpp \ + /usr/include/boost/preprocessor/repeat.hpp \ + /usr/include/boost/preprocessor/repetition/repeat.hpp \ + /usr/include/boost/preprocessor/debug/error.hpp \ + /usr/include/boost/preprocessor/detail/auto_rec.hpp \ + /usr/include/boost/preprocessor/tuple/eat.hpp \ + /usr/include/boost/preprocessor/inc.hpp \ + /usr/include/boost/preprocessor/arithmetic/inc.hpp \ + /usr/include/boost/mpl/aux_/config/overload_resolution.hpp \ + /usr/include/boost/type_traits/detail/type_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_def.hpp \ + /usr/include/boost/type_traits/integral_constant.hpp \ + /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \ + /usr/include/boost/mpl/integral_c.hpp \ + /usr/include/boost/mpl/integral_c_fwd.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/ice_and.hpp \ + /usr/include/boost/type_traits/detail/ice_not.hpp \ + /usr/include/boost/utility/enable_if.hpp ../boundary_mesh/Mesh.cpp \ + /usr/include/c++/4.5/iostream /usr/include/c++/4.5/set \ + /usr/include/c++/4.5/bits/stl_tree.h /usr/include/c++/4.5/bits/stl_set.h \ + /usr/include/c++/4.5/bits/stl_multiset.h /usr/include/c++/4.5/list \ + /usr/include/c++/4.5/bits/stl_list.h /usr/include/c++/4.5/bits/list.tcc \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp \ + /usr/include/c++/4.5/cstring /usr/include/string.h \ + /usr/include/bits/string3.h ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/Triangle.hpp \ + ../boundary_mesh/face/../../generic/BaseTypes.hpp \ + ../boundary_mesh/face/Triangle_tmpl.cpp \ + ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/../Face.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/face/Parallelogram.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral.hpp \ + ../boundary_mesh/face/Quadrilateral.hpp \ + ../boundary_mesh/face/../types.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.cpp /usr/include/c++/4.5/cmath \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/c++/4.5/bits/cmath.tcc \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.hpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + /usr/include/c++/4.5/fstream /usr/include/c++/4.5/bits/codecvt.h \ + /usr/include/c++/4.5/cstdio /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/bits/stdio_lim.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/include/bits/stdio2.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.5/bits/fstream.tcc /usr/include/boost/regex.hpp \ + /usr/include/boost/regex/config.hpp /usr/include/boost/regex/user.hpp \ + /usr/include/boost/regex/config/cwchar.hpp \ + /usr/include/boost/config/auto_link.hpp \ + /usr/include/boost/regex/v4/regex.hpp \ + /usr/include/boost/regex/v4/regex_workaround.hpp \ + /usr/include/c++/4.5/climits \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.5/algorithm /usr/include/c++/4.5/bits/stl_algo.h \ + /usr/include/c++/4.5/bits/algorithmfwd.h \ + /usr/include/c++/4.5/bits/stl_heap.h \ + /usr/include/c++/4.5/bits/stl_tempbuf.h /usr/include/c++/4.5/map \ + /usr/include/c++/4.5/bits/stl_map.h \ + /usr/include/c++/4.5/bits/stl_multimap.h /usr/include/boost/limits.hpp \ + /usr/include/boost/assert.hpp /usr/include/boost/cstdint.hpp \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h \ + /usr/include/stdint.h /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/exception/detail/attribute_noreturn.hpp \ + /usr/include/boost/exception/exception.hpp \ + /usr/include/boost/current_function.hpp \ + /usr/include/boost/scoped_ptr.hpp \ + /usr/include/boost/smart_ptr/scoped_ptr.hpp \ + /usr/include/boost/checked_delete.hpp /usr/include/c++/4.5/memory \ + /usr/include/c++/4.5/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.5/backward/auto_ptr.h \ + /usr/include/boost/smart_ptr/detail/operator_bool.hpp \ + /usr/include/boost/scoped_array.hpp \ + /usr/include/boost/smart_ptr/scoped_array.hpp \ + /usr/include/boost/shared_ptr.hpp \ + /usr/include/boost/smart_ptr/shared_ptr.hpp \ + /usr/include/boost/config/no_tr1/memory.hpp \ + /usr/include/boost/smart_ptr/detail/shared_count.hpp \ + /usr/include/boost/smart_ptr/bad_weak_ptr.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base.hpp \ + /usr/include/boost/smart_ptr/detail/sp_has_sync.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/boost/detail/sp_typeinfo.hpp /usr/include/c++/4.5/typeinfo \ + /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.5/functional \ + /usr/include/boost/smart_ptr/detail/sp_convertible.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_sync.hpp \ + /usr/include/boost/smart_ptr/detail/yield_k.hpp \ + /usr/include/boost/memory_order.hpp /usr/include/c++/4.5/locale \ + /usr/include/c++/4.5/bits/locale_facets_nonio.h \ + /usr/include/c++/4.5/ctime \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.5/bits/locale_facets_nonio.tcc \ + /usr/include/boost/regex_fwd.hpp \ + /usr/include/boost/regex/v4/regex_fwd.hpp \ + /usr/include/boost/regex/regex_traits.hpp \ + /usr/include/boost/regex/v4/regex_traits.hpp \ + /usr/include/boost/regex/v4/syntax_type.hpp \ + /usr/include/boost/regex/v4/error_type.hpp \ + /usr/include/boost/regex/v4/regex_traits_defaults.hpp \ + /usr/include/boost/regex/v4/cpp_regex_traits.hpp \ + /usr/include/boost/regex/pattern_except.hpp \ + /usr/include/boost/regex/pending/static_mutex.hpp \ + /usr/include/boost/regex/v4/primary_transform.hpp \ + /usr/include/boost/regex/pending/object_cache.hpp \ + /usr/include/boost/regex/v4/c_regex_traits.hpp \ + /usr/include/boost/mpl/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/type_wrapper.hpp \ + /usr/include/boost/mpl/aux_/yes_no.hpp \ + /usr/include/boost/mpl/aux_/config/arrays.hpp \ + /usr/include/boost/mpl/aux_/config/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/config/msvc_typename.hpp \ + /usr/include/boost/static_assert.hpp \ + /usr/include/boost/regex/v4/match_flags.hpp \ + /usr/include/boost/regex/v4/regex_raw_buffer.hpp \ + /usr/include/boost/regex/v4/char_regex_traits.hpp \ + /usr/include/boost/regex/v4/states.hpp \ + /usr/include/boost/regex/v4/regbase.hpp \ + /usr/include/boost/regex/v4/iterator_traits.hpp \ + /usr/include/boost/regex/v4/basic_regex.hpp \ + /usr/include/boost/type_traits/is_same.hpp \ + /usr/include/boost/functional/hash.hpp \ + /usr/include/boost/functional/hash/hash.hpp \ + /usr/include/boost/functional/hash/hash_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float.hpp \ + /usr/include/boost/functional/hash/detail/float_functions.hpp \ + /usr/include/boost/config/no_tr1/cmath.hpp \ + /usr/include/boost/functional/hash/detail/limits.hpp \ + /usr/include/boost/integer/static_log2.hpp \ + /usr/include/boost/integer_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float_generic.hpp \ + /usr/include/boost/functional/hash/extensions.hpp \ + /usr/include/boost/detail/container_fwd.hpp \ + /usr/include/boost/regex/v4/basic_regex_creator.hpp \ + /usr/include/boost/regex/v4/basic_regex_parser.hpp \ + /usr/include/boost/regex/v4/sub_match.hpp \ + /usr/include/boost/regex/v4/regex_format.hpp \ + /usr/include/boost/type_traits/is_function.hpp \ + /usr/include/boost/type_traits/is_reference.hpp \ + /usr/include/boost/type_traits/detail/false_result.hpp \ + /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ + /usr/include/boost/type_traits/is_class.hpp \ + /usr/include/boost/type_traits/intrinsics.hpp \ + /usr/include/boost/type_traits/is_volatile.hpp \ + /usr/include/boost/type_traits/is_convertible.hpp \ + /usr/include/boost/type_traits/detail/yes_no_type.hpp \ + /usr/include/boost/type_traits/is_array.hpp \ + /usr/include/boost/type_traits/add_reference.hpp \ + /usr/include/boost/type_traits/ice.hpp \ + /usr/include/boost/type_traits/detail/ice_or.hpp \ + /usr/include/boost/type_traits/detail/ice_eq.hpp \ + /usr/include/boost/type_traits/is_arithmetic.hpp \ + /usr/include/boost/type_traits/is_integral.hpp \ + /usr/include/boost/type_traits/is_float.hpp \ + /usr/include/boost/type_traits/is_void.hpp \ + /usr/include/boost/type_traits/is_abstract.hpp \ + /usr/include/boost/type_traits/remove_pointer.hpp \ + /usr/include/boost/mpl/if.hpp /usr/include/boost/mpl/aux_/value_wknd.hpp \ + /usr/include/boost/mpl/aux_/config/integral.hpp \ + /usr/include/boost/mpl/aux_/config/eti.hpp \ + /usr/include/boost/mpl/aux_/na_spec.hpp \ + /usr/include/boost/mpl/lambda_fwd.hpp \ + /usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \ + /usr/include/boost/mpl/aux_/na_fwd.hpp \ + /usr/include/boost/mpl/aux_/lambda_arity_param.hpp \ + /usr/include/boost/mpl/aux_/arity.hpp \ + /usr/include/boost/mpl/aux_/config/dtp.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/enum.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ + /usr/include/boost/mpl/limits/arity.hpp \ + /usr/include/boost/preprocessor/logical/and.hpp \ + /usr/include/boost/preprocessor/logical/bitand.hpp \ + /usr/include/boost/preprocessor/identity.hpp \ + /usr/include/boost/preprocessor/facilities/identity.hpp \ + /usr/include/boost/preprocessor/empty.hpp \ + /usr/include/boost/preprocessor/arithmetic/add.hpp \ + /usr/include/boost/preprocessor/arithmetic/dec.hpp \ + /usr/include/boost/preprocessor/control/while.hpp \ + /usr/include/boost/preprocessor/list/fold_left.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_left.hpp \ + /usr/include/boost/preprocessor/control/expr_iif.hpp \ + /usr/include/boost/preprocessor/list/adt.hpp \ + /usr/include/boost/preprocessor/detail/is_binary.hpp \ + /usr/include/boost/preprocessor/detail/check.hpp \ + /usr/include/boost/preprocessor/logical/compl.hpp \ + /usr/include/boost/preprocessor/list/fold_right.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_right.hpp \ + /usr/include/boost/preprocessor/list/reverse.hpp \ + /usr/include/boost/preprocessor/control/detail/while.hpp \ + /usr/include/boost/preprocessor/tuple/elem.hpp \ + /usr/include/boost/preprocessor/arithmetic/sub.hpp \ + /usr/include/boost/mpl/and.hpp \ + /usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/nested_type_wknd.hpp \ + /usr/include/boost/mpl/aux_/include_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/config/compiler.hpp \ + /usr/include/boost/preprocessor/stringize.hpp \ + /usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ + /usr/include/boost/mpl/not.hpp \ + /usr/include/boost/regex/v4/match_results.hpp \ + /usr/include/boost/regex/v4/protected_call.hpp \ + /usr/include/boost/regex/v4/perl_matcher.hpp \ + /usr/include/boost/regex/v4/iterator_category.hpp \ + /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp \ + /usr/include/boost/regex/v4/perl_matcher_common.hpp \ + /usr/include/boost/regex/v4/instances.hpp \ + /usr/include/boost/regex/v4/regex_match.hpp \ + /usr/include/boost/regex/v4/regex_search.hpp \ + /usr/include/boost/regex/v4/regex_iterator.hpp \ + /usr/include/boost/regex/v4/regex_token_iterator.hpp \ + /usr/include/boost/regex/v4/regex_grep.hpp \ + /usr/include/boost/regex/v4/regex_replace.hpp \ + /usr/include/boost/regex/v4/regex_merge.hpp \ + /usr/include/boost/regex/v4/regex_split.hpp \ + ../boundary_mesh/algorithm/../MeshBuilder.hpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/../types.hpp \ + ../boundary_mesh/algorithm/../FaceDispatch.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp ../boundary_mesh/FlexibleMesh.hpp \ + ../spaces/P0Space.hpp ../spaces/../hilbert.hpp \ + /usr/local/include/HLib/sparsematrix.h /usr/local/include/HLib/basic.h \ + ../../src/config.h /usr/local/include/HLib/supermatrix.h \ + /usr/local/include/HLib/fullmatrix.h /usr/local/include/HLib/lapack.h \ + /usr/local/include/HLib/blockcluster.h /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/clusterbasis.h \ + /usr/local/include/HLib/h2conversion.h \ + /usr/local/include/HLib/rkmatrix.h \ + /usr/local/include/HLib/sparsematrix.h \ + /usr/local/include/HLib/uniformmatrix.h \ + ../boundary_mesh/FlexibleMesh.hpp ../spaces/P0Space.hpp \ + SimpleLayerPotential.hpp ../boundary_mesh/FaceDispatch.hpp \ + ../HLibOperator.hpp ../HLibOperator_fwd.hpp \ + /usr/local/include/HLib/cluster.h /usr/local/include/HLib/supermatrix.h \ + /usr/local/include/HLib/krylov.h \ + /usr/local/include/HLib/factorisations.h \ + /usr/local/include/HLib/graphics.h /usr/local/include/HLib/aca.h \ + /usr/local/include/HLib/surfacebem.h /usr/local/include/HLib/bem3d.h \ + /usr/local/include/HLib/h2virtual.h /usr/local/include/HLib/aca.h \ + /usr/local/include/HLib/quadrature2d.h ../HLibOperator_tmpl.cpp + +../hilbert.hpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../boundary_mesh/FaceDispatch.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/Singleton_tmpl.cpp: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/TypeList.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +../boundary_mesh/FaceDispatch_tmpl.cpp: + +../boundary_mesh/exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +../boundary_mesh/Face.hpp: + +/usr/include/c++/4.5/iterator: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +/usr/include/c++/4.5/istream: + +/usr/include/c++/4.5/bits/istream.tcc: + +/usr/include/c++/4.5/bits/stream_iterator.h: + +../boundary_mesh/types.hpp: + +/usr/include/c++/4.5/limits: + +../boundary_mesh/exception.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/Face_tmpl.cpp: + +/usr/include/c++/4.5/sstream: + +/usr/include/c++/4.5/bits/sstream.tcc: + +../boundary_mesh/HalfEdge.hpp: + +../boundary_mesh/HalfEdge_tmpl.cpp: + +../boundary_mesh/Vertex.hpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/../generic/GenericVector_tmpl.cpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/Vertex_tmpl.cpp: + +../boundary_mesh/Mesh.hpp: + +../boundary_mesh/MeshBuilder.hpp: + +../boundary_mesh/MeshBuilder_tmpl.cpp: + +/usr/include/boost/type_traits/is_pointer.hpp: + +/usr/include/boost/type_traits/is_member_pointer.hpp: + +/usr/include/boost/type_traits/config.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.5/utility: + +/usr/include/c++/4.5/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/boost/type_traits/is_member_function_pointer.hpp: + +/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: + +/usr/include/boost/type_traits/remove_cv.hpp: + +/usr/include/boost/type_traits/broken_compiler_spec.hpp: + +/usr/include/boost/mpl/aux_/lambda_support.hpp: + +/usr/include/boost/mpl/aux_/config/lambda.hpp: + +/usr/include/boost/mpl/aux_/config/ttp.hpp: + +/usr/include/boost/mpl/aux_/config/msvc.hpp: + +/usr/include/boost/mpl/aux_/config/gcc.hpp: + +/usr/include/boost/mpl/aux_/config/workaround.hpp: + +/usr/include/boost/mpl/aux_/config/ctps.hpp: + +/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: + +/usr/include/boost/type_traits/detail/type_trait_def.hpp: + +/usr/include/boost/type_traits/detail/template_arity_spec.hpp: + +/usr/include/boost/mpl/int.hpp: + +/usr/include/boost/mpl/int_fwd.hpp: + +/usr/include/boost/mpl/aux_/adl_barrier.hpp: + +/usr/include/boost/mpl/aux_/config/adl.hpp: + +/usr/include/boost/mpl/aux_/config/intel.hpp: + +/usr/include/boost/mpl/aux_/nttp_decl.hpp: + +/usr/include/boost/mpl/aux_/config/nttp.hpp: + +/usr/include/boost/mpl/aux_/integral_wrapper.hpp: + +/usr/include/boost/mpl/integral_c_tag.hpp: + +/usr/include/boost/mpl/aux_/config/static_constant.hpp: + +/usr/include/boost/mpl/aux_/static_cast.hpp: + +/usr/include/boost/preprocessor/cat.hpp: + +/usr/include/boost/preprocessor/config/config.hpp: + +/usr/include/boost/mpl/aux_/template_arity_fwd.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/params.hpp: + +/usr/include/boost/mpl/aux_/config/preprocessor.hpp: + +/usr/include/boost/preprocessor/comma_if.hpp: + +/usr/include/boost/preprocessor/punctuation/comma_if.hpp: + +/usr/include/boost/preprocessor/control/if.hpp: + +/usr/include/boost/preprocessor/control/iif.hpp: + +/usr/include/boost/preprocessor/logical/bool.hpp: + +/usr/include/boost/preprocessor/facilities/empty.hpp: + +/usr/include/boost/preprocessor/punctuation/comma.hpp: + +/usr/include/boost/preprocessor/repeat.hpp: + +/usr/include/boost/preprocessor/repetition/repeat.hpp: + +/usr/include/boost/preprocessor/debug/error.hpp: + +/usr/include/boost/preprocessor/detail/auto_rec.hpp: + +/usr/include/boost/preprocessor/tuple/eat.hpp: + +/usr/include/boost/preprocessor/inc.hpp: + +/usr/include/boost/preprocessor/arithmetic/inc.hpp: + +/usr/include/boost/mpl/aux_/config/overload_resolution.hpp: + +/usr/include/boost/type_traits/detail/type_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_def.hpp: + +/usr/include/boost/type_traits/integral_constant.hpp: + +/usr/include/boost/mpl/bool.hpp: + +/usr/include/boost/mpl/bool_fwd.hpp: + +/usr/include/boost/mpl/integral_c.hpp: + +/usr/include/boost/mpl/integral_c_fwd.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/ice_and.hpp: + +/usr/include/boost/type_traits/detail/ice_not.hpp: + +/usr/include/boost/utility/enable_if.hpp: + +../boundary_mesh/Mesh.cpp: + +/usr/include/c++/4.5/iostream: + +/usr/include/c++/4.5/set: + +/usr/include/c++/4.5/bits/stl_tree.h: + +/usr/include/c++/4.5/bits/stl_set.h: + +/usr/include/c++/4.5/bits/stl_multiset.h: + +/usr/include/c++/4.5/list: + +/usr/include/c++/4.5/bits/stl_list.h: + +/usr/include/c++/4.5/bits/list.tcc: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp: + +/usr/include/c++/4.5/cstring: + +/usr/include/string.h: + +/usr/include/bits/string3.h: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/Triangle.hpp: + +../boundary_mesh/face/../../generic/BaseTypes.hpp: + +../boundary_mesh/face/Triangle_tmpl.cpp: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/../Face.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/face/Parallelogram.hpp: + +../boundary_mesh/face/ConvexQuadrilateral.hpp: + +../boundary_mesh/face/Quadrilateral.hpp: + +../boundary_mesh/face/../types.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.cpp: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp: + +../boundary_mesh/face/Quadrilateral_tmpl.hpp: + +../boundary_mesh/face/Quadrilateral_tmpl.cpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/algorithm/HandleObj.hpp: + +../boundary_mesh/algorithm/HandleObj_tmpl.cpp: + +/usr/include/c++/4.5/fstream: + +/usr/include/c++/4.5/bits/codecvt.h: + +/usr/include/c++/4.5/cstdio: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.5/bits/fstream.tcc: + +/usr/include/boost/regex.hpp: + +/usr/include/boost/regex/config.hpp: + +/usr/include/boost/regex/user.hpp: + +/usr/include/boost/regex/config/cwchar.hpp: + +/usr/include/boost/config/auto_link.hpp: + +/usr/include/boost/regex/v4/regex.hpp: + +/usr/include/boost/regex/v4/regex_workaround.hpp: + +/usr/include/c++/4.5/climits: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.5/algorithm: + +/usr/include/c++/4.5/bits/stl_algo.h: + +/usr/include/c++/4.5/bits/algorithmfwd.h: + +/usr/include/c++/4.5/bits/stl_heap.h: + +/usr/include/c++/4.5/bits/stl_tempbuf.h: + +/usr/include/c++/4.5/map: + +/usr/include/c++/4.5/bits/stl_map.h: + +/usr/include/c++/4.5/bits/stl_multimap.h: + +/usr/include/boost/limits.hpp: + +/usr/include/boost/assert.hpp: + +/usr/include/boost/cstdint.hpp: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/exception/detail/attribute_noreturn.hpp: + +/usr/include/boost/exception/exception.hpp: + +/usr/include/boost/current_function.hpp: + +/usr/include/boost/scoped_ptr.hpp: + +/usr/include/boost/smart_ptr/scoped_ptr.hpp: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/c++/4.5/memory: + +/usr/include/c++/4.5/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.5/backward/auto_ptr.h: + +/usr/include/boost/smart_ptr/detail/operator_bool.hpp: + +/usr/include/boost/scoped_array.hpp: + +/usr/include/boost/smart_ptr/scoped_array.hpp: + +/usr/include/boost/shared_ptr.hpp: + +/usr/include/boost/smart_ptr/shared_ptr.hpp: + +/usr/include/boost/config/no_tr1/memory.hpp: + +/usr/include/boost/smart_ptr/detail/shared_count.hpp: + +/usr/include/boost/smart_ptr/bad_weak_ptr.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base.hpp: + +/usr/include/boost/smart_ptr/detail/sp_has_sync.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/boost/detail/sp_typeinfo.hpp: + +/usr/include/c++/4.5/typeinfo: + +/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.5/functional: + +/usr/include/boost/smart_ptr/detail/sp_convertible.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: + +/usr/include/boost/smart_ptr/detail/yield_k.hpp: + +/usr/include/boost/memory_order.hpp: + +/usr/include/c++/4.5/locale: + +/usr/include/c++/4.5/bits/locale_facets_nonio.h: + +/usr/include/c++/4.5/ctime: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.5/bits/locale_facets_nonio.tcc: + +/usr/include/boost/regex_fwd.hpp: + +/usr/include/boost/regex/v4/regex_fwd.hpp: + +/usr/include/boost/regex/regex_traits.hpp: + +/usr/include/boost/regex/v4/regex_traits.hpp: + +/usr/include/boost/regex/v4/syntax_type.hpp: + +/usr/include/boost/regex/v4/error_type.hpp: + +/usr/include/boost/regex/v4/regex_traits_defaults.hpp: + +/usr/include/boost/regex/v4/cpp_regex_traits.hpp: + +/usr/include/boost/regex/pattern_except.hpp: + +/usr/include/boost/regex/pending/static_mutex.hpp: + +/usr/include/boost/regex/v4/primary_transform.hpp: + +/usr/include/boost/regex/pending/object_cache.hpp: + +/usr/include/boost/regex/v4/c_regex_traits.hpp: + +/usr/include/boost/mpl/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/type_wrapper.hpp: + +/usr/include/boost/mpl/aux_/yes_no.hpp: + +/usr/include/boost/mpl/aux_/config/arrays.hpp: + +/usr/include/boost/mpl/aux_/config/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/config/msvc_typename.hpp: + +/usr/include/boost/static_assert.hpp: + +/usr/include/boost/regex/v4/match_flags.hpp: + +/usr/include/boost/regex/v4/regex_raw_buffer.hpp: + +/usr/include/boost/regex/v4/char_regex_traits.hpp: + +/usr/include/boost/regex/v4/states.hpp: + +/usr/include/boost/regex/v4/regbase.hpp: + +/usr/include/boost/regex/v4/iterator_traits.hpp: + +/usr/include/boost/regex/v4/basic_regex.hpp: + +/usr/include/boost/type_traits/is_same.hpp: + +/usr/include/boost/functional/hash.hpp: + +/usr/include/boost/functional/hash/hash.hpp: + +/usr/include/boost/functional/hash/hash_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float.hpp: + +/usr/include/boost/functional/hash/detail/float_functions.hpp: + +/usr/include/boost/config/no_tr1/cmath.hpp: + +/usr/include/boost/functional/hash/detail/limits.hpp: + +/usr/include/boost/integer/static_log2.hpp: + +/usr/include/boost/integer_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: + +/usr/include/boost/functional/hash/extensions.hpp: + +/usr/include/boost/detail/container_fwd.hpp: + +/usr/include/boost/regex/v4/basic_regex_creator.hpp: + +/usr/include/boost/regex/v4/basic_regex_parser.hpp: + +/usr/include/boost/regex/v4/sub_match.hpp: + +/usr/include/boost/regex/v4/regex_format.hpp: + +/usr/include/boost/type_traits/is_function.hpp: + +/usr/include/boost/type_traits/is_reference.hpp: + +/usr/include/boost/type_traits/detail/false_result.hpp: + +/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp: + +/usr/include/boost/type_traits/is_class.hpp: + +/usr/include/boost/type_traits/intrinsics.hpp: + +/usr/include/boost/type_traits/is_volatile.hpp: + +/usr/include/boost/type_traits/is_convertible.hpp: + +/usr/include/boost/type_traits/detail/yes_no_type.hpp: + +/usr/include/boost/type_traits/is_array.hpp: + +/usr/include/boost/type_traits/add_reference.hpp: + +/usr/include/boost/type_traits/ice.hpp: + +/usr/include/boost/type_traits/detail/ice_or.hpp: + +/usr/include/boost/type_traits/detail/ice_eq.hpp: + +/usr/include/boost/type_traits/is_arithmetic.hpp: + +/usr/include/boost/type_traits/is_integral.hpp: + +/usr/include/boost/type_traits/is_float.hpp: + +/usr/include/boost/type_traits/is_void.hpp: + +/usr/include/boost/type_traits/is_abstract.hpp: + +/usr/include/boost/type_traits/remove_pointer.hpp: + +/usr/include/boost/mpl/if.hpp: + +/usr/include/boost/mpl/aux_/value_wknd.hpp: + +/usr/include/boost/mpl/aux_/config/integral.hpp: + +/usr/include/boost/mpl/aux_/config/eti.hpp: + +/usr/include/boost/mpl/aux_/na_spec.hpp: + +/usr/include/boost/mpl/lambda_fwd.hpp: + +/usr/include/boost/mpl/void_fwd.hpp: + +/usr/include/boost/mpl/aux_/na.hpp: + +/usr/include/boost/mpl/aux_/na_fwd.hpp: + +/usr/include/boost/mpl/aux_/lambda_arity_param.hpp: + +/usr/include/boost/mpl/aux_/arity.hpp: + +/usr/include/boost/mpl/aux_/config/dtp.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/enum.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp: + +/usr/include/boost/mpl/limits/arity.hpp: + +/usr/include/boost/preprocessor/logical/and.hpp: + +/usr/include/boost/preprocessor/logical/bitand.hpp: + +/usr/include/boost/preprocessor/identity.hpp: + +/usr/include/boost/preprocessor/facilities/identity.hpp: + +/usr/include/boost/preprocessor/empty.hpp: + +/usr/include/boost/preprocessor/arithmetic/add.hpp: + +/usr/include/boost/preprocessor/arithmetic/dec.hpp: + +/usr/include/boost/preprocessor/control/while.hpp: + +/usr/include/boost/preprocessor/list/fold_left.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_left.hpp: + +/usr/include/boost/preprocessor/control/expr_iif.hpp: + +/usr/include/boost/preprocessor/list/adt.hpp: + +/usr/include/boost/preprocessor/detail/is_binary.hpp: + +/usr/include/boost/preprocessor/detail/check.hpp: + +/usr/include/boost/preprocessor/logical/compl.hpp: + +/usr/include/boost/preprocessor/list/fold_right.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_right.hpp: + +/usr/include/boost/preprocessor/list/reverse.hpp: + +/usr/include/boost/preprocessor/control/detail/while.hpp: + +/usr/include/boost/preprocessor/tuple/elem.hpp: + +/usr/include/boost/preprocessor/arithmetic/sub.hpp: + +/usr/include/boost/mpl/and.hpp: + +/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/nested_type_wknd.hpp: + +/usr/include/boost/mpl/aux_/include_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/config/compiler.hpp: + +/usr/include/boost/preprocessor/stringize.hpp: + +/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp: + +/usr/include/boost/mpl/not.hpp: + +/usr/include/boost/regex/v4/match_results.hpp: + +/usr/include/boost/regex/v4/protected_call.hpp: + +/usr/include/boost/regex/v4/perl_matcher.hpp: + +/usr/include/boost/regex/v4/iterator_category.hpp: + +/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: + +/usr/include/boost/regex/v4/perl_matcher_common.hpp: + +/usr/include/boost/regex/v4/instances.hpp: + +/usr/include/boost/regex/v4/regex_match.hpp: + +/usr/include/boost/regex/v4/regex_search.hpp: + +/usr/include/boost/regex/v4/regex_iterator.hpp: + +/usr/include/boost/regex/v4/regex_token_iterator.hpp: + +/usr/include/boost/regex/v4/regex_grep.hpp: + +/usr/include/boost/regex/v4/regex_replace.hpp: + +/usr/include/boost/regex/v4/regex_merge.hpp: + +/usr/include/boost/regex/v4/regex_split.hpp: + +../boundary_mesh/algorithm/../MeshBuilder.hpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/algorithm/../types.hpp: + +../boundary_mesh/algorithm/../FaceDispatch.hpp: + +../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/FlexibleMesh_tmpl.cpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../spaces/P0Space.hpp: + +../spaces/../hilbert.hpp: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/basic.h: + +../../src/config.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/fullmatrix.h: + +/usr/local/include/HLib/lapack.h: + +/usr/local/include/HLib/blockcluster.h: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/clusterbasis.h: + +/usr/local/include/HLib/h2conversion.h: + +/usr/local/include/HLib/rkmatrix.h: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/uniformmatrix.h: + +../boundary_mesh/FlexibleMesh.hpp: + +../spaces/P0Space.hpp: + +SimpleLayerPotential.hpp: + +../boundary_mesh/FaceDispatch.hpp: + +../HLibOperator.hpp: + +../HLibOperator_fwd.hpp: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/krylov.h: + +/usr/local/include/HLib/factorisations.h: + +/usr/local/include/HLib/graphics.h: + +/usr/local/include/HLib/aca.h: + +/usr/local/include/HLib/surfacebem.h: + +/usr/local/include/HLib/bem3d.h: + +/usr/local/include/HLib/h2virtual.h: + +/usr/local/include/HLib/aca.h: + +/usr/local/include/HLib/quadrature2d.h: + +../HLibOperator_tmpl.cpp: diff --git a/src/bem3d/src/laplace/Makefile b/src/bem3d/src/laplace/Makefile new file mode 100644 index 0000000..4ebbb2c --- /dev/null +++ b/src/bem3d/src/laplace/Makefile @@ -0,0 +1,640 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# src/laplace/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +pkgdatadir = $(datadir)/hilbert3d +pkgincludedir = $(includedir)/hilbert3d +pkglibdir = $(libdir)/hilbert3d +pkglibexecdir = $(libexecdir)/hilbert3d +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = testLaplace$(EXEEXT) +subdir = src/laplace +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(testLaplace_HEADERS) +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_blas.m4 \ + $(top_srcdir)/m4/ax_boost_base.m4 \ + $(top_srcdir)/m4/ax_boost_regex.m4 $(top_srcdir)/m4/ax_hlib.m4 \ + $(top_srcdir)/m4/ax_lapack.m4 \ + $(top_srcdir)/m4/ax_prog_doxygen.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testLaplacedir)" +PROGRAMS = $(bin_PROGRAMS) +am_testLaplace_OBJECTS = testLaplace-t.$(OBJEXT) \ + testLaplace-SimpleLayerPotential.$(OBJEXT) \ + testLaplace-TriangleIntegrator.$(OBJEXT) \ + testLaplace-HLibOperator.$(OBJEXT) \ + testLaplace-GenericVector.$(OBJEXT) +testLaplace_OBJECTS = $(am_testLaplace_OBJECTS) +am__DEPENDENCIES_1 = +testLaplace_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + ../boundary_mesh/libhilbert-mesh.a \ + ../spaces/libhilbert-spaces.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +DEFAULT_INCLUDES = -I. -I$(top_builddir)/src +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ +SOURCES = $(testLaplace_SOURCES) +DIST_SOURCES = $(testLaplace_SOURCES) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +HEADERS = $(testLaplace_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run aclocal-1.11 +AMTAR = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run tar +AUTOCONF = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoconf +AUTOHEADER = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoheader +AUTOMAKE = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run automake-1.11 +AWK = mawk +BLAS_LIBS = -lblas +BOOST_CPPFLAGS = -I/usr/include +BOOST_LDFLAGS = -L/usr/lib +BOOST_REGEX_LIB = -lboost_regex-mt +BOOST_ROOT_PATH = /usr +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN_PAPER_SIZE = +DX_CONFIG = Doxyfile +DX_DOCDIR = docs/doxygen +DX_DOT = +DX_DOXYGEN = +DX_DVIPS = +DX_EGREP = +DX_ENV = SRCDIR='.' PROJECT='Hilbert 3D' DOCDIR='docs/doxygen' VERSION='0.1.0' HAVE_DOT='NO' GENERATE_MAN='NO' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='NO' GENERATE_LATEX='NO' +DX_FLAG_chi = 0 +DX_FLAG_chm = 0 +DX_FLAG_doc = 0 +DX_FLAG_dot = 0 +DX_FLAG_html = 0 +DX_FLAG_man = 0 +DX_FLAG_pdf = 0 +DX_FLAG_ps = 0 +DX_FLAG_rtf = 0 +DX_FLAG_xml = 0 +DX_HHC = +DX_LATEX = +DX_MAKEINDEX = +DX_PDFLATEX = +DX_PERL = /usr/bin/perl +DX_PROJECT = Hilbert 3D +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FLIBS = -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu -lgfortran -lm +GREP = /bin/grep +HLIB_CPPFLAGS = -I/usr/local/include +HLIB_LDFLAGS = -L/usr/local/lib +HLIB_LIB = -lhmatrix +HLIB_ROOT_PATH = /usr/local +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LAPACK_LIBS = -llapack +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +OBJEXT = o +PACKAGE = hilbert3d +PACKAGE_BUGREPORT = markus.mayr@tuwien.ac.at +PACKAGE_NAME = Hilbert 3D +PACKAGE_STRING = Hilbert 3D 0.1.0 +PACKAGE_TARNAME = hilbert3d +PACKAGE_URL = http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git +PACKAGE_VERSION = 0.1.0 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/bash +STRIP = +VERSION = 0.1.0 +abs_builddir = /home/treecity/workspace/bacc/src/bem3d/src/laplace +abs_srcdir = /home/treecity/workspace/bacc/src/bem3d/src/laplace +abs_top_builddir = /home/treecity/workspace/bacc/src/bem3d +abs_top_srcdir = /home/treecity/workspace/bacc/src/bem3d +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host_alias = +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +testLaplacedir = . +testLaplace_SOURCES = t.cpp SimpleLayerPotential.cpp TriangleIntegrator.cpp \ + ../HLibOperator.cpp ../generic/GenericVector.cpp + +# ../boundary_mesh/exception/NoMatchingFaceType.cpp \ +# ../boundary_mesh/exception/DispatchIdNotSet.cpp +testLaplace_HEADERS = \ + SimpleLayerPotential.hpp TriangleIntegrator.hpp ../HLibOperator.hpp \ + ../boundary_mesh/Face.hpp ../boundary_mesh/HalfEdge.hpp ../boundary_mesh/Mesh.hpp ../boundary_mesh/Mesh.cpp ../boundary_mesh/Vertex.hpp \ + ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/FaceDispatch.hpp ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../spaces/P0Space.hpp + +testLaplace_LDADD = $(BOOST_REGEX_LIB) ../boundary_mesh/libhilbert-mesh.a ../spaces/libhilbert-spaces.a $(HLIB_LDFLAGS) $(HLIB_LIB) $(BLAS_LIBS) $(LAPACK_LIBS) $(LIBS) $(FLIBS) +testLaplace_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/laplace/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/laplace/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +testLaplace$(EXEEXT): $(testLaplace_OBJECTS) $(testLaplace_DEPENDENCIES) + @rm -f testLaplace$(EXEEXT) + $(CXXLINK) $(testLaplace_OBJECTS) $(testLaplace_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/testLaplace-GenericVector.Po +include ./$(DEPDIR)/testLaplace-HLibOperator.Po +include ./$(DEPDIR)/testLaplace-SimpleLayerPotential.Po +include ./$(DEPDIR)/testLaplace-TriangleIntegrator.Po +include ./$(DEPDIR)/testLaplace-t.Po + +.cpp.o: + $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +testLaplace-t.o: t.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-t.o -MD -MP -MF $(DEPDIR)/testLaplace-t.Tpo -c -o testLaplace-t.o `test -f 't.cpp' || echo '$(srcdir)/'`t.cpp + $(am__mv) $(DEPDIR)/testLaplace-t.Tpo $(DEPDIR)/testLaplace-t.Po +# source='t.cpp' object='testLaplace-t.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-t.o `test -f 't.cpp' || echo '$(srcdir)/'`t.cpp + +testLaplace-t.obj: t.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-t.obj -MD -MP -MF $(DEPDIR)/testLaplace-t.Tpo -c -o testLaplace-t.obj `if test -f 't.cpp'; then $(CYGPATH_W) 't.cpp'; else $(CYGPATH_W) '$(srcdir)/t.cpp'; fi` + $(am__mv) $(DEPDIR)/testLaplace-t.Tpo $(DEPDIR)/testLaplace-t.Po +# source='t.cpp' object='testLaplace-t.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-t.obj `if test -f 't.cpp'; then $(CYGPATH_W) 't.cpp'; else $(CYGPATH_W) '$(srcdir)/t.cpp'; fi` + +testLaplace-SimpleLayerPotential.o: SimpleLayerPotential.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-SimpleLayerPotential.o -MD -MP -MF $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo -c -o testLaplace-SimpleLayerPotential.o `test -f 'SimpleLayerPotential.cpp' || echo '$(srcdir)/'`SimpleLayerPotential.cpp + $(am__mv) $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo $(DEPDIR)/testLaplace-SimpleLayerPotential.Po +# source='SimpleLayerPotential.cpp' object='testLaplace-SimpleLayerPotential.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-SimpleLayerPotential.o `test -f 'SimpleLayerPotential.cpp' || echo '$(srcdir)/'`SimpleLayerPotential.cpp + +testLaplace-SimpleLayerPotential.obj: SimpleLayerPotential.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-SimpleLayerPotential.obj -MD -MP -MF $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo -c -o testLaplace-SimpleLayerPotential.obj `if test -f 'SimpleLayerPotential.cpp'; then $(CYGPATH_W) 'SimpleLayerPotential.cpp'; else $(CYGPATH_W) '$(srcdir)/SimpleLayerPotential.cpp'; fi` + $(am__mv) $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo $(DEPDIR)/testLaplace-SimpleLayerPotential.Po +# source='SimpleLayerPotential.cpp' object='testLaplace-SimpleLayerPotential.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-SimpleLayerPotential.obj `if test -f 'SimpleLayerPotential.cpp'; then $(CYGPATH_W) 'SimpleLayerPotential.cpp'; else $(CYGPATH_W) '$(srcdir)/SimpleLayerPotential.cpp'; fi` + +testLaplace-TriangleIntegrator.o: TriangleIntegrator.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-TriangleIntegrator.o -MD -MP -MF $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo -c -o testLaplace-TriangleIntegrator.o `test -f 'TriangleIntegrator.cpp' || echo '$(srcdir)/'`TriangleIntegrator.cpp + $(am__mv) $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo $(DEPDIR)/testLaplace-TriangleIntegrator.Po +# source='TriangleIntegrator.cpp' object='testLaplace-TriangleIntegrator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-TriangleIntegrator.o `test -f 'TriangleIntegrator.cpp' || echo '$(srcdir)/'`TriangleIntegrator.cpp + +testLaplace-TriangleIntegrator.obj: TriangleIntegrator.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-TriangleIntegrator.obj -MD -MP -MF $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo -c -o testLaplace-TriangleIntegrator.obj `if test -f 'TriangleIntegrator.cpp'; then $(CYGPATH_W) 'TriangleIntegrator.cpp'; else $(CYGPATH_W) '$(srcdir)/TriangleIntegrator.cpp'; fi` + $(am__mv) $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo $(DEPDIR)/testLaplace-TriangleIntegrator.Po +# source='TriangleIntegrator.cpp' object='testLaplace-TriangleIntegrator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-TriangleIntegrator.obj `if test -f 'TriangleIntegrator.cpp'; then $(CYGPATH_W) 'TriangleIntegrator.cpp'; else $(CYGPATH_W) '$(srcdir)/TriangleIntegrator.cpp'; fi` + +testLaplace-HLibOperator.o: ../HLibOperator.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-HLibOperator.o -MD -MP -MF $(DEPDIR)/testLaplace-HLibOperator.Tpo -c -o testLaplace-HLibOperator.o `test -f '../HLibOperator.cpp' || echo '$(srcdir)/'`../HLibOperator.cpp + $(am__mv) $(DEPDIR)/testLaplace-HLibOperator.Tpo $(DEPDIR)/testLaplace-HLibOperator.Po +# source='../HLibOperator.cpp' object='testLaplace-HLibOperator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-HLibOperator.o `test -f '../HLibOperator.cpp' || echo '$(srcdir)/'`../HLibOperator.cpp + +testLaplace-HLibOperator.obj: ../HLibOperator.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-HLibOperator.obj -MD -MP -MF $(DEPDIR)/testLaplace-HLibOperator.Tpo -c -o testLaplace-HLibOperator.obj `if test -f '../HLibOperator.cpp'; then $(CYGPATH_W) '../HLibOperator.cpp'; else $(CYGPATH_W) '$(srcdir)/../HLibOperator.cpp'; fi` + $(am__mv) $(DEPDIR)/testLaplace-HLibOperator.Tpo $(DEPDIR)/testLaplace-HLibOperator.Po +# source='../HLibOperator.cpp' object='testLaplace-HLibOperator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-HLibOperator.obj `if test -f '../HLibOperator.cpp'; then $(CYGPATH_W) '../HLibOperator.cpp'; else $(CYGPATH_W) '$(srcdir)/../HLibOperator.cpp'; fi` + +testLaplace-GenericVector.o: ../generic/GenericVector.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-GenericVector.o -MD -MP -MF $(DEPDIR)/testLaplace-GenericVector.Tpo -c -o testLaplace-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp + $(am__mv) $(DEPDIR)/testLaplace-GenericVector.Tpo $(DEPDIR)/testLaplace-GenericVector.Po +# source='../generic/GenericVector.cpp' object='testLaplace-GenericVector.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp + +testLaplace-GenericVector.obj: ../generic/GenericVector.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-GenericVector.obj -MD -MP -MF $(DEPDIR)/testLaplace-GenericVector.Tpo -c -o testLaplace-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` + $(am__mv) $(DEPDIR)/testLaplace-GenericVector.Tpo $(DEPDIR)/testLaplace-GenericVector.Po +# source='../generic/GenericVector.cpp' object='testLaplace-GenericVector.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` +install-testLaplaceHEADERS: $(testLaplace_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(testLaplacedir)" || $(MKDIR_P) "$(DESTDIR)$(testLaplacedir)" + @list='$(testLaplace_HEADERS)'; test -n "$(testLaplacedir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(testLaplacedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(testLaplacedir)" || exit $$?; \ + done + +uninstall-testLaplaceHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(testLaplace_HEADERS)'; test -n "$(testLaplacedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(testLaplacedir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(testLaplacedir)" && rm -f $$files + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testLaplacedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-testLaplaceHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-testLaplaceHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + install-testLaplaceHEADERS installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-testLaplaceHEADERS + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bem3d/src/laplace/Makefile.am b/src/bem3d/src/laplace/Makefile.am index 32b8e15..8341f54 100644 --- a/src/bem3d/src/laplace/Makefile.am +++ b/src/bem3d/src/laplace/Makefile.am @@ -1,25 +1,16 @@ -lib_LIBRARIES = libhilbert-laplace.a bin_PROGRAMS = testLaplace -libhilbert_laplace_adir = . -libhilbert_laplace_a_HEADERS =\ - SimpleLayerPotential.hpp TriangleIntegrator.hpp -libhilbert_laplace_a_SOURCES = \ - SimpleLayerPotential.cpp TriangleIntegrator.cpp -libhilbert_laplace_a_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) - testLaplacedir = . -testLaplace_SOURCES = t.cpp +testLaplace_SOURCES = t.cpp SimpleLayerPotential.cpp TriangleIntegrator.cpp \ + ../HLibOperator.cpp ../generic/GenericVector.cpp +# ../boundary_mesh/exception/NoMatchingFaceType.cpp \ +# ../boundary_mesh/exception/DispatchIdNotSet.cpp testLaplace_HEADERS = \ + SimpleLayerPotential.hpp TriangleIntegrator.hpp ../HLibOperator.hpp \ ../boundary_mesh/Face.hpp ../boundary_mesh/HalfEdge.hpp ../boundary_mesh/Mesh.hpp ../boundary_mesh/Mesh.cpp ../boundary_mesh/Vertex.hpp \ ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ - ../boundary_mesh/mixin/ExportingObj.hpp ../boundary_mesh/mixin/ExportingObj.cpp \ - ../boundary_mesh/mixin/LoadingObj.hpp ../boundary_mesh/mixin/LoadingObj.cpp \ - ../boundary_mesh/layer/Marker.hpp ../boundary_mesh/layer/Marker.cpp ../boundary_mesh/mixin/MeshMixin.hpp \ - ../boundary_mesh/mixin/RefiningAdaptivly.hpp ../boundary_mesh/mixin/RefiningAdaptivly.cpp \ - ../boundary_mesh/mixin/RefiningUniformly.hpp ../boundary_mesh/mixin/RefiningUniformly.cpp \ - ../spaces/P0Space.hpp ../spaces/P0Space.cpp \ - SimpleLayerPotential.hpp -testLaplace_LDADD = $(BOOST_REGEX_LIB) ../boundary_mesh/libhilbert-mesh.a ../spaces/libhilbert-spaces.a libhilbert-laplace.a $(HLIB_LDFLAGS) $(HLIB_LIB) $(BLAS_LIBS) $(LAPACK_LIBS) $(LIBS) $(FLIBS) + ../boundary_mesh/FaceDispatch.hpp ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../spaces/P0Space.hpp +testLaplace_LDADD = $(BOOST_REGEX_LIB) ../boundary_mesh/libhilbert-mesh.a ../spaces/libhilbert-spaces.a $(HLIB_LDFLAGS) $(HLIB_LIB) $(BLAS_LIBS) $(LAPACK_LIBS) $(LIBS) $(FLIBS) testLaplace_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) diff --git a/src/bem3d/src/laplace/Makefile.in b/src/bem3d/src/laplace/Makefile.in new file mode 100644 index 0000000..41158f7 --- /dev/null +++ b/src/bem3d/src/laplace/Makefile.in @@ -0,0 +1,640 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = testLaplace$(EXEEXT) +subdir = src/laplace +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(testLaplace_HEADERS) +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_blas.m4 \ + $(top_srcdir)/m4/ax_boost_base.m4 \ + $(top_srcdir)/m4/ax_boost_regex.m4 $(top_srcdir)/m4/ax_hlib.m4 \ + $(top_srcdir)/m4/ax_lapack.m4 \ + $(top_srcdir)/m4/ax_prog_doxygen.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testLaplacedir)" +PROGRAMS = $(bin_PROGRAMS) +am_testLaplace_OBJECTS = testLaplace-t.$(OBJEXT) \ + testLaplace-SimpleLayerPotential.$(OBJEXT) \ + testLaplace-TriangleIntegrator.$(OBJEXT) \ + testLaplace-HLibOperator.$(OBJEXT) \ + testLaplace-GenericVector.$(OBJEXT) +testLaplace_OBJECTS = $(am_testLaplace_OBJECTS) +am__DEPENDENCIES_1 = +testLaplace_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + ../boundary_mesh/libhilbert-mesh.a \ + ../spaces/libhilbert-spaces.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ +SOURCES = $(testLaplace_SOURCES) +DIST_SOURCES = $(testLaplace_SOURCES) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +HEADERS = $(testLaplace_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BLAS_LIBS = @BLAS_LIBS@ +BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ +BOOST_LDFLAGS = @BOOST_LDFLAGS@ +BOOST_REGEX_LIB = @BOOST_REGEX_LIB@ +BOOST_ROOT_PATH = @BOOST_ROOT_PATH@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ +DX_CONFIG = @DX_CONFIG@ +DX_DOCDIR = @DX_DOCDIR@ +DX_DOT = @DX_DOT@ +DX_DOXYGEN = @DX_DOXYGEN@ +DX_DVIPS = @DX_DVIPS@ +DX_EGREP = @DX_EGREP@ +DX_ENV = @DX_ENV@ +DX_FLAG_chi = @DX_FLAG_chi@ +DX_FLAG_chm = @DX_FLAG_chm@ +DX_FLAG_doc = @DX_FLAG_doc@ +DX_FLAG_dot = @DX_FLAG_dot@ +DX_FLAG_html = @DX_FLAG_html@ +DX_FLAG_man = @DX_FLAG_man@ +DX_FLAG_pdf = @DX_FLAG_pdf@ +DX_FLAG_ps = @DX_FLAG_ps@ +DX_FLAG_rtf = @DX_FLAG_rtf@ +DX_FLAG_xml = @DX_FLAG_xml@ +DX_HHC = @DX_HHC@ +DX_LATEX = @DX_LATEX@ +DX_MAKEINDEX = @DX_MAKEINDEX@ +DX_PDFLATEX = @DX_PDFLATEX@ +DX_PERL = @DX_PERL@ +DX_PROJECT = @DX_PROJECT@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FLIBS = @FLIBS@ +GREP = @GREP@ +HLIB_CPPFLAGS = @HLIB_CPPFLAGS@ +HLIB_LDFLAGS = @HLIB_LDFLAGS@ +HLIB_LIB = @HLIB_LIB@ +HLIB_ROOT_PATH = @HLIB_ROOT_PATH@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LAPACK_LIBS = @LAPACK_LIBS@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +testLaplacedir = . +testLaplace_SOURCES = t.cpp SimpleLayerPotential.cpp TriangleIntegrator.cpp \ + ../HLibOperator.cpp ../generic/GenericVector.cpp + +# ../boundary_mesh/exception/NoMatchingFaceType.cpp \ +# ../boundary_mesh/exception/DispatchIdNotSet.cpp +testLaplace_HEADERS = \ + SimpleLayerPotential.hpp TriangleIntegrator.hpp ../HLibOperator.hpp \ + ../boundary_mesh/Face.hpp ../boundary_mesh/HalfEdge.hpp ../boundary_mesh/Mesh.hpp ../boundary_mesh/Mesh.cpp ../boundary_mesh/Vertex.hpp \ + ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/FaceDispatch.hpp ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../spaces/P0Space.hpp + +testLaplace_LDADD = $(BOOST_REGEX_LIB) ../boundary_mesh/libhilbert-mesh.a ../spaces/libhilbert-spaces.a $(HLIB_LDFLAGS) $(HLIB_LIB) $(BLAS_LIBS) $(LAPACK_LIBS) $(LIBS) $(FLIBS) +testLaplace_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/laplace/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/laplace/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +testLaplace$(EXEEXT): $(testLaplace_OBJECTS) $(testLaplace_DEPENDENCIES) + @rm -f testLaplace$(EXEEXT) + $(CXXLINK) $(testLaplace_OBJECTS) $(testLaplace_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testLaplace-GenericVector.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testLaplace-HLibOperator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testLaplace-SimpleLayerPotential.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testLaplace-TriangleIntegrator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testLaplace-t.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +testLaplace-t.o: t.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-t.o -MD -MP -MF $(DEPDIR)/testLaplace-t.Tpo -c -o testLaplace-t.o `test -f 't.cpp' || echo '$(srcdir)/'`t.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-t.Tpo $(DEPDIR)/testLaplace-t.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='t.cpp' object='testLaplace-t.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-t.o `test -f 't.cpp' || echo '$(srcdir)/'`t.cpp + +testLaplace-t.obj: t.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-t.obj -MD -MP -MF $(DEPDIR)/testLaplace-t.Tpo -c -o testLaplace-t.obj `if test -f 't.cpp'; then $(CYGPATH_W) 't.cpp'; else $(CYGPATH_W) '$(srcdir)/t.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-t.Tpo $(DEPDIR)/testLaplace-t.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='t.cpp' object='testLaplace-t.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-t.obj `if test -f 't.cpp'; then $(CYGPATH_W) 't.cpp'; else $(CYGPATH_W) '$(srcdir)/t.cpp'; fi` + +testLaplace-SimpleLayerPotential.o: SimpleLayerPotential.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-SimpleLayerPotential.o -MD -MP -MF $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo -c -o testLaplace-SimpleLayerPotential.o `test -f 'SimpleLayerPotential.cpp' || echo '$(srcdir)/'`SimpleLayerPotential.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo $(DEPDIR)/testLaplace-SimpleLayerPotential.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SimpleLayerPotential.cpp' object='testLaplace-SimpleLayerPotential.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-SimpleLayerPotential.o `test -f 'SimpleLayerPotential.cpp' || echo '$(srcdir)/'`SimpleLayerPotential.cpp + +testLaplace-SimpleLayerPotential.obj: SimpleLayerPotential.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-SimpleLayerPotential.obj -MD -MP -MF $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo -c -o testLaplace-SimpleLayerPotential.obj `if test -f 'SimpleLayerPotential.cpp'; then $(CYGPATH_W) 'SimpleLayerPotential.cpp'; else $(CYGPATH_W) '$(srcdir)/SimpleLayerPotential.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-SimpleLayerPotential.Tpo $(DEPDIR)/testLaplace-SimpleLayerPotential.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='SimpleLayerPotential.cpp' object='testLaplace-SimpleLayerPotential.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-SimpleLayerPotential.obj `if test -f 'SimpleLayerPotential.cpp'; then $(CYGPATH_W) 'SimpleLayerPotential.cpp'; else $(CYGPATH_W) '$(srcdir)/SimpleLayerPotential.cpp'; fi` + +testLaplace-TriangleIntegrator.o: TriangleIntegrator.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-TriangleIntegrator.o -MD -MP -MF $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo -c -o testLaplace-TriangleIntegrator.o `test -f 'TriangleIntegrator.cpp' || echo '$(srcdir)/'`TriangleIntegrator.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo $(DEPDIR)/testLaplace-TriangleIntegrator.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='TriangleIntegrator.cpp' object='testLaplace-TriangleIntegrator.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-TriangleIntegrator.o `test -f 'TriangleIntegrator.cpp' || echo '$(srcdir)/'`TriangleIntegrator.cpp + +testLaplace-TriangleIntegrator.obj: TriangleIntegrator.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-TriangleIntegrator.obj -MD -MP -MF $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo -c -o testLaplace-TriangleIntegrator.obj `if test -f 'TriangleIntegrator.cpp'; then $(CYGPATH_W) 'TriangleIntegrator.cpp'; else $(CYGPATH_W) '$(srcdir)/TriangleIntegrator.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-TriangleIntegrator.Tpo $(DEPDIR)/testLaplace-TriangleIntegrator.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='TriangleIntegrator.cpp' object='testLaplace-TriangleIntegrator.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-TriangleIntegrator.obj `if test -f 'TriangleIntegrator.cpp'; then $(CYGPATH_W) 'TriangleIntegrator.cpp'; else $(CYGPATH_W) '$(srcdir)/TriangleIntegrator.cpp'; fi` + +testLaplace-HLibOperator.o: ../HLibOperator.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-HLibOperator.o -MD -MP -MF $(DEPDIR)/testLaplace-HLibOperator.Tpo -c -o testLaplace-HLibOperator.o `test -f '../HLibOperator.cpp' || echo '$(srcdir)/'`../HLibOperator.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-HLibOperator.Tpo $(DEPDIR)/testLaplace-HLibOperator.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../HLibOperator.cpp' object='testLaplace-HLibOperator.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-HLibOperator.o `test -f '../HLibOperator.cpp' || echo '$(srcdir)/'`../HLibOperator.cpp + +testLaplace-HLibOperator.obj: ../HLibOperator.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-HLibOperator.obj -MD -MP -MF $(DEPDIR)/testLaplace-HLibOperator.Tpo -c -o testLaplace-HLibOperator.obj `if test -f '../HLibOperator.cpp'; then $(CYGPATH_W) '../HLibOperator.cpp'; else $(CYGPATH_W) '$(srcdir)/../HLibOperator.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-HLibOperator.Tpo $(DEPDIR)/testLaplace-HLibOperator.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../HLibOperator.cpp' object='testLaplace-HLibOperator.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-HLibOperator.obj `if test -f '../HLibOperator.cpp'; then $(CYGPATH_W) '../HLibOperator.cpp'; else $(CYGPATH_W) '$(srcdir)/../HLibOperator.cpp'; fi` + +testLaplace-GenericVector.o: ../generic/GenericVector.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-GenericVector.o -MD -MP -MF $(DEPDIR)/testLaplace-GenericVector.Tpo -c -o testLaplace-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-GenericVector.Tpo $(DEPDIR)/testLaplace-GenericVector.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../generic/GenericVector.cpp' object='testLaplace-GenericVector.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-GenericVector.o `test -f '../generic/GenericVector.cpp' || echo '$(srcdir)/'`../generic/GenericVector.cpp + +testLaplace-GenericVector.obj: ../generic/GenericVector.cpp +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testLaplace-GenericVector.obj -MD -MP -MF $(DEPDIR)/testLaplace-GenericVector.Tpo -c -o testLaplace-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testLaplace-GenericVector.Tpo $(DEPDIR)/testLaplace-GenericVector.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='../generic/GenericVector.cpp' object='testLaplace-GenericVector.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testLaplace_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testLaplace-GenericVector.obj `if test -f '../generic/GenericVector.cpp'; then $(CYGPATH_W) '../generic/GenericVector.cpp'; else $(CYGPATH_W) '$(srcdir)/../generic/GenericVector.cpp'; fi` +install-testLaplaceHEADERS: $(testLaplace_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(testLaplacedir)" || $(MKDIR_P) "$(DESTDIR)$(testLaplacedir)" + @list='$(testLaplace_HEADERS)'; test -n "$(testLaplacedir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(testLaplacedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(testLaplacedir)" || exit $$?; \ + done + +uninstall-testLaplaceHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(testLaplace_HEADERS)'; test -n "$(testLaplacedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(testLaplacedir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(testLaplacedir)" && rm -f $$files + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testLaplacedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-testLaplaceHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-testLaplaceHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + install-testLaplaceHEADERS installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-testLaplaceHEADERS + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bem3d/src/laplace/SLPrecangle.cpp b/src/bem3d/src/laplace/SLPrecangle.cpp new file mode 100644 index 0000000..18f174b --- /dev/null +++ b/src/bem3d/src/laplace/SLPrecangle.cpp @@ -0,0 +1,357 @@ +#include +#include +#include +#include + +#include "SLPrecangle.hpp" + +#define my_PI 3.141592653589793 +#define EPS 0.02 + +using namespace std; + +int sign(double); +double arsinh(double); + +// sol = quadInt((F_par/F_ort),s1,s2,k1,k2,t1,t2,l1,l2,d1,d2,d3); +double quadInt( + double(*)(double, double, double, double, double, double, double), + double, double, double, double, double, double, double, double, double, + double, double); + +void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { + //sicherheitsabfragen zu Datengroessen + if (nrhs != 2) + mexErrMsgTxt("expected (coordinates(Nx3),elements(Mx3))"); + if (nlhs > 1) + mexErrMsgTxt("has only one output argument"); + + int cm = mxGetM(prhs[0]); + int cn = mxGetN(prhs[0]); + + if (cn != 3) + mexErrMsgTxt("expected coordinates (Nx3)"); + int em = mxGetM(prhs[1]); + int en = mxGetN(prhs[1]); + if (en != 3) + mexErrMsgTxt("expected elements (Mx3)"); + //Vorbereitung der Daten + + plhs[0] = mxCreateDoubleMatrix(em, em, mxREAL); + double * A = mxGetPr(plhs[0]); + double * C = mxGetPr(prhs[0]); + double * E = mxGetPr(prhs[1]); + + double * x1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * x2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * x3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * xn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + + double * y1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * y2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * y3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * yn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + + double * d = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + + double tmp; + + int rx, ry; + + //Ausrechnen + for (int j = 0; j < em; ++j) { + x1[0] = C[(int) E[j] - 1]; + x1[1] = C[cm + (int) E[j] - 1]; + x1[2] = C[2 * cm + (int) E[j] - 1]; + + x2[0] = C[(int) E[em + j] - 1]; + x2[1] = C[cm + (int) E[em + j] - 1]; + x2[2] = C[2 * cm + (int) E[em + j] - 1]; + + x3[0] = C[(int) E[2 * em + j] - 1]; + x3[1] = C[cm + (int) E[2 * em + j] - 1]; + x3[2] = C[2 * cm + (int) E[2 * em + j] - 1]; + + xn[0] = (x2[1] - x1[1]) * (x3[2] - x1[2]) - (x2[2] - x1[2]) * (x3[1] + - x1[1]); + xn[1] = (x2[2] - x1[2]) * (x3[0] - x1[0]) - (x2[0] - x1[0]) * (x3[2] + - x1[2]); + xn[2] = (x2[0] - x1[0]) * (x3[1] - x1[1]) - (x2[1] - x1[1]) * (x3[0] + - x1[0]); + + //if(xn[0]*xn[0]+xn[1]*xn[1] 0 ? 1 : (x < 0 ? -1 : 0); +} + +double inline arsinh(double x) { + return log(x + sqrt(x * x + 1)); +} + +//y-x muss != 0 sein +double g0(double p, double y, double x, double l) { + //printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l); + + double sol = 0; + + if (l != 0) { + if (p == 0.5) { + sol = (y - x) / 2 * sqrt((y - x) * (y - x) + l * l) + l * l / 2 + * arsinh((y - x) / fabs(l)); + // printf("%.2f |",sol); + } else if (p == 0) + sol = y - x; + else if (p == -0.5) + sol = asinh((y - x) / fabs(l)); + else if (p == -1) + sol = atan((y - x) / fabs(l)); + else if (p == -1.5) + sol = (y - x) / ((l * l) * sqrt((y - x) * (y - x) + l * l)); + else + sol = (y - x) * pow((y - x) * (y - x) + l * l, p) + 2 * p * l * l + * g0(p - 1, y, x, l) / (2 * p + 1); + } else { + if (p == -0.5) + sol = sign(y - x) * log(fabs(y - x)); + else + sol = (y - x) * pow(fabs(y - x), 2 * p) / (2 * p + 1); + } + + return sol; +} + +double G00(double p, double y1, double y2, double x1, double x2, double l) { + // printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l); + + double sol = 0; + if (p == -1.5) { + if (l == 0) { + sol = -sqrt((y1 - x1) * (y1 - x1) + (y2 - x2) * (y2 - x2)) / ((y1 + - x1) * (y2 - x2)); + } else { + sol = sign((y1 - x1) * (y2 - x2)) / (2 * fabs(l)) * acos( + -2 * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2) / (((y1 + - x1) * (y1 - x1) + l * l) * ((y2 - x2) * (y2 - x2) + + l * l)) + 1); + } + + } else if (p == -0.5) { + if (l != 0) + sol = 2 * p * l * l * G00(p - 1, y1, y2, x1, x2, l); + if ((y1 - x1) != 0) + sol += (y1 - x1) * g0(p, y2, x2, + sqrt((y1 - x1) * (y1 - x1) + l * l)); + if ((y2 - x2) != 0) + sol += (y2 - x2) * g0(p, y1, x1, + sqrt((y2 - x2) * (y2 - x2) + l * l)); + sol /= 2 * p + 2; + } else { + mexErrMsgTxt("no case for p defined"); + } + + return sol; +} + +double F_par(double x1, double x2, double y1, double y2, double d1, double d2, + double d3) { + + // printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y1,y2,d1,d2,d3); + double sol = (x1 - y1 - d1) * (x2 - y2 - d2); + + if (sol != 0) + sol *= slpADLO(x1, x2, y1 + d1, y2 + d2, d3); + + if ((x1 - y1 - d1) != 0) + sol -= (x1 - y1 - d1) * compute_g0(0.5, x1, y1 + d1, + sqrt((x2 - y2 - d2) * (x2 - y2 - d2) + d3 * d3)); + + if ((x2 - y2 - d2) != 0) + sol -= (x2 - y2 - d2) * compute_g0(0.5, x2, y2 + d2, + sqrt((x1 - y1 - d1) * (x1 - y1 - d1) + d3 * d3)); + + double hlp = ((x1 - y1 - d1) * (x1 - y1 - d1) + (x2 - y2 - d2) * (x2 - y2 + - d2) + d3 * d3); + sol += 1. / 3 * hlp * sqrt(hlp); + return sol; +} + +double inline quadInt( + double(*f)(double, double, double, double, double, double, double), + double s1, double s2, double k1, double k2, double t1, double t2, + double l1, double l2, double d1, double d2, double d3) { + + return f(k1, k2, l1, l2, d1, d2, d3) - f(k1, k2, l1, t2, d1, d2, d3) - f( + k1, k2, t1, l2, d1, d2, d3) + f(k1, k2, t1, t2, d1, d2, d3) - f(k1, + s2, l1, l2, d1, d2, d3) + f(k1, s2, l1, t2, d1, d2, d3) + f(k1, s2, + t1, l2, d1, d2, d3) - f(k1, s2, t1, t2, d1, d2, d3) - f(s1, k2, l1, + l2, d1, d2, d3) + f(s1, k2, l1, t2, d1, d2, d3) + f(s1, k2, t1, l2, + d1, d2, d3) - f(s1, l2, t1, t2, d1, d2, d3) + f(s1, s2, l1, l2, d1, + d2, d3) - f(s1, 0, l1, t2, d1, d2, d3) - f(s1, s2, t1, l2, d1, d2, + d3) + f(s1, s2, t1, t2, d1, d2, d3); +} + +double slpADLO(double y1, double y2, double x1, double x2, double a) { + double G3 = 0; + double gL = 0; + double gK = 0; + double tmp; + + tmp = y1 - x1; + if (fabs(tmp) >= EPS * y1) { + tmp = sqrt(y1 * y1 + x1 * x1 + a * a - 2 * y1 * x1); + gL = compute_g0(-0.5, y2, x2, tmp); + } + tmp = y2 - x2; + if (fabs(tmp) >= EPS * y2) { + tmp = sqrt(y2 * y2 + x2 * x2 + a * a - 2 * y2 * x2); + gK = compute_g0(-0.5, y1, x1, tmp); + } + if (fabs(a * a) > EPS) { + if ((y1 - x1) * (y2 - x2) * a >= 0) + tmp = 1.; + else + tmp = -1.; + + G3 = tmp * acos( + (-2. * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2)) / (((y1 + - x1) * (y1 - x1) + a * a) * ((y2 - x2) * (y2 - x2) + a + * a)) + 1.) / (2. * a); + } + + return (y1 - x1) * gL + (y2 - x2) * gK - a * a * G3; +} + +double compute_g0(double p, double y, double x, double a) { + int sp = (int) 2 * (p - EPS); // MK (p-EPS) instead of (p+EPS) + //printf("\n compute_g0, p = %lf, sp = %d\n",p,sp); + assert( + p == 0 || (p == -0.5) || (p == -1) || (p == -1.5) || (fabs(a) + <= EPS)); + if (fabs(a) <= EPS) { + // printf("\n a < eps\n"); + switch (sp) { + case 0: + return y - x; + case -1: + return log(fabs(x - y)) * (y - x) / fabs(y - x); + case -2: + return -(y - x) / fabs(y - x) / fabs(y - x); + case -3: + return -0.5 * (y - x) / fabs(y - x) / fabs(y - x) / fabs(y - x); + } + } else { + // printf("\n a > eps\n"); + switch (sp) { + case 0: + return y - x; + case -1: + return asinh((y - x) / fabs(a)); + case -2: + return atan((y - x) / fabs(a)); + case -3: + return (y - x) * pow((x * x + y * y + a * a - 2 * x * y), -0.5) + / (a * a); + default: + printf("p must be either 0, -1/2, -1 or -3/2."); + return NAN; + } + } +} + +double FLO_plane(double x1, double x2, double y1, double y2, double delta1, + double delta2, double a) { + double yd1 = y1 + delta1; + double yd2 = y2 + delta2; + double tmp1 = x1 - y1 - delta1; + double tmp2 = x2 - y2 - delta2; + double tmp3 = sqrt(tmp2 * tmp2 + a * a); + double tmp4 = sqrt(tmp1 * tmp1 + a * a); + double tmp5 = pow(tmp1 * tmp1 + tmp2 * tmp2 + a * a, 3. / 2.); + double rval = 0; + + rval = tmp1 * tmp2 * slpADLO(x1, x2, yd1, yd2, a) - tmp1 * compute_g0(-0.5, + x1, yd1, tmp3) - tmp2 * compute_g0(-0.5, x2, yd2, tmp4) + tmp5 / 3.; + return rval; +} diff --git a/src/bem3d/src/laplace/SLPrecangle.hpp b/src/bem3d/src/laplace/SLPrecangle.hpp new file mode 100644 index 0000000..6f80150 --- /dev/null +++ b/src/bem3d/src/laplace/SLPrecangle.hpp @@ -0,0 +1,21 @@ +#ifndef HILBERT3D_LAPLACE_SLPRECTANGLE_HPP_GUARD_ +#define HILBERT3D_LAPLACE_SLPRECTANGLE_HPP_GUARD_ + +int sign(double); +double arsinh(double); + +// sol = g0(p,y,x,l); +double g0(double, double, double, double); +// sol = G00(p,y1,y2,x1,x2,l); +double G00(double, double, double, double, double, double); +// sol = F_par(x1,x2,y1,y2,d1,d2,d3); +double F_par(double, double, double, double, double, double, double); +// sol = F_ort(x1,x2,y1,y2,d1,d2,d3); +//double F_ort(double, double, double, double, double, double, double); + + +double slpADLO(double, double, double, double, double); +double compute_g0(double, double, double, double); +double FLO_plane(double, double, double, double, double, double, double); + +#endif diff --git a/src/bem3d/src/laplace/SimpleLayerPotential.cpp b/src/bem3d/src/laplace/SimpleLayerPotential.cpp index d400eb2..c5e299a 100644 --- a/src/bem3d/src/laplace/SimpleLayerPotential.cpp +++ b/src/bem3d/src/laplace/SimpleLayerPotential.cpp @@ -3,126 +3,89 @@ #include "../spaces/P0Space.hpp" #include "TriangleIntegrator.hpp" +#include "SLPrecangle.hpp" + #include using namespace laplace; -SimpleLayerPotential::SimpleLayerPotential(const space::P0Space &space) - : s_(space), hlibSupermatrix_(0), rowClusterTree_(0), colClusterTree_(0) +SimpleLayerPotential::SimpleLayerPotential(const space::P0Space& space) + : HLibOperator< space::P0Space, space::P0Space, SymmetricMatrix >( + space, space, SimpleLayerPotential::computeEntry) { - unsigned int numberOfElements = space.getNumberOfElements(); - init_rkmatrices(0); - clusterfactory* factory = space.createClusterFactory(); - rowClusterTree_ = colClusterTree_ = - create_clustertree(factory, HLIB_GEOMETRIC, 30, numberOfElements * numberOfElements); - -// print_cluster(colClusterTree_->root,colClusterTree_->idx2dof,0); - del_clusterfactory(factory); - -// hlibSupermatrix_ = build_supermatrix_from_cluster( -// rowClusterTree_->root, colClusterTree_->root, -// 1, 30, HLIB_MINADM); - - hlibSupermatrix_ = build_full_supermatrix( - rowClusterTree_->root, colClusterTree_->root); - - print_supermatrix("SLP.ps",hlibSupermatrix_); - std::cerr << "hlibSupermatrix: " << hlibSupermatrix_->rows << " x " << hlibSupermatrix_->cols << " (rows x cols), " - << hlibSupermatrix_->block_rows << " x " << hlibSupermatrix_->block_cols << " (blockrows x blockcols)" << std::endl; - - fill_supermatrix_aca( - hlibSupermatrix_, - rowClusterTree_->root, colClusterTree_->root, - (void*) this, - SimpleLayerPotential::slp_compute_matrix_entry,1e-5); - } SimpleLayerPotential::~SimpleLayerPotential() { } -double SimpleLayerPotential::slp_compute_matrix_entry(int i,int j,void* data) +template < class TMesh > +double ComputeSimpleLayerPotentialEntry< TMesh >::exec( + const typename TMesh::Prop::Triangle& f1, + const typename TMesh::Prop::Triangle& f2) const { - int tf_i, tf_j; - const SimpleLayerPotential* th = (SimpleLayerPotential*) (data); - tf_i = th->rowClusterTree_->dof2idx[i]; - tf_j = th->colClusterTree_->dof2idx[j]; - - const space::P0Space& s = th->s_; - return slp_compute_matrix_entry(s[tf_i], s[tf_j]); -} + TriangleIntegrator integrator = TriangleIntegrator(); -double SimpleLayerPotential::slp_compute_matrix_entry(const space::P0Element &e1, - const space::P0Element &e2) -{ - const BoundaryMesh::traits::Face &f1 = e1.getSupport(); - const BoundaryMesh::traits::Face &f2 = e2.getSupport(); - TriangleIntegrator integrator; - - if (f1.area() < f2.area()) - return integrator.integrate(f1, f2, &slp_compute_inner_integral); + if ( f1.computeArea() < f2.computeArea() ) + { + return integrator.integrate( f1, f2, + computeInnerIntegralForTriangles); + } else - return integrator.integrate(f2, f1, &slp_compute_inner_integral); - + { + return integrator.integrate( f2, f1, + computeInnerIntegralForTriangles); + } } -double SimpleLayerPotential::solve(double* rhs) const +template < class TMesh > +double ComputeSimpleLayerPotentialEntry< TMesh >::exec( + const typename TMesh::Prop::Parallelogram& f1, + const typename TMesh::Prop::Parallelogram& f2) const { - std::cerr << "solving by GMRES" << std::endl; -// for ( int i=0; if; - int i, j; + typedef boundary_mesh::DoubleFaceDispatcher< + ComputeSimpleLayerPotentialEntry< BoundaryMesh >, BoundaryMesh, double > + ComputeEntry; - std::ofstream output_file("slp.txt"); - - if ( f!= NULL ) // fill fullmatrix block - for ( i=0; iroot->size; i++ ){ - for ( j=0; jroot->size; j++ ){ -// std::cerr << f->e[i+j*rowClusterTree_->root->size] << ", "; - output_file << f->e[i+j*rowClusterTree_->root->size] << ", " << std::endl; - } -// std::cerr << std::endl; - } + return ComputeEntry::Exec( e1.getSupport(), e2.getSupport(), + ComputeSimpleLayerPotentialEntry< BoundaryMesh >() ); } -double SimpleLayerPotential::slp_compute_inner_integral(const BoundaryMesh::traits::Face &tau, - const BoundaryMesh::traits::UnlinkedVertex &x) +template < class TMesh > +double +ComputeSimpleLayerPotentialEntry< TMesh >::computeInnerIntegralForTriangles( + const typename TMesh::Prop::Triangle& tau, + const typename TMesh::UVertex& x) { - boundary_mesh::Face::ConstVertexIterator vIt = tau.begin_v(); - const boundary_mesh::UnlinkedVertex& x1 = *vIt; - const boundary_mesh::UnlinkedVertex& x2 = *(++vIt); - const boundary_mesh::UnlinkedVertex& x3 = *(++vIt); + BoundaryMesh::Face::ConstVertexIterator vIt = tau.begin_v(); + const BoundaryMesh::UVertex& x1 = *vIt; ++vIt; + const BoundaryMesh::UVertex& x2 = *vIt; ++vIt; + const BoundaryMesh::UVertex& x3 = *vIt; ++vIt; // determine a local orthogonal coordinate system (r1,r2,n) on the triangle tau double t_tau = (x3-x2).norm(); - boundary_mesh::UnlinkedVertex r2 = (x3-x2)/t_tau; + BoundaryMesh::UVertex r2 = (x3-x2)/t_tau; double t_star=(x1-x2)*r2; - boundary_mesh::UnlinkedVertex r1 = (x2+t_star*r2-x1); + BoundaryMesh::UVertex r1 = (x2+t_star*r2-x1); double s_tau = r1.norm(); r1 = r1 / s_tau; - boundary_mesh::UnlinkedVertex n = cross_product(r1,r2); + BoundaryMesh::UVertex n = BoundaryMesh::Vertex::crossProduct(r1,r2); // determine necessary information double sx = (x-x1)*r1; @@ -135,7 +98,10 @@ double SimpleLayerPotential::slp_compute_inner_integral(const BoundaryMesh::trai return 0.25*(F(s_tau,a2,sx,tx,ux) - F(0,a2,sx,tx,ux) - F(s_tau,a1,sx,tx,ux) + F(0,a1,sx,tx,ux))/M_PI; } -double laplace::F(double s, double a, double sx, double tx, double ux) +template < class TMesh > +double +ComputeSimpleLayerPotentialEntry< TMesh >::F( + double s, double a, double sx, double tx, double ux) { double p = (a*tx+sx)/(1+a*a); double q = ux*ux + (tx-a*sx)*(tx-a*sx)/(1+a*a); @@ -145,19 +111,66 @@ double laplace::F(double s, double a, double sx, double tx, double ux) + 2*ux*atan(((q-(a*sx-tx)/(1+a*a))*sqrt((1+a*a)*(s-p)*(s-p)+q*q) + (a*s-tx-q)*q)/((s-p)*ux)); } -void laplace::fill_supermatrix_aca(supermatrix* A, const cluster* row, const cluster* col, void *data, +void fill_supermatrix_aca_OLD(supermatrix* A, const cluster* row, const cluster* col, void *data, double (*compute_entry)(int i, int j, void* data), double aca_eps) { - std::cerr << "*** fill_supermatrix_aca" << std::endl; +// std::cerr << "*** fill_supermatrix_aca" << std::endl; fullmatrix* f = A->f; + rkmatrix* r = A->r; int i, j; + int rank; - if ( f!= NULL ) // fill fullmatrix block + if ( f!= NULL ) { // fill fullmatrix block +// std::cerr << "*** full matrix block" << std::endl; for ( i=0; isize; i++ ){ for ( j=0; jsize; j++ ) -// f->e[i+j*row->size] = 0; f->e[i+j*row->size] = compute_entry(row->start+i,col->start+j, data); } + + return; + } + + if ( r!= NULL ) { // fill rk-block with aca +// std::cerr << "*** rank k matrix block" << std::endl; + if ( r->rows > r-> cols ) + rank = r->cols; + else + rank = r->rows; + + if ( rank > ACA_KMAX ) + rank = ACA_KMAX; + + r->k = rank; + r->a = allocate_matrix(r->rows,rank); + r->b = allocate_matrix(r->cols,rank); + + r->kt = newaca_fill_block(r->a, r->b, r->rows, r->cols, + row->start, col->start, + compute_entry, data, + rank, aca_eps, ACA_STRATEGY); + + r->a = (double*) realloc(r->a,r->rows*r->kt*sizeof(double)); + r->b = (double*) realloc(r->b,r->cols*r->kt*sizeof(double)); + r->k = r->kt; + + return; + } + + if(row->sons>0) { + if(col->sons>0) { + for(int i=0;isons;++i) + for(int j=0;jsons;++j) { + int s=i+j*row->sons; + fill_supermatrix_aca_OLD(A->s[s],row->son[i],col->son[j],data,compute_entry,aca_eps); + } + } else { + for(int i=0;isons;++i) + fill_supermatrix_aca_OLD(A->s[i],row->son[i],col,data,compute_entry,aca_eps); + } + } else { + for(int i=0;isons;++i) + fill_supermatrix_aca_OLD(A->s[i],row,col->son[i],data,compute_entry,aca_eps); + } } diff --git a/src/bem3d/src/laplace/SimpleLayerPotential.hpp b/src/bem3d/src/laplace/SimpleLayerPotential.hpp index 381d60f..fe0e8f0 100644 --- a/src/bem3d/src/laplace/SimpleLayerPotential.hpp +++ b/src/bem3d/src/laplace/SimpleLayerPotential.hpp @@ -2,45 +2,52 @@ #define HILBERT3D_LAPLACE_SIMPLELAYERPOTENTIAL_HPP_GUARD_ #include "../hilbert.hpp" -extern "C" { -#include "HLib/cluster.h" -#include "HLib/supermatrix.h" -#include "HLib/krylov.h" -#include "HLib/graphics.h" -} +#include "../boundary_mesh/FaceDispatch.hpp" +#include "../HLibOperator.hpp" +#include "../spaces/P0Space.hpp" namespace laplace { /* * @ brief: Implementation of Discrete (P0 x P0) Single Layer Potential for Laplace. **/ + template < class TMesh = BoundaryMesh > + class ComputeSimpleLayerPotentialEntry + { + public: + double exec( const typename TMesh::Prop::Triangle& f1, + const typename TMesh::Prop::Triangle& f2 ) const; + double exec( const typename TMesh::Prop::Parallelogram& f1, + const typename TMesh::Prop::Parallelogram& f2 ) const; + double exec( const typename TMesh::Face& f1, + const typename TMesh::Face& f2 ) const + { + assert(0); // Missing implementation! + } + + private: + static double computeInnerIntegralForTriangles( + const typename TMesh::Prop::Triangle& tau, + const typename TMesh::UVertex& x); + static double F(double s, double a, double sx, double tx, double ux); + }; + class SimpleLayerPotential + : public HLibOperator< space::P0Space, space::P0Space, SymmetricMatrix > { public: - SimpleLayerPotential(const space::P0Space &s); - ~SimpleLayerPotential(); - double solve(double* rhs) const; - void show(); + SimpleLayerPotential(const space::P0Space &space); + virtual ~SimpleLayerPotential(); private: - const space::P0Space &s_; - supermatrix* hlibSupermatrix_; - clustertree* rowClusterTree_; - clustertree* colClusterTree_; - static double slp_compute_matrix_entry(int i, int j, void* data); - static double slp_compute_matrix_entry( - const space::P0Element &e1,const space::P0Element &e2); - static double slp_compute_inner_integral(const BoundaryMesh::traits::Face &tau, - const BoundaryMesh::traits::UnlinkedVertex &x); + static double computeEntry( + const space::P0Space::Element& e1,const space::P0Space::Element &e2); }; - double F(double s, double a, double sx, double tx, double ux); - void fill_supermatrix_aca(supermatrix* A, - const cluster* row, - const cluster* col, - void* data, - double (*compute_entry)(int i,int j,void* data), - double aca_eps); +#if 0 + void fill_supermatrix_aca(supermatrix*, const cluster*, const cluster*, void*, double* (compute_entry)(int, int, void*), double); +#endif } #endif + diff --git a/src/bem3d/src/laplace/TriangleIntegrator.cpp b/src/bem3d/src/laplace/TriangleIntegrator.cpp index 87f23d0..c697415 100644 --- a/src/bem3d/src/laplace/TriangleIntegrator.cpp +++ b/src/bem3d/src/laplace/TriangleIntegrator.cpp @@ -3,9 +3,6 @@ #include #include -#include "../boundary_mesh/Vertex.hpp" -#include "../boundary_mesh/Face.hpp" - using namespace std; TriangleIntegrator::TriangleIntegrator() @@ -51,9 +48,9 @@ TriangleIntegrator::TriangleIntegrator() double TriangleIntegrator::integrate( - const boundary_mesh::Face & triangle_1, - const boundary_mesh::Face & triangle_2, - double (*integrand)(const boundary_mesh::Face &triangle, const boundary_mesh::UnlinkedVertex & point)) + const BoundaryMesh::Prop::Triangle & triangle_1, + const BoundaryMesh::Prop::Triangle & triangle_2, + double (*integrand)(const BoundaryMesh::Prop::Triangle &triangle, const BoundaryMesh::UVertex & point)) const { int gauss_order = m_r.size(); @@ -65,14 +62,14 @@ TriangleIntegrator::integrate( computeIthEvaluationPoint( triangle_1, m_r[i], m_s[i] )); } - sum *= 2 * triangle_1.area(); // Factor 2 is becase gauss-weights sum up tp 0.5 + sum *= 2 * triangle_1.computeArea(); // Factor 2 is becase gauss-weights sum up tp 0.5 return sum; } double TriangleIntegrator::integrate( - const boundary_mesh::Face & triangle, - double (*integrand)(const boundary_mesh::UnlinkedVertex & point)) + const BoundaryMesh::Prop::Triangle & triangle, + double (*integrand)(const BoundaryMesh::UVertex & point)) const { int gauss_order = m_r.size(); @@ -83,21 +80,25 @@ TriangleIntegrator::integrate( sum += m_weights[i] * integrand(computeIthEvaluationPoint( triangle, m_r[i], m_s[i] )); } - sum *= 2 * triangle.area(); // Factor 2 is becase gauss-weights sum up tp 0.5 + sum *= 2 * triangle.computeArea(); + // Factor 2 is becase gauss-weights sum up tp 0.5 return sum; } -boundary_mesh::UnlinkedVertex +BoundaryMesh::UVertex TriangleIntegrator::computeIthEvaluationPoint( - const boundary_mesh::Face & triangle, + const BoundaryMesh::Prop::Triangle & triangle, double xCoord, double yCoord) { - boundary_mesh::Face::ConstVertexIterator vertexIt = triangle.begin_v(); // MK: why here not + BoundaryMesh::Face::ConstVertexIterator vertexIt = triangle.begin_v(); // MK: why here not // boundary_mesh::traits:Face.... ???? - const boundary_mesh::UnlinkedVertex& a = *vertexIt; // MK: write a function for this? - const boundary_mesh::UnlinkedVertex& b = *(++vertexIt); - const boundary_mesh::UnlinkedVertex& c = *(++vertexIt); -// assert( vertexIt == triangle.end_v() ); // MK: what is this good for? it doesn't work anyway + const BoundaryMesh::UVertex& a = *vertexIt; ++vertexIt; // MK: write a function for this? + const BoundaryMesh::UVertex& b = *vertexIt; ++vertexIt; + const BoundaryMesh::UVertex& c = *vertexIt; ++vertexIt; + assert( vertexIt == triangle.end_v() ); // MK: what is this good for? + // it doesn't work anyway + // MM: -> Überprüft, ob es sich wirklich um ein Dreieck handelt. + // Wenn es fehlschlägt, dann ist der == operator für Iteratoren fehlerhaft. return a + (b-a) * xCoord + (c-a) * yCoord; } diff --git a/src/bem3d/src/laplace/TriangleIntegrator.hpp b/src/bem3d/src/laplace/TriangleIntegrator.hpp index fd25cfc..6f78276 100644 --- a/src/bem3d/src/laplace/TriangleIntegrator.hpp +++ b/src/bem3d/src/laplace/TriangleIntegrator.hpp @@ -2,11 +2,7 @@ #define HILBERT3D_LAPLACE_TRIANGLEINTEGRATOR_HPP_GUARD_ #include -#include "../boundary_mesh/Vertex.hpp" - -namespace boundary_mesh { - class Face; -} +#include "../hilbert.hpp" class TriangleIntegrator { public: @@ -31,10 +27,10 @@ class TriangleIntegrator { * This function just returns the computed value. */ double integrate( - const boundary_mesh::Face & triangle_1, - const boundary_mesh::Face & triangle_2, - double (*integrand)(const boundary_mesh::Face & triangle, // MK added a & - const boundary_mesh::UnlinkedVertex & point)) + const BoundaryMesh::Prop::Triangle & triangle_1, + const BoundaryMesh::Prop::Triangle & triangle_2, + double (*integrand)(const BoundaryMesh::Prop::Triangle & triangle, + const BoundaryMesh::UVertex & point)) const; /** @@ -51,14 +47,15 @@ class TriangleIntegrator { * \f$f\f$. */ double integrate( - const boundary_mesh::Face & triangle, - double (*integrand)(const boundary_mesh::UnlinkedVertex & point)) + const BoundaryMesh::Prop::Triangle & triangle, + double (*integrand)(const BoundaryMesh::UVertex & point)) const; private: - static boundary_mesh::UnlinkedVertex - computeIthEvaluationPoint( const boundary_mesh::Face& triangle, - double xCoord, double yCoord ); + static BoundaryMesh::UVertex + computeIthEvaluationPoint( + const BoundaryMesh::Prop::Triangle& triangle, + double xCoord, double yCoord ); std::vector m_r; std::vector m_s; diff --git a/src/bem3d/src/laplace/V.ps b/src/bem3d/src/laplace/V.ps new file mode 100644 index 0000000..2245ef0 --- /dev/null +++ b/src/bem3d/src/laplace/V.ps @@ -0,0 +1,19980 @@ +%!PS-Adobe-2.0-2.0 EPSF-2.0 +%%BoundingBox: 50.000000 50.000000 570.000000 570.000000 +60.000000 dup translate +0.488281 dup scale +0.009766 setlinewidth +/Helvetica findfont 24.576000 scalefont setfont +0 setgray +/bl{0 setgray} def +/fb{0.95 setgray fill} def +/fr{1.0 0.6 0.6 setrgbcolor fill} def +/fg{0.5 setgray fill} def +/fl{0.6 1.0 0.6 setrgbcolor fill} def +/fi{0.8 0.0 0.0 setrgbcolor fill} def +/fu{0.3 0.3 1.0 setrgbcolor fill} def +/cs{closepath stroke} def +/m{moveto} def +/l{lineto} def +/hf{/Helvetica findfont} def +/sf{scalefont setfont} def +bl +0 1008 m +0 1024 l +16 1024 l +16 1008 l +0 1008 l +cs +bl +hf 8.0 sf +3.2 1009.6 m (16) show +bl +16 1008 m +16 1024 l +32 1024 l +32 1008 l +16 1008 l +cs +bl +hf 8.0 sf +19.2 1009.6 m (16) show +bl +0 992 m +0 1008 l +16 1008 l +16 992 l +0 992 l +cs +bl +hf 8.0 sf +3.2 993.6 m (16) show +bl +16 992 m +16 1008 l +32 1008 l +32 992 l +16 992 l +cs +bl +hf 8.0 sf +19.2 993.6 m (16) show +bl +32 1008 m +32 1024 l +48 1024 l +48 1008 l +32 1008 l +cs +bl +hf 8.0 sf +35.2 1009.6 m (16) show +bl +48 1008 m +48 1024 l +64 1024 l +64 1008 l +48 1008 l +cs +bl +hf 8.0 sf +51.2 1009.6 m (16) show +bl +32 992 m +32 1008 l +48 1008 l +48 992 l +32 992 l +cs +bl +hf 8.0 sf +35.2 993.6 m (16) show +bl +48 992 m +48 1008 l +64 1008 l +64 992 l +48 992 l +cs +bl +hf 8.0 sf +51.2 993.6 m (16) show +bl +0 976 m +0 992 l +16 992 l +16 976 l +0 976 l +cs +bl +hf 8.0 sf +3.2 977.6 m (16) show +bl +16 976 m +16 992 l +32 992 l +32 976 l +16 976 l +cs +bl +hf 8.0 sf +19.2 977.6 m (16) show +bl +0 960 m +0 976 l +16 976 l +16 960 l +0 960 l +cs +bl +hf 8.0 sf +3.2 961.6 m (16) show +bl +16 960 m +16 976 l +32 976 l +32 960 l +16 960 l +cs +bl +hf 8.0 sf +19.2 961.6 m (16) show +bl +32 976 m +32 992 l +48 992 l +48 976 l +32 976 l +cs +bl +hf 8.0 sf +35.2 977.6 m (16) show +bl +48 976 m +48 992 l +64 992 l +64 976 l +48 976 l +cs +bl +hf 8.0 sf +51.2 977.6 m (16) show +bl +32 960 m +32 976 l +48 976 l +48 960 l +32 960 l +cs +bl +hf 8.0 sf +35.2 961.6 m (16) show +bl +48 960 m +48 976 l +64 976 l +64 960 l +48 960 l +cs +bl +hf 8.0 sf +51.2 961.6 m (16) show +bl +64 1008 m +64 1024 l +80 1024 l +80 1008 l +64 1008 l +cs +bl +hf 8.0 sf +67.2 1009.6 m (16) show +bl +80 1008 m +80 1024 l +96 1024 l +96 1008 l +80 1008 l +cs +bl +hf 8.0 sf +83.2 1009.6 m (16) show +bl +64 992 m +64 1008 l +80 1008 l +80 992 l +64 992 l +cs +bl +hf 8.0 sf +67.2 993.6 m (16) show +bl +80 992 m +80 1008 l +96 1008 l +96 992 l +80 992 l +cs +bl +hf 8.0 sf +83.2 993.6 m (16) show +bl +96 1008 m +96 1024 l +112 1024 l +112 1008 l +96 1008 l +cs +bl +hf 8.0 sf +99.2 1009.6 m (16) show +bl +112 1008 m +112 1024 l +128 1024 l +128 1008 l +112 1008 l +cs +bl +hf 8.0 sf +115.2 1009.6 m (16) show +bl +96 992 m +96 1008 l +112 1008 l +112 992 l +96 992 l +cs +bl +hf 8.0 sf +99.2 993.6 m (16) show +bl +112 992 m +112 1008 l +128 1008 l +128 992 l +112 992 l +cs +bl +hf 8.0 sf +115.2 993.6 m (16) show +bl +64 976 m +64 992 l +80 992 l +80 976 l +64 976 l +cs +bl +hf 8.0 sf +67.2 977.6 m (16) show +bl +80 976 m +80 992 l +96 992 l +96 976 l +80 976 l +cs +bl +hf 8.0 sf +83.2 977.6 m (16) show +bl +64 960 m +64 976 l +80 976 l +80 960 l +64 960 l +cs +bl +hf 8.0 sf +67.2 961.6 m (16) show +bl +80 960 m +80 976 l +96 976 l +96 960 l +80 960 l +cs +bl +hf 8.0 sf +83.2 961.6 m (16) show +bl +96 976 m +96 992 l +112 992 l +112 976 l +96 976 l +cs +bl +hf 8.0 sf +99.2 977.6 m (16) show +bl +112 976 m +112 992 l +128 992 l +128 976 l +112 976 l +cs +bl +hf 8.0 sf +115.2 977.6 m (16) show +bl +96 960 m +96 976 l +112 976 l +112 960 l +96 960 l +cs +bl +hf 8.0 sf +99.2 961.6 m (16) show +bl +112 960 m +112 976 l +128 976 l +128 960 l +112 960 l +cs +bl +hf 8.0 sf +115.2 961.6 m (16) show +bl +0 944 m +0 960 l +16 960 l +16 944 l +0 944 l +cs +bl +hf 8.0 sf +3.2 945.6 m (16) show +bl +16 944 m +16 960 l +32 960 l +32 944 l +16 944 l +cs +bl +hf 8.0 sf +19.2 945.6 m (16) show +bl +0 928 m +0 944 l +16 944 l +16 928 l +0 928 l +cs +bl +hf 8.0 sf +3.2 929.6 m (16) show +bl +16 928 m +16 944 l +32 944 l +32 928 l +16 928 l +cs +bl +hf 8.0 sf +19.2 929.6 m (16) show +bl +32 944 m +32 960 l +48 960 l +48 944 l +32 944 l +cs +bl +hf 8.0 sf +35.2 945.6 m (16) show +bl +48 944 m +48 960 l +64 960 l +64 944 l +48 944 l +cs +bl +hf 8.0 sf +51.2 945.6 m (16) show +bl +32 928 m +32 944 l +48 944 l +48 928 l +32 928 l +cs +bl +hf 8.0 sf +35.2 929.6 m (16) show +bl +48 928 m +48 944 l +64 944 l +64 928 l +48 928 l +cs +bl +hf 8.0 sf +51.2 929.6 m (16) show +bl +0 912 m +0 928 l +16 928 l +16 912 l +0 912 l +cs +bl +hf 8.0 sf +3.2 913.6 m (16) show +bl +16 912 m +16 928 l +32 928 l +32 912 l +16 912 l +cs +bl +hf 8.0 sf +19.2 913.6 m (16) show +bl +0 896 m +0 912 l +16 912 l +16 896 l +0 896 l +cs +bl +hf 8.0 sf +3.2 897.6 m (16) show +bl +16 896 m +16 912 l +32 912 l +32 896 l +16 896 l +cs +bl +hf 8.0 sf +19.2 897.6 m (16) show +bl +32 912 m +32 928 l +48 928 l +48 912 l +32 912 l +cs +bl +hf 8.0 sf +35.2 913.6 m (16) show +bl +48 912 m +48 928 l +64 928 l +64 912 l +48 912 l +cs +bl +hf 8.0 sf +51.2 913.6 m (16) show +bl +32 896 m +32 912 l +48 912 l +48 896 l +32 896 l +cs +bl +hf 8.0 sf +35.2 897.6 m (16) show +bl +48 896 m +48 912 l +64 912 l +64 896 l +48 896 l +cs +bl +hf 8.0 sf +51.2 897.6 m (16) show +bl +64 944 m +64 960 l +80 960 l +80 944 l +64 944 l +cs +bl +hf 8.0 sf +67.2 945.6 m (16) show +bl +80 944 m +80 960 l +96 960 l +96 944 l +80 944 l +cs +bl +hf 8.0 sf +83.2 945.6 m (16) show +bl +64 928 m +64 944 l +80 944 l +80 928 l +64 928 l +cs +bl +hf 8.0 sf +67.2 929.6 m (16) show +bl +80 928 m +80 944 l +96 944 l +96 928 l +80 928 l +cs +bl +hf 8.0 sf +83.2 929.6 m (16) show +bl +96 944 m +96 960 l +112 960 l +112 944 l +96 944 l +cs +bl +hf 8.0 sf +99.2 945.6 m (16) show +bl +112 944 m +112 960 l +128 960 l +128 944 l +112 944 l +cs +bl +hf 8.0 sf +115.2 945.6 m (16) show +bl +96 928 m +96 944 l +112 944 l +112 928 l +96 928 l +cs +bl +hf 8.0 sf +99.2 929.6 m (16) show +bl +112 928 m +112 944 l +128 944 l +128 928 l +112 928 l +cs +bl +hf 8.0 sf +115.2 929.6 m (16) show +bl +64 912 m +64 928 l +80 928 l +80 912 l +64 912 l +cs +bl +hf 8.0 sf +67.2 913.6 m (16) show +bl +80 912 m +80 928 l +96 928 l +96 912 l +80 912 l +cs +bl +hf 8.0 sf +83.2 913.6 m (16) show +bl +64 896 m +64 912 l +80 912 l +80 896 l +64 896 l +cs +bl +hf 8.0 sf +67.2 897.6 m (16) show +bl +80 896 m +80 912 l +96 912 l +96 896 l +80 896 l +cs +bl +hf 8.0 sf +83.2 897.6 m (16) show +bl +96 912 m +96 928 l +112 928 l +112 912 l +96 912 l +cs +bl +hf 8.0 sf +99.2 913.6 m (16) show +bl +112 912 m +112 928 l +128 928 l +128 912 l +112 912 l +cs +bl +hf 8.0 sf +115.2 913.6 m (16) show +bl +96 896 m +96 912 l +112 912 l +112 896 l +96 896 l +cs +bl +hf 8.0 sf +99.2 897.6 m (16) show +bl +112 896 m +112 912 l +128 912 l +128 896 l +112 896 l +cs +bl +hf 8.0 sf +115.2 897.6 m (16) show +bl +128 1008 m +128 1024 l +144 1024 l +144 1008 l +128 1008 l +cs +bl +hf 8.0 sf +131.2 1009.6 m (16) show +bl +144 1008 m +144 1024 l +160 1024 l +160 1008 l +144 1008 l +cs +bl +hf 8.0 sf +147.2 1009.6 m (16) show +bl +128 992 m +128 1008 l +144 1008 l +144 992 l +128 992 l +cs +bl +hf 8.0 sf +131.2 993.6 m (16) show +bl +144 992 m +144 1008 l +160 1008 l +160 992 l +144 992 l +cs +bl +hf 8.0 sf +147.2 993.6 m (16) show +160 992 m +160 1024 l +192 1024 l +192 992 l +160 992 l +fl +bl +160 992 m +160 1024 l +192 1024 l +192 992 l +160 992 l +cs +bl +128 976 m +128 992 l +144 992 l +144 976 l +128 976 l +cs +bl +hf 8.0 sf +131.2 977.6 m (16) show +bl +144 976 m +144 992 l +160 992 l +160 976 l +144 976 l +cs +bl +hf 8.0 sf +147.2 977.6 m (16) show +bl +128 960 m +128 976 l +144 976 l +144 960 l +128 960 l +cs +bl +hf 8.0 sf +131.2 961.6 m (16) show +bl +144 960 m +144 976 l +160 976 l +160 960 l +144 960 l +cs +bl +hf 8.0 sf +147.2 961.6 m (16) show +bl +160 976 m +160 992 l +176 992 l +176 976 l +160 976 l +cs +bl +hf 8.0 sf +163.2 977.6 m (16) show +bl +176 976 m +176 992 l +192 992 l +192 976 l +176 976 l +cs +bl +hf 8.0 sf +179.2 977.6 m (16) show +bl +160 960 m +160 976 l +176 976 l +176 960 l +160 960 l +cs +bl +hf 8.0 sf +163.2 961.6 m (16) show +bl +176 960 m +176 976 l +192 976 l +192 960 l +176 960 l +cs +bl +hf 8.0 sf +179.2 961.6 m (16) show +bl +192 1008 m +192 1024 l +208 1024 l +208 1008 l +192 1008 l +cs +bl +hf 8.0 sf +195.2 1009.6 m (16) show +208 1008 m +208 1024 l +224 1024 l +224 1008 l +208 1008 l +fl +bl +208 1008 m +208 1024 l +224 1024 l +224 1008 l +208 1008 l +cs +bl +192 992 m +192 1008 l +208 1008 l +208 992 l +192 992 l +cs +bl +hf 8.0 sf +195.2 993.6 m (16) show +bl +208 992 m +208 1008 l +224 1008 l +224 992 l +208 992 l +cs +bl +hf 8.0 sf +211.2 993.6 m (16) show +224 992 m +224 1024 l +256 1024 l +256 992 l +224 992 l +fl +bl +224 992 m +224 1024 l +256 1024 l +256 992 l +224 992 l +cs +bl +192 976 m +192 992 l +208 992 l +208 976 l +192 976 l +cs +bl +hf 8.0 sf +195.2 977.6 m (16) show +bl +208 976 m +208 992 l +224 992 l +224 976 l +208 976 l +cs +bl +hf 8.0 sf +211.2 977.6 m (16) show +bl +192 960 m +192 976 l +208 976 l +208 960 l +192 960 l +cs +bl +hf 8.0 sf +195.2 961.6 m (16) show +bl +208 960 m +208 976 l +224 976 l +224 960 l +208 960 l +cs +bl +hf 8.0 sf +211.2 961.6 m (16) show +bl +224 976 m +224 992 l +240 992 l +240 976 l +224 976 l +cs +bl +hf 8.0 sf +227.2 977.6 m (16) show +240 976 m +240 992 l +256 992 l +256 976 l +240 976 l +fl +bl +240 976 m +240 992 l +256 992 l +256 976 l +240 976 l +cs +bl +224 960 m +224 976 l +240 976 l +240 960 l +224 960 l +cs +bl +hf 8.0 sf +227.2 961.6 m (16) show +bl +240 960 m +240 976 l +256 976 l +256 960 l +240 960 l +cs +bl +hf 8.0 sf +243.2 961.6 m (16) show +bl +128 944 m +128 960 l +144 960 l +144 944 l +128 944 l +cs +bl +hf 8.0 sf +131.2 945.6 m (16) show +bl +144 944 m +144 960 l +160 960 l +160 944 l +144 944 l +cs +bl +hf 8.0 sf +147.2 945.6 m (16) show +128 928 m +128 944 l +144 944 l +144 928 l +128 928 l +fl +bl +128 928 m +128 944 l +144 944 l +144 928 l +128 928 l +cs +bl +144 928 m +144 944 l +160 944 l +160 928 l +144 928 l +cs +bl +hf 8.0 sf +147.2 929.6 m (16) show +160 928 m +160 960 l +192 960 l +192 928 l +160 928 l +fl +bl +160 928 m +160 960 l +192 960 l +192 928 l +160 928 l +cs +bl +128 912 m +128 928 l +144 928 l +144 912 l +128 912 l +cs +bl +hf 8.0 sf +131.2 913.6 m (16) show +bl +144 912 m +144 928 l +160 928 l +160 912 l +144 912 l +cs +bl +hf 8.0 sf +147.2 913.6 m (16) show +bl +128 896 m +128 912 l +144 912 l +144 896 l +128 896 l +cs +bl +hf 8.0 sf +131.2 897.6 m (16) show +bl +144 896 m +144 912 l +160 912 l +160 896 l +144 896 l +cs +bl +hf 8.0 sf +147.2 897.6 m (16) show +bl +160 912 m +160 928 l +176 928 l +176 912 l +160 912 l +cs +bl +hf 8.0 sf +163.2 913.6 m (16) show +bl +176 912 m +176 928 l +192 928 l +192 912 l +176 912 l +cs +bl +hf 8.0 sf +179.2 913.6 m (16) show +160 896 m +160 912 l +176 912 l +176 896 l +160 896 l +fl +bl +160 896 m +160 912 l +176 912 l +176 896 l +160 896 l +cs +bl +176 896 m +176 912 l +192 912 l +192 896 l +176 896 l +cs +bl +hf 8.0 sf +179.2 897.6 m (16) show +bl +192 944 m +192 960 l +208 960 l +208 944 l +192 944 l +cs +bl +hf 8.0 sf +195.2 945.6 m (16) show +bl +208 944 m +208 960 l +224 960 l +224 944 l +208 944 l +cs +bl +hf 8.0 sf +211.2 945.6 m (16) show +bl +192 928 m +192 944 l +208 944 l +208 928 l +192 928 l +cs +bl +hf 8.0 sf +195.2 929.6 m (16) show +bl +208 928 m +208 944 l +224 944 l +224 928 l +208 928 l +cs +bl +hf 8.0 sf +211.2 929.6 m (16) show +224 928 m +224 960 l +256 960 l +256 928 l +224 928 l +fl +bl +224 928 m +224 960 l +256 960 l +256 928 l +224 928 l +cs +bl +192 912 m +192 928 l +208 928 l +208 912 l +192 912 l +cs +bl +hf 8.0 sf +195.2 913.6 m (16) show +bl +208 912 m +208 928 l +224 928 l +224 912 l +208 912 l +cs +bl +hf 8.0 sf +211.2 913.6 m (16) show +bl +192 896 m +192 912 l +208 912 l +208 896 l +192 896 l +cs +bl +hf 8.0 sf +195.2 897.6 m (16) show +bl +208 896 m +208 912 l +224 912 l +224 896 l +208 896 l +cs +bl +hf 8.0 sf +211.2 897.6 m (16) show +bl +224 912 m +224 928 l +240 928 l +240 912 l +224 912 l +cs +bl +hf 8.0 sf +227.2 913.6 m (16) show +bl +240 912 m +240 928 l +256 928 l +256 912 l +240 912 l +cs +bl +hf 8.0 sf +243.2 913.6 m (16) show +bl +224 896 m +224 912 l +240 912 l +240 896 l +224 896 l +cs +bl +hf 8.0 sf +227.2 897.6 m (16) show +bl +240 896 m +240 912 l +256 912 l +256 896 l +240 896 l +cs +bl +hf 8.0 sf +243.2 897.6 m (16) show +bl +0 880 m +0 896 l +16 896 l +16 880 l +0 880 l +cs +bl +hf 8.0 sf +3.2 881.6 m (16) show +bl +16 880 m +16 896 l +32 896 l +32 880 l +16 880 l +cs +bl +hf 8.0 sf +19.2 881.6 m (16) show +bl +0 864 m +0 880 l +16 880 l +16 864 l +0 864 l +cs +bl +hf 8.0 sf +3.2 865.6 m (16) show +bl +16 864 m +16 880 l +32 880 l +32 864 l +16 864 l +cs +bl +hf 8.0 sf +19.2 865.6 m (16) show +bl +32 880 m +32 896 l +48 896 l +48 880 l +32 880 l +cs +bl +hf 8.0 sf +35.2 881.6 m (16) show +bl +48 880 m +48 896 l +64 896 l +64 880 l +48 880 l +cs +bl +hf 8.0 sf +51.2 881.6 m (16) show +bl +32 864 m +32 880 l +48 880 l +48 864 l +32 864 l +cs +bl +hf 8.0 sf +35.2 865.6 m (16) show +bl +48 864 m +48 880 l +64 880 l +64 864 l +48 864 l +cs +bl +hf 8.0 sf +51.2 865.6 m (16) show +0 832 m +0 864 l +32 864 l +32 832 l +0 832 l +fl +bl +0 832 m +0 864 l +32 864 l +32 832 l +0 832 l +cs +bl +32 848 m +32 864 l +48 864 l +48 848 l +32 848 l +cs +bl +hf 8.0 sf +35.2 849.6 m (16) show +bl +48 848 m +48 864 l +64 864 l +64 848 l +48 848 l +cs +bl +hf 8.0 sf +51.2 849.6 m (16) show +bl +32 832 m +32 848 l +48 848 l +48 832 l +32 832 l +cs +bl +hf 8.0 sf +35.2 833.6 m (16) show +bl +48 832 m +48 848 l +64 848 l +64 832 l +48 832 l +cs +bl +hf 8.0 sf +51.2 833.6 m (16) show +bl +64 880 m +64 896 l +80 896 l +80 880 l +64 880 l +cs +bl +hf 8.0 sf +67.2 881.6 m (16) show +80 880 m +80 896 l +96 896 l +96 880 l +80 880 l +fl +bl +80 880 m +80 896 l +96 896 l +96 880 l +80 880 l +cs +bl +64 864 m +64 880 l +80 880 l +80 864 l +64 864 l +cs +bl +hf 8.0 sf +67.2 865.6 m (16) show +bl +80 864 m +80 880 l +96 880 l +96 864 l +80 864 l +cs +bl +hf 8.0 sf +83.2 865.6 m (16) show +bl +96 880 m +96 896 l +112 896 l +112 880 l +96 880 l +cs +bl +hf 8.0 sf +99.2 881.6 m (16) show +bl +112 880 m +112 896 l +128 896 l +128 880 l +112 880 l +cs +bl +hf 8.0 sf +115.2 881.6 m (16) show +bl +96 864 m +96 880 l +112 880 l +112 864 l +96 864 l +cs +bl +hf 8.0 sf +99.2 865.6 m (16) show +bl +112 864 m +112 880 l +128 880 l +128 864 l +112 864 l +cs +bl +hf 8.0 sf +115.2 865.6 m (16) show +64 832 m +64 864 l +96 864 l +96 832 l +64 832 l +fl +bl +64 832 m +64 864 l +96 864 l +96 832 l +64 832 l +cs +bl +96 848 m +96 864 l +112 864 l +112 848 l +96 848 l +cs +bl +hf 8.0 sf +99.2 849.6 m (16) show +112 848 m +112 864 l +128 864 l +128 848 l +112 848 l +fl +bl +112 848 m +112 864 l +128 864 l +128 848 l +112 848 l +cs +bl +96 832 m +96 848 l +112 848 l +112 832 l +96 832 l +cs +bl +hf 8.0 sf +99.2 833.6 m (16) show +bl +112 832 m +112 848 l +128 848 l +128 832 l +112 832 l +cs +bl +hf 8.0 sf +115.2 833.6 m (16) show +bl +0 816 m +0 832 l +16 832 l +16 816 l +0 816 l +cs +bl +hf 8.0 sf +3.2 817.6 m (16) show +bl +16 816 m +16 832 l +32 832 l +32 816 l +16 816 l +cs +bl +hf 8.0 sf +19.2 817.6 m (16) show +0 800 m +0 816 l +16 816 l +16 800 l +0 800 l +fl +bl +0 800 m +0 816 l +16 816 l +16 800 l +0 800 l +cs +bl +16 800 m +16 816 l +32 816 l +32 800 l +16 800 l +cs +bl +hf 8.0 sf +19.2 801.6 m (16) show +bl +32 816 m +32 832 l +48 832 l +48 816 l +32 816 l +cs +bl +hf 8.0 sf +35.2 817.6 m (16) show +bl +48 816 m +48 832 l +64 832 l +64 816 l +48 816 l +cs +bl +hf 8.0 sf +51.2 817.6 m (16) show +bl +32 800 m +32 816 l +48 816 l +48 800 l +32 800 l +cs +bl +hf 8.0 sf +35.2 801.6 m (16) show +bl +48 800 m +48 816 l +64 816 l +64 800 l +48 800 l +cs +bl +hf 8.0 sf +51.2 801.6 m (16) show +0 768 m +0 800 l +32 800 l +32 768 l +0 768 l +fl +bl +0 768 m +0 800 l +32 800 l +32 768 l +0 768 l +cs +bl +32 784 m +32 800 l +48 800 l +48 784 l +32 784 l +cs +bl +hf 8.0 sf +35.2 785.6 m (16) show +bl +48 784 m +48 800 l +64 800 l +64 784 l +48 784 l +cs +bl +hf 8.0 sf +51.2 785.6 m (16) show +32 768 m +32 784 l +48 784 l +48 768 l +32 768 l +fl +bl +32 768 m +32 784 l +48 784 l +48 768 l +32 768 l +cs +bl +48 768 m +48 784 l +64 784 l +64 768 l +48 768 l +cs +bl +hf 8.0 sf +51.2 769.6 m (16) show +bl +64 816 m +64 832 l +80 832 l +80 816 l +64 816 l +cs +bl +hf 8.0 sf +67.2 817.6 m (16) show +bl +80 816 m +80 832 l +96 832 l +96 816 l +80 816 l +cs +bl +hf 8.0 sf +83.2 817.6 m (16) show +bl +64 800 m +64 816 l +80 816 l +80 800 l +64 800 l +cs +bl +hf 8.0 sf +67.2 801.6 m (16) show +bl +80 800 m +80 816 l +96 816 l +96 800 l +80 800 l +cs +bl +hf 8.0 sf +83.2 801.6 m (16) show +bl +96 816 m +96 832 l +112 832 l +112 816 l +96 816 l +cs +bl +hf 8.0 sf +99.2 817.6 m (16) show +bl +112 816 m +112 832 l +128 832 l +128 816 l +112 816 l +cs +bl +hf 8.0 sf +115.2 817.6 m (16) show +bl +96 800 m +96 816 l +112 816 l +112 800 l +96 800 l +cs +bl +hf 8.0 sf +99.2 801.6 m (16) show +bl +112 800 m +112 816 l +128 816 l +128 800 l +112 800 l +cs +bl +hf 8.0 sf +115.2 801.6 m (16) show +64 768 m +64 800 l +96 800 l +96 768 l +64 768 l +fl +bl +64 768 m +64 800 l +96 800 l +96 768 l +64 768 l +cs +bl +96 784 m +96 800 l +112 800 l +112 784 l +96 784 l +cs +bl +hf 8.0 sf +99.2 785.6 m (16) show +bl +112 784 m +112 800 l +128 800 l +128 784 l +112 784 l +cs +bl +hf 8.0 sf +115.2 785.6 m (16) show +bl +96 768 m +96 784 l +112 784 l +112 768 l +96 768 l +cs +bl +hf 8.0 sf +99.2 769.6 m (16) show +bl +112 768 m +112 784 l +128 784 l +128 768 l +112 768 l +cs +bl +hf 8.0 sf +115.2 769.6 m (16) show +bl +128 880 m +128 896 l +144 896 l +144 880 l +128 880 l +cs +bl +hf 8.0 sf +131.2 881.6 m (16) show +bl +144 880 m +144 896 l +160 896 l +160 880 l +144 880 l +cs +bl +hf 8.0 sf +147.2 881.6 m (16) show +bl +128 864 m +128 880 l +144 880 l +144 864 l +128 864 l +cs +bl +hf 8.0 sf +131.2 865.6 m (16) show +bl +144 864 m +144 880 l +160 880 l +160 864 l +144 864 l +cs +bl +hf 8.0 sf +147.2 865.6 m (16) show +bl +160 880 m +160 896 l +176 896 l +176 880 l +160 880 l +cs +bl +hf 8.0 sf +163.2 881.6 m (16) show +bl +176 880 m +176 896 l +192 896 l +192 880 l +176 880 l +cs +bl +hf 8.0 sf +179.2 881.6 m (16) show +bl +160 864 m +160 880 l +176 880 l +176 864 l +160 864 l +cs +bl +hf 8.0 sf +163.2 865.6 m (16) show +bl +176 864 m +176 880 l +192 880 l +192 864 l +176 864 l +cs +bl +hf 8.0 sf +179.2 865.6 m (16) show +bl +128 848 m +128 864 l +144 864 l +144 848 l +128 848 l +cs +bl +hf 8.0 sf +131.2 849.6 m (16) show +bl +144 848 m +144 864 l +160 864 l +160 848 l +144 848 l +cs +bl +hf 8.0 sf +147.2 849.6 m (16) show +bl +128 832 m +128 848 l +144 848 l +144 832 l +128 832 l +cs +bl +hf 8.0 sf +131.2 833.6 m (16) show +bl +144 832 m +144 848 l +160 848 l +160 832 l +144 832 l +cs +bl +hf 8.0 sf +147.2 833.6 m (16) show +bl +160 848 m +160 864 l +176 864 l +176 848 l +160 848 l +cs +bl +hf 8.0 sf +163.2 849.6 m (16) show +bl +176 848 m +176 864 l +192 864 l +192 848 l +176 848 l +cs +bl +hf 8.0 sf +179.2 849.6 m (16) show +bl +160 832 m +160 848 l +176 848 l +176 832 l +160 832 l +cs +bl +hf 8.0 sf +163.2 833.6 m (16) show +bl +176 832 m +176 848 l +192 848 l +192 832 l +176 832 l +cs +bl +hf 8.0 sf +179.2 833.6 m (16) show +bl +192 880 m +192 896 l +208 896 l +208 880 l +192 880 l +cs +bl +hf 8.0 sf +195.2 881.6 m (16) show +bl +208 880 m +208 896 l +224 896 l +224 880 l +208 880 l +cs +bl +hf 8.0 sf +211.2 881.6 m (16) show +bl +192 864 m +192 880 l +208 880 l +208 864 l +192 864 l +cs +bl +hf 8.0 sf +195.2 865.6 m (16) show +bl +208 864 m +208 880 l +224 880 l +224 864 l +208 864 l +cs +bl +hf 8.0 sf +211.2 865.6 m (16) show +bl +224 880 m +224 896 l +240 896 l +240 880 l +224 880 l +cs +bl +hf 8.0 sf +227.2 881.6 m (16) show +bl +240 880 m +240 896 l +256 896 l +256 880 l +240 880 l +cs +bl +hf 8.0 sf +243.2 881.6 m (16) show +bl +224 864 m +224 880 l +240 880 l +240 864 l +224 864 l +cs +bl +hf 8.0 sf +227.2 865.6 m (16) show +bl +240 864 m +240 880 l +256 880 l +256 864 l +240 864 l +cs +bl +hf 8.0 sf +243.2 865.6 m (16) show +bl +192 848 m +192 864 l +208 864 l +208 848 l +192 848 l +cs +bl +hf 8.0 sf +195.2 849.6 m (16) show +bl +208 848 m +208 864 l +224 864 l +224 848 l +208 848 l +cs +bl +hf 8.0 sf +211.2 849.6 m (16) show +bl +192 832 m +192 848 l +208 848 l +208 832 l +192 832 l +cs +bl +hf 8.0 sf +195.2 833.6 m (16) show +bl +208 832 m +208 848 l +224 848 l +224 832 l +208 832 l +cs +bl +hf 8.0 sf +211.2 833.6 m (16) show +bl +224 848 m +224 864 l +240 864 l +240 848 l +224 848 l +cs +bl +hf 8.0 sf +227.2 849.6 m (16) show +bl +240 848 m +240 864 l +256 864 l +256 848 l +240 848 l +cs +bl +hf 8.0 sf +243.2 849.6 m (16) show +bl +224 832 m +224 848 l +240 848 l +240 832 l +224 832 l +cs +bl +hf 8.0 sf +227.2 833.6 m (16) show +bl +240 832 m +240 848 l +256 848 l +256 832 l +240 832 l +cs +bl +hf 8.0 sf +243.2 833.6 m (16) show +bl +128 816 m +128 832 l +144 832 l +144 816 l +128 816 l +cs +bl +hf 8.0 sf +131.2 817.6 m (16) show +bl +144 816 m +144 832 l +160 832 l +160 816 l +144 816 l +cs +bl +hf 8.0 sf +147.2 817.6 m (16) show +bl +128 800 m +128 816 l +144 816 l +144 800 l +128 800 l +cs +bl +hf 8.0 sf +131.2 801.6 m (16) show +bl +144 800 m +144 816 l +160 816 l +160 800 l +144 800 l +cs +bl +hf 8.0 sf +147.2 801.6 m (16) show +bl +160 816 m +160 832 l +176 832 l +176 816 l +160 816 l +cs +bl +hf 8.0 sf +163.2 817.6 m (16) show +bl +176 816 m +176 832 l +192 832 l +192 816 l +176 816 l +cs +bl +hf 8.0 sf +179.2 817.6 m (16) show +bl +160 800 m +160 816 l +176 816 l +176 800 l +160 800 l +cs +bl +hf 8.0 sf +163.2 801.6 m (16) show +bl +176 800 m +176 816 l +192 816 l +192 800 l +176 800 l +cs +bl +hf 8.0 sf +179.2 801.6 m (16) show +bl +128 784 m +128 800 l +144 800 l +144 784 l +128 784 l +cs +bl +hf 8.0 sf +131.2 785.6 m (16) show +bl +144 784 m +144 800 l +160 800 l +160 784 l +144 784 l +cs +bl +hf 8.0 sf +147.2 785.6 m (16) show +bl +128 768 m +128 784 l +144 784 l +144 768 l +128 768 l +cs +bl +hf 8.0 sf +131.2 769.6 m (16) show +bl +144 768 m +144 784 l +160 784 l +160 768 l +144 768 l +cs +bl +hf 8.0 sf +147.2 769.6 m (16) show +bl +160 784 m +160 800 l +176 800 l +176 784 l +160 784 l +cs +bl +hf 8.0 sf +163.2 785.6 m (16) show +bl +176 784 m +176 800 l +192 800 l +192 784 l +176 784 l +cs +bl +hf 8.0 sf +179.2 785.6 m (16) show +bl +160 768 m +160 784 l +176 784 l +176 768 l +160 768 l +cs +bl +hf 8.0 sf +163.2 769.6 m (16) show +bl +176 768 m +176 784 l +192 784 l +192 768 l +176 768 l +cs +bl +hf 8.0 sf +179.2 769.6 m (16) show +bl +192 816 m +192 832 l +208 832 l +208 816 l +192 816 l +cs +bl +hf 8.0 sf +195.2 817.6 m (16) show +bl +208 816 m +208 832 l +224 832 l +224 816 l +208 816 l +cs +bl +hf 8.0 sf +211.2 817.6 m (16) show +bl +192 800 m +192 816 l +208 816 l +208 800 l +192 800 l +cs +bl +hf 8.0 sf +195.2 801.6 m (16) show +bl +208 800 m +208 816 l +224 816 l +224 800 l +208 800 l +cs +bl +hf 8.0 sf +211.2 801.6 m (16) show +bl +224 816 m +224 832 l +240 832 l +240 816 l +224 816 l +cs +bl +hf 8.0 sf +227.2 817.6 m (16) show +bl +240 816 m +240 832 l +256 832 l +256 816 l +240 816 l +cs +bl +hf 8.0 sf +243.2 817.6 m (16) show +bl +224 800 m +224 816 l +240 816 l +240 800 l +224 800 l +cs +bl +hf 8.0 sf +227.2 801.6 m (16) show +bl +240 800 m +240 816 l +256 816 l +256 800 l +240 800 l +cs +bl +hf 8.0 sf +243.2 801.6 m (16) show +bl +192 784 m +192 800 l +208 800 l +208 784 l +192 784 l +cs +bl +hf 8.0 sf +195.2 785.6 m (16) show +bl +208 784 m +208 800 l +224 800 l +224 784 l +208 784 l +cs +bl +hf 8.0 sf +211.2 785.6 m (16) show +bl +192 768 m +192 784 l +208 784 l +208 768 l +192 768 l +cs +bl +hf 8.0 sf +195.2 769.6 m (16) show +bl +208 768 m +208 784 l +224 784 l +224 768 l +208 768 l +cs +bl +hf 8.0 sf +211.2 769.6 m (16) show +bl +224 784 m +224 800 l +240 800 l +240 784 l +224 784 l +cs +bl +hf 8.0 sf +227.2 785.6 m (16) show +bl +240 784 m +240 800 l +256 800 l +256 784 l +240 784 l +cs +bl +hf 8.0 sf +243.2 785.6 m (16) show +bl +224 768 m +224 784 l +240 784 l +240 768 l +224 768 l +cs +bl +hf 8.0 sf +227.2 769.6 m (16) show +bl +240 768 m +240 784 l +256 784 l +256 768 l +240 768 l +cs +bl +hf 8.0 sf +243.2 769.6 m (16) show +256 1008 m +256 1024 l +272 1024 l +272 1008 l +256 1008 l +fl +bl +256 1008 m +256 1024 l +272 1024 l +272 1008 l +256 1008 l +cs +272 1008 m +272 1024 l +288 1024 l +288 1008 l +272 1008 l +fl +bl +272 1008 m +272 1024 l +288 1024 l +288 1008 l +272 1008 l +cs +bl +256 992 m +256 1008 l +272 1008 l +272 992 l +256 992 l +cs +bl +hf 8.0 sf +259.2 993.6 m (16) show +272 992 m +272 1008 l +288 1008 l +288 992 l +272 992 l +fl +bl +272 992 m +272 1008 l +288 1008 l +288 992 l +272 992 l +cs +288 1008 m +288 1024 l +304 1024 l +304 1008 l +288 1008 l +fl +bl +288 1008 m +288 1024 l +304 1024 l +304 1008 l +288 1008 l +cs +304 1008 m +304 1024 l +320 1024 l +320 1008 l +304 1008 l +fl +bl +304 1008 m +304 1024 l +320 1024 l +320 1008 l +304 1008 l +cs +bl +288 992 m +288 1008 l +304 1008 l +304 992 l +288 992 l +cs +bl +hf 8.0 sf +291.2 993.6 m (16) show +304 992 m +304 1008 l +320 1008 l +320 992 l +304 992 l +fl +bl +304 992 m +304 1008 l +320 1008 l +320 992 l +304 992 l +cs +256 976 m +256 992 l +272 992 l +272 976 l +256 976 l +fl +bl +256 976 m +256 992 l +272 992 l +272 976 l +256 976 l +cs +272 976 m +272 992 l +288 992 l +288 976 l +272 976 l +fl +bl +272 976 m +272 992 l +288 992 l +288 976 l +272 976 l +cs +bl +256 960 m +256 976 l +272 976 l +272 960 l +256 960 l +cs +bl +hf 8.0 sf +259.2 961.6 m (16) show +272 960 m +272 976 l +288 976 l +288 960 l +272 960 l +fl +bl +272 960 m +272 976 l +288 976 l +288 960 l +272 960 l +cs +288 976 m +288 992 l +304 992 l +304 976 l +288 976 l +fl +bl +288 976 m +288 992 l +304 992 l +304 976 l +288 976 l +cs +304 976 m +304 992 l +320 992 l +320 976 l +304 976 l +fl +bl +304 976 m +304 992 l +320 992 l +320 976 l +304 976 l +cs +bl +288 960 m +288 976 l +304 976 l +304 960 l +288 960 l +cs +bl +hf 8.0 sf +291.2 961.6 m (16) show +304 960 m +304 976 l +320 976 l +320 960 l +304 960 l +fl +bl +304 960 m +304 976 l +320 976 l +320 960 l +304 960 l +cs +320 992 m +320 1024 l +352 1024 l +352 992 l +320 992 l +fl +bl +320 992 m +320 1024 l +352 1024 l +352 992 l +320 992 l +cs +352 992 m +352 1024 l +384 1024 l +384 992 l +352 992 l +fl +bl +352 992 m +352 1024 l +384 1024 l +384 992 l +352 992 l +cs +320 960 m +320 992 l +352 992 l +352 960 l +320 960 l +fl +bl +320 960 m +320 992 l +352 992 l +352 960 l +320 960 l +cs +352 960 m +352 992 l +384 992 l +384 960 l +352 960 l +fl +bl +352 960 m +352 992 l +384 992 l +384 960 l +352 960 l +cs +bl +256 944 m +256 960 l +272 960 l +272 944 l +256 944 l +cs +bl +hf 8.0 sf +259.2 945.6 m (16) show +bl +272 944 m +272 960 l +288 960 l +288 944 l +272 944 l +cs +bl +hf 8.0 sf +275.2 945.6 m (16) show +bl +256 928 m +256 944 l +272 944 l +272 928 l +256 928 l +cs +bl +hf 8.0 sf +259.2 929.6 m (16) show +bl +272 928 m +272 944 l +288 944 l +288 928 l +272 928 l +cs +bl +hf 8.0 sf +275.2 929.6 m (16) show +bl +288 944 m +288 960 l +304 960 l +304 944 l +288 944 l +cs +bl +hf 8.0 sf +291.2 945.6 m (16) show +bl +304 944 m +304 960 l +320 960 l +320 944 l +304 944 l +cs +bl +hf 8.0 sf +307.2 945.6 m (16) show +bl +288 928 m +288 944 l +304 944 l +304 928 l +288 928 l +cs +bl +hf 8.0 sf +291.2 929.6 m (16) show +bl +304 928 m +304 944 l +320 944 l +320 928 l +304 928 l +cs +bl +hf 8.0 sf +307.2 929.6 m (16) show +bl +256 912 m +256 928 l +272 928 l +272 912 l +256 912 l +cs +bl +hf 8.0 sf +259.2 913.6 m (16) show +bl +272 912 m +272 928 l +288 928 l +288 912 l +272 912 l +cs +bl +hf 8.0 sf +275.2 913.6 m (16) show +bl +256 896 m +256 912 l +272 912 l +272 896 l +256 896 l +cs +bl +hf 8.0 sf +259.2 897.6 m (16) show +bl +272 896 m +272 912 l +288 912 l +288 896 l +272 896 l +cs +bl +hf 8.0 sf +275.2 897.6 m (16) show +bl +288 912 m +288 928 l +304 928 l +304 912 l +288 912 l +cs +bl +hf 8.0 sf +291.2 913.6 m (16) show +bl +304 912 m +304 928 l +320 928 l +320 912 l +304 912 l +cs +bl +hf 8.0 sf +307.2 913.6 m (16) show +bl +288 896 m +288 912 l +304 912 l +304 896 l +288 896 l +cs +bl +hf 8.0 sf +291.2 897.6 m (16) show +bl +304 896 m +304 912 l +320 912 l +320 896 l +304 896 l +cs +bl +hf 8.0 sf +307.2 897.6 m (16) show +320 944 m +320 960 l +336 960 l +336 944 l +320 944 l +fl +bl +320 944 m +320 960 l +336 960 l +336 944 l +320 944 l +cs +336 944 m +336 960 l +352 960 l +352 944 l +336 944 l +fl +bl +336 944 m +336 960 l +352 960 l +352 944 l +336 944 l +cs +bl +320 928 m +320 944 l +336 944 l +336 928 l +320 928 l +cs +bl +hf 8.0 sf +323.2 929.6 m (16) show +336 928 m +336 944 l +352 944 l +352 928 l +336 928 l +fl +bl +336 928 m +336 944 l +352 944 l +352 928 l +336 928 l +cs +352 944 m +352 960 l +368 960 l +368 944 l +352 944 l +fl +bl +352 944 m +352 960 l +368 960 l +368 944 l +352 944 l +cs +368 944 m +368 960 l +384 960 l +384 944 l +368 944 l +fl +bl +368 944 m +368 960 l +384 960 l +384 944 l +368 944 l +cs +bl +352 928 m +352 944 l +368 944 l +368 928 l +352 928 l +cs +bl +hf 8.0 sf +355.2 929.6 m (16) show +368 928 m +368 944 l +384 944 l +384 928 l +368 928 l +fl +bl +368 928 m +368 944 l +384 944 l +384 928 l +368 928 l +cs +320 912 m +320 928 l +336 928 l +336 912 l +320 912 l +fl +bl +320 912 m +320 928 l +336 928 l +336 912 l +320 912 l +cs +336 912 m +336 928 l +352 928 l +352 912 l +336 912 l +fl +bl +336 912 m +336 928 l +352 928 l +352 912 l +336 912 l +cs +bl +320 896 m +320 912 l +336 912 l +336 896 l +320 896 l +cs +bl +hf 8.0 sf +323.2 897.6 m (16) show +336 896 m +336 912 l +352 912 l +352 896 l +336 896 l +fl +bl +336 896 m +336 912 l +352 912 l +352 896 l +336 896 l +cs +352 912 m +352 928 l +368 928 l +368 912 l +352 912 l +fl +bl +352 912 m +352 928 l +368 928 l +368 912 l +352 912 l +cs +368 912 m +368 928 l +384 928 l +384 912 l +368 912 l +fl +bl +368 912 m +368 928 l +384 928 l +384 912 l +368 912 l +cs +bl +352 896 m +352 912 l +368 912 l +368 896 l +352 896 l +cs +bl +hf 8.0 sf +355.2 897.6 m (16) show +368 896 m +368 912 l +384 912 l +384 896 l +368 896 l +fl +bl +368 896 m +368 912 l +384 912 l +384 896 l +368 896 l +cs +384 1008 m +384 1024 l +400 1024 l +400 1008 l +384 1008 l +fl +bl +384 1008 m +384 1024 l +400 1024 l +400 1008 l +384 1008 l +cs +400 1008 m +400 1024 l +416 1024 l +416 1008 l +400 1008 l +fl +bl +400 1008 m +400 1024 l +416 1024 l +416 1008 l +400 1008 l +cs +384 992 m +384 1008 l +400 1008 l +400 992 l +384 992 l +fl +bl +384 992 m +384 1008 l +400 1008 l +400 992 l +384 992 l +cs +400 992 m +400 1008 l +416 1008 l +416 992 l +400 992 l +fl +bl +400 992 m +400 1008 l +416 1008 l +416 992 l +400 992 l +cs +416 992 m +416 1024 l +448 1024 l +448 992 l +416 992 l +fl +bl +416 992 m +416 1024 l +448 1024 l +448 992 l +416 992 l +cs +384 976 m +384 992 l +400 992 l +400 976 l +384 976 l +fl +bl +384 976 m +384 992 l +400 992 l +400 976 l +384 976 l +cs +400 976 m +400 992 l +416 992 l +416 976 l +400 976 l +fl +bl +400 976 m +400 992 l +416 992 l +416 976 l +400 976 l +cs +bl +384 960 m +384 976 l +400 976 l +400 960 l +384 960 l +cs +bl +hf 8.0 sf +387.2 961.6 m (16) show +400 960 m +400 976 l +416 976 l +416 960 l +400 960 l +fl +bl +400 960 m +400 976 l +416 976 l +416 960 l +400 960 l +cs +416 976 m +416 992 l +432 992 l +432 976 l +416 976 l +fl +bl +416 976 m +416 992 l +432 992 l +432 976 l +416 976 l +cs +432 976 m +432 992 l +448 992 l +448 976 l +432 976 l +fl +bl +432 976 m +432 992 l +448 992 l +448 976 l +432 976 l +cs +416 960 m +416 976 l +432 976 l +432 960 l +416 960 l +fl +bl +416 960 m +416 976 l +432 976 l +432 960 l +416 960 l +cs +432 960 m +432 976 l +448 976 l +448 960 l +432 960 l +fl +bl +432 960 m +432 976 l +448 976 l +448 960 l +432 960 l +cs +448 992 m +448 1024 l +480 1024 l +480 992 l +448 992 l +fl +bl +448 992 m +448 1024 l +480 1024 l +480 992 l +448 992 l +cs +480 992 m +480 1024 l +512 1024 l +512 992 l +480 992 l +fl +bl +480 992 m +480 1024 l +512 1024 l +512 992 l +480 992 l +cs +448 960 m +448 992 l +480 992 l +480 960 l +448 960 l +fl +bl +448 960 m +448 992 l +480 992 l +480 960 l +448 960 l +cs +480 960 m +480 992 l +512 992 l +512 960 l +480 960 l +fl +bl +480 960 m +480 992 l +512 992 l +512 960 l +480 960 l +cs +bl +384 944 m +384 960 l +400 960 l +400 944 l +384 944 l +cs +bl +hf 8.0 sf +387.2 945.6 m (16) show +400 944 m +400 960 l +416 960 l +416 944 l +400 944 l +fl +bl +400 944 m +400 960 l +416 960 l +416 944 l +400 944 l +cs +bl +384 928 m +384 944 l +400 944 l +400 928 l +384 928 l +cs +bl +hf 8.0 sf +387.2 929.6 m (16) show +bl +400 928 m +400 944 l +416 944 l +416 928 l +400 928 l +cs +bl +hf 8.0 sf +403.2 929.6 m (16) show +416 928 m +416 960 l +448 960 l +448 928 l +416 928 l +fl +bl +416 928 m +416 960 l +448 960 l +448 928 l +416 928 l +cs +bl +384 912 m +384 928 l +400 928 l +400 912 l +384 912 l +cs +bl +hf 8.0 sf +387.2 913.6 m (16) show +bl +400 912 m +400 928 l +416 928 l +416 912 l +400 912 l +cs +bl +hf 8.0 sf +403.2 913.6 m (16) show +bl +384 896 m +384 912 l +400 912 l +400 896 l +384 896 l +cs +bl +hf 8.0 sf +387.2 897.6 m (16) show +bl +400 896 m +400 912 l +416 912 l +416 896 l +400 896 l +cs +bl +hf 8.0 sf +403.2 897.6 m (16) show +bl +416 912 m +416 928 l +432 928 l +432 912 l +416 912 l +cs +bl +hf 8.0 sf +419.2 913.6 m (16) show +432 912 m +432 928 l +448 928 l +448 912 l +432 912 l +fl +bl +432 912 m +432 928 l +448 928 l +448 912 l +432 912 l +cs +bl +416 896 m +416 912 l +432 912 l +432 896 l +416 896 l +cs +bl +hf 8.0 sf +419.2 897.6 m (16) show +bl +432 896 m +432 912 l +448 912 l +448 896 l +432 896 l +cs +bl +hf 8.0 sf +435.2 897.6 m (16) show +448 944 m +448 960 l +464 960 l +464 944 l +448 944 l +fl +bl +448 944 m +448 960 l +464 960 l +464 944 l +448 944 l +cs +464 944 m +464 960 l +480 960 l +480 944 l +464 944 l +fl +bl +464 944 m +464 960 l +480 960 l +480 944 l +464 944 l +cs +448 928 m +448 944 l +464 944 l +464 928 l +448 928 l +fl +bl +448 928 m +448 944 l +464 944 l +464 928 l +448 928 l +cs +464 928 m +464 944 l +480 944 l +480 928 l +464 928 l +fl +bl +464 928 m +464 944 l +480 944 l +480 928 l +464 928 l +cs +480 928 m +480 960 l +512 960 l +512 928 l +480 928 l +fl +bl +480 928 m +480 960 l +512 960 l +512 928 l +480 928 l +cs +448 912 m +448 928 l +464 928 l +464 912 l +448 912 l +fl +bl +448 912 m +448 928 l +464 928 l +464 912 l +448 912 l +cs +464 912 m +464 928 l +480 928 l +480 912 l +464 912 l +fl +bl +464 912 m +464 928 l +480 928 l +480 912 l +464 912 l +cs +bl +448 896 m +448 912 l +464 912 l +464 896 l +448 896 l +cs +bl +hf 8.0 sf +451.2 897.6 m (16) show +464 896 m +464 912 l +480 912 l +480 896 l +464 896 l +fl +bl +464 896 m +464 912 l +480 912 l +480 896 l +464 896 l +cs +480 912 m +480 928 l +496 928 l +496 912 l +480 912 l +fl +bl +480 912 m +480 928 l +496 928 l +496 912 l +480 912 l +cs +496 912 m +496 928 l +512 928 l +512 912 l +496 912 l +fl +bl +496 912 m +496 928 l +512 928 l +512 912 l +496 912 l +cs +480 896 m +480 912 l +496 912 l +496 896 l +480 896 l +fl +bl +480 896 m +480 912 l +496 912 l +496 896 l +480 896 l +cs +496 896 m +496 912 l +512 912 l +512 896 l +496 896 l +fl +bl +496 896 m +496 912 l +512 912 l +512 896 l +496 896 l +cs +256 880 m +256 896 l +272 896 l +272 880 l +256 880 l +fl +bl +256 880 m +256 896 l +272 896 l +272 880 l +256 880 l +cs +272 880 m +272 896 l +288 896 l +288 880 l +272 880 l +fl +bl +272 880 m +272 896 l +288 896 l +288 880 l +272 880 l +cs +256 864 m +256 880 l +272 880 l +272 864 l +256 864 l +fl +bl +256 864 m +256 880 l +272 880 l +272 864 l +256 864 l +cs +272 864 m +272 880 l +288 880 l +288 864 l +272 864 l +fl +bl +272 864 m +272 880 l +288 880 l +288 864 l +272 864 l +cs +288 880 m +288 896 l +304 896 l +304 880 l +288 880 l +fl +bl +288 880 m +288 896 l +304 896 l +304 880 l +288 880 l +cs +304 880 m +304 896 l +320 896 l +320 880 l +304 880 l +fl +bl +304 880 m +304 896 l +320 896 l +320 880 l +304 880 l +cs +bl +288 864 m +288 880 l +304 880 l +304 864 l +288 864 l +cs +bl +hf 8.0 sf +291.2 865.6 m (16) show +304 864 m +304 880 l +320 880 l +320 864 l +304 864 l +fl +bl +304 864 m +304 880 l +320 880 l +320 864 l +304 864 l +cs +256 832 m +256 864 l +288 864 l +288 832 l +256 832 l +fl +bl +256 832 m +256 864 l +288 864 l +288 832 l +256 832 l +cs +288 848 m +288 864 l +304 864 l +304 848 l +288 848 l +fl +bl +288 848 m +288 864 l +304 864 l +304 848 l +288 848 l +cs +304 848 m +304 864 l +320 864 l +320 848 l +304 848 l +fl +bl +304 848 m +304 864 l +320 864 l +320 848 l +304 848 l +cs +288 832 m +288 848 l +304 848 l +304 832 l +288 832 l +fl +bl +288 832 m +288 848 l +304 848 l +304 832 l +288 832 l +cs +304 832 m +304 848 l +320 848 l +320 832 l +304 832 l +fl +bl +304 832 m +304 848 l +320 848 l +320 832 l +304 832 l +cs +320 864 m +320 896 l +352 896 l +352 864 l +320 864 l +fl +bl +320 864 m +320 896 l +352 896 l +352 864 l +320 864 l +cs +352 864 m +352 896 l +384 896 l +384 864 l +352 864 l +fl +bl +352 864 m +352 896 l +384 896 l +384 864 l +352 864 l +cs +320 832 m +320 864 l +352 864 l +352 832 l +320 832 l +fl +bl +320 832 m +320 864 l +352 864 l +352 832 l +320 832 l +cs +352 832 m +352 864 l +384 864 l +384 832 l +352 832 l +fl +bl +352 832 m +352 864 l +384 864 l +384 832 l +352 832 l +cs +bl +256 816 m +256 832 l +272 832 l +272 816 l +256 816 l +cs +bl +hf 8.0 sf +259.2 817.6 m (16) show +272 816 m +272 832 l +288 832 l +288 816 l +272 816 l +fl +bl +272 816 m +272 832 l +288 832 l +288 816 l +272 816 l +cs +bl +256 800 m +256 816 l +272 816 l +272 800 l +256 800 l +cs +bl +hf 8.0 sf +259.2 801.6 m (16) show +bl +272 800 m +272 816 l +288 816 l +288 800 l +272 800 l +cs +bl +hf 8.0 sf +275.2 801.6 m (16) show +bl +288 816 m +288 832 l +304 832 l +304 816 l +288 816 l +cs +bl +hf 8.0 sf +291.2 817.6 m (16) show +bl +304 816 m +304 832 l +320 832 l +320 816 l +304 816 l +cs +bl +hf 8.0 sf +307.2 817.6 m (16) show +bl +288 800 m +288 816 l +304 816 l +304 800 l +288 800 l +cs +bl +hf 8.0 sf +291.2 801.6 m (16) show +bl +304 800 m +304 816 l +320 816 l +320 800 l +304 800 l +cs +bl +hf 8.0 sf +307.2 801.6 m (16) show +256 768 m +256 800 l +288 800 l +288 768 l +256 768 l +fl +bl +256 768 m +256 800 l +288 800 l +288 768 l +256 768 l +cs +bl +288 784 m +288 800 l +304 800 l +304 784 l +288 784 l +cs +bl +hf 8.0 sf +291.2 785.6 m (16) show +304 784 m +304 800 l +320 800 l +320 784 l +304 784 l +fl +bl +304 784 m +304 800 l +320 800 l +320 784 l +304 784 l +cs +bl +288 768 m +288 784 l +304 784 l +304 768 l +288 768 l +cs +bl +hf 8.0 sf +291.2 769.6 m (16) show +bl +304 768 m +304 784 l +320 784 l +320 768 l +304 768 l +cs +bl +hf 8.0 sf +307.2 769.6 m (16) show +320 816 m +320 832 l +336 832 l +336 816 l +320 816 l +fl +bl +320 816 m +320 832 l +336 832 l +336 816 l +320 816 l +cs +336 816 m +336 832 l +352 832 l +352 816 l +336 816 l +fl +bl +336 816 m +336 832 l +352 832 l +352 816 l +336 816 l +cs +320 800 m +320 816 l +336 816 l +336 800 l +320 800 l +fl +bl +320 800 m +320 816 l +336 816 l +336 800 l +320 800 l +cs +336 800 m +336 816 l +352 816 l +352 800 l +336 800 l +fl +bl +336 800 m +336 816 l +352 816 l +352 800 l +336 800 l +cs +352 816 m +352 832 l +368 832 l +368 816 l +352 816 l +fl +bl +352 816 m +352 832 l +368 832 l +368 816 l +352 816 l +cs +368 816 m +368 832 l +384 832 l +384 816 l +368 816 l +fl +bl +368 816 m +368 832 l +384 832 l +384 816 l +368 816 l +cs +bl +352 800 m +352 816 l +368 816 l +368 800 l +352 800 l +cs +bl +hf 8.0 sf +355.2 801.6 m (16) show +368 800 m +368 816 l +384 816 l +384 800 l +368 800 l +fl +bl +368 800 m +368 816 l +384 816 l +384 800 l +368 800 l +cs +320 768 m +320 800 l +352 800 l +352 768 l +320 768 l +fl +bl +320 768 m +320 800 l +352 800 l +352 768 l +320 768 l +cs +352 784 m +352 800 l +368 800 l +368 784 l +352 784 l +fl +bl +352 784 m +352 800 l +368 800 l +368 784 l +352 784 l +cs +368 784 m +368 800 l +384 800 l +384 784 l +368 784 l +fl +bl +368 784 m +368 800 l +384 800 l +384 784 l +368 784 l +cs +352 768 m +352 784 l +368 784 l +368 768 l +352 768 l +fl +bl +352 768 m +352 784 l +368 784 l +368 768 l +352 768 l +cs +368 768 m +368 784 l +384 784 l +384 768 l +368 768 l +fl +bl +368 768 m +368 784 l +384 784 l +384 768 l +368 768 l +cs +384 880 m +384 896 l +400 896 l +400 880 l +384 880 l +fl +bl +384 880 m +384 896 l +400 896 l +400 880 l +384 880 l +cs +400 880 m +400 896 l +416 896 l +416 880 l +400 880 l +fl +bl +400 880 m +400 896 l +416 896 l +416 880 l +400 880 l +cs +bl +384 864 m +384 880 l +400 880 l +400 864 l +384 864 l +cs +bl +hf 8.0 sf +387.2 865.6 m (16) show +400 864 m +400 880 l +416 880 l +416 864 l +400 864 l +fl +bl +400 864 m +400 880 l +416 880 l +416 864 l +400 864 l +cs +416 880 m +416 896 l +432 896 l +432 880 l +416 880 l +fl +bl +416 880 m +416 896 l +432 896 l +432 880 l +416 880 l +cs +432 880 m +432 896 l +448 896 l +448 880 l +432 880 l +fl +bl +432 880 m +432 896 l +448 896 l +448 880 l +432 880 l +cs +bl +416 864 m +416 880 l +432 880 l +432 864 l +416 864 l +cs +bl +hf 8.0 sf +419.2 865.6 m (16) show +432 864 m +432 880 l +448 880 l +448 864 l +432 864 l +fl +bl +432 864 m +432 880 l +448 880 l +448 864 l +432 864 l +cs +384 848 m +384 864 l +400 864 l +400 848 l +384 848 l +fl +bl +384 848 m +384 864 l +400 864 l +400 848 l +384 848 l +cs +400 848 m +400 864 l +416 864 l +416 848 l +400 848 l +fl +bl +400 848 m +400 864 l +416 864 l +416 848 l +400 848 l +cs +bl +384 832 m +384 848 l +400 848 l +400 832 l +384 832 l +cs +bl +hf 8.0 sf +387.2 833.6 m (16) show +400 832 m +400 848 l +416 848 l +416 832 l +400 832 l +fl +bl +400 832 m +400 848 l +416 848 l +416 832 l +400 832 l +cs +416 848 m +416 864 l +432 864 l +432 848 l +416 848 l +fl +bl +416 848 m +416 864 l +432 864 l +432 848 l +416 848 l +cs +432 848 m +432 864 l +448 864 l +448 848 l +432 848 l +fl +bl +432 848 m +432 864 l +448 864 l +448 848 l +432 848 l +cs +bl +416 832 m +416 848 l +432 848 l +432 832 l +416 832 l +cs +bl +hf 8.0 sf +419.2 833.6 m (16) show +432 832 m +432 848 l +448 848 l +448 832 l +432 832 l +fl +bl +432 832 m +432 848 l +448 848 l +448 832 l +432 832 l +cs +448 864 m +448 896 l +480 896 l +480 864 l +448 864 l +fl +bl +448 864 m +448 896 l +480 896 l +480 864 l +448 864 l +cs +480 864 m +480 896 l +512 896 l +512 864 l +480 864 l +fl +bl +480 864 m +480 896 l +512 896 l +512 864 l +480 864 l +cs +448 832 m +448 864 l +480 864 l +480 832 l +448 832 l +fl +bl +448 832 m +448 864 l +480 864 l +480 832 l +448 832 l +cs +480 832 m +480 864 l +512 864 l +512 832 l +480 832 l +fl +bl +480 832 m +480 864 l +512 864 l +512 832 l +480 832 l +cs +bl +384 816 m +384 832 l +400 832 l +400 816 l +384 816 l +cs +bl +hf 8.0 sf +387.2 817.6 m (16) show +bl +400 816 m +400 832 l +416 832 l +416 816 l +400 816 l +cs +bl +hf 8.0 sf +403.2 817.6 m (16) show +bl +384 800 m +384 816 l +400 816 l +400 800 l +384 800 l +cs +bl +hf 8.0 sf +387.2 801.6 m (16) show +bl +400 800 m +400 816 l +416 816 l +416 800 l +400 800 l +cs +bl +hf 8.0 sf +403.2 801.6 m (16) show +bl +416 816 m +416 832 l +432 832 l +432 816 l +416 816 l +cs +bl +hf 8.0 sf +419.2 817.6 m (16) show +bl +432 816 m +432 832 l +448 832 l +448 816 l +432 816 l +cs +bl +hf 8.0 sf +435.2 817.6 m (16) show +bl +416 800 m +416 816 l +432 816 l +432 800 l +416 800 l +cs +bl +hf 8.0 sf +419.2 801.6 m (16) show +bl +432 800 m +432 816 l +448 816 l +448 800 l +432 800 l +cs +bl +hf 8.0 sf +435.2 801.6 m (16) show +bl +384 784 m +384 800 l +400 800 l +400 784 l +384 784 l +cs +bl +hf 8.0 sf +387.2 785.6 m (16) show +bl +400 784 m +400 800 l +416 800 l +416 784 l +400 784 l +cs +bl +hf 8.0 sf +403.2 785.6 m (16) show +bl +384 768 m +384 784 l +400 784 l +400 768 l +384 768 l +cs +bl +hf 8.0 sf +387.2 769.6 m (16) show +bl +400 768 m +400 784 l +416 784 l +416 768 l +400 768 l +cs +bl +hf 8.0 sf +403.2 769.6 m (16) show +bl +416 784 m +416 800 l +432 800 l +432 784 l +416 784 l +cs +bl +hf 8.0 sf +419.2 785.6 m (16) show +bl +432 784 m +432 800 l +448 800 l +448 784 l +432 784 l +cs +bl +hf 8.0 sf +435.2 785.6 m (16) show +bl +416 768 m +416 784 l +432 784 l +432 768 l +416 768 l +cs +bl +hf 8.0 sf +419.2 769.6 m (16) show +bl +432 768 m +432 784 l +448 784 l +448 768 l +432 768 l +cs +bl +hf 8.0 sf +435.2 769.6 m (16) show +448 816 m +448 832 l +464 832 l +464 816 l +448 816 l +fl +bl +448 816 m +448 832 l +464 832 l +464 816 l +448 816 l +cs +464 816 m +464 832 l +480 832 l +480 816 l +464 816 l +fl +bl +464 816 m +464 832 l +480 832 l +480 816 l +464 816 l +cs +bl +448 800 m +448 816 l +464 816 l +464 800 l +448 800 l +cs +bl +hf 8.0 sf +451.2 801.6 m (16) show +464 800 m +464 816 l +480 816 l +480 800 l +464 800 l +fl +bl +464 800 m +464 816 l +480 816 l +480 800 l +464 800 l +cs +480 816 m +480 832 l +496 832 l +496 816 l +480 816 l +fl +bl +480 816 m +480 832 l +496 832 l +496 816 l +480 816 l +cs +496 816 m +496 832 l +512 832 l +512 816 l +496 816 l +fl +bl +496 816 m +496 832 l +512 832 l +512 816 l +496 816 l +cs +bl +480 800 m +480 816 l +496 816 l +496 800 l +480 800 l +cs +bl +hf 8.0 sf +483.2 801.6 m (16) show +496 800 m +496 816 l +512 816 l +512 800 l +496 800 l +fl +bl +496 800 m +496 816 l +512 816 l +512 800 l +496 800 l +cs +448 784 m +448 800 l +464 800 l +464 784 l +448 784 l +fl +bl +448 784 m +448 800 l +464 800 l +464 784 l +448 784 l +cs +464 784 m +464 800 l +480 800 l +480 784 l +464 784 l +fl +bl +464 784 m +464 800 l +480 800 l +480 784 l +464 784 l +cs +bl +448 768 m +448 784 l +464 784 l +464 768 l +448 768 l +cs +bl +hf 8.0 sf +451.2 769.6 m (16) show +464 768 m +464 784 l +480 784 l +480 768 l +464 768 l +fl +bl +464 768 m +464 784 l +480 784 l +480 768 l +464 768 l +cs +480 784 m +480 800 l +496 800 l +496 784 l +480 784 l +fl +bl +480 784 m +480 800 l +496 800 l +496 784 l +480 784 l +cs +496 784 m +496 800 l +512 800 l +512 784 l +496 784 l +fl +bl +496 784 m +496 800 l +512 800 l +512 784 l +496 784 l +cs +bl +480 768 m +480 784 l +496 784 l +496 768 l +480 768 l +cs +bl +hf 8.0 sf +483.2 769.6 m (16) show +496 768 m +496 784 l +512 784 l +512 768 l +496 768 l +fl +bl +496 768 m +496 784 l +512 784 l +512 768 l +496 768 l +cs +0 752 m +0 768 l +16 768 l +16 752 l +0 752 l +fl +bl +0 752 m +0 768 l +16 768 l +16 752 l +0 752 l +cs +bl +16 752 m +16 768 l +32 768 l +32 752 l +16 752 l +cs +bl +hf 8.0 sf +19.2 753.6 m (16) show +0 736 m +0 752 l +16 752 l +16 736 l +0 736 l +fl +bl +0 736 m +0 752 l +16 752 l +16 736 l +0 736 l +cs +16 736 m +16 752 l +32 752 l +32 736 l +16 736 l +fl +bl +16 736 m +16 752 l +32 752 l +32 736 l +16 736 l +cs +32 752 m +32 768 l +48 768 l +48 752 l +32 752 l +fl +bl +32 752 m +32 768 l +48 768 l +48 752 l +32 752 l +cs +bl +48 752 m +48 768 l +64 768 l +64 752 l +48 752 l +cs +bl +hf 8.0 sf +51.2 753.6 m (16) show +32 736 m +32 752 l +48 752 l +48 736 l +32 736 l +fl +bl +32 736 m +32 752 l +48 752 l +48 736 l +32 736 l +cs +48 736 m +48 752 l +64 752 l +64 736 l +48 736 l +fl +bl +48 736 m +48 752 l +64 752 l +64 736 l +48 736 l +cs +0 720 m +0 736 l +16 736 l +16 720 l +0 720 l +fl +bl +0 720 m +0 736 l +16 736 l +16 720 l +0 720 l +cs +bl +16 720 m +16 736 l +32 736 l +32 720 l +16 720 l +cs +bl +hf 8.0 sf +19.2 721.6 m (16) show +0 704 m +0 720 l +16 720 l +16 704 l +0 704 l +fl +bl +0 704 m +0 720 l +16 720 l +16 704 l +0 704 l +cs +16 704 m +16 720 l +32 720 l +32 704 l +16 704 l +fl +bl +16 704 m +16 720 l +32 720 l +32 704 l +16 704 l +cs +32 720 m +32 736 l +48 736 l +48 720 l +32 720 l +fl +bl +32 720 m +32 736 l +48 736 l +48 720 l +32 720 l +cs +bl +48 720 m +48 736 l +64 736 l +64 720 l +48 720 l +cs +bl +hf 8.0 sf +51.2 721.6 m (16) show +32 704 m +32 720 l +48 720 l +48 704 l +32 704 l +fl +bl +32 704 m +32 720 l +48 720 l +48 704 l +32 704 l +cs +48 704 m +48 720 l +64 720 l +64 704 l +48 704 l +fl +bl +48 704 m +48 720 l +64 720 l +64 704 l +48 704 l +cs +bl +64 752 m +64 768 l +80 768 l +80 752 l +64 752 l +cs +bl +hf 8.0 sf +67.2 753.6 m (16) show +bl +80 752 m +80 768 l +96 768 l +96 752 l +80 752 l +cs +bl +hf 8.0 sf +83.2 753.6 m (16) show +bl +64 736 m +64 752 l +80 752 l +80 736 l +64 736 l +cs +bl +hf 8.0 sf +67.2 737.6 m (16) show +bl +80 736 m +80 752 l +96 752 l +96 736 l +80 736 l +cs +bl +hf 8.0 sf +83.2 737.6 m (16) show +bl +96 752 m +96 768 l +112 768 l +112 752 l +96 752 l +cs +bl +hf 8.0 sf +99.2 753.6 m (16) show +bl +112 752 m +112 768 l +128 768 l +128 752 l +112 752 l +cs +bl +hf 8.0 sf +115.2 753.6 m (16) show +bl +96 736 m +96 752 l +112 752 l +112 736 l +96 736 l +cs +bl +hf 8.0 sf +99.2 737.6 m (16) show +bl +112 736 m +112 752 l +128 752 l +128 736 l +112 736 l +cs +bl +hf 8.0 sf +115.2 737.6 m (16) show +bl +64 720 m +64 736 l +80 736 l +80 720 l +64 720 l +cs +bl +hf 8.0 sf +67.2 721.6 m (16) show +bl +80 720 m +80 736 l +96 736 l +96 720 l +80 720 l +cs +bl +hf 8.0 sf +83.2 721.6 m (16) show +bl +64 704 m +64 720 l +80 720 l +80 704 l +64 704 l +cs +bl +hf 8.0 sf +67.2 705.6 m (16) show +bl +80 704 m +80 720 l +96 720 l +96 704 l +80 704 l +cs +bl +hf 8.0 sf +83.2 705.6 m (16) show +bl +96 720 m +96 736 l +112 736 l +112 720 l +96 720 l +cs +bl +hf 8.0 sf +99.2 721.6 m (16) show +bl +112 720 m +112 736 l +128 736 l +128 720 l +112 720 l +cs +bl +hf 8.0 sf +115.2 721.6 m (16) show +bl +96 704 m +96 720 l +112 720 l +112 704 l +96 704 l +cs +bl +hf 8.0 sf +99.2 705.6 m (16) show +bl +112 704 m +112 720 l +128 720 l +128 704 l +112 704 l +cs +bl +hf 8.0 sf +115.2 705.6 m (16) show +0 672 m +0 704 l +32 704 l +32 672 l +0 672 l +fl +bl +0 672 m +0 704 l +32 704 l +32 672 l +0 672 l +cs +32 672 m +32 704 l +64 704 l +64 672 l +32 672 l +fl +bl +32 672 m +32 704 l +64 704 l +64 672 l +32 672 l +cs +0 640 m +0 672 l +32 672 l +32 640 l +0 640 l +fl +bl +0 640 m +0 672 l +32 672 l +32 640 l +0 640 l +cs +32 640 m +32 672 l +64 672 l +64 640 l +32 640 l +fl +bl +32 640 m +32 672 l +64 672 l +64 640 l +32 640 l +cs +64 688 m +64 704 l +80 704 l +80 688 l +64 688 l +fl +bl +64 688 m +64 704 l +80 704 l +80 688 l +64 688 l +cs +bl +80 688 m +80 704 l +96 704 l +96 688 l +80 688 l +cs +bl +hf 8.0 sf +83.2 689.6 m (16) show +64 672 m +64 688 l +80 688 l +80 672 l +64 672 l +fl +bl +64 672 m +64 688 l +80 688 l +80 672 l +64 672 l +cs +80 672 m +80 688 l +96 688 l +96 672 l +80 672 l +fl +bl +80 672 m +80 688 l +96 688 l +96 672 l +80 672 l +cs +96 688 m +96 704 l +112 704 l +112 688 l +96 688 l +fl +bl +96 688 m +96 704 l +112 704 l +112 688 l +96 688 l +cs +bl +112 688 m +112 704 l +128 704 l +128 688 l +112 688 l +cs +bl +hf 8.0 sf +115.2 689.6 m (16) show +96 672 m +96 688 l +112 688 l +112 672 l +96 672 l +fl +bl +96 672 m +96 688 l +112 688 l +112 672 l +96 672 l +cs +112 672 m +112 688 l +128 688 l +128 672 l +112 672 l +fl +bl +112 672 m +112 688 l +128 688 l +128 672 l +112 672 l +cs +64 656 m +64 672 l +80 672 l +80 656 l +64 656 l +fl +bl +64 656 m +64 672 l +80 672 l +80 656 l +64 656 l +cs +bl +80 656 m +80 672 l +96 672 l +96 656 l +80 656 l +cs +bl +hf 8.0 sf +83.2 657.6 m (16) show +64 640 m +64 656 l +80 656 l +80 640 l +64 640 l +fl +bl +64 640 m +64 656 l +80 656 l +80 640 l +64 640 l +cs +80 640 m +80 656 l +96 656 l +96 640 l +80 640 l +fl +bl +80 640 m +80 656 l +96 656 l +96 640 l +80 640 l +cs +96 656 m +96 672 l +112 672 l +112 656 l +96 656 l +fl +bl +96 656 m +96 672 l +112 672 l +112 656 l +96 656 l +cs +bl +112 656 m +112 672 l +128 672 l +128 656 l +112 656 l +cs +bl +hf 8.0 sf +115.2 657.6 m (16) show +96 640 m +96 656 l +112 656 l +112 640 l +96 640 l +fl +bl +96 640 m +96 656 l +112 656 l +112 640 l +96 640 l +cs +112 640 m +112 656 l +128 656 l +128 640 l +112 640 l +fl +bl +112 640 m +112 656 l +128 656 l +128 640 l +112 640 l +cs +128 752 m +128 768 l +144 768 l +144 752 l +128 752 l +fl +bl +128 752 m +128 768 l +144 768 l +144 752 l +128 752 l +cs +144 752 m +144 768 l +160 768 l +160 752 l +144 752 l +fl +bl +144 752 m +144 768 l +160 768 l +160 752 l +144 752 l +cs +128 736 m +128 752 l +144 752 l +144 736 l +128 736 l +fl +bl +128 736 m +128 752 l +144 752 l +144 736 l +128 736 l +cs +144 736 m +144 752 l +160 752 l +160 736 l +144 736 l +fl +bl +144 736 m +144 752 l +160 752 l +160 736 l +144 736 l +cs +160 736 m +160 768 l +192 768 l +192 736 l +160 736 l +fl +bl +160 736 m +160 768 l +192 768 l +192 736 l +160 736 l +cs +128 720 m +128 736 l +144 736 l +144 720 l +128 720 l +fl +bl +128 720 m +128 736 l +144 736 l +144 720 l +128 720 l +cs +bl +144 720 m +144 736 l +160 736 l +160 720 l +144 720 l +cs +bl +hf 8.0 sf +147.2 721.6 m (16) show +128 704 m +128 720 l +144 720 l +144 704 l +128 704 l +fl +bl +128 704 m +128 720 l +144 720 l +144 704 l +128 704 l +cs +144 704 m +144 720 l +160 720 l +160 704 l +144 704 l +fl +bl +144 704 m +144 720 l +160 720 l +160 704 l +144 704 l +cs +160 720 m +160 736 l +176 736 l +176 720 l +160 720 l +fl +bl +160 720 m +160 736 l +176 736 l +176 720 l +160 720 l +cs +176 720 m +176 736 l +192 736 l +192 720 l +176 720 l +fl +bl +176 720 m +176 736 l +192 736 l +192 720 l +176 720 l +cs +160 704 m +160 720 l +176 720 l +176 704 l +160 704 l +fl +bl +160 704 m +160 720 l +176 720 l +176 704 l +160 704 l +cs +176 704 m +176 720 l +192 720 l +192 704 l +176 704 l +fl +bl +176 704 m +176 720 l +192 720 l +192 704 l +176 704 l +cs +bl +192 752 m +192 768 l +208 768 l +208 752 l +192 752 l +cs +bl +hf 8.0 sf +195.2 753.6 m (16) show +bl +208 752 m +208 768 l +224 768 l +224 752 l +208 752 l +cs +bl +hf 8.0 sf +211.2 753.6 m (16) show +192 736 m +192 752 l +208 752 l +208 736 l +192 736 l +fl +bl +192 736 m +192 752 l +208 752 l +208 736 l +192 736 l +cs +bl +208 736 m +208 752 l +224 752 l +224 736 l +208 736 l +cs +bl +hf 8.0 sf +211.2 737.6 m (16) show +224 736 m +224 768 l +256 768 l +256 736 l +224 736 l +fl +bl +224 736 m +224 768 l +256 768 l +256 736 l +224 736 l +cs +bl +192 720 m +192 736 l +208 736 l +208 720 l +192 720 l +cs +bl +hf 8.0 sf +195.2 721.6 m (16) show +bl +208 720 m +208 736 l +224 736 l +224 720 l +208 720 l +cs +bl +hf 8.0 sf +211.2 721.6 m (16) show +bl +192 704 m +192 720 l +208 720 l +208 704 l +192 704 l +cs +bl +hf 8.0 sf +195.2 705.6 m (16) show +bl +208 704 m +208 720 l +224 720 l +224 704 l +208 704 l +cs +bl +hf 8.0 sf +211.2 705.6 m (16) show +bl +224 720 m +224 736 l +240 736 l +240 720 l +224 720 l +cs +bl +hf 8.0 sf +227.2 721.6 m (16) show +bl +240 720 m +240 736 l +256 736 l +256 720 l +240 720 l +cs +bl +hf 8.0 sf +243.2 721.6 m (16) show +224 704 m +224 720 l +240 720 l +240 704 l +224 704 l +fl +bl +224 704 m +224 720 l +240 720 l +240 704 l +224 704 l +cs +bl +240 704 m +240 720 l +256 720 l +256 704 l +240 704 l +cs +bl +hf 8.0 sf +243.2 705.6 m (16) show +128 672 m +128 704 l +160 704 l +160 672 l +128 672 l +fl +bl +128 672 m +128 704 l +160 704 l +160 672 l +128 672 l +cs +160 672 m +160 704 l +192 704 l +192 672 l +160 672 l +fl +bl +160 672 m +160 704 l +192 704 l +192 672 l +160 672 l +cs +128 640 m +128 672 l +160 672 l +160 640 l +128 640 l +fl +bl +128 640 m +128 672 l +160 672 l +160 640 l +128 640 l +cs +160 640 m +160 672 l +192 672 l +192 640 l +160 640 l +fl +bl +160 640 m +160 672 l +192 672 l +192 640 l +160 640 l +cs +192 688 m +192 704 l +208 704 l +208 688 l +192 688 l +fl +bl +192 688 m +192 704 l +208 704 l +208 688 l +192 688 l +cs +208 688 m +208 704 l +224 704 l +224 688 l +208 688 l +fl +bl +208 688 m +208 704 l +224 704 l +224 688 l +208 688 l +cs +192 672 m +192 688 l +208 688 l +208 672 l +192 672 l +fl +bl +192 672 m +192 688 l +208 688 l +208 672 l +192 672 l +cs +208 672 m +208 688 l +224 688 l +224 672 l +208 672 l +fl +bl +208 672 m +208 688 l +224 688 l +224 672 l +208 672 l +cs +224 672 m +224 704 l +256 704 l +256 672 l +224 672 l +fl +bl +224 672 m +224 704 l +256 704 l +256 672 l +224 672 l +cs +192 656 m +192 672 l +208 672 l +208 656 l +192 656 l +fl +bl +192 656 m +192 672 l +208 672 l +208 656 l +192 656 l +cs +bl +208 656 m +208 672 l +224 672 l +224 656 l +208 656 l +cs +bl +hf 8.0 sf +211.2 657.6 m (16) show +192 640 m +192 656 l +208 656 l +208 640 l +192 640 l +fl +bl +192 640 m +192 656 l +208 656 l +208 640 l +192 640 l +cs +208 640 m +208 656 l +224 656 l +224 640 l +208 640 l +fl +bl +208 640 m +208 656 l +224 656 l +224 640 l +208 640 l +cs +224 656 m +224 672 l +240 672 l +240 656 l +224 656 l +fl +bl +224 656 m +224 672 l +240 672 l +240 656 l +224 656 l +cs +240 656 m +240 672 l +256 672 l +256 656 l +240 656 l +fl +bl +240 656 m +240 672 l +256 672 l +256 656 l +240 656 l +cs +224 640 m +224 656 l +240 656 l +240 640 l +224 640 l +fl +bl +224 640 m +224 656 l +240 656 l +240 640 l +224 640 l +cs +240 640 m +240 656 l +256 656 l +256 640 l +240 640 l +fl +bl +240 640 m +240 656 l +256 656 l +256 640 l +240 640 l +cs +0 624 m +0 640 l +16 640 l +16 624 l +0 624 l +fl +bl +0 624 m +0 640 l +16 640 l +16 624 l +0 624 l +cs +16 624 m +16 640 l +32 640 l +32 624 l +16 624 l +fl +bl +16 624 m +16 640 l +32 640 l +32 624 l +16 624 l +cs +0 608 m +0 624 l +16 624 l +16 608 l +0 608 l +fl +bl +0 608 m +0 624 l +16 624 l +16 608 l +0 608 l +cs +16 608 m +16 624 l +32 624 l +32 608 l +16 608 l +fl +bl +16 608 m +16 624 l +32 624 l +32 608 l +16 608 l +cs +32 624 m +32 640 l +48 640 l +48 624 l +32 624 l +fl +bl +32 624 m +32 640 l +48 640 l +48 624 l +32 624 l +cs +bl +48 624 m +48 640 l +64 640 l +64 624 l +48 624 l +cs +bl +hf 8.0 sf +51.2 625.6 m (16) show +32 608 m +32 624 l +48 624 l +48 608 l +32 608 l +fl +bl +32 608 m +32 624 l +48 624 l +48 608 l +32 608 l +cs +48 608 m +48 624 l +64 624 l +64 608 l +48 608 l +fl +bl +48 608 m +48 624 l +64 624 l +64 608 l +48 608 l +cs +0 576 m +0 608 l +32 608 l +32 576 l +0 576 l +fl +bl +0 576 m +0 608 l +32 608 l +32 576 l +0 576 l +cs +32 592 m +32 608 l +48 608 l +48 592 l +32 592 l +fl +bl +32 592 m +32 608 l +48 608 l +48 592 l +32 592 l +cs +48 592 m +48 608 l +64 608 l +64 592 l +48 592 l +fl +bl +48 592 m +48 608 l +64 608 l +64 592 l +48 592 l +cs +32 576 m +32 592 l +48 592 l +48 576 l +32 576 l +fl +bl +32 576 m +32 592 l +48 592 l +48 576 l +32 576 l +cs +48 576 m +48 592 l +64 592 l +64 576 l +48 576 l +fl +bl +48 576 m +48 592 l +64 592 l +64 576 l +48 576 l +cs +bl +64 624 m +64 640 l +80 640 l +80 624 l +64 624 l +cs +bl +hf 8.0 sf +67.2 625.6 m (16) show +bl +80 624 m +80 640 l +96 640 l +96 624 l +80 624 l +cs +bl +hf 8.0 sf +83.2 625.6 m (16) show +64 608 m +64 624 l +80 624 l +80 608 l +64 608 l +fl +bl +64 608 m +64 624 l +80 624 l +80 608 l +64 608 l +cs +bl +80 608 m +80 624 l +96 624 l +96 608 l +80 608 l +cs +bl +hf 8.0 sf +83.2 609.6 m (16) show +bl +96 624 m +96 640 l +112 640 l +112 624 l +96 624 l +cs +bl +hf 8.0 sf +99.2 625.6 m (16) show +bl +112 624 m +112 640 l +128 640 l +128 624 l +112 624 l +cs +bl +hf 8.0 sf +115.2 625.6 m (16) show +bl +96 608 m +96 624 l +112 624 l +112 608 l +96 608 l +cs +bl +hf 8.0 sf +99.2 609.6 m (16) show +bl +112 608 m +112 624 l +128 624 l +128 608 l +112 608 l +cs +bl +hf 8.0 sf +115.2 609.6 m (16) show +64 576 m +64 608 l +96 608 l +96 576 l +64 576 l +fl +bl +64 576 m +64 608 l +96 608 l +96 576 l +64 576 l +cs +bl +96 592 m +96 608 l +112 608 l +112 592 l +96 592 l +cs +bl +hf 8.0 sf +99.2 593.6 m (16) show +bl +112 592 m +112 608 l +128 608 l +128 592 l +112 592 l +cs +bl +hf 8.0 sf +115.2 593.6 m (16) show +96 576 m +96 592 l +112 592 l +112 576 l +96 576 l +fl +bl +96 576 m +96 592 l +112 592 l +112 576 l +96 576 l +cs +bl +112 576 m +112 592 l +128 592 l +128 576 l +112 576 l +cs +bl +hf 8.0 sf +115.2 577.6 m (16) show +0 544 m +0 576 l +32 576 l +32 544 l +0 544 l +fl +bl +0 544 m +0 576 l +32 576 l +32 544 l +0 544 l +cs +32 544 m +32 576 l +64 576 l +64 544 l +32 544 l +fl +bl +32 544 m +32 576 l +64 576 l +64 544 l +32 544 l +cs +0 512 m +0 544 l +32 544 l +32 512 l +0 512 l +fl +bl +0 512 m +0 544 l +32 544 l +32 512 l +0 512 l +cs +32 512 m +32 544 l +64 544 l +64 512 l +32 512 l +fl +bl +32 512 m +32 544 l +64 544 l +64 512 l +32 512 l +cs +64 560 m +64 576 l +80 576 l +80 560 l +64 560 l +fl +bl +64 560 m +64 576 l +80 576 l +80 560 l +64 560 l +cs +80 560 m +80 576 l +96 576 l +96 560 l +80 560 l +fl +bl +80 560 m +80 576 l +96 576 l +96 560 l +80 560 l +cs +64 544 m +64 560 l +80 560 l +80 544 l +64 544 l +fl +bl +64 544 m +64 560 l +80 560 l +80 544 l +64 544 l +cs +80 544 m +80 560 l +96 560 l +96 544 l +80 544 l +fl +bl +80 544 m +80 560 l +96 560 l +96 544 l +80 544 l +cs +96 560 m +96 576 l +112 576 l +112 560 l +96 560 l +fl +bl +96 560 m +96 576 l +112 576 l +112 560 l +96 560 l +cs +bl +112 560 m +112 576 l +128 576 l +128 560 l +112 560 l +cs +bl +hf 8.0 sf +115.2 561.6 m (16) show +96 544 m +96 560 l +112 560 l +112 544 l +96 544 l +fl +bl +96 544 m +96 560 l +112 560 l +112 544 l +96 544 l +cs +112 544 m +112 560 l +128 560 l +128 544 l +112 544 l +fl +bl +112 544 m +112 560 l +128 560 l +128 544 l +112 544 l +cs +64 512 m +64 544 l +96 544 l +96 512 l +64 512 l +fl +bl +64 512 m +64 544 l +96 544 l +96 512 l +64 512 l +cs +96 528 m +96 544 l +112 544 l +112 528 l +96 528 l +fl +bl +96 528 m +96 544 l +112 544 l +112 528 l +96 528 l +cs +112 528 m +112 544 l +128 544 l +128 528 l +112 528 l +fl +bl +112 528 m +112 544 l +128 544 l +128 528 l +112 528 l +cs +96 512 m +96 528 l +112 528 l +112 512 l +96 512 l +fl +bl +96 512 m +96 528 l +112 528 l +112 512 l +96 512 l +cs +112 512 m +112 528 l +128 528 l +128 512 l +112 512 l +fl +bl +112 512 m +112 528 l +128 528 l +128 512 l +112 512 l +cs +128 624 m +128 640 l +144 640 l +144 624 l +128 624 l +fl +bl +128 624 m +128 640 l +144 640 l +144 624 l +128 624 l +cs +bl +144 624 m +144 640 l +160 640 l +160 624 l +144 624 l +cs +bl +hf 8.0 sf +147.2 625.6 m (16) show +128 608 m +128 624 l +144 624 l +144 608 l +128 608 l +fl +bl +128 608 m +128 624 l +144 624 l +144 608 l +128 608 l +cs +144 608 m +144 624 l +160 624 l +160 608 l +144 608 l +fl +bl +144 608 m +144 624 l +160 624 l +160 608 l +144 608 l +cs +160 624 m +160 640 l +176 640 l +176 624 l +160 624 l +fl +bl +160 624 m +160 640 l +176 640 l +176 624 l +160 624 l +cs +bl +176 624 m +176 640 l +192 640 l +192 624 l +176 624 l +cs +bl +hf 8.0 sf +179.2 625.6 m (16) show +160 608 m +160 624 l +176 624 l +176 608 l +160 608 l +fl +bl +160 608 m +160 624 l +176 624 l +176 608 l +160 608 l +cs +176 608 m +176 624 l +192 624 l +192 608 l +176 608 l +fl +bl +176 608 m +176 624 l +192 624 l +192 608 l +176 608 l +cs +128 592 m +128 608 l +144 608 l +144 592 l +128 592 l +fl +bl +128 592 m +128 608 l +144 608 l +144 592 l +128 592 l +cs +bl +144 592 m +144 608 l +160 608 l +160 592 l +144 592 l +cs +bl +hf 8.0 sf +147.2 593.6 m (16) show +128 576 m +128 592 l +144 592 l +144 576 l +128 576 l +fl +bl +128 576 m +128 592 l +144 592 l +144 576 l +128 576 l +cs +144 576 m +144 592 l +160 592 l +160 576 l +144 576 l +fl +bl +144 576 m +144 592 l +160 592 l +160 576 l +144 576 l +cs +160 592 m +160 608 l +176 608 l +176 592 l +160 592 l +fl +bl +160 592 m +160 608 l +176 608 l +176 592 l +160 592 l +cs +bl +176 592 m +176 608 l +192 608 l +192 592 l +176 592 l +cs +bl +hf 8.0 sf +179.2 593.6 m (16) show +160 576 m +160 592 l +176 592 l +176 576 l +160 576 l +fl +bl +160 576 m +160 592 l +176 592 l +176 576 l +160 576 l +cs +176 576 m +176 592 l +192 592 l +192 576 l +176 576 l +fl +bl +176 576 m +176 592 l +192 592 l +192 576 l +176 576 l +cs +bl +192 624 m +192 640 l +208 640 l +208 624 l +192 624 l +cs +bl +hf 8.0 sf +195.2 625.6 m (16) show +bl +208 624 m +208 640 l +224 640 l +224 624 l +208 624 l +cs +bl +hf 8.0 sf +211.2 625.6 m (16) show +bl +192 608 m +192 624 l +208 624 l +208 608 l +192 608 l +cs +bl +hf 8.0 sf +195.2 609.6 m (16) show +bl +208 608 m +208 624 l +224 624 l +224 608 l +208 608 l +cs +bl +hf 8.0 sf +211.2 609.6 m (16) show +bl +224 624 m +224 640 l +240 640 l +240 624 l +224 624 l +cs +bl +hf 8.0 sf +227.2 625.6 m (16) show +bl +240 624 m +240 640 l +256 640 l +256 624 l +240 624 l +cs +bl +hf 8.0 sf +243.2 625.6 m (16) show +bl +224 608 m +224 624 l +240 624 l +240 608 l +224 608 l +cs +bl +hf 8.0 sf +227.2 609.6 m (16) show +bl +240 608 m +240 624 l +256 624 l +256 608 l +240 608 l +cs +bl +hf 8.0 sf +243.2 609.6 m (16) show +bl +192 592 m +192 608 l +208 608 l +208 592 l +192 592 l +cs +bl +hf 8.0 sf +195.2 593.6 m (16) show +bl +208 592 m +208 608 l +224 608 l +224 592 l +208 592 l +cs +bl +hf 8.0 sf +211.2 593.6 m (16) show +bl +192 576 m +192 592 l +208 592 l +208 576 l +192 576 l +cs +bl +hf 8.0 sf +195.2 577.6 m (16) show +bl +208 576 m +208 592 l +224 592 l +224 576 l +208 576 l +cs +bl +hf 8.0 sf +211.2 577.6 m (16) show +bl +224 592 m +224 608 l +240 608 l +240 592 l +224 592 l +cs +bl +hf 8.0 sf +227.2 593.6 m (16) show +bl +240 592 m +240 608 l +256 608 l +256 592 l +240 592 l +cs +bl +hf 8.0 sf +243.2 593.6 m (16) show +bl +224 576 m +224 592 l +240 592 l +240 576 l +224 576 l +cs +bl +hf 8.0 sf +227.2 577.6 m (16) show +bl +240 576 m +240 592 l +256 592 l +256 576 l +240 576 l +cs +bl +hf 8.0 sf +243.2 577.6 m (16) show +128 544 m +128 576 l +160 576 l +160 544 l +128 544 l +fl +bl +128 544 m +128 576 l +160 576 l +160 544 l +128 544 l +cs +160 544 m +160 576 l +192 576 l +192 544 l +160 544 l +fl +bl +160 544 m +160 576 l +192 576 l +192 544 l +160 544 l +cs +128 512 m +128 544 l +160 544 l +160 512 l +128 512 l +fl +bl +128 512 m +128 544 l +160 544 l +160 512 l +128 512 l +cs +160 512 m +160 544 l +192 544 l +192 512 l +160 512 l +fl +bl +160 512 m +160 544 l +192 544 l +192 512 l +160 512 l +cs +192 560 m +192 576 l +208 576 l +208 560 l +192 560 l +fl +bl +192 560 m +192 576 l +208 576 l +208 560 l +192 560 l +cs +bl +208 560 m +208 576 l +224 576 l +224 560 l +208 560 l +cs +bl +hf 8.0 sf +211.2 561.6 m (16) show +192 544 m +192 560 l +208 560 l +208 544 l +192 544 l +fl +bl +192 544 m +192 560 l +208 560 l +208 544 l +192 544 l +cs +208 544 m +208 560 l +224 560 l +224 544 l +208 544 l +fl +bl +208 544 m +208 560 l +224 560 l +224 544 l +208 544 l +cs +224 560 m +224 576 l +240 576 l +240 560 l +224 560 l +fl +bl +224 560 m +224 576 l +240 576 l +240 560 l +224 560 l +cs +bl +240 560 m +240 576 l +256 576 l +256 560 l +240 560 l +cs +bl +hf 8.0 sf +243.2 561.6 m (16) show +224 544 m +224 560 l +240 560 l +240 544 l +224 544 l +fl +bl +224 544 m +224 560 l +240 560 l +240 544 l +224 544 l +cs +240 544 m +240 560 l +256 560 l +256 544 l +240 544 l +fl +bl +240 544 m +240 560 l +256 560 l +256 544 l +240 544 l +cs +192 528 m +192 544 l +208 544 l +208 528 l +192 528 l +fl +bl +192 528 m +192 544 l +208 544 l +208 528 l +192 528 l +cs +bl +208 528 m +208 544 l +224 544 l +224 528 l +208 528 l +cs +bl +hf 8.0 sf +211.2 529.6 m (16) show +192 512 m +192 528 l +208 528 l +208 512 l +192 512 l +fl +bl +192 512 m +192 528 l +208 528 l +208 512 l +192 512 l +cs +208 512 m +208 528 l +224 528 l +224 512 l +208 512 l +fl +bl +208 512 m +208 528 l +224 528 l +224 512 l +208 512 l +cs +224 528 m +224 544 l +240 544 l +240 528 l +224 528 l +fl +bl +224 528 m +224 544 l +240 544 l +240 528 l +224 528 l +cs +bl +240 528 m +240 544 l +256 544 l +256 528 l +240 528 l +cs +bl +hf 8.0 sf +243.2 529.6 m (16) show +224 512 m +224 528 l +240 528 l +240 512 l +224 512 l +fl +bl +224 512 m +224 528 l +240 528 l +240 512 l +224 512 l +cs +240 512 m +240 528 l +256 528 l +256 512 l +240 512 l +fl +bl +240 512 m +240 528 l +256 528 l +256 512 l +240 512 l +cs +bl +256 752 m +256 768 l +272 768 l +272 752 l +256 752 l +cs +bl +hf 8.0 sf +259.2 753.6 m (16) show +bl +272 752 m +272 768 l +288 768 l +288 752 l +272 752 l +cs +bl +hf 8.0 sf +275.2 753.6 m (16) show +bl +256 736 m +256 752 l +272 752 l +272 736 l +256 736 l +cs +bl +hf 8.0 sf +259.2 737.6 m (16) show +bl +272 736 m +272 752 l +288 752 l +288 736 l +272 736 l +cs +bl +hf 8.0 sf +275.2 737.6 m (16) show +bl +288 752 m +288 768 l +304 768 l +304 752 l +288 752 l +cs +bl +hf 8.0 sf +291.2 753.6 m (16) show +bl +304 752 m +304 768 l +320 768 l +320 752 l +304 752 l +cs +bl +hf 8.0 sf +307.2 753.6 m (16) show +bl +288 736 m +288 752 l +304 752 l +304 736 l +288 736 l +cs +bl +hf 8.0 sf +291.2 737.6 m (16) show +bl +304 736 m +304 752 l +320 752 l +320 736 l +304 736 l +cs +bl +hf 8.0 sf +307.2 737.6 m (16) show +bl +256 720 m +256 736 l +272 736 l +272 720 l +256 720 l +cs +bl +hf 8.0 sf +259.2 721.6 m (16) show +bl +272 720 m +272 736 l +288 736 l +288 720 l +272 720 l +cs +bl +hf 8.0 sf +275.2 721.6 m (16) show +bl +256 704 m +256 720 l +272 720 l +272 704 l +256 704 l +cs +bl +hf 8.0 sf +259.2 705.6 m (16) show +bl +272 704 m +272 720 l +288 720 l +288 704 l +272 704 l +cs +bl +hf 8.0 sf +275.2 705.6 m (16) show +bl +288 720 m +288 736 l +304 736 l +304 720 l +288 720 l +cs +bl +hf 8.0 sf +291.2 721.6 m (16) show +bl +304 720 m +304 736 l +320 736 l +320 720 l +304 720 l +cs +bl +hf 8.0 sf +307.2 721.6 m (16) show +bl +288 704 m +288 720 l +304 720 l +304 704 l +288 704 l +cs +bl +hf 8.0 sf +291.2 705.6 m (16) show +bl +304 704 m +304 720 l +320 720 l +320 704 l +304 704 l +cs +bl +hf 8.0 sf +307.2 705.6 m (16) show +bl +320 752 m +320 768 l +336 768 l +336 752 l +320 752 l +cs +bl +hf 8.0 sf +323.2 753.6 m (16) show +bl +336 752 m +336 768 l +352 768 l +352 752 l +336 752 l +cs +bl +hf 8.0 sf +339.2 753.6 m (16) show +bl +320 736 m +320 752 l +336 752 l +336 736 l +320 736 l +cs +bl +hf 8.0 sf +323.2 737.6 m (16) show +bl +336 736 m +336 752 l +352 752 l +352 736 l +336 736 l +cs +bl +hf 8.0 sf +339.2 737.6 m (16) show +bl +352 752 m +352 768 l +368 768 l +368 752 l +352 752 l +cs +bl +hf 8.0 sf +355.2 753.6 m (16) show +bl +368 752 m +368 768 l +384 768 l +384 752 l +368 752 l +cs +bl +hf 8.0 sf +371.2 753.6 m (16) show +bl +352 736 m +352 752 l +368 752 l +368 736 l +352 736 l +cs +bl +hf 8.0 sf +355.2 737.6 m (16) show +bl +368 736 m +368 752 l +384 752 l +384 736 l +368 736 l +cs +bl +hf 8.0 sf +371.2 737.6 m (16) show +bl +320 720 m +320 736 l +336 736 l +336 720 l +320 720 l +cs +bl +hf 8.0 sf +323.2 721.6 m (16) show +bl +336 720 m +336 736 l +352 736 l +352 720 l +336 720 l +cs +bl +hf 8.0 sf +339.2 721.6 m (16) show +bl +320 704 m +320 720 l +336 720 l +336 704 l +320 704 l +cs +bl +hf 8.0 sf +323.2 705.6 m (16) show +bl +336 704 m +336 720 l +352 720 l +352 704 l +336 704 l +cs +bl +hf 8.0 sf +339.2 705.6 m (16) show +bl +352 720 m +352 736 l +368 736 l +368 720 l +352 720 l +cs +bl +hf 8.0 sf +355.2 721.6 m (16) show +bl +368 720 m +368 736 l +384 736 l +384 720 l +368 720 l +cs +bl +hf 8.0 sf +371.2 721.6 m (16) show +bl +352 704 m +352 720 l +368 720 l +368 704 l +352 704 l +cs +bl +hf 8.0 sf +355.2 705.6 m (16) show +bl +368 704 m +368 720 l +384 720 l +384 704 l +368 704 l +cs +bl +hf 8.0 sf +371.2 705.6 m (16) show +bl +256 688 m +256 704 l +272 704 l +272 688 l +256 688 l +cs +bl +hf 8.0 sf +259.2 689.6 m (16) show +bl +272 688 m +272 704 l +288 704 l +288 688 l +272 688 l +cs +bl +hf 8.0 sf +275.2 689.6 m (16) show +bl +256 672 m +256 688 l +272 688 l +272 672 l +256 672 l +cs +bl +hf 8.0 sf +259.2 673.6 m (16) show +bl +272 672 m +272 688 l +288 688 l +288 672 l +272 672 l +cs +bl +hf 8.0 sf +275.2 673.6 m (16) show +bl +288 688 m +288 704 l +304 704 l +304 688 l +288 688 l +cs +bl +hf 8.0 sf +291.2 689.6 m (16) show +bl +304 688 m +304 704 l +320 704 l +320 688 l +304 688 l +cs +bl +hf 8.0 sf +307.2 689.6 m (16) show +bl +288 672 m +288 688 l +304 688 l +304 672 l +288 672 l +cs +bl +hf 8.0 sf +291.2 673.6 m (16) show +bl +304 672 m +304 688 l +320 688 l +320 672 l +304 672 l +cs +bl +hf 8.0 sf +307.2 673.6 m (16) show +bl +256 656 m +256 672 l +272 672 l +272 656 l +256 656 l +cs +bl +hf 8.0 sf +259.2 657.6 m (16) show +bl +272 656 m +272 672 l +288 672 l +288 656 l +272 656 l +cs +bl +hf 8.0 sf +275.2 657.6 m (16) show +bl +256 640 m +256 656 l +272 656 l +272 640 l +256 640 l +cs +bl +hf 8.0 sf +259.2 641.6 m (16) show +bl +272 640 m +272 656 l +288 656 l +288 640 l +272 640 l +cs +bl +hf 8.0 sf +275.2 641.6 m (16) show +bl +288 656 m +288 672 l +304 672 l +304 656 l +288 656 l +cs +bl +hf 8.0 sf +291.2 657.6 m (16) show +bl +304 656 m +304 672 l +320 672 l +320 656 l +304 656 l +cs +bl +hf 8.0 sf +307.2 657.6 m (16) show +bl +288 640 m +288 656 l +304 656 l +304 640 l +288 640 l +cs +bl +hf 8.0 sf +291.2 641.6 m (16) show +bl +304 640 m +304 656 l +320 656 l +320 640 l +304 640 l +cs +bl +hf 8.0 sf +307.2 641.6 m (16) show +bl +320 688 m +320 704 l +336 704 l +336 688 l +320 688 l +cs +bl +hf 8.0 sf +323.2 689.6 m (16) show +bl +336 688 m +336 704 l +352 704 l +352 688 l +336 688 l +cs +bl +hf 8.0 sf +339.2 689.6 m (16) show +bl +320 672 m +320 688 l +336 688 l +336 672 l +320 672 l +cs +bl +hf 8.0 sf +323.2 673.6 m (16) show +bl +336 672 m +336 688 l +352 688 l +352 672 l +336 672 l +cs +bl +hf 8.0 sf +339.2 673.6 m (16) show +bl +352 688 m +352 704 l +368 704 l +368 688 l +352 688 l +cs +bl +hf 8.0 sf +355.2 689.6 m (16) show +bl +368 688 m +368 704 l +384 704 l +384 688 l +368 688 l +cs +bl +hf 8.0 sf +371.2 689.6 m (16) show +bl +352 672 m +352 688 l +368 688 l +368 672 l +352 672 l +cs +bl +hf 8.0 sf +355.2 673.6 m (16) show +bl +368 672 m +368 688 l +384 688 l +384 672 l +368 672 l +cs +bl +hf 8.0 sf +371.2 673.6 m (16) show +bl +320 656 m +320 672 l +336 672 l +336 656 l +320 656 l +cs +bl +hf 8.0 sf +323.2 657.6 m (16) show +bl +336 656 m +336 672 l +352 672 l +352 656 l +336 656 l +cs +bl +hf 8.0 sf +339.2 657.6 m (16) show +bl +320 640 m +320 656 l +336 656 l +336 640 l +320 640 l +cs +bl +hf 8.0 sf +323.2 641.6 m (16) show +bl +336 640 m +336 656 l +352 656 l +352 640 l +336 640 l +cs +bl +hf 8.0 sf +339.2 641.6 m (16) show +bl +352 656 m +352 672 l +368 672 l +368 656 l +352 656 l +cs +bl +hf 8.0 sf +355.2 657.6 m (16) show +bl +368 656 m +368 672 l +384 672 l +384 656 l +368 656 l +cs +bl +hf 8.0 sf +371.2 657.6 m (16) show +bl +352 640 m +352 656 l +368 656 l +368 640 l +352 640 l +cs +bl +hf 8.0 sf +355.2 641.6 m (16) show +bl +368 640 m +368 656 l +384 656 l +384 640 l +368 640 l +cs +bl +hf 8.0 sf +371.2 641.6 m (16) show +bl +384 752 m +384 768 l +400 768 l +400 752 l +384 752 l +cs +bl +hf 8.0 sf +387.2 753.6 m (16) show +bl +400 752 m +400 768 l +416 768 l +416 752 l +400 752 l +cs +bl +hf 8.0 sf +403.2 753.6 m (16) show +bl +384 736 m +384 752 l +400 752 l +400 736 l +384 736 l +cs +bl +hf 8.0 sf +387.2 737.6 m (16) show +bl +400 736 m +400 752 l +416 752 l +416 736 l +400 736 l +cs +bl +hf 8.0 sf +403.2 737.6 m (16) show +416 736 m +416 768 l +448 768 l +448 736 l +416 736 l +fl +bl +416 736 m +416 768 l +448 768 l +448 736 l +416 736 l +cs +bl +384 720 m +384 736 l +400 736 l +400 720 l +384 720 l +cs +bl +hf 8.0 sf +387.2 721.6 m (16) show +bl +400 720 m +400 736 l +416 736 l +416 720 l +400 720 l +cs +bl +hf 8.0 sf +403.2 721.6 m (16) show +bl +384 704 m +384 720 l +400 720 l +400 704 l +384 704 l +cs +bl +hf 8.0 sf +387.2 705.6 m (16) show +bl +400 704 m +400 720 l +416 720 l +416 704 l +400 704 l +cs +bl +hf 8.0 sf +403.2 705.6 m (16) show +bl +416 720 m +416 736 l +432 736 l +432 720 l +416 720 l +cs +bl +hf 8.0 sf +419.2 721.6 m (16) show +bl +432 720 m +432 736 l +448 736 l +448 720 l +432 720 l +cs +bl +hf 8.0 sf +435.2 721.6 m (16) show +bl +416 704 m +416 720 l +432 720 l +432 704 l +416 704 l +cs +bl +hf 8.0 sf +419.2 705.6 m (16) show +bl +432 704 m +432 720 l +448 720 l +448 704 l +432 704 l +cs +bl +hf 8.0 sf +435.2 705.6 m (16) show +bl +448 752 m +448 768 l +464 768 l +464 752 l +448 752 l +cs +bl +hf 8.0 sf +451.2 753.6 m (16) show +464 752 m +464 768 l +480 768 l +480 752 l +464 752 l +fl +bl +464 752 m +464 768 l +480 768 l +480 752 l +464 752 l +cs +bl +448 736 m +448 752 l +464 752 l +464 736 l +448 736 l +cs +bl +hf 8.0 sf +451.2 737.6 m (16) show +bl +464 736 m +464 752 l +480 752 l +480 736 l +464 736 l +cs +bl +hf 8.0 sf +467.2 737.6 m (16) show +480 736 m +480 768 l +512 768 l +512 736 l +480 736 l +fl +bl +480 736 m +480 768 l +512 768 l +512 736 l +480 736 l +cs +bl +448 720 m +448 736 l +464 736 l +464 720 l +448 720 l +cs +bl +hf 8.0 sf +451.2 721.6 m (16) show +bl +464 720 m +464 736 l +480 736 l +480 720 l +464 720 l +cs +bl +hf 8.0 sf +467.2 721.6 m (16) show +bl +448 704 m +448 720 l +464 720 l +464 704 l +448 704 l +cs +bl +hf 8.0 sf +451.2 705.6 m (16) show +bl +464 704 m +464 720 l +480 720 l +480 704 l +464 704 l +cs +bl +hf 8.0 sf +467.2 705.6 m (16) show +bl +480 720 m +480 736 l +496 736 l +496 720 l +480 720 l +cs +bl +hf 8.0 sf +483.2 721.6 m (16) show +496 720 m +496 736 l +512 736 l +512 720 l +496 720 l +fl +bl +496 720 m +496 736 l +512 736 l +512 720 l +496 720 l +cs +bl +480 704 m +480 720 l +496 720 l +496 704 l +480 704 l +cs +bl +hf 8.0 sf +483.2 705.6 m (16) show +bl +496 704 m +496 720 l +512 720 l +512 704 l +496 704 l +cs +bl +hf 8.0 sf +499.2 705.6 m (16) show +bl +384 688 m +384 704 l +400 704 l +400 688 l +384 688 l +cs +bl +hf 8.0 sf +387.2 689.6 m (16) show +bl +400 688 m +400 704 l +416 704 l +416 688 l +400 688 l +cs +bl +hf 8.0 sf +403.2 689.6 m (16) show +384 672 m +384 688 l +400 688 l +400 672 l +384 672 l +fl +bl +384 672 m +384 688 l +400 688 l +400 672 l +384 672 l +cs +bl +400 672 m +400 688 l +416 688 l +416 672 l +400 672 l +cs +bl +hf 8.0 sf +403.2 673.6 m (16) show +416 672 m +416 704 l +448 704 l +448 672 l +416 672 l +fl +bl +416 672 m +416 704 l +448 704 l +448 672 l +416 672 l +cs +bl +384 656 m +384 672 l +400 672 l +400 656 l +384 656 l +cs +bl +hf 8.0 sf +387.2 657.6 m (16) show +bl +400 656 m +400 672 l +416 672 l +416 656 l +400 656 l +cs +bl +hf 8.0 sf +403.2 657.6 m (16) show +bl +384 640 m +384 656 l +400 656 l +400 640 l +384 640 l +cs +bl +hf 8.0 sf +387.2 641.6 m (16) show +bl +400 640 m +400 656 l +416 656 l +416 640 l +400 640 l +cs +bl +hf 8.0 sf +403.2 641.6 m (16) show +bl +416 656 m +416 672 l +432 672 l +432 656 l +416 656 l +cs +bl +hf 8.0 sf +419.2 657.6 m (16) show +bl +432 656 m +432 672 l +448 672 l +448 656 l +432 656 l +cs +bl +hf 8.0 sf +435.2 657.6 m (16) show +416 640 m +416 656 l +432 656 l +432 640 l +416 640 l +fl +bl +416 640 m +416 656 l +432 656 l +432 640 l +416 640 l +cs +bl +432 640 m +432 656 l +448 656 l +448 640 l +432 640 l +cs +bl +hf 8.0 sf +435.2 641.6 m (16) show +bl +448 688 m +448 704 l +464 704 l +464 688 l +448 688 l +cs +bl +hf 8.0 sf +451.2 689.6 m (16) show +bl +464 688 m +464 704 l +480 704 l +480 688 l +464 688 l +cs +bl +hf 8.0 sf +467.2 689.6 m (16) show +bl +448 672 m +448 688 l +464 688 l +464 672 l +448 672 l +cs +bl +hf 8.0 sf +451.2 673.6 m (16) show +bl +464 672 m +464 688 l +480 688 l +480 672 l +464 672 l +cs +bl +hf 8.0 sf +467.2 673.6 m (16) show +480 672 m +480 704 l +512 704 l +512 672 l +480 672 l +fl +bl +480 672 m +480 704 l +512 704 l +512 672 l +480 672 l +cs +bl +448 656 m +448 672 l +464 672 l +464 656 l +448 656 l +cs +bl +hf 8.0 sf +451.2 657.6 m (16) show +bl +464 656 m +464 672 l +480 672 l +480 656 l +464 656 l +cs +bl +hf 8.0 sf +467.2 657.6 m (16) show +bl +448 640 m +448 656 l +464 656 l +464 640 l +448 640 l +cs +bl +hf 8.0 sf +451.2 641.6 m (16) show +bl +464 640 m +464 656 l +480 656 l +480 640 l +464 640 l +cs +bl +hf 8.0 sf +467.2 641.6 m (16) show +bl +480 656 m +480 672 l +496 672 l +496 656 l +480 656 l +cs +bl +hf 8.0 sf +483.2 657.6 m (16) show +bl +496 656 m +496 672 l +512 672 l +512 656 l +496 656 l +cs +bl +hf 8.0 sf +499.2 657.6 m (16) show +bl +480 640 m +480 656 l +496 656 l +496 640 l +480 640 l +cs +bl +hf 8.0 sf +483.2 641.6 m (16) show +bl +496 640 m +496 656 l +512 656 l +512 640 l +496 640 l +cs +bl +hf 8.0 sf +499.2 641.6 m (16) show +bl +256 624 m +256 640 l +272 640 l +272 624 l +256 624 l +cs +bl +hf 8.0 sf +259.2 625.6 m (16) show +bl +272 624 m +272 640 l +288 640 l +288 624 l +272 624 l +cs +bl +hf 8.0 sf +275.2 625.6 m (16) show +bl +256 608 m +256 624 l +272 624 l +272 608 l +256 608 l +cs +bl +hf 8.0 sf +259.2 609.6 m (16) show +bl +272 608 m +272 624 l +288 624 l +288 608 l +272 608 l +cs +bl +hf 8.0 sf +275.2 609.6 m (16) show +bl +288 624 m +288 640 l +304 640 l +304 624 l +288 624 l +cs +bl +hf 8.0 sf +291.2 625.6 m (16) show +bl +304 624 m +304 640 l +320 640 l +320 624 l +304 624 l +cs +bl +hf 8.0 sf +307.2 625.6 m (16) show +bl +288 608 m +288 624 l +304 624 l +304 608 l +288 608 l +cs +bl +hf 8.0 sf +291.2 609.6 m (16) show +bl +304 608 m +304 624 l +320 624 l +320 608 l +304 608 l +cs +bl +hf 8.0 sf +307.2 609.6 m (16) show +256 576 m +256 608 l +288 608 l +288 576 l +256 576 l +fl +bl +256 576 m +256 608 l +288 608 l +288 576 l +256 576 l +cs +bl +288 592 m +288 608 l +304 608 l +304 592 l +288 592 l +cs +bl +hf 8.0 sf +291.2 593.6 m (16) show +bl +304 592 m +304 608 l +320 608 l +320 592 l +304 592 l +cs +bl +hf 8.0 sf +307.2 593.6 m (16) show +bl +288 576 m +288 592 l +304 592 l +304 576 l +288 576 l +cs +bl +hf 8.0 sf +291.2 577.6 m (16) show +bl +304 576 m +304 592 l +320 592 l +320 576 l +304 576 l +cs +bl +hf 8.0 sf +307.2 577.6 m (16) show +bl +320 624 m +320 640 l +336 640 l +336 624 l +320 624 l +cs +bl +hf 8.0 sf +323.2 625.6 m (16) show +336 624 m +336 640 l +352 640 l +352 624 l +336 624 l +fl +bl +336 624 m +336 640 l +352 640 l +352 624 l +336 624 l +cs +bl +320 608 m +320 624 l +336 624 l +336 608 l +320 608 l +cs +bl +hf 8.0 sf +323.2 609.6 m (16) show +bl +336 608 m +336 624 l +352 624 l +352 608 l +336 608 l +cs +bl +hf 8.0 sf +339.2 609.6 m (16) show +bl +352 624 m +352 640 l +368 640 l +368 624 l +352 624 l +cs +bl +hf 8.0 sf +355.2 625.6 m (16) show +bl +368 624 m +368 640 l +384 640 l +384 624 l +368 624 l +cs +bl +hf 8.0 sf +371.2 625.6 m (16) show +bl +352 608 m +352 624 l +368 624 l +368 608 l +352 608 l +cs +bl +hf 8.0 sf +355.2 609.6 m (16) show +bl +368 608 m +368 624 l +384 624 l +384 608 l +368 608 l +cs +bl +hf 8.0 sf +371.2 609.6 m (16) show +320 576 m +320 608 l +352 608 l +352 576 l +320 576 l +fl +bl +320 576 m +320 608 l +352 608 l +352 576 l +320 576 l +cs +bl +352 592 m +352 608 l +368 608 l +368 592 l +352 592 l +cs +bl +hf 8.0 sf +355.2 593.6 m (16) show +368 592 m +368 608 l +384 608 l +384 592 l +368 592 l +fl +bl +368 592 m +368 608 l +384 608 l +384 592 l +368 592 l +cs +bl +352 576 m +352 592 l +368 592 l +368 576 l +352 576 l +cs +bl +hf 8.0 sf +355.2 577.6 m (16) show +bl +368 576 m +368 592 l +384 592 l +384 576 l +368 576 l +cs +bl +hf 8.0 sf +371.2 577.6 m (16) show +bl +256 560 m +256 576 l +272 576 l +272 560 l +256 560 l +cs +bl +hf 8.0 sf +259.2 561.6 m (16) show +bl +272 560 m +272 576 l +288 576 l +288 560 l +272 560 l +cs +bl +hf 8.0 sf +275.2 561.6 m (16) show +256 544 m +256 560 l +272 560 l +272 544 l +256 544 l +fl +bl +256 544 m +256 560 l +272 560 l +272 544 l +256 544 l +cs +bl +272 544 m +272 560 l +288 560 l +288 544 l +272 544 l +cs +bl +hf 8.0 sf +275.2 545.6 m (16) show +bl +288 560 m +288 576 l +304 576 l +304 560 l +288 560 l +cs +bl +hf 8.0 sf +291.2 561.6 m (16) show +bl +304 560 m +304 576 l +320 576 l +320 560 l +304 560 l +cs +bl +hf 8.0 sf +307.2 561.6 m (16) show +bl +288 544 m +288 560 l +304 560 l +304 544 l +288 544 l +cs +bl +hf 8.0 sf +291.2 545.6 m (16) show +bl +304 544 m +304 560 l +320 560 l +320 544 l +304 544 l +cs +bl +hf 8.0 sf +307.2 545.6 m (16) show +256 512 m +256 544 l +288 544 l +288 512 l +256 512 l +fl +bl +256 512 m +256 544 l +288 544 l +288 512 l +256 512 l +cs +bl +288 528 m +288 544 l +304 544 l +304 528 l +288 528 l +cs +bl +hf 8.0 sf +291.2 529.6 m (16) show +bl +304 528 m +304 544 l +320 544 l +320 528 l +304 528 l +cs +bl +hf 8.0 sf +307.2 529.6 m (16) show +288 512 m +288 528 l +304 528 l +304 512 l +288 512 l +fl +bl +288 512 m +288 528 l +304 528 l +304 512 l +288 512 l +cs +bl +304 512 m +304 528 l +320 528 l +320 512 l +304 512 l +cs +bl +hf 8.0 sf +307.2 513.6 m (16) show +bl +320 560 m +320 576 l +336 576 l +336 560 l +320 560 l +cs +bl +hf 8.0 sf +323.2 561.6 m (16) show +bl +336 560 m +336 576 l +352 576 l +352 560 l +336 560 l +cs +bl +hf 8.0 sf +339.2 561.6 m (16) show +bl +320 544 m +320 560 l +336 560 l +336 544 l +320 544 l +cs +bl +hf 8.0 sf +323.2 545.6 m (16) show +bl +336 544 m +336 560 l +352 560 l +352 544 l +336 544 l +cs +bl +hf 8.0 sf +339.2 545.6 m (16) show +bl +352 560 m +352 576 l +368 576 l +368 560 l +352 560 l +cs +bl +hf 8.0 sf +355.2 561.6 m (16) show +bl +368 560 m +368 576 l +384 576 l +384 560 l +368 560 l +cs +bl +hf 8.0 sf +371.2 561.6 m (16) show +bl +352 544 m +352 560 l +368 560 l +368 544 l +352 544 l +cs +bl +hf 8.0 sf +355.2 545.6 m (16) show +bl +368 544 m +368 560 l +384 560 l +384 544 l +368 544 l +cs +bl +hf 8.0 sf +371.2 545.6 m (16) show +320 512 m +320 544 l +352 544 l +352 512 l +320 512 l +fl +bl +320 512 m +320 544 l +352 544 l +352 512 l +320 512 l +cs +bl +352 528 m +352 544 l +368 544 l +368 528 l +352 528 l +cs +bl +hf 8.0 sf +355.2 529.6 m (16) show +bl +368 528 m +368 544 l +384 544 l +384 528 l +368 528 l +cs +bl +hf 8.0 sf +371.2 529.6 m (16) show +bl +352 512 m +352 528 l +368 528 l +368 512 l +352 512 l +cs +bl +hf 8.0 sf +355.2 513.6 m (16) show +bl +368 512 m +368 528 l +384 528 l +384 512 l +368 512 l +cs +bl +hf 8.0 sf +371.2 513.6 m (16) show +bl +384 624 m +384 640 l +400 640 l +400 624 l +384 624 l +cs +bl +hf 8.0 sf +387.2 625.6 m (16) show +bl +400 624 m +400 640 l +416 640 l +416 624 l +400 624 l +cs +bl +hf 8.0 sf +403.2 625.6 m (16) show +bl +384 608 m +384 624 l +400 624 l +400 608 l +384 608 l +cs +bl +hf 8.0 sf +387.2 609.6 m (16) show +bl +400 608 m +400 624 l +416 624 l +416 608 l +400 608 l +cs +bl +hf 8.0 sf +403.2 609.6 m (16) show +bl +416 624 m +416 640 l +432 640 l +432 624 l +416 624 l +cs +bl +hf 8.0 sf +419.2 625.6 m (16) show +bl +432 624 m +432 640 l +448 640 l +448 624 l +432 624 l +cs +bl +hf 8.0 sf +435.2 625.6 m (16) show +bl +416 608 m +416 624 l +432 624 l +432 608 l +416 608 l +cs +bl +hf 8.0 sf +419.2 609.6 m (16) show +bl +432 608 m +432 624 l +448 624 l +448 608 l +432 608 l +cs +bl +hf 8.0 sf +435.2 609.6 m (16) show +bl +384 592 m +384 608 l +400 608 l +400 592 l +384 592 l +cs +bl +hf 8.0 sf +387.2 593.6 m (16) show +bl +400 592 m +400 608 l +416 608 l +416 592 l +400 592 l +cs +bl +hf 8.0 sf +403.2 593.6 m (16) show +bl +384 576 m +384 592 l +400 592 l +400 576 l +384 576 l +cs +bl +hf 8.0 sf +387.2 577.6 m (16) show +bl +400 576 m +400 592 l +416 592 l +416 576 l +400 576 l +cs +bl +hf 8.0 sf +403.2 577.6 m (16) show +bl +416 592 m +416 608 l +432 608 l +432 592 l +416 592 l +cs +bl +hf 8.0 sf +419.2 593.6 m (16) show +bl +432 592 m +432 608 l +448 608 l +448 592 l +432 592 l +cs +bl +hf 8.0 sf +435.2 593.6 m (16) show +bl +416 576 m +416 592 l +432 592 l +432 576 l +416 576 l +cs +bl +hf 8.0 sf +419.2 577.6 m (16) show +bl +432 576 m +432 592 l +448 592 l +448 576 l +432 576 l +cs +bl +hf 8.0 sf +435.2 577.6 m (16) show +bl +448 624 m +448 640 l +464 640 l +464 624 l +448 624 l +cs +bl +hf 8.0 sf +451.2 625.6 m (16) show +bl +464 624 m +464 640 l +480 640 l +480 624 l +464 624 l +cs +bl +hf 8.0 sf +467.2 625.6 m (16) show +bl +448 608 m +448 624 l +464 624 l +464 608 l +448 608 l +cs +bl +hf 8.0 sf +451.2 609.6 m (16) show +bl +464 608 m +464 624 l +480 624 l +480 608 l +464 608 l +cs +bl +hf 8.0 sf +467.2 609.6 m (16) show +bl +480 624 m +480 640 l +496 640 l +496 624 l +480 624 l +cs +bl +hf 8.0 sf +483.2 625.6 m (16) show +bl +496 624 m +496 640 l +512 640 l +512 624 l +496 624 l +cs +bl +hf 8.0 sf +499.2 625.6 m (16) show +bl +480 608 m +480 624 l +496 624 l +496 608 l +480 608 l +cs +bl +hf 8.0 sf +483.2 609.6 m (16) show +bl +496 608 m +496 624 l +512 624 l +512 608 l +496 608 l +cs +bl +hf 8.0 sf +499.2 609.6 m (16) show +bl +448 592 m +448 608 l +464 608 l +464 592 l +448 592 l +cs +bl +hf 8.0 sf +451.2 593.6 m (16) show +bl +464 592 m +464 608 l +480 608 l +480 592 l +464 592 l +cs +bl +hf 8.0 sf +467.2 593.6 m (16) show +bl +448 576 m +448 592 l +464 592 l +464 576 l +448 576 l +cs +bl +hf 8.0 sf +451.2 577.6 m (16) show +bl +464 576 m +464 592 l +480 592 l +480 576 l +464 576 l +cs +bl +hf 8.0 sf +467.2 577.6 m (16) show +bl +480 592 m +480 608 l +496 608 l +496 592 l +480 592 l +cs +bl +hf 8.0 sf +483.2 593.6 m (16) show +bl +496 592 m +496 608 l +512 608 l +512 592 l +496 592 l +cs +bl +hf 8.0 sf +499.2 593.6 m (16) show +bl +480 576 m +480 592 l +496 592 l +496 576 l +480 576 l +cs +bl +hf 8.0 sf +483.2 577.6 m (16) show +bl +496 576 m +496 592 l +512 592 l +512 576 l +496 576 l +cs +bl +hf 8.0 sf +499.2 577.6 m (16) show +bl +384 560 m +384 576 l +400 576 l +400 560 l +384 560 l +cs +bl +hf 8.0 sf +387.2 561.6 m (16) show +bl +400 560 m +400 576 l +416 576 l +416 560 l +400 560 l +cs +bl +hf 8.0 sf +403.2 561.6 m (16) show +bl +384 544 m +384 560 l +400 560 l +400 544 l +384 544 l +cs +bl +hf 8.0 sf +387.2 545.6 m (16) show +bl +400 544 m +400 560 l +416 560 l +416 544 l +400 544 l +cs +bl +hf 8.0 sf +403.2 545.6 m (16) show +bl +416 560 m +416 576 l +432 576 l +432 560 l +416 560 l +cs +bl +hf 8.0 sf +419.2 561.6 m (16) show +bl +432 560 m +432 576 l +448 576 l +448 560 l +432 560 l +cs +bl +hf 8.0 sf +435.2 561.6 m (16) show +bl +416 544 m +416 560 l +432 560 l +432 544 l +416 544 l +cs +bl +hf 8.0 sf +419.2 545.6 m (16) show +bl +432 544 m +432 560 l +448 560 l +448 544 l +432 544 l +cs +bl +hf 8.0 sf +435.2 545.6 m (16) show +bl +384 528 m +384 544 l +400 544 l +400 528 l +384 528 l +cs +bl +hf 8.0 sf +387.2 529.6 m (16) show +bl +400 528 m +400 544 l +416 544 l +416 528 l +400 528 l +cs +bl +hf 8.0 sf +403.2 529.6 m (16) show +bl +384 512 m +384 528 l +400 528 l +400 512 l +384 512 l +cs +bl +hf 8.0 sf +387.2 513.6 m (16) show +bl +400 512 m +400 528 l +416 528 l +416 512 l +400 512 l +cs +bl +hf 8.0 sf +403.2 513.6 m (16) show +bl +416 528 m +416 544 l +432 544 l +432 528 l +416 528 l +cs +bl +hf 8.0 sf +419.2 529.6 m (16) show +bl +432 528 m +432 544 l +448 544 l +448 528 l +432 528 l +cs +bl +hf 8.0 sf +435.2 529.6 m (16) show +bl +416 512 m +416 528 l +432 528 l +432 512 l +416 512 l +cs +bl +hf 8.0 sf +419.2 513.6 m (16) show +bl +432 512 m +432 528 l +448 528 l +448 512 l +432 512 l +cs +bl +hf 8.0 sf +435.2 513.6 m (16) show +bl +448 560 m +448 576 l +464 576 l +464 560 l +448 560 l +cs +bl +hf 8.0 sf +451.2 561.6 m (16) show +bl +464 560 m +464 576 l +480 576 l +480 560 l +464 560 l +cs +bl +hf 8.0 sf +467.2 561.6 m (16) show +bl +448 544 m +448 560 l +464 560 l +464 544 l +448 544 l +cs +bl +hf 8.0 sf +451.2 545.6 m (16) show +bl +464 544 m +464 560 l +480 560 l +480 544 l +464 544 l +cs +bl +hf 8.0 sf +467.2 545.6 m (16) show +bl +480 560 m +480 576 l +496 576 l +496 560 l +480 560 l +cs +bl +hf 8.0 sf +483.2 561.6 m (16) show +bl +496 560 m +496 576 l +512 576 l +512 560 l +496 560 l +cs +bl +hf 8.0 sf +499.2 561.6 m (16) show +bl +480 544 m +480 560 l +496 560 l +496 544 l +480 544 l +cs +bl +hf 8.0 sf +483.2 545.6 m (16) show +bl +496 544 m +496 560 l +512 560 l +512 544 l +496 544 l +cs +bl +hf 8.0 sf +499.2 545.6 m (16) show +bl +448 528 m +448 544 l +464 544 l +464 528 l +448 528 l +cs +bl +hf 8.0 sf +451.2 529.6 m (16) show +bl +464 528 m +464 544 l +480 544 l +480 528 l +464 528 l +cs +bl +hf 8.0 sf +467.2 529.6 m (16) show +bl +448 512 m +448 528 l +464 528 l +464 512 l +448 512 l +cs +bl +hf 8.0 sf +451.2 513.6 m (16) show +bl +464 512 m +464 528 l +480 528 l +480 512 l +464 512 l +cs +bl +hf 8.0 sf +467.2 513.6 m (16) show +bl +480 528 m +480 544 l +496 544 l +496 528 l +480 528 l +cs +bl +hf 8.0 sf +483.2 529.6 m (16) show +bl +496 528 m +496 544 l +512 544 l +512 528 l +496 528 l +cs +bl +hf 8.0 sf +499.2 529.6 m (16) show +bl +480 512 m +480 528 l +496 528 l +496 512 l +480 512 l +cs +bl +hf 8.0 sf +483.2 513.6 m (16) show +bl +496 512 m +496 528 l +512 528 l +512 512 l +496 512 l +cs +bl +hf 8.0 sf +499.2 513.6 m (16) show +512 992 m +512 1024 l +544 1024 l +544 992 l +512 992 l +fl +bl +512 992 m +512 1024 l +544 1024 l +544 992 l +512 992 l +cs +544 992 m +544 1024 l +576 1024 l +576 992 l +544 992 l +fl +bl +544 992 m +544 1024 l +576 1024 l +576 992 l +544 992 l +cs +512 960 m +512 992 l +544 992 l +544 960 l +512 960 l +fl +bl +512 960 m +512 992 l +544 992 l +544 960 l +512 960 l +cs +544 960 m +544 992 l +576 992 l +576 960 l +544 960 l +fl +bl +544 960 m +544 992 l +576 992 l +576 960 l +544 960 l +cs +576 992 m +576 1024 l +608 1024 l +608 992 l +576 992 l +fl +bl +576 992 m +576 1024 l +608 1024 l +608 992 l +576 992 l +cs +608 992 m +608 1024 l +640 1024 l +640 992 l +608 992 l +fl +bl +608 992 m +608 1024 l +640 1024 l +640 992 l +608 992 l +cs +576 960 m +576 992 l +608 992 l +608 960 l +576 960 l +fl +bl +576 960 m +576 992 l +608 992 l +608 960 l +576 960 l +cs +608 960 m +608 992 l +640 992 l +640 960 l +608 960 l +fl +bl +608 960 m +608 992 l +640 992 l +640 960 l +608 960 l +cs +512 928 m +512 960 l +544 960 l +544 928 l +512 928 l +fl +bl +512 928 m +512 960 l +544 960 l +544 928 l +512 928 l +cs +544 928 m +544 960 l +576 960 l +576 928 l +544 928 l +fl +bl +544 928 m +544 960 l +576 960 l +576 928 l +544 928 l +cs +512 896 m +512 928 l +544 928 l +544 896 l +512 896 l +fl +bl +512 896 m +512 928 l +544 928 l +544 896 l +512 896 l +cs +544 896 m +544 928 l +576 928 l +576 896 l +544 896 l +fl +bl +544 896 m +544 928 l +576 928 l +576 896 l +544 896 l +cs +576 928 m +576 960 l +608 960 l +608 928 l +576 928 l +fl +bl +576 928 m +576 960 l +608 960 l +608 928 l +576 928 l +cs +608 928 m +608 960 l +640 960 l +640 928 l +608 928 l +fl +bl +608 928 m +608 960 l +640 960 l +640 928 l +608 928 l +cs +576 896 m +576 928 l +608 928 l +608 896 l +576 896 l +fl +bl +576 896 m +576 928 l +608 928 l +608 896 l +576 896 l +cs +608 896 m +608 928 l +640 928 l +640 896 l +608 896 l +fl +bl +608 896 m +608 928 l +640 928 l +640 896 l +608 896 l +cs +640 896 m +640 1024 l +704 1024 l +704 896 l +640 896 l +fl +bl +640 896 m +640 1024 l +704 1024 l +704 896 l +640 896 l +cs +bl +512 880 m +512 896 l +528 896 l +528 880 l +512 880 l +cs +bl +hf 8.0 sf +515.2 881.6 m (16) show +bl +528 880 m +528 896 l +544 896 l +544 880 l +528 880 l +cs +bl +hf 8.0 sf +531.2 881.6 m (16) show +bl +512 864 m +512 880 l +528 880 l +528 864 l +512 864 l +cs +bl +hf 8.0 sf +515.2 865.6 m (16) show +bl +528 864 m +528 880 l +544 880 l +544 864 l +528 864 l +cs +bl +hf 8.0 sf +531.2 865.6 m (16) show +544 864 m +544 896 l +576 896 l +576 864 l +544 864 l +fl +bl +544 864 m +544 896 l +576 896 l +576 864 l +544 864 l +cs +bl +512 848 m +512 864 l +528 864 l +528 848 l +512 848 l +cs +bl +hf 8.0 sf +515.2 849.6 m (16) show +bl +528 848 m +528 864 l +544 864 l +544 848 l +528 848 l +cs +bl +hf 8.0 sf +531.2 849.6 m (16) show +bl +512 832 m +512 848 l +528 848 l +528 832 l +512 832 l +cs +bl +hf 8.0 sf +515.2 833.6 m (16) show +bl +528 832 m +528 848 l +544 848 l +544 832 l +528 832 l +cs +bl +hf 8.0 sf +531.2 833.6 m (16) show +bl +544 848 m +544 864 l +560 864 l +560 848 l +544 848 l +cs +bl +hf 8.0 sf +547.2 849.6 m (16) show +bl +560 848 m +560 864 l +576 864 l +576 848 l +560 848 l +cs +bl +hf 8.0 sf +563.2 849.6 m (16) show +bl +544 832 m +544 848 l +560 848 l +560 832 l +544 832 l +cs +bl +hf 8.0 sf +547.2 833.6 m (16) show +bl +560 832 m +560 848 l +576 848 l +576 832 l +560 832 l +cs +bl +hf 8.0 sf +563.2 833.6 m (16) show +bl +576 880 m +576 896 l +592 896 l +592 880 l +576 880 l +cs +bl +hf 8.0 sf +579.2 881.6 m (16) show +592 880 m +592 896 l +608 896 l +608 880 l +592 880 l +fl +bl +592 880 m +592 896 l +608 896 l +608 880 l +592 880 l +cs +bl +576 864 m +576 880 l +592 880 l +592 864 l +576 864 l +cs +bl +hf 8.0 sf +579.2 865.6 m (16) show +bl +592 864 m +592 880 l +608 880 l +608 864 l +592 864 l +cs +bl +hf 8.0 sf +595.2 865.6 m (16) show +608 864 m +608 896 l +640 896 l +640 864 l +608 864 l +fl +bl +608 864 m +608 896 l +640 896 l +640 864 l +608 864 l +cs +bl +576 848 m +576 864 l +592 864 l +592 848 l +576 848 l +cs +bl +hf 8.0 sf +579.2 849.6 m (16) show +bl +592 848 m +592 864 l +608 864 l +608 848 l +592 848 l +cs +bl +hf 8.0 sf +595.2 849.6 m (16) show +bl +576 832 m +576 848 l +592 848 l +592 832 l +576 832 l +cs +bl +hf 8.0 sf +579.2 833.6 m (16) show +bl +592 832 m +592 848 l +608 848 l +608 832 l +592 832 l +cs +bl +hf 8.0 sf +595.2 833.6 m (16) show +bl +608 848 m +608 864 l +624 864 l +624 848 l +608 848 l +cs +bl +hf 8.0 sf +611.2 849.6 m (16) show +624 848 m +624 864 l +640 864 l +640 848 l +624 848 l +fl +bl +624 848 m +624 864 l +640 864 l +640 848 l +624 848 l +cs +bl +608 832 m +608 848 l +624 848 l +624 832 l +608 832 l +cs +bl +hf 8.0 sf +611.2 833.6 m (16) show +bl +624 832 m +624 848 l +640 848 l +640 832 l +624 832 l +cs +bl +hf 8.0 sf +627.2 833.6 m (16) show +bl +512 816 m +512 832 l +528 832 l +528 816 l +512 816 l +cs +bl +hf 8.0 sf +515.2 817.6 m (16) show +bl +528 816 m +528 832 l +544 832 l +544 816 l +528 816 l +cs +bl +hf 8.0 sf +531.2 817.6 m (16) show +512 800 m +512 816 l +528 816 l +528 800 l +512 800 l +fl +bl +512 800 m +512 816 l +528 816 l +528 800 l +512 800 l +cs +bl +528 800 m +528 816 l +544 816 l +544 800 l +528 800 l +cs +bl +hf 8.0 sf +531.2 801.6 m (16) show +544 800 m +544 832 l +576 832 l +576 800 l +544 800 l +fl +bl +544 800 m +544 832 l +576 832 l +576 800 l +544 800 l +cs +bl +512 784 m +512 800 l +528 800 l +528 784 l +512 784 l +cs +bl +hf 8.0 sf +515.2 785.6 m (16) show +bl +528 784 m +528 800 l +544 800 l +544 784 l +528 784 l +cs +bl +hf 8.0 sf +531.2 785.6 m (16) show +bl +512 768 m +512 784 l +528 784 l +528 768 l +512 768 l +cs +bl +hf 8.0 sf +515.2 769.6 m (16) show +bl +528 768 m +528 784 l +544 784 l +544 768 l +528 768 l +cs +bl +hf 8.0 sf +531.2 769.6 m (16) show +bl +544 784 m +544 800 l +560 800 l +560 784 l +544 784 l +cs +bl +hf 8.0 sf +547.2 785.6 m (16) show +bl +560 784 m +560 800 l +576 800 l +576 784 l +560 784 l +cs +bl +hf 8.0 sf +563.2 785.6 m (16) show +544 768 m +544 784 l +560 784 l +560 768 l +544 768 l +fl +bl +544 768 m +544 784 l +560 784 l +560 768 l +544 768 l +cs +bl +560 768 m +560 784 l +576 784 l +576 768 l +560 768 l +cs +bl +hf 8.0 sf +563.2 769.6 m (16) show +bl +576 816 m +576 832 l +592 832 l +592 816 l +576 816 l +cs +bl +hf 8.0 sf +579.2 817.6 m (16) show +bl +592 816 m +592 832 l +608 832 l +608 816 l +592 816 l +cs +bl +hf 8.0 sf +595.2 817.6 m (16) show +bl +576 800 m +576 816 l +592 816 l +592 800 l +576 800 l +cs +bl +hf 8.0 sf +579.2 801.6 m (16) show +bl +592 800 m +592 816 l +608 816 l +608 800 l +592 800 l +cs +bl +hf 8.0 sf +595.2 801.6 m (16) show +608 800 m +608 832 l +640 832 l +640 800 l +608 800 l +fl +bl +608 800 m +608 832 l +640 832 l +640 800 l +608 800 l +cs +bl +576 784 m +576 800 l +592 800 l +592 784 l +576 784 l +cs +bl +hf 8.0 sf +579.2 785.6 m (16) show +bl +592 784 m +592 800 l +608 800 l +608 784 l +592 784 l +cs +bl +hf 8.0 sf +595.2 785.6 m (16) show +bl +576 768 m +576 784 l +592 784 l +592 768 l +576 768 l +cs +bl +hf 8.0 sf +579.2 769.6 m (16) show +bl +592 768 m +592 784 l +608 784 l +608 768 l +592 768 l +cs +bl +hf 8.0 sf +595.2 769.6 m (16) show +bl +608 784 m +608 800 l +624 800 l +624 784 l +608 784 l +cs +bl +hf 8.0 sf +611.2 785.6 m (16) show +bl +624 784 m +624 800 l +640 800 l +640 784 l +624 784 l +cs +bl +hf 8.0 sf +627.2 785.6 m (16) show +bl +608 768 m +608 784 l +624 784 l +624 768 l +608 768 l +cs +bl +hf 8.0 sf +611.2 769.6 m (16) show +bl +624 768 m +624 784 l +640 784 l +640 768 l +624 768 l +cs +bl +hf 8.0 sf +627.2 769.6 m (16) show +640 864 m +640 896 l +672 896 l +672 864 l +640 864 l +fl +bl +640 864 m +640 896 l +672 896 l +672 864 l +640 864 l +cs +672 864 m +672 896 l +688 896 l +688 864 l +672 864 l +fl +bl +672 864 m +672 896 l +688 896 l +688 864 l +672 864 l +cs +640 832 m +640 864 l +672 864 l +672 832 l +640 832 l +fl +bl +640 832 m +640 864 l +672 864 l +672 832 l +640 832 l +cs +672 832 m +672 864 l +688 864 l +688 832 l +672 832 l +fl +bl +672 832 m +672 864 l +688 864 l +688 832 l +672 832 l +cs +688 832 m +688 896 l +704 896 l +704 832 l +688 832 l +fl +bl +688 832 m +688 896 l +704 896 l +704 832 l +688 832 l +cs +640 800 m +640 832 l +672 832 l +672 800 l +640 800 l +fl +bl +640 800 m +640 832 l +672 832 l +672 800 l +640 800 l +cs +672 800 m +672 832 l +688 832 l +688 800 l +672 800 l +fl +bl +672 800 m +672 832 l +688 832 l +688 800 l +672 800 l +cs +640 768 m +640 800 l +672 800 l +672 768 l +640 768 l +fl +bl +640 768 m +640 800 l +672 800 l +672 768 l +640 768 l +cs +672 768 m +672 800 l +688 800 l +688 768 l +672 768 l +fl +bl +672 768 m +672 800 l +688 800 l +688 768 l +672 768 l +cs +688 768 m +688 832 l +704 832 l +704 768 l +688 768 l +fl +bl +688 768 m +688 832 l +704 832 l +704 768 l +688 768 l +cs +704 960 m +704 1024 l +736 1024 l +736 960 l +704 960 l +fl +bl +704 960 m +704 1024 l +736 1024 l +736 960 l +704 960 l +cs +736 960 m +736 1024 l +752 1024 l +752 960 l +736 960 l +fl +bl +736 960 m +736 1024 l +752 1024 l +752 960 l +736 960 l +cs +704 896 m +704 960 l +736 960 l +736 896 l +704 896 l +fl +bl +704 896 m +704 960 l +736 960 l +736 896 l +704 896 l +cs +736 896 m +736 960 l +752 960 l +752 896 l +736 896 l +fl +bl +736 896 m +736 960 l +752 960 l +752 896 l +736 896 l +cs +752 896 m +752 1024 l +768 1024 l +768 896 l +752 896 l +fl +bl +752 896 m +752 1024 l +768 1024 l +768 896 l +752 896 l +cs +704 864 m +704 896 l +720 896 l +720 864 l +704 864 l +fl +bl +704 864 m +704 896 l +720 896 l +720 864 l +704 864 l +cs +720 864 m +720 896 l +736 896 l +736 864 l +720 864 l +fl +bl +720 864 m +720 896 l +736 896 l +736 864 l +720 864 l +cs +bl +704 832 m +704 864 l +720 864 l +720 832 l +704 832 l +cs +bl +hf 8.0 sf +707.2 835.2 m (16) show +720 832 m +720 864 l +736 864 l +736 832 l +720 832 l +fl +bl +720 832 m +720 864 l +736 864 l +736 832 l +720 832 l +cs +bl +736 832 m +736 896 l +752 896 l +752 832 l +736 832 l +cs +bl +hf 8.0 sf +739.2 838.4 m (16) show +bl +704 800 m +704 832 l +720 832 l +720 800 l +704 800 l +cs +bl +hf 8.0 sf +707.2 803.2 m (16) show +bl +720 800 m +720 832 l +736 832 l +736 800 l +720 800 l +cs +bl +hf 8.0 sf +723.2 803.2 m (16) show +bl +704 768 m +704 800 l +720 800 l +720 768 l +704 768 l +cs +bl +hf 8.0 sf +707.2 771.2 m (16) show +bl +720 768 m +720 800 l +736 800 l +736 768 l +720 768 l +cs +bl +hf 8.0 sf +723.2 771.2 m (16) show +bl +736 768 m +736 832 l +752 832 l +752 768 l +736 768 l +cs +bl +hf 8.0 sf +739.2 774.4 m (16) show +bl +752 768 m +752 896 l +768 896 l +768 768 l +752 768 l +cs +bl +hf 8.0 sf +755.2 780.8 m (16) show +512 736 m +512 768 l +544 768 l +544 736 l +512 736 l +fl +bl +512 736 m +512 768 l +544 768 l +544 736 l +512 736 l +cs +544 736 m +544 768 l +576 768 l +576 736 l +544 736 l +fl +bl +544 736 m +544 768 l +576 768 l +576 736 l +544 736 l +cs +512 704 m +512 736 l +544 736 l +544 704 l +512 704 l +fl +bl +512 704 m +512 736 l +544 736 l +544 704 l +512 704 l +cs +544 704 m +544 736 l +576 736 l +576 704 l +544 704 l +fl +bl +544 704 m +544 736 l +576 736 l +576 704 l +544 704 l +cs +576 736 m +576 768 l +608 768 l +608 736 l +576 736 l +fl +bl +576 736 m +576 768 l +608 768 l +608 736 l +576 736 l +cs +608 736 m +608 768 l +640 768 l +640 736 l +608 736 l +fl +bl +608 736 m +608 768 l +640 768 l +640 736 l +608 736 l +cs +576 704 m +576 736 l +608 736 l +608 704 l +576 704 l +fl +bl +576 704 m +576 736 l +608 736 l +608 704 l +576 704 l +cs +608 704 m +608 736 l +640 736 l +640 704 l +608 704 l +fl +bl +608 704 m +608 736 l +640 736 l +640 704 l +608 704 l +cs +512 640 m +512 704 l +576 704 l +576 640 l +512 640 l +fl +bl +512 640 m +512 704 l +576 704 l +576 640 l +512 640 l +cs +576 672 m +576 704 l +608 704 l +608 672 l +576 672 l +fl +bl +576 672 m +576 704 l +608 704 l +608 672 l +576 672 l +cs +608 672 m +608 704 l +640 704 l +640 672 l +608 672 l +fl +bl +608 672 m +608 704 l +640 704 l +640 672 l +608 672 l +cs +576 640 m +576 672 l +608 672 l +608 640 l +576 640 l +fl +bl +576 640 m +576 672 l +608 672 l +608 640 l +576 640 l +cs +608 640 m +608 672 l +640 672 l +640 640 l +608 640 l +fl +bl +608 640 m +608 672 l +640 672 l +640 640 l +608 640 l +cs +640 640 m +640 768 l +704 768 l +704 640 l +640 640 l +fl +bl +640 640 m +640 768 l +704 768 l +704 640 l +640 640 l +cs +512 624 m +512 640 l +528 640 l +528 624 l +512 624 l +fl +bl +512 624 m +512 640 l +528 640 l +528 624 l +512 624 l +cs +528 624 m +528 640 l +544 640 l +544 624 l +528 624 l +fl +bl +528 624 m +528 640 l +544 640 l +544 624 l +528 624 l +cs +512 608 m +512 624 l +528 624 l +528 608 l +512 608 l +fl +bl +512 608 m +512 624 l +528 624 l +528 608 l +512 608 l +cs +528 608 m +528 624 l +544 624 l +544 608 l +528 608 l +fl +bl +528 608 m +528 624 l +544 624 l +544 608 l +528 608 l +cs +544 608 m +544 640 l +576 640 l +576 608 l +544 608 l +fl +bl +544 608 m +544 640 l +576 640 l +576 608 l +544 608 l +cs +512 592 m +512 608 l +528 608 l +528 592 l +512 592 l +fl +bl +512 592 m +512 608 l +528 608 l +528 592 l +512 592 l +cs +bl +528 592 m +528 608 l +544 608 l +544 592 l +528 592 l +cs +bl +hf 8.0 sf +531.2 593.6 m (16) show +512 576 m +512 592 l +528 592 l +528 576 l +512 576 l +fl +bl +512 576 m +512 592 l +528 592 l +528 576 l +512 576 l +cs +528 576 m +528 592 l +544 592 l +544 576 l +528 576 l +fl +bl +528 576 m +528 592 l +544 592 l +544 576 l +528 576 l +cs +544 592 m +544 608 l +560 608 l +560 592 l +544 592 l +fl +bl +544 592 m +544 608 l +560 608 l +560 592 l +544 592 l +cs +560 592 m +560 608 l +576 608 l +576 592 l +560 592 l +fl +bl +560 592 m +560 608 l +576 608 l +576 592 l +560 592 l +cs +544 576 m +544 592 l +560 592 l +560 576 l +544 576 l +fl +bl +544 576 m +544 592 l +560 592 l +560 576 l +544 576 l +cs +560 576 m +560 592 l +576 592 l +576 576 l +560 576 l +fl +bl +560 576 m +560 592 l +576 592 l +576 576 l +560 576 l +cs +bl +576 624 m +576 640 l +592 640 l +592 624 l +576 624 l +cs +bl +hf 8.0 sf +579.2 625.6 m (16) show +bl +592 624 m +592 640 l +608 640 l +608 624 l +592 624 l +cs +bl +hf 8.0 sf +595.2 625.6 m (16) show +576 608 m +576 624 l +592 624 l +592 608 l +576 608 l +fl +bl +576 608 m +576 624 l +592 624 l +592 608 l +576 608 l +cs +bl +592 608 m +592 624 l +608 624 l +608 608 l +592 608 l +cs +bl +hf 8.0 sf +595.2 609.6 m (16) show +608 608 m +608 640 l +640 640 l +640 608 l +608 608 l +fl +bl +608 608 m +608 640 l +640 640 l +640 608 l +608 608 l +cs +bl +576 592 m +576 608 l +592 608 l +592 592 l +576 592 l +cs +bl +hf 8.0 sf +579.2 593.6 m (16) show +bl +592 592 m +592 608 l +608 608 l +608 592 l +592 592 l +cs +bl +hf 8.0 sf +595.2 593.6 m (16) show +bl +576 576 m +576 592 l +592 592 l +592 576 l +576 576 l +cs +bl +hf 8.0 sf +579.2 577.6 m (16) show +bl +592 576 m +592 592 l +608 592 l +608 576 l +592 576 l +cs +bl +hf 8.0 sf +595.2 577.6 m (16) show +bl +608 592 m +608 608 l +624 608 l +624 592 l +608 592 l +cs +bl +hf 8.0 sf +611.2 593.6 m (16) show +bl +624 592 m +624 608 l +640 608 l +640 592 l +624 592 l +cs +bl +hf 8.0 sf +627.2 593.6 m (16) show +608 576 m +608 592 l +624 592 l +624 576 l +608 576 l +fl +bl +608 576 m +608 592 l +624 592 l +624 576 l +608 576 l +cs +bl +624 576 m +624 592 l +640 592 l +640 576 l +624 576 l +cs +bl +hf 8.0 sf +627.2 577.6 m (16) show +512 544 m +512 576 l +544 576 l +544 544 l +512 544 l +fl +bl +512 544 m +512 576 l +544 576 l +544 544 l +512 544 l +cs +544 544 m +544 576 l +576 576 l +576 544 l +544 544 l +fl +bl +544 544 m +544 576 l +576 576 l +576 544 l +544 544 l +cs +512 512 m +512 544 l +544 544 l +544 512 l +512 512 l +fl +bl +512 512 m +512 544 l +544 544 l +544 512 l +512 512 l +cs +544 512 m +544 544 l +576 544 l +576 512 l +544 512 l +fl +bl +544 512 m +544 544 l +576 544 l +576 512 l +544 512 l +cs +576 560 m +576 576 l +592 576 l +592 560 l +576 560 l +fl +bl +576 560 m +576 576 l +592 576 l +592 560 l +576 560 l +cs +592 560 m +592 576 l +608 576 l +608 560 l +592 560 l +fl +bl +592 560 m +592 576 l +608 576 l +608 560 l +592 560 l +cs +576 544 m +576 560 l +592 560 l +592 544 l +576 544 l +fl +bl +576 544 m +576 560 l +592 560 l +592 544 l +576 544 l +cs +592 544 m +592 560 l +608 560 l +608 544 l +592 544 l +fl +bl +592 544 m +592 560 l +608 560 l +608 544 l +592 544 l +cs +608 544 m +608 576 l +640 576 l +640 544 l +608 544 l +fl +bl +608 544 m +608 576 l +640 576 l +640 544 l +608 544 l +cs +576 528 m +576 544 l +592 544 l +592 528 l +576 528 l +fl +bl +576 528 m +576 544 l +592 544 l +592 528 l +576 528 l +cs +bl +592 528 m +592 544 l +608 544 l +608 528 l +592 528 l +cs +bl +hf 8.0 sf +595.2 529.6 m (16) show +576 512 m +576 528 l +592 528 l +592 512 l +576 512 l +fl +bl +576 512 m +576 528 l +592 528 l +592 512 l +576 512 l +cs +592 512 m +592 528 l +608 528 l +608 512 l +592 512 l +fl +bl +592 512 m +592 528 l +608 528 l +608 512 l +592 512 l +cs +608 528 m +608 544 l +624 544 l +624 528 l +608 528 l +fl +bl +608 528 m +608 544 l +624 544 l +624 528 l +608 528 l +cs +624 528 m +624 544 l +640 544 l +640 528 l +624 528 l +fl +bl +624 528 m +624 544 l +640 544 l +640 528 l +624 528 l +cs +608 512 m +608 528 l +624 528 l +624 512 l +608 512 l +fl +bl +608 512 m +608 528 l +624 528 l +624 512 l +608 512 l +cs +624 512 m +624 528 l +640 528 l +640 512 l +624 512 l +fl +bl +624 512 m +624 528 l +640 528 l +640 512 l +624 512 l +cs +640 608 m +640 640 l +672 640 l +672 608 l +640 608 l +fl +bl +640 608 m +640 640 l +672 640 l +672 608 l +640 608 l +cs +672 608 m +672 640 l +688 640 l +688 608 l +672 608 l +fl +bl +672 608 m +672 640 l +688 640 l +688 608 l +672 608 l +cs +640 576 m +640 608 l +672 608 l +672 576 l +640 576 l +fl +bl +640 576 m +640 608 l +672 608 l +672 576 l +640 576 l +cs +672 576 m +672 608 l +688 608 l +688 576 l +672 576 l +fl +bl +672 576 m +672 608 l +688 608 l +688 576 l +672 576 l +cs +688 576 m +688 640 l +704 640 l +704 576 l +688 576 l +fl +bl +688 576 m +688 640 l +704 640 l +704 576 l +688 576 l +cs +640 512 m +640 576 l +688 576 l +688 512 l +640 512 l +fl +bl +640 512 m +640 576 l +688 576 l +688 512 l +640 512 l +cs +688 512 m +688 576 l +704 576 l +704 512 l +688 512 l +fl +bl +688 512 m +688 576 l +704 576 l +704 512 l +688 512 l +cs +704 704 m +704 768 l +736 768 l +736 704 l +704 704 l +fl +bl +704 704 m +704 768 l +736 768 l +736 704 l +704 704 l +cs +736 704 m +736 768 l +752 768 l +752 704 l +736 704 l +fl +bl +736 704 m +736 768 l +752 768 l +752 704 l +736 704 l +cs +704 640 m +704 704 l +736 704 l +736 640 l +704 640 l +fl +bl +704 640 m +704 704 l +736 704 l +736 640 l +704 640 l +cs +736 640 m +736 704 l +752 704 l +752 640 l +736 640 l +fl +bl +736 640 m +736 704 l +752 704 l +752 640 l +736 640 l +cs +752 640 m +752 768 l +768 768 l +768 640 l +752 640 l +fl +bl +752 640 m +752 768 l +768 768 l +768 640 l +752 640 l +cs +bl +704 608 m +704 640 l +720 640 l +720 608 l +704 608 l +cs +bl +hf 8.0 sf +707.2 611.2 m (16) show +bl +720 608 m +720 640 l +736 640 l +736 608 l +720 608 l +cs +bl +hf 8.0 sf +723.2 611.2 m (16) show +bl +704 576 m +704 608 l +720 608 l +720 576 l +704 576 l +cs +bl +hf 8.0 sf +707.2 579.2 m (16) show +bl +720 576 m +720 608 l +736 608 l +736 576 l +720 576 l +cs +bl +hf 8.0 sf +723.2 579.2 m (16) show +bl +736 576 m +736 640 l +752 640 l +752 576 l +736 576 l +cs +bl +hf 8.0 sf +739.2 582.4 m (16) show +bl +704 544 m +704 576 l +720 576 l +720 544 l +704 544 l +cs +bl +hf 8.0 sf +707.2 547.2 m (16) show +bl +720 544 m +720 576 l +736 576 l +736 544 l +720 544 l +cs +bl +hf 8.0 sf +723.2 547.2 m (16) show +bl +704 512 m +704 544 l +720 544 l +720 512 l +704 512 l +cs +bl +hf 8.0 sf +707.2 515.2 m (16) show +bl +720 512 m +720 544 l +736 544 l +736 512 l +720 512 l +cs +bl +hf 8.0 sf +723.2 515.2 m (16) show +bl +736 512 m +736 576 l +752 576 l +752 512 l +736 512 l +cs +bl +hf 8.0 sf +739.2 518.4 m (16) show +bl +752 512 m +752 640 l +768 640 l +768 512 l +752 512 l +cs +bl +hf 8.0 sf +755.2 524.8 m (16) show +0 480 m +0 512 l +32 512 l +32 480 l +0 480 l +fl +bl +0 480 m +0 512 l +32 512 l +32 480 l +0 480 l +cs +32 480 m +32 512 l +64 512 l +64 480 l +32 480 l +fl +bl +32 480 m +32 512 l +64 512 l +64 480 l +32 480 l +cs +0 448 m +0 480 l +32 480 l +32 448 l +0 448 l +fl +bl +0 448 m +0 480 l +32 480 l +32 448 l +0 448 l +cs +32 448 m +32 480 l +64 480 l +64 448 l +32 448 l +fl +bl +32 448 m +32 480 l +64 480 l +64 448 l +32 448 l +cs +64 480 m +64 512 l +96 512 l +96 480 l +64 480 l +fl +bl +64 480 m +64 512 l +96 512 l +96 480 l +64 480 l +cs +96 480 m +96 512 l +128 512 l +128 480 l +96 480 l +fl +bl +96 480 m +96 512 l +128 512 l +128 480 l +96 480 l +cs +64 448 m +64 480 l +96 480 l +96 448 l +64 448 l +fl +bl +64 448 m +64 480 l +96 480 l +96 448 l +64 448 l +cs +96 448 m +96 480 l +128 480 l +128 448 l +96 448 l +fl +bl +96 448 m +96 480 l +128 480 l +128 448 l +96 448 l +cs +0 416 m +0 448 l +32 448 l +32 416 l +0 416 l +fl +bl +0 416 m +0 448 l +32 448 l +32 416 l +0 416 l +cs +32 416 m +32 448 l +64 448 l +64 416 l +32 416 l +fl +bl +32 416 m +32 448 l +64 448 l +64 416 l +32 416 l +cs +0 384 m +0 416 l +32 416 l +32 384 l +0 384 l +fl +bl +0 384 m +0 416 l +32 416 l +32 384 l +0 384 l +cs +32 384 m +32 416 l +64 416 l +64 384 l +32 384 l +fl +bl +32 384 m +32 416 l +64 416 l +64 384 l +32 384 l +cs +64 416 m +64 448 l +96 448 l +96 416 l +64 416 l +fl +bl +64 416 m +64 448 l +96 448 l +96 416 l +64 416 l +cs +96 416 m +96 448 l +128 448 l +128 416 l +96 416 l +fl +bl +96 416 m +96 448 l +128 448 l +128 416 l +96 416 l +cs +64 384 m +64 416 l +96 416 l +96 384 l +64 384 l +fl +bl +64 384 m +64 416 l +96 416 l +96 384 l +64 384 l +cs +96 384 m +96 416 l +128 416 l +128 384 l +96 384 l +fl +bl +96 384 m +96 416 l +128 416 l +128 384 l +96 384 l +cs +bl +128 496 m +128 512 l +144 512 l +144 496 l +128 496 l +cs +bl +hf 8.0 sf +131.2 497.6 m (16) show +bl +144 496 m +144 512 l +160 512 l +160 496 l +144 496 l +cs +bl +hf 8.0 sf +147.2 497.6 m (16) show +bl +128 480 m +128 496 l +144 496 l +144 480 l +128 480 l +cs +bl +hf 8.0 sf +131.2 481.6 m (16) show +bl +144 480 m +144 496 l +160 496 l +160 480 l +144 480 l +cs +bl +hf 8.0 sf +147.2 481.6 m (16) show +bl +160 496 m +160 512 l +176 512 l +176 496 l +160 496 l +cs +bl +hf 8.0 sf +163.2 497.6 m (16) show +bl +176 496 m +176 512 l +192 512 l +192 496 l +176 496 l +cs +bl +hf 8.0 sf +179.2 497.6 m (16) show +bl +160 480 m +160 496 l +176 496 l +176 480 l +160 480 l +cs +bl +hf 8.0 sf +163.2 481.6 m (16) show +bl +176 480 m +176 496 l +192 496 l +192 480 l +176 480 l +cs +bl +hf 8.0 sf +179.2 481.6 m (16) show +128 448 m +128 480 l +160 480 l +160 448 l +128 448 l +fl +bl +128 448 m +128 480 l +160 480 l +160 448 l +128 448 l +cs +bl +160 464 m +160 480 l +176 480 l +176 464 l +160 464 l +cs +bl +hf 8.0 sf +163.2 465.6 m (16) show +bl +176 464 m +176 480 l +192 480 l +192 464 l +176 464 l +cs +bl +hf 8.0 sf +179.2 465.6 m (16) show +bl +160 448 m +160 464 l +176 464 l +176 448 l +160 448 l +cs +bl +hf 8.0 sf +163.2 449.6 m (16) show +bl +176 448 m +176 464 l +192 464 l +192 448 l +176 448 l +cs +bl +hf 8.0 sf +179.2 449.6 m (16) show +bl +192 496 m +192 512 l +208 512 l +208 496 l +192 496 l +cs +bl +hf 8.0 sf +195.2 497.6 m (16) show +208 496 m +208 512 l +224 512 l +224 496 l +208 496 l +fl +bl +208 496 m +208 512 l +224 512 l +224 496 l +208 496 l +cs +bl +192 480 m +192 496 l +208 496 l +208 480 l +192 480 l +cs +bl +hf 8.0 sf +195.2 481.6 m (16) show +bl +208 480 m +208 496 l +224 496 l +224 480 l +208 480 l +cs +bl +hf 8.0 sf +211.2 481.6 m (16) show +bl +224 496 m +224 512 l +240 512 l +240 496 l +224 496 l +cs +bl +hf 8.0 sf +227.2 497.6 m (16) show +bl +240 496 m +240 512 l +256 512 l +256 496 l +240 496 l +cs +bl +hf 8.0 sf +243.2 497.6 m (16) show +bl +224 480 m +224 496 l +240 496 l +240 480 l +224 480 l +cs +bl +hf 8.0 sf +227.2 481.6 m (16) show +bl +240 480 m +240 496 l +256 496 l +256 480 l +240 480 l +cs +bl +hf 8.0 sf +243.2 481.6 m (16) show +192 448 m +192 480 l +224 480 l +224 448 l +192 448 l +fl +bl +192 448 m +192 480 l +224 480 l +224 448 l +192 448 l +cs +bl +224 464 m +224 480 l +240 480 l +240 464 l +224 464 l +cs +bl +hf 8.0 sf +227.2 465.6 m (16) show +240 464 m +240 480 l +256 480 l +256 464 l +240 464 l +fl +bl +240 464 m +240 480 l +256 480 l +256 464 l +240 464 l +cs +bl +224 448 m +224 464 l +240 464 l +240 448 l +224 448 l +cs +bl +hf 8.0 sf +227.2 449.6 m (16) show +bl +240 448 m +240 464 l +256 464 l +256 448 l +240 448 l +cs +bl +hf 8.0 sf +243.2 449.6 m (16) show +bl +128 432 m +128 448 l +144 448 l +144 432 l +128 432 l +cs +bl +hf 8.0 sf +131.2 433.6 m (16) show +bl +144 432 m +144 448 l +160 448 l +160 432 l +144 432 l +cs +bl +hf 8.0 sf +147.2 433.6 m (16) show +128 416 m +128 432 l +144 432 l +144 416 l +128 416 l +fl +bl +128 416 m +128 432 l +144 432 l +144 416 l +128 416 l +cs +bl +144 416 m +144 432 l +160 432 l +160 416 l +144 416 l +cs +bl +hf 8.0 sf +147.2 417.6 m (16) show +bl +160 432 m +160 448 l +176 448 l +176 432 l +160 432 l +cs +bl +hf 8.0 sf +163.2 433.6 m (16) show +bl +176 432 m +176 448 l +192 448 l +192 432 l +176 432 l +cs +bl +hf 8.0 sf +179.2 433.6 m (16) show +bl +160 416 m +160 432 l +176 432 l +176 416 l +160 416 l +cs +bl +hf 8.0 sf +163.2 417.6 m (16) show +bl +176 416 m +176 432 l +192 432 l +192 416 l +176 416 l +cs +bl +hf 8.0 sf +179.2 417.6 m (16) show +128 384 m +128 416 l +160 416 l +160 384 l +128 384 l +fl +bl +128 384 m +128 416 l +160 416 l +160 384 l +128 384 l +cs +bl +160 400 m +160 416 l +176 416 l +176 400 l +160 400 l +cs +bl +hf 8.0 sf +163.2 401.6 m (16) show +bl +176 400 m +176 416 l +192 416 l +192 400 l +176 400 l +cs +bl +hf 8.0 sf +179.2 401.6 m (16) show +160 384 m +160 400 l +176 400 l +176 384 l +160 384 l +fl +bl +160 384 m +160 400 l +176 400 l +176 384 l +160 384 l +cs +bl +176 384 m +176 400 l +192 400 l +192 384 l +176 384 l +cs +bl +hf 8.0 sf +179.2 385.6 m (16) show +bl +192 432 m +192 448 l +208 448 l +208 432 l +192 432 l +cs +bl +hf 8.0 sf +195.2 433.6 m (16) show +bl +208 432 m +208 448 l +224 448 l +224 432 l +208 432 l +cs +bl +hf 8.0 sf +211.2 433.6 m (16) show +bl +192 416 m +192 432 l +208 432 l +208 416 l +192 416 l +cs +bl +hf 8.0 sf +195.2 417.6 m (16) show +bl +208 416 m +208 432 l +224 432 l +224 416 l +208 416 l +cs +bl +hf 8.0 sf +211.2 417.6 m (16) show +bl +224 432 m +224 448 l +240 448 l +240 432 l +224 432 l +cs +bl +hf 8.0 sf +227.2 433.6 m (16) show +bl +240 432 m +240 448 l +256 448 l +256 432 l +240 432 l +cs +bl +hf 8.0 sf +243.2 433.6 m (16) show +bl +224 416 m +224 432 l +240 432 l +240 416 l +224 416 l +cs +bl +hf 8.0 sf +227.2 417.6 m (16) show +bl +240 416 m +240 432 l +256 432 l +256 416 l +240 416 l +cs +bl +hf 8.0 sf +243.2 417.6 m (16) show +192 384 m +192 416 l +224 416 l +224 384 l +192 384 l +fl +bl +192 384 m +192 416 l +224 416 l +224 384 l +192 384 l +cs +bl +224 400 m +224 416 l +240 416 l +240 400 l +224 400 l +cs +bl +hf 8.0 sf +227.2 401.6 m (16) show +bl +240 400 m +240 416 l +256 416 l +256 400 l +240 400 l +cs +bl +hf 8.0 sf +243.2 401.6 m (16) show +bl +224 384 m +224 400 l +240 400 l +240 384 l +224 384 l +cs +bl +hf 8.0 sf +227.2 385.6 m (16) show +bl +240 384 m +240 400 l +256 400 l +256 384 l +240 384 l +cs +bl +hf 8.0 sf +243.2 385.6 m (16) show +0 320 m +0 384 l +128 384 l +128 320 l +0 320 l +fl +bl +0 320 m +0 384 l +128 384 l +128 320 l +0 320 l +cs +128 352 m +128 384 l +160 384 l +160 352 l +128 352 l +fl +bl +128 352 m +128 384 l +160 384 l +160 352 l +128 352 l +cs +160 352 m +160 384 l +192 384 l +192 352 l +160 352 l +fl +bl +160 352 m +160 384 l +192 384 l +192 352 l +160 352 l +cs +128 336 m +128 352 l +160 352 l +160 336 l +128 336 l +fl +bl +128 336 m +128 352 l +160 352 l +160 336 l +128 336 l +cs +160 336 m +160 352 l +192 352 l +192 336 l +160 336 l +fl +bl +160 336 m +160 352 l +192 352 l +192 336 l +160 336 l +cs +192 352 m +192 384 l +224 384 l +224 352 l +192 352 l +fl +bl +192 352 m +192 384 l +224 384 l +224 352 l +192 352 l +cs +224 352 m +224 384 l +256 384 l +256 352 l +224 352 l +fl +bl +224 352 m +224 384 l +256 384 l +256 352 l +224 352 l +cs +192 336 m +192 352 l +224 352 l +224 336 l +192 336 l +fl +bl +192 336 m +192 352 l +224 352 l +224 336 l +192 336 l +cs +224 336 m +224 352 l +256 352 l +256 336 l +224 336 l +fl +bl +224 336 m +224 352 l +256 352 l +256 336 l +224 336 l +cs +128 320 m +128 336 l +192 336 l +192 320 l +128 320 l +fl +bl +128 320 m +128 336 l +192 336 l +192 320 l +128 320 l +cs +192 320 m +192 336 l +256 336 l +256 320 l +192 320 l +fl +bl +192 320 m +192 336 l +256 336 l +256 320 l +192 320 l +cs +256 480 m +256 512 l +288 512 l +288 480 l +256 480 l +fl +bl +256 480 m +256 512 l +288 512 l +288 480 l +256 480 l +cs +288 480 m +288 512 l +320 512 l +320 480 l +288 480 l +fl +bl +288 480 m +288 512 l +320 512 l +320 480 l +288 480 l +cs +256 448 m +256 480 l +288 480 l +288 448 l +256 448 l +fl +bl +256 448 m +256 480 l +288 480 l +288 448 l +256 448 l +cs +288 448 m +288 480 l +320 480 l +320 448 l +288 448 l +fl +bl +288 448 m +288 480 l +320 480 l +320 448 l +288 448 l +cs +320 448 m +320 512 l +384 512 l +384 448 l +320 448 l +fl +bl +320 448 m +320 512 l +384 512 l +384 448 l +320 448 l +cs +256 416 m +256 448 l +288 448 l +288 416 l +256 416 l +fl +bl +256 416 m +256 448 l +288 448 l +288 416 l +256 416 l +cs +288 416 m +288 448 l +320 448 l +320 416 l +288 416 l +fl +bl +288 416 m +288 448 l +320 448 l +320 416 l +288 416 l +cs +256 384 m +256 416 l +288 416 l +288 384 l +256 384 l +fl +bl +256 384 m +256 416 l +288 416 l +288 384 l +256 384 l +cs +288 384 m +288 416 l +320 416 l +320 384 l +288 384 l +fl +bl +288 384 m +288 416 l +320 416 l +320 384 l +288 384 l +cs +320 416 m +320 448 l +352 448 l +352 416 l +320 416 l +fl +bl +320 416 m +320 448 l +352 448 l +352 416 l +320 416 l +cs +352 416 m +352 448 l +384 448 l +384 416 l +352 416 l +fl +bl +352 416 m +352 448 l +384 448 l +384 416 l +352 416 l +cs +320 384 m +320 416 l +352 416 l +352 384 l +320 384 l +fl +bl +320 384 m +320 416 l +352 416 l +352 384 l +320 384 l +cs +352 384 m +352 416 l +384 416 l +384 384 l +352 384 l +fl +bl +352 384 m +352 416 l +384 416 l +384 384 l +352 384 l +cs +384 496 m +384 512 l +400 512 l +400 496 l +384 496 l +fl +bl +384 496 m +384 512 l +400 512 l +400 496 l +384 496 l +cs +400 496 m +400 512 l +416 512 l +416 496 l +400 496 l +fl +bl +400 496 m +400 512 l +416 512 l +416 496 l +400 496 l +cs +384 480 m +384 496 l +400 496 l +400 480 l +384 480 l +fl +bl +384 480 m +384 496 l +400 496 l +400 480 l +384 480 l +cs +400 480 m +400 496 l +416 496 l +416 480 l +400 480 l +fl +bl +400 480 m +400 496 l +416 496 l +416 480 l +400 480 l +cs +416 496 m +416 512 l +432 512 l +432 496 l +416 496 l +fl +bl +416 496 m +416 512 l +432 512 l +432 496 l +416 496 l +cs +432 496 m +432 512 l +448 512 l +448 496 l +432 496 l +fl +bl +432 496 m +432 512 l +448 512 l +448 496 l +432 496 l +cs +bl +416 480 m +416 496 l +432 496 l +432 480 l +416 480 l +cs +bl +hf 8.0 sf +419.2 481.6 m (16) show +432 480 m +432 496 l +448 496 l +448 480 l +432 480 l +fl +bl +432 480 m +432 496 l +448 496 l +448 480 l +432 480 l +cs +384 448 m +384 480 l +416 480 l +416 448 l +384 448 l +fl +bl +384 448 m +384 480 l +416 480 l +416 448 l +384 448 l +cs +416 464 m +416 480 l +432 480 l +432 464 l +416 464 l +fl +bl +416 464 m +416 480 l +432 480 l +432 464 l +416 464 l +cs +432 464 m +432 480 l +448 480 l +448 464 l +432 464 l +fl +bl +432 464 m +432 480 l +448 480 l +448 464 l +432 464 l +cs +416 448 m +416 464 l +432 464 l +432 448 l +416 448 l +fl +bl +416 448 m +416 464 l +432 464 l +432 448 l +416 448 l +cs +432 448 m +432 464 l +448 464 l +448 448 l +432 448 l +fl +bl +432 448 m +432 464 l +448 464 l +448 448 l +432 448 l +cs +448 480 m +448 512 l +480 512 l +480 480 l +448 480 l +fl +bl +448 480 m +448 512 l +480 512 l +480 480 l +448 480 l +cs +480 480 m +480 512 l +512 512 l +512 480 l +480 480 l +fl +bl +480 480 m +480 512 l +512 512 l +512 480 l +480 480 l +cs +448 448 m +448 480 l +480 480 l +480 448 l +448 448 l +fl +bl +448 448 m +448 480 l +480 480 l +480 448 l +448 448 l +cs +480 448 m +480 480 l +512 480 l +512 448 l +480 448 l +fl +bl +480 448 m +480 480 l +512 480 l +512 448 l +480 448 l +cs +bl +384 432 m +384 448 l +400 448 l +400 432 l +384 432 l +cs +bl +hf 8.0 sf +387.2 433.6 m (16) show +400 432 m +400 448 l +416 448 l +416 432 l +400 432 l +fl +bl +400 432 m +400 448 l +416 448 l +416 432 l +400 432 l +cs +bl +384 416 m +384 432 l +400 432 l +400 416 l +384 416 l +cs +bl +hf 8.0 sf +387.2 417.6 m (16) show +bl +400 416 m +400 432 l +416 432 l +416 416 l +400 416 l +cs +bl +hf 8.0 sf +403.2 417.6 m (16) show +bl +416 432 m +416 448 l +432 448 l +432 432 l +416 432 l +cs +bl +hf 8.0 sf +419.2 433.6 m (16) show +bl +432 432 m +432 448 l +448 448 l +448 432 l +432 432 l +cs +bl +hf 8.0 sf +435.2 433.6 m (16) show +bl +416 416 m +416 432 l +432 432 l +432 416 l +416 416 l +cs +bl +hf 8.0 sf +419.2 417.6 m (16) show +bl +432 416 m +432 432 l +448 432 l +448 416 l +432 416 l +cs +bl +hf 8.0 sf +435.2 417.6 m (16) show +384 384 m +384 416 l +416 416 l +416 384 l +384 384 l +fl +bl +384 384 m +384 416 l +416 416 l +416 384 l +384 384 l +cs +bl +416 400 m +416 416 l +432 416 l +432 400 l +416 400 l +cs +bl +hf 8.0 sf +419.2 401.6 m (16) show +432 400 m +432 416 l +448 416 l +448 400 l +432 400 l +fl +bl +432 400 m +432 416 l +448 416 l +448 400 l +432 400 l +cs +bl +416 384 m +416 400 l +432 400 l +432 384 l +416 384 l +cs +bl +hf 8.0 sf +419.2 385.6 m (16) show +bl +432 384 m +432 400 l +448 400 l +448 384 l +432 384 l +cs +bl +hf 8.0 sf +435.2 385.6 m (16) show +448 432 m +448 448 l +464 448 l +464 432 l +448 432 l +fl +bl +448 432 m +448 448 l +464 448 l +464 432 l +448 432 l +cs +464 432 m +464 448 l +480 448 l +480 432 l +464 432 l +fl +bl +464 432 m +464 448 l +480 448 l +480 432 l +464 432 l +cs +448 416 m +448 432 l +464 432 l +464 416 l +448 416 l +fl +bl +448 416 m +448 432 l +464 432 l +464 416 l +448 416 l +cs +464 416 m +464 432 l +480 432 l +480 416 l +464 416 l +fl +bl +464 416 m +464 432 l +480 432 l +480 416 l +464 416 l +cs +480 432 m +480 448 l +496 448 l +496 432 l +480 432 l +fl +bl +480 432 m +480 448 l +496 448 l +496 432 l +480 432 l +cs +496 432 m +496 448 l +512 448 l +512 432 l +496 432 l +fl +bl +496 432 m +496 448 l +512 448 l +512 432 l +496 432 l +cs +bl +480 416 m +480 432 l +496 432 l +496 416 l +480 416 l +cs +bl +hf 8.0 sf +483.2 417.6 m (16) show +496 416 m +496 432 l +512 432 l +512 416 l +496 416 l +fl +bl +496 416 m +496 432 l +512 432 l +512 416 l +496 416 l +cs +448 384 m +448 416 l +480 416 l +480 384 l +448 384 l +fl +bl +448 384 m +448 416 l +480 416 l +480 384 l +448 384 l +cs +480 400 m +480 416 l +496 416 l +496 400 l +480 400 l +fl +bl +480 400 m +480 416 l +496 416 l +496 400 l +480 400 l +cs +496 400 m +496 416 l +512 416 l +512 400 l +496 400 l +fl +bl +496 400 m +496 416 l +512 416 l +512 400 l +496 400 l +cs +480 384 m +480 400 l +496 400 l +496 384 l +480 384 l +fl +bl +480 384 m +480 400 l +496 400 l +496 384 l +480 384 l +cs +496 384 m +496 400 l +512 400 l +512 384 l +496 384 l +fl +bl +496 384 m +496 400 l +512 400 l +512 384 l +496 384 l +cs +256 320 m +256 384 l +384 384 l +384 320 l +256 320 l +fl +bl +256 320 m +256 384 l +384 384 l +384 320 l +256 320 l +cs +384 352 m +384 384 l +416 384 l +416 352 l +384 352 l +fl +bl +384 352 m +384 384 l +416 384 l +416 352 l +384 352 l +cs +416 352 m +416 384 l +448 384 l +448 352 l +416 352 l +fl +bl +416 352 m +416 384 l +448 384 l +448 352 l +416 352 l +cs +384 336 m +384 352 l +416 352 l +416 336 l +384 336 l +fl +bl +384 336 m +384 352 l +416 352 l +416 336 l +384 336 l +cs +416 336 m +416 352 l +448 352 l +448 336 l +416 336 l +fl +bl +416 336 m +416 352 l +448 352 l +448 336 l +416 336 l +cs +448 336 m +448 384 l +512 384 l +512 336 l +448 336 l +fl +bl +448 336 m +448 384 l +512 384 l +512 336 l +448 336 l +cs +384 320 m +384 336 l +448 336 l +448 320 l +384 320 l +fl +bl +384 320 m +384 336 l +448 336 l +448 320 l +384 320 l +cs +448 320 m +448 336 l +512 336 l +512 320 l +448 320 l +fl +bl +448 320 m +448 336 l +512 336 l +512 320 l +448 320 l +cs +0 288 m +0 320 l +64 320 l +64 288 l +0 288 l +fl +bl +0 288 m +0 320 l +64 320 l +64 288 l +0 288 l +cs +64 288 m +64 320 l +128 320 l +128 288 l +64 288 l +fl +bl +64 288 m +64 320 l +128 320 l +128 288 l +64 288 l +cs +0 272 m +0 288 l +64 288 l +64 272 l +0 272 l +fl +bl +0 272 m +0 288 l +64 288 l +64 272 l +0 272 l +cs +64 272 m +64 288 l +128 288 l +128 272 l +64 272 l +fl +bl +64 272 m +64 288 l +128 288 l +128 272 l +64 272 l +cs +128 304 m +128 320 l +160 320 l +160 304 l +128 304 l +fl +bl +128 304 m +128 320 l +160 320 l +160 304 l +128 304 l +cs +bl +160 304 m +160 320 l +192 320 l +192 304 l +160 304 l +cs +bl +hf 8.0 sf +166.4 305.6 m (16) show +128 288 m +128 304 l +160 304 l +160 288 l +128 288 l +fl +bl +128 288 m +128 304 l +160 304 l +160 288 l +128 288 l +cs +160 288 m +160 304 l +192 304 l +192 288 l +160 288 l +fl +bl +160 288 m +160 304 l +192 304 l +192 288 l +160 288 l +cs +bl +192 304 m +192 320 l +224 320 l +224 304 l +192 304 l +cs +bl +hf 8.0 sf +198.4 305.6 m (16) show +bl +224 304 m +224 320 l +256 320 l +256 304 l +224 304 l +cs +bl +hf 8.0 sf +230.4 305.6 m (16) show +bl +192 288 m +192 304 l +224 304 l +224 288 l +192 288 l +cs +bl +hf 8.0 sf +198.4 289.6 m (16) show +bl +224 288 m +224 304 l +256 304 l +256 288 l +224 288 l +cs +bl +hf 8.0 sf +230.4 289.6 m (16) show +bl +128 272 m +128 288 l +192 288 l +192 272 l +128 272 l +cs +bl +hf 8.0 sf +140.8 273.6 m (16) show +bl +192 272 m +192 288 l +256 288 l +256 272 l +192 272 l +cs +bl +hf 8.0 sf +204.8 273.6 m (16) show +0 256 m +0 272 l +128 272 l +128 256 l +0 256 l +fl +bl +0 256 m +0 272 l +128 272 l +128 256 l +0 256 l +cs +bl +128 256 m +128 272 l +256 272 l +256 256 l +128 256 l +cs +bl +hf 8.0 sf +153.6 257.6 m (16) show +256 288 m +256 320 l +320 320 l +320 288 l +256 288 l +fl +bl +256 288 m +256 320 l +320 320 l +320 288 l +256 288 l +cs +320 288 m +320 320 l +384 320 l +384 288 l +320 288 l +fl +bl +320 288 m +320 320 l +384 320 l +384 288 l +320 288 l +cs +256 272 m +256 288 l +320 288 l +320 272 l +256 272 l +fl +bl +256 272 m +256 288 l +320 288 l +320 272 l +256 272 l +cs +320 272 m +320 288 l +384 288 l +384 272 l +320 272 l +fl +bl +320 272 m +320 288 l +384 288 l +384 272 l +320 272 l +cs +bl +384 304 m +384 320 l +416 320 l +416 304 l +384 304 l +cs +bl +hf 8.0 sf +390.4 305.6 m (16) show +bl +416 304 m +416 320 l +448 320 l +448 304 l +416 304 l +cs +bl +hf 8.0 sf +422.4 305.6 m (16) show +bl +384 288 m +384 304 l +416 304 l +416 288 l +384 288 l +cs +bl +hf 8.0 sf +390.4 289.6 m (16) show +bl +416 288 m +416 304 l +448 304 l +448 288 l +416 288 l +cs +bl +hf 8.0 sf +422.4 289.6 m (16) show +bl +448 304 m +448 320 l +480 320 l +480 304 l +448 304 l +cs +bl +hf 8.0 sf +454.4 305.6 m (16) show +bl +480 304 m +480 320 l +512 320 l +512 304 l +480 304 l +cs +bl +hf 8.0 sf +486.4 305.6 m (16) show +bl +448 288 m +448 304 l +480 304 l +480 288 l +448 288 l +cs +bl +hf 8.0 sf +454.4 289.6 m (16) show +bl +480 288 m +480 304 l +512 304 l +512 288 l +480 288 l +cs +bl +hf 8.0 sf +486.4 289.6 m (16) show +bl +384 272 m +384 288 l +448 288 l +448 272 l +384 272 l +cs +bl +hf 8.0 sf +396.8 273.6 m (16) show +bl +448 272 m +448 288 l +512 288 l +512 272 l +448 272 l +cs +bl +hf 8.0 sf +460.8 273.6 m (16) show +256 256 m +256 272 l +384 272 l +384 256 l +256 256 l +fl +bl +256 256 m +256 272 l +384 272 l +384 256 l +256 256 l +cs +bl +384 256 m +384 272 l +512 272 l +512 256 l +384 256 l +cs +bl +hf 8.0 sf +409.6 257.6 m (16) show +bl +512 496 m +512 512 l +528 512 l +528 496 l +512 496 l +cs +bl +hf 8.0 sf +515.2 497.6 m (16) show +bl +528 496 m +528 512 l +544 512 l +544 496 l +528 496 l +cs +bl +hf 8.0 sf +531.2 497.6 m (16) show +bl +512 480 m +512 496 l +528 496 l +528 480 l +512 480 l +cs +bl +hf 8.0 sf +515.2 481.6 m (16) show +bl +528 480 m +528 496 l +544 496 l +544 480 l +528 480 l +cs +bl +hf 8.0 sf +531.2 481.6 m (16) show +bl +544 496 m +544 512 l +560 512 l +560 496 l +544 496 l +cs +bl +hf 8.0 sf +547.2 497.6 m (16) show +bl +560 496 m +560 512 l +576 512 l +576 496 l +560 496 l +cs +bl +hf 8.0 sf +563.2 497.6 m (16) show +bl +544 480 m +544 496 l +560 496 l +560 480 l +544 480 l +cs +bl +hf 8.0 sf +547.2 481.6 m (16) show +bl +560 480 m +560 496 l +576 496 l +576 480 l +560 480 l +cs +bl +hf 8.0 sf +563.2 481.6 m (16) show +bl +512 464 m +512 480 l +528 480 l +528 464 l +512 464 l +cs +bl +hf 8.0 sf +515.2 465.6 m (16) show +bl +528 464 m +528 480 l +544 480 l +544 464 l +528 464 l +cs +bl +hf 8.0 sf +531.2 465.6 m (16) show +bl +512 448 m +512 464 l +528 464 l +528 448 l +512 448 l +cs +bl +hf 8.0 sf +515.2 449.6 m (16) show +bl +528 448 m +528 464 l +544 464 l +544 448 l +528 448 l +cs +bl +hf 8.0 sf +531.2 449.6 m (16) show +bl +544 464 m +544 480 l +560 480 l +560 464 l +544 464 l +cs +bl +hf 8.0 sf +547.2 465.6 m (16) show +bl +560 464 m +560 480 l +576 480 l +576 464 l +560 464 l +cs +bl +hf 8.0 sf +563.2 465.6 m (16) show +bl +544 448 m +544 464 l +560 464 l +560 448 l +544 448 l +cs +bl +hf 8.0 sf +547.2 449.6 m (16) show +bl +560 448 m +560 464 l +576 464 l +576 448 l +560 448 l +cs +bl +hf 8.0 sf +563.2 449.6 m (16) show +bl +576 496 m +576 512 l +592 512 l +592 496 l +576 496 l +cs +bl +hf 8.0 sf +579.2 497.6 m (16) show +bl +592 496 m +592 512 l +608 512 l +608 496 l +592 496 l +cs +bl +hf 8.0 sf +595.2 497.6 m (16) show +bl +576 480 m +576 496 l +592 496 l +592 480 l +576 480 l +cs +bl +hf 8.0 sf +579.2 481.6 m (16) show +bl +592 480 m +592 496 l +608 496 l +608 480 l +592 480 l +cs +bl +hf 8.0 sf +595.2 481.6 m (16) show +bl +608 496 m +608 512 l +624 512 l +624 496 l +608 496 l +cs +bl +hf 8.0 sf +611.2 497.6 m (16) show +bl +624 496 m +624 512 l +640 512 l +640 496 l +624 496 l +cs +bl +hf 8.0 sf +627.2 497.6 m (16) show +bl +608 480 m +608 496 l +624 496 l +624 480 l +608 480 l +cs +bl +hf 8.0 sf +611.2 481.6 m (16) show +bl +624 480 m +624 496 l +640 496 l +640 480 l +624 480 l +cs +bl +hf 8.0 sf +627.2 481.6 m (16) show +bl +576 464 m +576 480 l +592 480 l +592 464 l +576 464 l +cs +bl +hf 8.0 sf +579.2 465.6 m (16) show +bl +592 464 m +592 480 l +608 480 l +608 464 l +592 464 l +cs +bl +hf 8.0 sf +595.2 465.6 m (16) show +bl +576 448 m +576 464 l +592 464 l +592 448 l +576 448 l +cs +bl +hf 8.0 sf +579.2 449.6 m (16) show +bl +592 448 m +592 464 l +608 464 l +608 448 l +592 448 l +cs +bl +hf 8.0 sf +595.2 449.6 m (16) show +bl +608 464 m +608 480 l +624 480 l +624 464 l +608 464 l +cs +bl +hf 8.0 sf +611.2 465.6 m (16) show +bl +624 464 m +624 480 l +640 480 l +640 464 l +624 464 l +cs +bl +hf 8.0 sf +627.2 465.6 m (16) show +bl +608 448 m +608 464 l +624 464 l +624 448 l +608 448 l +cs +bl +hf 8.0 sf +611.2 449.6 m (16) show +bl +624 448 m +624 464 l +640 464 l +640 448 l +624 448 l +cs +bl +hf 8.0 sf +627.2 449.6 m (16) show +bl +512 432 m +512 448 l +528 448 l +528 432 l +512 432 l +cs +bl +hf 8.0 sf +515.2 433.6 m (16) show +bl +528 432 m +528 448 l +544 448 l +544 432 l +528 432 l +cs +bl +hf 8.0 sf +531.2 433.6 m (16) show +bl +512 416 m +512 432 l +528 432 l +528 416 l +512 416 l +cs +bl +hf 8.0 sf +515.2 417.6 m (16) show +bl +528 416 m +528 432 l +544 432 l +544 416 l +528 416 l +cs +bl +hf 8.0 sf +531.2 417.6 m (16) show +bl +544 432 m +544 448 l +560 448 l +560 432 l +544 432 l +cs +bl +hf 8.0 sf +547.2 433.6 m (16) show +bl +560 432 m +560 448 l +576 448 l +576 432 l +560 432 l +cs +bl +hf 8.0 sf +563.2 433.6 m (16) show +bl +544 416 m +544 432 l +560 432 l +560 416 l +544 416 l +cs +bl +hf 8.0 sf +547.2 417.6 m (16) show +bl +560 416 m +560 432 l +576 432 l +576 416 l +560 416 l +cs +bl +hf 8.0 sf +563.2 417.6 m (16) show +bl +512 400 m +512 416 l +528 416 l +528 400 l +512 400 l +cs +bl +hf 8.0 sf +515.2 401.6 m (16) show +bl +528 400 m +528 416 l +544 416 l +544 400 l +528 400 l +cs +bl +hf 8.0 sf +531.2 401.6 m (16) show +bl +512 384 m +512 400 l +528 400 l +528 384 l +512 384 l +cs +bl +hf 8.0 sf +515.2 385.6 m (16) show +bl +528 384 m +528 400 l +544 400 l +544 384 l +528 384 l +cs +bl +hf 8.0 sf +531.2 385.6 m (16) show +bl +544 400 m +544 416 l +560 416 l +560 400 l +544 400 l +cs +bl +hf 8.0 sf +547.2 401.6 m (16) show +bl +560 400 m +560 416 l +576 416 l +576 400 l +560 400 l +cs +bl +hf 8.0 sf +563.2 401.6 m (16) show +bl +544 384 m +544 400 l +560 400 l +560 384 l +544 384 l +cs +bl +hf 8.0 sf +547.2 385.6 m (16) show +bl +560 384 m +560 400 l +576 400 l +576 384 l +560 384 l +cs +bl +hf 8.0 sf +563.2 385.6 m (16) show +bl +576 432 m +576 448 l +592 448 l +592 432 l +576 432 l +cs +bl +hf 8.0 sf +579.2 433.6 m (16) show +bl +592 432 m +592 448 l +608 448 l +608 432 l +592 432 l +cs +bl +hf 8.0 sf +595.2 433.6 m (16) show +bl +576 416 m +576 432 l +592 432 l +592 416 l +576 416 l +cs +bl +hf 8.0 sf +579.2 417.6 m (16) show +bl +592 416 m +592 432 l +608 432 l +608 416 l +592 416 l +cs +bl +hf 8.0 sf +595.2 417.6 m (16) show +bl +608 432 m +608 448 l +624 448 l +624 432 l +608 432 l +cs +bl +hf 8.0 sf +611.2 433.6 m (16) show +bl +624 432 m +624 448 l +640 448 l +640 432 l +624 432 l +cs +bl +hf 8.0 sf +627.2 433.6 m (16) show +bl +608 416 m +608 432 l +624 432 l +624 416 l +608 416 l +cs +bl +hf 8.0 sf +611.2 417.6 m (16) show +bl +624 416 m +624 432 l +640 432 l +640 416 l +624 416 l +cs +bl +hf 8.0 sf +627.2 417.6 m (16) show +bl +576 400 m +576 416 l +592 416 l +592 400 l +576 400 l +cs +bl +hf 8.0 sf +579.2 401.6 m (16) show +bl +592 400 m +592 416 l +608 416 l +608 400 l +592 400 l +cs +bl +hf 8.0 sf +595.2 401.6 m (16) show +bl +576 384 m +576 400 l +592 400 l +592 384 l +576 384 l +cs +bl +hf 8.0 sf +579.2 385.6 m (16) show +bl +592 384 m +592 400 l +608 400 l +608 384 l +592 384 l +cs +bl +hf 8.0 sf +595.2 385.6 m (16) show +bl +608 400 m +608 416 l +624 416 l +624 400 l +608 400 l +cs +bl +hf 8.0 sf +611.2 401.6 m (16) show +bl +624 400 m +624 416 l +640 416 l +640 400 l +624 400 l +cs +bl +hf 8.0 sf +627.2 401.6 m (16) show +bl +608 384 m +608 400 l +624 400 l +624 384 l +608 384 l +cs +bl +hf 8.0 sf +611.2 385.6 m (16) show +bl +624 384 m +624 400 l +640 400 l +640 384 l +624 384 l +cs +bl +hf 8.0 sf +627.2 385.6 m (16) show +bl +640 496 m +640 512 l +656 512 l +656 496 l +640 496 l +cs +bl +hf 8.0 sf +643.2 497.6 m (16) show +bl +656 496 m +656 512 l +672 512 l +672 496 l +656 496 l +cs +bl +hf 8.0 sf +659.2 497.6 m (16) show +bl +640 480 m +640 496 l +656 496 l +656 480 l +640 480 l +cs +bl +hf 8.0 sf +643.2 481.6 m (16) show +bl +656 480 m +656 496 l +672 496 l +672 480 l +656 480 l +cs +bl +hf 8.0 sf +659.2 481.6 m (16) show +672 480 m +672 512 l +688 512 l +688 480 l +672 480 l +fl +bl +672 480 m +672 512 l +688 512 l +688 480 l +672 480 l +cs +bl +640 464 m +640 480 l +656 480 l +656 464 l +640 464 l +cs +bl +hf 8.0 sf +643.2 465.6 m (16) show +bl +656 464 m +656 480 l +672 480 l +672 464 l +656 464 l +cs +bl +hf 8.0 sf +659.2 465.6 m (16) show +bl +640 448 m +640 464 l +656 464 l +656 448 l +640 448 l +cs +bl +hf 8.0 sf +643.2 449.6 m (16) show +bl +656 448 m +656 464 l +672 464 l +672 448 l +656 448 l +cs +bl +hf 8.0 sf +659.2 449.6 m (16) show +bl +672 448 m +672 480 l +688 480 l +688 448 l +672 448 l +cs +bl +hf 8.0 sf +675.2 451.2 m (16) show +bl +688 448 m +688 512 l +704 512 l +704 448 l +688 448 l +cs +bl +hf 8.0 sf +691.2 454.4 m (16) show +bl +640 432 m +640 448 l +656 448 l +656 432 l +640 432 l +cs +bl +hf 8.0 sf +643.2 433.6 m (16) show +bl +656 432 m +656 448 l +672 448 l +672 432 l +656 432 l +cs +bl +hf 8.0 sf +659.2 433.6 m (16) show +640 416 m +640 432 l +656 432 l +656 416 l +640 416 l +fl +bl +640 416 m +640 432 l +656 432 l +656 416 l +640 416 l +cs +bl +656 416 m +656 432 l +672 432 l +672 416 l +656 416 l +cs +bl +hf 8.0 sf +659.2 417.6 m (16) show +672 416 m +672 448 l +688 448 l +688 416 l +672 416 l +fl +bl +672 416 m +672 448 l +688 448 l +688 416 l +672 416 l +cs +bl +640 400 m +640 416 l +656 416 l +656 400 l +640 400 l +cs +bl +hf 8.0 sf +643.2 401.6 m (16) show +bl +656 400 m +656 416 l +672 416 l +672 400 l +656 400 l +cs +bl +hf 8.0 sf +659.2 401.6 m (16) show +bl +640 384 m +640 400 l +656 400 l +656 384 l +640 384 l +cs +bl +hf 8.0 sf +643.2 385.6 m (16) show +bl +656 384 m +656 400 l +672 400 l +672 384 l +656 384 l +cs +bl +hf 8.0 sf +659.2 385.6 m (16) show +bl +672 384 m +672 416 l +688 416 l +688 384 l +672 384 l +cs +bl +hf 8.0 sf +675.2 387.2 m (16) show +bl +688 384 m +688 448 l +704 448 l +704 384 l +688 384 l +cs +bl +hf 8.0 sf +691.2 390.4 m (16) show +bl +512 368 m +512 384 l +528 384 l +528 368 l +512 368 l +cs +bl +hf 8.0 sf +515.2 369.6 m (16) show +bl +528 368 m +528 384 l +544 384 l +544 368 l +528 368 l +cs +bl +hf 8.0 sf +531.2 369.6 m (16) show +bl +512 352 m +512 368 l +528 368 l +528 352 l +512 352 l +cs +bl +hf 8.0 sf +515.2 353.6 m (16) show +bl +528 352 m +528 368 l +544 368 l +544 352 l +528 352 l +cs +bl +hf 8.0 sf +531.2 353.6 m (16) show +bl +544 368 m +544 384 l +560 384 l +560 368 l +544 368 l +cs +bl +hf 8.0 sf +547.2 369.6 m (16) show +bl +560 368 m +560 384 l +576 384 l +576 368 l +560 368 l +cs +bl +hf 8.0 sf +563.2 369.6 m (16) show +bl +544 352 m +544 368 l +560 368 l +560 352 l +544 352 l +cs +bl +hf 8.0 sf +547.2 353.6 m (16) show +bl +560 352 m +560 368 l +576 368 l +576 352 l +560 352 l +cs +bl +hf 8.0 sf +563.2 353.6 m (16) show +512 336 m +512 352 l +544 352 l +544 336 l +512 336 l +fl +bl +512 336 m +512 352 l +544 352 l +544 336 l +512 336 l +cs +bl +544 336 m +544 352 l +576 352 l +576 336 l +544 336 l +cs +bl +hf 8.0 sf +550.4 337.6 m (16) show +bl +576 368 m +576 384 l +592 384 l +592 368 l +576 368 l +cs +bl +hf 8.0 sf +579.2 369.6 m (16) show +592 368 m +592 384 l +608 384 l +608 368 l +592 368 l +fl +bl +592 368 m +592 384 l +608 384 l +608 368 l +592 368 l +cs +bl +576 352 m +576 368 l +592 368 l +592 352 l +576 352 l +cs +bl +hf 8.0 sf +579.2 353.6 m (16) show +bl +592 352 m +592 368 l +608 368 l +608 352 l +592 352 l +cs +bl +hf 8.0 sf +595.2 353.6 m (16) show +bl +608 368 m +608 384 l +624 384 l +624 368 l +608 368 l +cs +bl +hf 8.0 sf +611.2 369.6 m (16) show +bl +624 368 m +624 384 l +640 384 l +640 368 l +624 368 l +cs +bl +hf 8.0 sf +627.2 369.6 m (16) show +bl +608 352 m +608 368 l +624 368 l +624 352 l +608 352 l +cs +bl +hf 8.0 sf +611.2 353.6 m (16) show +bl +624 352 m +624 368 l +640 368 l +640 352 l +624 352 l +cs +bl +hf 8.0 sf +627.2 353.6 m (16) show +576 336 m +576 352 l +608 352 l +608 336 l +576 336 l +fl +bl +576 336 m +576 352 l +608 352 l +608 336 l +576 336 l +cs +bl +608 336 m +608 352 l +640 352 l +640 336 l +608 336 l +cs +bl +hf 8.0 sf +614.4 337.6 m (16) show +bl +512 320 m +512 336 l +576 336 l +576 320 l +512 320 l +cs +bl +hf 8.0 sf +524.8 321.6 m (16) show +bl +576 320 m +576 336 l +640 336 l +640 320 l +576 320 l +cs +bl +hf 8.0 sf +588.8 321.6 m (16) show +bl +640 368 m +640 384 l +656 384 l +656 368 l +640 368 l +cs +bl +hf 8.0 sf +643.2 369.6 m (16) show +bl +656 368 m +656 384 l +672 384 l +672 368 l +656 368 l +cs +bl +hf 8.0 sf +659.2 369.6 m (16) show +bl +640 352 m +640 368 l +656 368 l +656 352 l +640 352 l +cs +bl +hf 8.0 sf +643.2 353.6 m (16) show +bl +656 352 m +656 368 l +672 368 l +672 352 l +656 352 l +cs +bl +hf 8.0 sf +659.2 353.6 m (16) show +bl +672 352 m +672 384 l +688 384 l +688 352 l +672 352 l +cs +bl +hf 8.0 sf +675.2 355.2 m (16) show +bl +640 336 m +640 352 l +672 352 l +672 336 l +640 336 l +cs +bl +hf 8.0 sf +646.4 337.6 m (16) show +bl +672 336 m +672 352 l +688 352 l +688 336 l +672 336 l +cs +bl +hf 8.0 sf +675.2 337.6 m (16) show +bl +688 336 m +688 384 l +704 384 l +704 336 l +688 336 l +cs +bl +hf 8.0 sf +691.2 340.8 m (16) show +bl +640 320 m +640 336 l +688 336 l +688 320 l +640 320 l +cs +bl +hf 8.0 sf +649.6 321.6 m (16) show +bl +688 320 m +688 336 l +704 336 l +704 320 l +688 320 l +cs +bl +hf 8.0 sf +691.2 321.6 m (16) show +bl +704 480 m +704 512 l +720 512 l +720 480 l +704 480 l +cs +bl +hf 8.0 sf +707.2 483.2 m (16) show +720 480 m +720 512 l +736 512 l +736 480 l +720 480 l +fl +bl +720 480 m +720 512 l +736 512 l +736 480 l +720 480 l +cs +bl +704 448 m +704 480 l +720 480 l +720 448 l +704 448 l +cs +bl +hf 8.0 sf +707.2 451.2 m (16) show +720 448 m +720 480 l +736 480 l +736 448 l +720 448 l +fl +bl +720 448 m +720 480 l +736 480 l +736 448 l +720 448 l +cs +bl +736 448 m +736 512 l +752 512 l +752 448 l +736 448 l +cs +bl +hf 8.0 sf +739.2 454.4 m (16) show +bl +704 416 m +704 448 l +720 448 l +720 416 l +704 416 l +cs +bl +hf 8.0 sf +707.2 419.2 m (16) show +bl +720 416 m +720 448 l +736 448 l +736 416 l +720 416 l +cs +bl +hf 8.0 sf +723.2 419.2 m (16) show +bl +704 384 m +704 416 l +720 416 l +720 384 l +704 384 l +cs +bl +hf 8.0 sf +707.2 387.2 m (16) show +bl +720 384 m +720 416 l +736 416 l +736 384 l +720 384 l +cs +bl +hf 8.0 sf +723.2 387.2 m (16) show +bl +736 384 m +736 448 l +752 448 l +752 384 l +736 384 l +cs +bl +hf 8.0 sf +739.2 390.4 m (16) show +bl +752 384 m +752 512 l +768 512 l +768 384 l +752 384 l +cs +bl +hf 8.0 sf +755.2 396.8 m (16) show +704 352 m +704 384 l +720 384 l +720 352 l +704 352 l +fl +bl +704 352 m +704 384 l +720 384 l +720 352 l +704 352 l +cs +720 352 m +720 384 l +736 384 l +736 352 l +720 352 l +fl +bl +720 352 m +720 384 l +736 384 l +736 352 l +720 352 l +cs +704 336 m +704 352 l +720 352 l +720 336 l +704 336 l +fl +bl +704 336 m +704 352 l +720 352 l +720 336 l +704 336 l +cs +720 336 m +720 352 l +736 352 l +736 336 l +720 336 l +fl +bl +720 336 m +720 352 l +736 352 l +736 336 l +720 336 l +cs +bl +736 336 m +736 384 l +752 384 l +752 336 l +736 336 l +cs +bl +hf 8.0 sf +739.2 340.8 m (16) show +bl +704 320 m +704 336 l +736 336 l +736 320 l +704 320 l +cs +bl +hf 8.0 sf +710.4 321.6 m (16) show +bl +736 320 m +736 336 l +752 336 l +752 320 l +736 320 l +cs +bl +hf 8.0 sf +739.2 321.6 m (16) show +bl +752 320 m +752 384 l +768 384 l +768 320 l +752 320 l +cs +bl +hf 8.0 sf +755.2 326.4 m (16) show +bl +512 304 m +512 320 l +544 320 l +544 304 l +512 304 l +cs +bl +hf 8.0 sf +518.4 305.6 m (16) show +bl +544 304 m +544 320 l +576 320 l +576 304 l +544 304 l +cs +bl +hf 8.0 sf +550.4 305.6 m (16) show +512 288 m +512 304 l +544 304 l +544 288 l +512 288 l +fl +bl +512 288 m +512 304 l +544 304 l +544 288 l +512 288 l +cs +544 288 m +544 304 l +576 304 l +576 288 l +544 288 l +fl +bl +544 288 m +544 304 l +576 304 l +576 288 l +544 288 l +cs +bl +576 304 m +576 320 l +608 320 l +608 304 l +576 304 l +cs +bl +hf 8.0 sf +582.4 305.6 m (16) show +bl +608 304 m +608 320 l +640 320 l +640 304 l +608 304 l +cs +bl +hf 8.0 sf +614.4 305.6 m (16) show +bl +576 288 m +576 304 l +608 304 l +608 288 l +576 288 l +cs +bl +hf 8.0 sf +582.4 289.6 m (16) show +bl +608 288 m +608 304 l +640 304 l +640 288 l +608 288 l +cs +bl +hf 8.0 sf +614.4 289.6 m (16) show +bl +512 272 m +512 288 l +576 288 l +576 272 l +512 272 l +cs +bl +hf 8.0 sf +524.8 273.6 m (16) show +bl +576 272 m +576 288 l +640 288 l +640 272 l +576 272 l +cs +bl +hf 8.0 sf +588.8 273.6 m (16) show +640 304 m +640 320 l +672 320 l +672 304 l +640 304 l +fl +bl +640 304 m +640 320 l +672 320 l +672 304 l +640 304 l +cs +672 304 m +672 320 l +688 320 l +688 304 l +672 304 l +fl +bl +672 304 m +672 320 l +688 320 l +688 304 l +672 304 l +cs +640 288 m +640 304 l +672 304 l +672 288 l +640 288 l +fl +bl +640 288 m +640 304 l +672 304 l +672 288 l +640 288 l +cs +672 288 m +672 304 l +688 304 l +688 288 l +672 288 l +fl +bl +672 288 m +672 304 l +688 304 l +688 288 l +672 288 l +cs +bl +688 288 m +688 320 l +704 320 l +704 288 l +688 288 l +cs +bl +hf 8.0 sf +691.2 291.2 m (16) show +bl +640 272 m +640 288 l +688 288 l +688 272 l +640 272 l +cs +bl +hf 8.0 sf +649.6 273.6 m (16) show +bl +688 272 m +688 288 l +704 288 l +704 272 l +688 272 l +cs +bl +hf 8.0 sf +691.2 273.6 m (16) show +bl +512 256 m +512 272 l +640 272 l +640 256 l +512 256 l +cs +bl +hf 8.0 sf +537.6 257.6 m (16) show +bl +640 256 m +640 272 l +704 272 l +704 256 l +640 256 l +cs +bl +hf 8.0 sf +652.8 257.6 m (16) show +bl +704 304 m +704 320 l +720 320 l +720 304 l +704 304 l +cs +bl +hf 8.0 sf +707.2 305.6 m (16) show +bl +720 304 m +720 320 l +736 320 l +736 304 l +720 304 l +cs +bl +hf 8.0 sf +723.2 305.6 m (16) show +bl +704 288 m +704 304 l +720 304 l +720 288 l +704 288 l +cs +bl +hf 8.0 sf +707.2 289.6 m (16) show +bl +720 288 m +720 304 l +736 304 l +736 288 l +720 288 l +cs +bl +hf 8.0 sf +723.2 289.6 m (16) show +bl +736 288 m +736 320 l +752 320 l +752 288 l +736 288 l +cs +bl +hf 8.0 sf +739.2 291.2 m (16) show +bl +704 272 m +704 288 l +736 288 l +736 272 l +704 272 l +cs +bl +hf 8.0 sf +710.4 273.6 m (16) show +bl +736 272 m +736 288 l +752 288 l +752 272 l +736 272 l +cs +bl +hf 8.0 sf +739.2 273.6 m (16) show +bl +752 272 m +752 320 l +768 320 l +768 272 l +752 272 l +cs +bl +hf 8.0 sf +755.2 276.8 m (16) show +bl +704 256 m +704 272 l +752 272 l +752 256 l +704 256 l +cs +bl +hf 8.0 sf +713.6 257.6 m (16) show +bl +752 256 m +752 272 l +768 272 l +768 256 l +752 256 l +cs +bl +hf 8.0 sf +755.2 257.6 m (16) show +768 960 m +768 1024 l +800 1024 l +800 960 l +768 960 l +fl +bl +768 960 m +768 1024 l +800 1024 l +800 960 l +768 960 l +cs +800 960 m +800 1024 l +832 1024 l +832 960 l +800 960 l +fl +bl +800 960 m +800 1024 l +832 1024 l +832 960 l +800 960 l +cs +768 896 m +768 960 l +800 960 l +800 896 l +768 896 l +fl +bl +768 896 m +768 960 l +800 960 l +800 896 l +768 896 l +cs +800 896 m +800 960 l +832 960 l +832 896 l +800 896 l +fl +bl +800 896 m +800 960 l +832 960 l +832 896 l +800 896 l +cs +832 896 m +832 1024 l +896 1024 l +896 896 l +832 896 l +fl +bl +832 896 m +832 1024 l +896 1024 l +896 896 l +832 896 l +cs +768 832 m +768 896 l +800 896 l +800 832 l +768 832 l +fl +bl +768 832 m +768 896 l +800 896 l +800 832 l +768 832 l +cs +800 832 m +800 896 l +832 896 l +832 832 l +800 832 l +fl +bl +800 832 m +800 896 l +832 896 l +832 832 l +800 832 l +cs +768 768 m +768 832 l +800 832 l +800 768 l +768 768 l +fl +bl +768 768 m +768 832 l +800 832 l +800 768 l +768 768 l +cs +800 768 m +800 832 l +832 832 l +832 768 l +800 768 l +fl +bl +800 768 m +800 832 l +832 832 l +832 768 l +800 768 l +cs +832 768 m +832 896 l +896 896 l +896 768 l +832 768 l +fl +bl +832 768 m +832 896 l +896 896 l +896 768 l +832 768 l +cs +896 960 m +896 1024 l +928 1024 l +928 960 l +896 960 l +fl +bl +896 960 m +896 1024 l +928 1024 l +928 960 l +896 960 l +cs +928 960 m +928 1024 l +944 1024 l +944 960 l +928 960 l +fl +bl +928 960 m +928 1024 l +944 1024 l +944 960 l +928 960 l +cs +896 896 m +896 960 l +928 960 l +928 896 l +896 896 l +fl +bl +896 896 m +896 960 l +928 960 l +928 896 l +896 896 l +cs +928 896 m +928 960 l +944 960 l +944 896 l +928 896 l +fl +bl +928 896 m +928 960 l +944 960 l +944 896 l +928 896 l +cs +944 896 m +944 1024 l +960 1024 l +960 896 l +944 896 l +fl +bl +944 896 m +944 1024 l +960 1024 l +960 896 l +944 896 l +cs +896 832 m +896 896 l +928 896 l +928 832 l +896 832 l +fl +bl +896 832 m +896 896 l +928 896 l +928 832 l +896 832 l +cs +928 832 m +928 896 l +944 896 l +944 832 l +928 832 l +fl +bl +928 832 m +928 896 l +944 896 l +944 832 l +928 832 l +cs +896 768 m +896 832 l +928 832 l +928 768 l +896 768 l +fl +bl +896 768 m +896 832 l +928 832 l +928 768 l +896 768 l +cs +928 768 m +928 832 l +944 832 l +944 768 l +928 768 l +fl +bl +928 768 m +928 832 l +944 832 l +944 768 l +928 768 l +cs +944 768 m +944 896 l +960 896 l +960 768 l +944 768 l +fl +bl +944 768 m +944 896 l +960 896 l +960 768 l +944 768 l +cs +bl +768 736 m +768 768 l +784 768 l +784 736 l +768 736 l +cs +bl +hf 8.0 sf +771.2 739.2 m (16) show +784 736 m +784 768 l +800 768 l +800 736 l +784 736 l +fl +bl +784 736 m +784 768 l +800 768 l +800 736 l +784 736 l +cs +bl +768 704 m +768 736 l +784 736 l +784 704 l +768 704 l +cs +bl +hf 8.0 sf +771.2 707.2 m (16) show +784 704 m +784 736 l +800 736 l +800 704 l +784 704 l +fl +bl +784 704 m +784 736 l +800 736 l +800 704 l +784 704 l +cs +bl +800 736 m +800 768 l +816 768 l +816 736 l +800 736 l +cs +bl +hf 8.0 sf +803.2 739.2 m (16) show +816 736 m +816 768 l +832 768 l +832 736 l +816 736 l +fl +bl +816 736 m +816 768 l +832 768 l +832 736 l +816 736 l +cs +bl +800 704 m +800 736 l +816 736 l +816 704 l +800 704 l +cs +bl +hf 8.0 sf +803.2 707.2 m (16) show +816 704 m +816 736 l +832 736 l +832 704 l +816 704 l +fl +bl +816 704 m +816 736 l +832 736 l +832 704 l +816 704 l +cs +bl +768 672 m +768 704 l +784 704 l +784 672 l +768 672 l +cs +bl +hf 8.0 sf +771.2 675.2 m (16) show +bl +784 672 m +784 704 l +800 704 l +800 672 l +784 672 l +cs +bl +hf 8.0 sf +787.2 675.2 m (16) show +bl +768 640 m +768 672 l +784 672 l +784 640 l +768 640 l +cs +bl +hf 8.0 sf +771.2 643.2 m (16) show +bl +784 640 m +784 672 l +800 672 l +800 640 l +784 640 l +cs +bl +hf 8.0 sf +787.2 643.2 m (16) show +bl +800 672 m +800 704 l +816 704 l +816 672 l +800 672 l +cs +bl +hf 8.0 sf +803.2 675.2 m (16) show +bl +816 672 m +816 704 l +832 704 l +832 672 l +816 672 l +cs +bl +hf 8.0 sf +819.2 675.2 m (16) show +bl +800 640 m +800 672 l +816 672 l +816 640 l +800 640 l +cs +bl +hf 8.0 sf +803.2 643.2 m (16) show +bl +816 640 m +816 672 l +832 672 l +832 640 l +816 640 l +cs +bl +hf 8.0 sf +819.2 643.2 m (16) show +832 704 m +832 768 l +864 768 l +864 704 l +832 704 l +fl +bl +832 704 m +832 768 l +864 768 l +864 704 l +832 704 l +cs +864 704 m +864 768 l +896 768 l +896 704 l +864 704 l +fl +bl +864 704 m +864 768 l +896 768 l +896 704 l +864 704 l +cs +bl +832 672 m +832 704 l +848 704 l +848 672 l +832 672 l +cs +bl +hf 8.0 sf +835.2 675.2 m (16) show +848 672 m +848 704 l +864 704 l +864 672 l +848 672 l +fl +bl +848 672 m +848 704 l +864 704 l +864 672 l +848 672 l +cs +bl +832 640 m +832 672 l +848 672 l +848 640 l +832 640 l +cs +bl +hf 8.0 sf +835.2 643.2 m (16) show +848 640 m +848 672 l +864 672 l +864 640 l +848 640 l +fl +bl +848 640 m +848 672 l +864 672 l +864 640 l +848 640 l +cs +bl +864 672 m +864 704 l +880 704 l +880 672 l +864 672 l +cs +bl +hf 8.0 sf +867.2 675.2 m (16) show +880 672 m +880 704 l +896 704 l +896 672 l +880 672 l +fl +bl +880 672 m +880 704 l +896 704 l +896 672 l +880 672 l +cs +bl +864 640 m +864 672 l +880 672 l +880 640 l +864 640 l +cs +bl +hf 8.0 sf +867.2 643.2 m (16) show +880 640 m +880 672 l +896 672 l +896 640 l +880 640 l +fl +bl +880 640 m +880 672 l +896 672 l +896 640 l +880 640 l +cs +768 608 m +768 640 l +784 640 l +784 608 l +768 608 l +fl +bl +768 608 m +768 640 l +784 640 l +784 608 l +768 608 l +cs +784 608 m +784 640 l +800 640 l +800 608 l +784 608 l +fl +bl +784 608 m +784 640 l +800 640 l +800 608 l +784 608 l +cs +768 576 m +768 608 l +784 608 l +784 576 l +768 576 l +fl +bl +768 576 m +768 608 l +784 608 l +784 576 l +768 576 l +cs +784 576 m +784 608 l +800 608 l +800 576 l +784 576 l +fl +bl +784 576 m +784 608 l +800 608 l +800 576 l +784 576 l +cs +bl +800 608 m +800 640 l +816 640 l +816 608 l +800 608 l +cs +bl +hf 8.0 sf +803.2 611.2 m (16) show +816 608 m +816 640 l +832 640 l +832 608 l +816 608 l +fl +bl +816 608 m +816 640 l +832 640 l +832 608 l +816 608 l +cs +800 576 m +800 608 l +816 608 l +816 576 l +800 576 l +fl +bl +800 576 m +800 608 l +816 608 l +816 576 l +800 576 l +cs +816 576 m +816 608 l +832 608 l +832 576 l +816 576 l +fl +bl +816 576 m +816 608 l +832 608 l +832 576 l +816 576 l +cs +bl +768 544 m +768 576 l +784 576 l +784 544 l +768 544 l +cs +bl +hf 8.0 sf +771.2 547.2 m (16) show +bl +784 544 m +784 576 l +800 576 l +800 544 l +784 544 l +cs +bl +hf 8.0 sf +787.2 547.2 m (16) show +768 512 m +768 544 l +784 544 l +784 512 l +768 512 l +fl +bl +768 512 m +768 544 l +784 544 l +784 512 l +768 512 l +cs +784 512 m +784 544 l +800 544 l +800 512 l +784 512 l +fl +bl +784 512 m +784 544 l +800 544 l +800 512 l +784 512 l +cs +bl +800 544 m +800 576 l +816 576 l +816 544 l +800 544 l +cs +bl +hf 8.0 sf +803.2 547.2 m (16) show +bl +816 544 m +816 576 l +832 576 l +832 544 l +816 544 l +cs +bl +hf 8.0 sf +819.2 547.2 m (16) show +bl +800 512 m +800 544 l +816 544 l +816 512 l +800 512 l +cs +bl +hf 8.0 sf +803.2 515.2 m (16) show +bl +816 512 m +816 544 l +832 544 l +832 512 l +816 512 l +cs +bl +hf 8.0 sf +819.2 515.2 m (16) show +832 576 m +832 640 l +864 640 l +864 576 l +832 576 l +fl +bl +832 576 m +832 640 l +864 640 l +864 576 l +832 576 l +cs +864 576 m +864 640 l +896 640 l +896 576 l +864 576 l +fl +bl +864 576 m +864 640 l +896 640 l +896 576 l +864 576 l +cs +832 544 m +832 576 l +848 576 l +848 544 l +832 544 l +fl +bl +832 544 m +832 576 l +848 576 l +848 544 l +832 544 l +cs +848 544 m +848 576 l +864 576 l +864 544 l +848 544 l +fl +bl +848 544 m +848 576 l +864 576 l +864 544 l +848 544 l +cs +832 512 m +832 544 l +848 544 l +848 512 l +832 512 l +fl +bl +832 512 m +832 544 l +848 544 l +848 512 l +832 512 l +cs +848 512 m +848 544 l +864 544 l +864 512 l +848 512 l +fl +bl +848 512 m +848 544 l +864 544 l +864 512 l +848 512 l +cs +bl +864 544 m +864 576 l +880 576 l +880 544 l +864 544 l +cs +bl +hf 8.0 sf +867.2 547.2 m (16) show +880 544 m +880 576 l +896 576 l +896 544 l +880 544 l +fl +bl +880 544 m +880 576 l +896 576 l +896 544 l +880 544 l +cs +864 512 m +864 544 l +880 544 l +880 512 l +864 512 l +fl +bl +864 512 m +864 544 l +880 544 l +880 512 l +864 512 l +cs +880 512 m +880 544 l +896 544 l +896 512 l +880 512 l +fl +bl +880 512 m +880 544 l +896 544 l +896 512 l +880 512 l +cs +896 736 m +896 768 l +912 768 l +912 736 l +896 736 l +fl +bl +896 736 m +896 768 l +912 768 l +912 736 l +896 736 l +cs +912 736 m +912 768 l +928 768 l +928 736 l +912 736 l +fl +bl +912 736 m +912 768 l +928 768 l +928 736 l +912 736 l +cs +bl +896 704 m +896 736 l +912 736 l +912 704 l +896 704 l +cs +bl +hf 8.0 sf +899.2 707.2 m (16) show +912 704 m +912 736 l +928 736 l +928 704 l +912 704 l +fl +bl +912 704 m +912 736 l +928 736 l +928 704 l +912 704 l +cs +bl +928 704 m +928 768 l +944 768 l +944 704 l +928 704 l +cs +bl +hf 8.0 sf +931.2 710.4 m (16) show +bl +896 672 m +896 704 l +912 704 l +912 672 l +896 672 l +cs +bl +hf 8.0 sf +899.2 675.2 m (16) show +bl +912 672 m +912 704 l +928 704 l +928 672 l +912 672 l +cs +bl +hf 8.0 sf +915.2 675.2 m (16) show +bl +896 640 m +896 672 l +912 672 l +912 640 l +896 640 l +cs +bl +hf 8.0 sf +899.2 643.2 m (16) show +bl +912 640 m +912 672 l +928 672 l +928 640 l +912 640 l +cs +bl +hf 8.0 sf +915.2 643.2 m (16) show +bl +928 640 m +928 704 l +944 704 l +944 640 l +928 640 l +cs +bl +hf 8.0 sf +931.2 646.4 m (16) show +bl +944 640 m +944 768 l +960 768 l +960 640 l +944 640 l +cs +bl +hf 8.0 sf +947.2 652.8 m (16) show +bl +896 608 m +896 640 l +912 640 l +912 608 l +896 608 l +cs +bl +hf 8.0 sf +899.2 611.2 m (16) show +912 608 m +912 640 l +928 640 l +928 608 l +912 608 l +fl +bl +912 608 m +912 640 l +928 640 l +928 608 l +912 608 l +cs +bl +896 576 m +896 608 l +912 608 l +912 576 l +896 576 l +cs +bl +hf 8.0 sf +899.2 579.2 m (16) show +912 576 m +912 608 l +928 608 l +928 576 l +912 576 l +fl +bl +912 576 m +912 608 l +928 608 l +928 576 l +912 576 l +cs +bl +928 576 m +928 640 l +944 640 l +944 576 l +928 576 l +cs +bl +hf 8.0 sf +931.2 582.4 m (16) show +bl +896 544 m +896 576 l +912 576 l +912 544 l +896 544 l +cs +bl +hf 8.0 sf +899.2 547.2 m (16) show +bl +912 544 m +912 576 l +928 576 l +928 544 l +912 544 l +cs +bl +hf 8.0 sf +915.2 547.2 m (16) show +bl +896 512 m +896 544 l +912 544 l +912 512 l +896 512 l +cs +bl +hf 8.0 sf +899.2 515.2 m (16) show +bl +912 512 m +912 544 l +928 544 l +928 512 l +912 512 l +cs +bl +hf 8.0 sf +915.2 515.2 m (16) show +bl +928 512 m +928 576 l +944 576 l +944 512 l +928 512 l +cs +bl +hf 8.0 sf +931.2 518.4 m (16) show +bl +944 512 m +944 640 l +960 640 l +960 512 l +944 512 l +cs +bl +hf 8.0 sf +947.2 524.8 m (16) show +960 768 m +960 1024 l +1008 1024 l +1008 768 l +960 768 l +fl +bl +960 768 m +960 1024 l +1008 1024 l +1008 768 l +960 768 l +cs +1008 768 m +1008 1024 l +1024 1024 l +1024 768 l +1008 768 l +fl +bl +1008 768 m +1008 1024 l +1024 1024 l +1024 768 l +1008 768 l +cs +960 640 m +960 768 l +992 768 l +992 640 l +960 640 l +fl +bl +960 640 m +960 768 l +992 768 l +992 640 l +960 640 l +cs +992 640 m +992 768 l +1008 768 l +1008 640 l +992 640 l +fl +bl +992 640 m +992 768 l +1008 768 l +1008 640 l +992 640 l +cs +960 512 m +960 640 l +992 640 l +992 512 l +960 512 l +fl +bl +960 512 m +960 640 l +992 640 l +992 512 l +960 512 l +cs +992 512 m +992 640 l +1008 640 l +1008 512 l +992 512 l +fl +bl +992 512 m +992 640 l +1008 640 l +1008 512 l +992 512 l +cs +1008 512 m +1008 768 l +1024 768 l +1024 512 l +1008 512 l +fl +bl +1008 512 m +1008 768 l +1024 768 l +1024 512 l +1008 512 l +cs +768 384 m +768 512 l +832 512 l +832 384 l +768 384 l +fl +bl +768 384 m +768 512 l +832 512 l +832 384 l +768 384 l +cs +832 384 m +832 512 l +896 512 l +896 384 l +832 384 l +fl +bl +832 384 m +832 512 l +896 512 l +896 384 l +832 384 l +cs +768 320 m +768 384 l +832 384 l +832 320 l +768 320 l +fl +bl +768 320 m +768 384 l +832 384 l +832 320 l +768 320 l +cs +832 320 m +832 384 l +896 384 l +896 320 l +832 320 l +fl +bl +832 320 m +832 384 l +896 384 l +896 320 l +832 320 l +cs +896 448 m +896 512 l +928 512 l +928 448 l +896 448 l +fl +bl +896 448 m +896 512 l +928 512 l +928 448 l +896 448 l +cs +928 448 m +928 512 l +944 512 l +944 448 l +928 448 l +fl +bl +928 448 m +928 512 l +944 512 l +944 448 l +928 448 l +cs +896 384 m +896 448 l +928 448 l +928 384 l +896 384 l +fl +bl +896 384 m +896 448 l +928 448 l +928 384 l +896 384 l +cs +928 384 m +928 448 l +944 448 l +944 384 l +928 384 l +fl +bl +928 384 m +928 448 l +944 448 l +944 384 l +928 384 l +cs +944 384 m +944 512 l +960 512 l +960 384 l +944 384 l +fl +bl +944 384 m +944 512 l +960 512 l +960 384 l +944 384 l +cs +896 320 m +896 384 l +944 384 l +944 320 l +896 320 l +fl +bl +896 320 m +896 384 l +944 384 l +944 320 l +896 320 l +cs +944 320 m +944 384 l +960 384 l +960 320 l +944 320 l +fl +bl +944 320 m +944 384 l +960 384 l +960 320 l +944 320 l +cs +768 288 m +768 320 l +800 320 l +800 288 l +768 288 l +fl +bl +768 288 m +768 320 l +800 320 l +800 288 l +768 288 l +cs +800 288 m +800 320 l +832 320 l +832 288 l +800 288 l +fl +bl +800 288 m +800 320 l +832 320 l +832 288 l +800 288 l +cs +768 272 m +768 288 l +800 288 l +800 272 l +768 272 l +fl +bl +768 272 m +768 288 l +800 288 l +800 272 l +768 272 l +cs +800 272 m +800 288 l +832 288 l +832 272 l +800 272 l +fl +bl +800 272 m +800 288 l +832 288 l +832 272 l +800 272 l +cs +832 272 m +832 320 l +896 320 l +896 272 l +832 272 l +fl +bl +832 272 m +832 320 l +896 320 l +896 272 l +832 272 l +cs +768 256 m +768 272 l +832 272 l +832 256 l +768 256 l +fl +bl +768 256 m +768 272 l +832 272 l +832 256 l +768 256 l +cs +832 256 m +832 272 l +896 272 l +896 256 l +832 256 l +fl +bl +832 256 m +832 272 l +896 272 l +896 256 l +832 256 l +cs +896 304 m +896 320 l +912 320 l +912 304 l +896 304 l +fl +bl +896 304 m +896 320 l +912 320 l +912 304 l +896 304 l +cs +912 304 m +912 320 l +928 320 l +928 304 l +912 304 l +fl +bl +912 304 m +912 320 l +928 320 l +928 304 l +912 304 l +cs +896 288 m +896 304 l +912 304 l +912 288 l +896 288 l +fl +bl +896 288 m +896 304 l +912 304 l +912 288 l +896 288 l +cs +912 288 m +912 304 l +928 304 l +928 288 l +912 288 l +fl +bl +912 288 m +912 304 l +928 304 l +928 288 l +912 288 l +cs +bl +928 288 m +928 320 l +944 320 l +944 288 l +928 288 l +cs +bl +hf 8.0 sf +931.2 291.2 m (16) show +896 272 m +896 288 l +928 288 l +928 272 l +896 272 l +fl +bl +896 272 m +896 288 l +928 288 l +928 272 l +896 272 l +cs +bl +928 272 m +928 288 l +944 288 l +944 272 l +928 272 l +cs +bl +hf 8.0 sf +931.2 273.6 m (16) show +944 272 m +944 320 l +960 320 l +960 272 l +944 272 l +fl +bl +944 272 m +944 320 l +960 320 l +960 272 l +944 272 l +cs +bl +896 256 m +896 272 l +944 272 l +944 256 l +896 256 l +cs +bl +hf 8.0 sf +905.6 257.6 m (16) show +bl +944 256 m +944 272 l +960 272 l +960 256 l +944 256 l +cs +bl +hf 8.0 sf +947.2 257.6 m (16) show +960 320 m +960 512 l +1008 512 l +1008 320 l +960 320 l +fl +bl +960 320 m +960 512 l +1008 512 l +1008 320 l +960 320 l +cs +1008 320 m +1008 512 l +1024 512 l +1024 320 l +1008 320 l +fl +bl +1008 320 m +1008 512 l +1024 512 l +1024 320 l +1008 320 l +cs +960 256 m +960 320 l +1008 320 l +1008 256 l +960 256 l +fl +bl +960 256 m +960 320 l +1008 320 l +1008 256 l +960 256 l +cs +1008 256 m +1008 320 l +1024 320 l +1024 256 l +1008 256 l +fl +bl +1008 256 m +1008 320 l +1024 320 l +1024 256 l +1008 256 l +cs +0 224 m +0 256 l +64 256 l +64 224 l +0 224 l +fl +bl +0 224 m +0 256 l +64 256 l +64 224 l +0 224 l +cs +64 224 m +64 256 l +128 256 l +128 224 l +64 224 l +fl +bl +64 224 m +64 256 l +128 256 l +128 224 l +64 224 l +cs +0 192 m +0 224 l +64 224 l +64 192 l +0 192 l +fl +bl +0 192 m +0 224 l +64 224 l +64 192 l +0 192 l +cs +64 192 m +64 224 l +128 224 l +128 192 l +64 192 l +fl +bl +64 192 m +64 224 l +128 224 l +128 192 l +64 192 l +cs +128 224 m +128 256 l +192 256 l +192 224 l +128 224 l +fl +bl +128 224 m +128 256 l +192 256 l +192 224 l +128 224 l +cs +192 224 m +192 256 l +256 256 l +256 224 l +192 224 l +fl +bl +192 224 m +192 256 l +256 256 l +256 224 l +192 224 l +cs +128 192 m +128 224 l +192 224 l +192 192 l +128 192 l +fl +bl +128 192 m +128 224 l +192 224 l +192 192 l +128 192 l +cs +192 192 m +192 224 l +256 224 l +256 192 l +192 192 l +fl +bl +192 192 m +192 224 l +256 224 l +256 192 l +192 192 l +cs +0 128 m +0 192 l +128 192 l +128 128 l +0 128 l +fl +bl +0 128 m +0 192 l +128 192 l +128 128 l +0 128 l +cs +128 128 m +128 192 l +256 192 l +256 128 l +128 128 l +fl +bl +128 128 m +128 192 l +256 192 l +256 128 l +128 128 l +cs +bl +256 240 m +256 256 l +288 256 l +288 240 l +256 240 l +cs +bl +hf 8.0 sf +262.4 241.6 m (16) show +bl +288 240 m +288 256 l +320 256 l +320 240 l +288 240 l +cs +bl +hf 8.0 sf +294.4 241.6 m (16) show +256 224 m +256 240 l +288 240 l +288 224 l +256 224 l +fl +bl +256 224 m +256 240 l +288 240 l +288 224 l +256 224 l +cs +288 224 m +288 240 l +320 240 l +320 224 l +288 224 l +fl +bl +288 224 m +288 240 l +320 240 l +320 224 l +288 224 l +cs +bl +320 240 m +320 256 l +352 256 l +352 240 l +320 240 l +cs +bl +hf 8.0 sf +326.4 241.6 m (16) show +bl +352 240 m +352 256 l +384 256 l +384 240 l +352 240 l +cs +bl +hf 8.0 sf +358.4 241.6 m (16) show +bl +320 224 m +320 240 l +352 240 l +352 224 l +320 224 l +cs +bl +hf 8.0 sf +326.4 225.6 m (16) show +bl +352 224 m +352 240 l +384 240 l +384 224 l +352 224 l +cs +bl +hf 8.0 sf +358.4 225.6 m (16) show +bl +256 208 m +256 224 l +288 224 l +288 208 l +256 208 l +cs +bl +hf 8.0 sf +262.4 209.6 m (16) show +bl +288 208 m +288 224 l +320 224 l +320 208 l +288 208 l +cs +bl +hf 8.0 sf +294.4 209.6 m (16) show +256 192 m +256 208 l +288 208 l +288 192 l +256 192 l +fl +bl +256 192 m +256 208 l +288 208 l +288 192 l +256 192 l +cs +288 192 m +288 208 l +320 208 l +320 192 l +288 192 l +fl +bl +288 192 m +288 208 l +320 208 l +320 192 l +288 192 l +cs +bl +320 208 m +320 224 l +352 224 l +352 208 l +320 208 l +cs +bl +hf 8.0 sf +326.4 209.6 m (16) show +bl +352 208 m +352 224 l +384 224 l +384 208 l +352 208 l +cs +bl +hf 8.0 sf +358.4 209.6 m (16) show +bl +320 192 m +320 208 l +352 208 l +352 192 l +320 192 l +cs +bl +hf 8.0 sf +326.4 193.6 m (16) show +bl +352 192 m +352 208 l +384 208 l +384 192 l +352 192 l +cs +bl +hf 8.0 sf +358.4 193.6 m (16) show +384 240 m +384 256 l +416 256 l +416 240 l +384 240 l +fl +bl +384 240 m +384 256 l +416 256 l +416 240 l +384 240 l +cs +416 240 m +416 256 l +448 256 l +448 240 l +416 240 l +fl +bl +416 240 m +416 256 l +448 256 l +448 240 l +416 240 l +cs +384 224 m +384 240 l +416 240 l +416 224 l +384 224 l +fl +bl +384 224 m +384 240 l +416 240 l +416 224 l +384 224 l +cs +416 224 m +416 240 l +448 240 l +448 224 l +416 224 l +fl +bl +416 224 m +416 240 l +448 240 l +448 224 l +416 224 l +cs +bl +448 240 m +448 256 l +480 256 l +480 240 l +448 240 l +cs +bl +hf 8.0 sf +454.4 241.6 m (16) show +480 240 m +480 256 l +512 256 l +512 240 l +480 240 l +fl +bl +480 240 m +480 256 l +512 256 l +512 240 l +480 240 l +cs +bl +448 224 m +448 240 l +480 240 l +480 224 l +448 224 l +cs +bl +hf 8.0 sf +454.4 225.6 m (16) show +480 224 m +480 240 l +512 240 l +512 224 l +480 224 l +fl +bl +480 224 m +480 240 l +512 240 l +512 224 l +480 224 l +cs +bl +384 208 m +384 224 l +416 224 l +416 208 l +384 208 l +cs +bl +hf 8.0 sf +390.4 209.6 m (16) show +416 208 m +416 224 l +448 224 l +448 208 l +416 208 l +fl +bl +416 208 m +416 224 l +448 224 l +448 208 l +416 208 l +cs +384 192 m +384 208 l +416 208 l +416 192 l +384 192 l +fl +bl +384 192 m +384 208 l +416 208 l +416 192 l +384 192 l +cs +416 192 m +416 208 l +448 208 l +448 192 l +416 192 l +fl +bl +416 192 m +416 208 l +448 208 l +448 192 l +416 192 l +cs +bl +448 208 m +448 224 l +480 224 l +480 208 l +448 208 l +cs +bl +hf 8.0 sf +454.4 209.6 m (16) show +bl +480 208 m +480 224 l +512 224 l +512 208 l +480 208 l +cs +bl +hf 8.0 sf +486.4 209.6 m (16) show +bl +448 192 m +448 208 l +480 208 l +480 192 l +448 192 l +cs +bl +hf 8.0 sf +454.4 193.6 m (16) show +bl +480 192 m +480 208 l +512 208 l +512 192 l +480 192 l +cs +bl +hf 8.0 sf +486.4 193.6 m (16) show +256 160 m +256 192 l +320 192 l +320 160 l +256 160 l +fl +bl +256 160 m +256 192 l +320 192 l +320 160 l +256 160 l +cs +bl +320 176 m +320 192 l +352 192 l +352 176 l +320 176 l +cs +bl +hf 8.0 sf +326.4 177.6 m (16) show +bl +352 176 m +352 192 l +384 192 l +384 176 l +352 176 l +cs +bl +hf 8.0 sf +358.4 177.6 m (16) show +320 160 m +320 176 l +352 176 l +352 160 l +320 160 l +fl +bl +320 160 m +320 176 l +352 176 l +352 160 l +320 160 l +cs +352 160 m +352 176 l +384 176 l +384 160 l +352 160 l +fl +bl +352 160 m +352 176 l +384 176 l +384 160 l +352 160 l +cs +256 128 m +256 160 l +320 160 l +320 128 l +256 128 l +fl +bl +256 128 m +256 160 l +320 160 l +320 128 l +256 128 l +cs +bl +320 144 m +320 160 l +352 160 l +352 144 l +320 144 l +cs +bl +hf 8.0 sf +326.4 145.6 m (16) show +bl +352 144 m +352 160 l +384 160 l +384 144 l +352 144 l +cs +bl +hf 8.0 sf +358.4 145.6 m (16) show +320 128 m +320 144 l +352 144 l +352 128 l +320 128 l +fl +bl +320 128 m +320 144 l +352 144 l +352 128 l +320 128 l +cs +352 128 m +352 144 l +384 144 l +384 128 l +352 128 l +fl +bl +352 128 m +352 144 l +384 144 l +384 128 l +352 128 l +cs +384 160 m +384 192 l +448 192 l +448 160 l +384 160 l +fl +bl +384 160 m +384 192 l +448 192 l +448 160 l +384 160 l +cs +448 176 m +448 192 l +480 192 l +480 176 l +448 176 l +fl +bl +448 176 m +448 192 l +480 192 l +480 176 l +448 176 l +cs +480 176 m +480 192 l +512 192 l +512 176 l +480 176 l +fl +bl +480 176 m +480 192 l +512 192 l +512 176 l +480 176 l +cs +448 160 m +448 176 l +480 176 l +480 160 l +448 160 l +fl +bl +448 160 m +448 176 l +480 176 l +480 160 l +448 160 l +cs +480 160 m +480 176 l +512 176 l +512 160 l +480 160 l +fl +bl +480 160 m +480 176 l +512 176 l +512 160 l +480 160 l +cs +384 128 m +384 160 l +448 160 l +448 128 l +384 128 l +fl +bl +384 128 m +384 160 l +448 160 l +448 128 l +384 128 l +cs +bl +448 144 m +448 160 l +480 160 l +480 144 l +448 144 l +cs +bl +hf 8.0 sf +454.4 145.6 m (16) show +480 144 m +480 160 l +512 160 l +512 144 l +480 144 l +fl +bl +480 144 m +480 160 l +512 160 l +512 144 l +480 144 l +cs +448 128 m +448 144 l +480 144 l +480 128 l +448 128 l +fl +bl +448 128 m +448 144 l +480 144 l +480 128 l +448 128 l +cs +480 128 m +480 144 l +512 144 l +512 128 l +480 128 l +fl +bl +480 128 m +480 144 l +512 144 l +512 128 l +480 128 l +cs +0 96 m +0 128 l +64 128 l +64 96 l +0 96 l +fl +bl +0 96 m +0 128 l +64 128 l +64 96 l +0 96 l +cs +64 96 m +64 128 l +128 128 l +128 96 l +64 96 l +fl +bl +64 96 m +64 128 l +128 128 l +128 96 l +64 96 l +cs +0 80 m +0 96 l +64 96 l +64 80 l +0 80 l +fl +bl +0 80 m +0 96 l +64 96 l +64 80 l +0 80 l +cs +64 80 m +64 96 l +128 96 l +128 80 l +64 80 l +fl +bl +64 80 m +64 96 l +128 96 l +128 80 l +64 80 l +cs +128 96 m +128 128 l +192 128 l +192 96 l +128 96 l +fl +bl +128 96 m +128 128 l +192 128 l +192 96 l +128 96 l +cs +192 96 m +192 128 l +256 128 l +256 96 l +192 96 l +fl +bl +192 96 m +192 128 l +256 128 l +256 96 l +192 96 l +cs +128 80 m +128 96 l +192 96 l +192 80 l +128 80 l +fl +bl +128 80 m +128 96 l +192 96 l +192 80 l +128 80 l +cs +192 80 m +192 96 l +256 96 l +256 80 l +192 80 l +fl +bl +192 80 m +192 96 l +256 96 l +256 80 l +192 80 l +cs +0 64 m +0 80 l +128 80 l +128 64 l +0 64 l +fl +bl +0 64 m +0 80 l +128 80 l +128 64 l +0 64 l +cs +128 64 m +128 80 l +256 80 l +256 64 l +128 64 l +fl +bl +128 64 m +128 80 l +256 80 l +256 64 l +128 64 l +cs +256 112 m +256 128 l +288 128 l +288 112 l +256 112 l +fl +bl +256 112 m +256 128 l +288 128 l +288 112 l +256 112 l +cs +bl +288 112 m +288 128 l +320 128 l +320 112 l +288 112 l +cs +bl +hf 8.0 sf +294.4 113.6 m (16) show +256 96 m +256 112 l +288 112 l +288 96 l +256 96 l +fl +bl +256 96 m +256 112 l +288 112 l +288 96 l +256 96 l +cs +288 96 m +288 112 l +320 112 l +320 96 l +288 96 l +fl +bl +288 96 m +288 112 l +320 112 l +320 96 l +288 96 l +cs +bl +320 112 m +320 128 l +352 128 l +352 112 l +320 112 l +cs +bl +hf 8.0 sf +326.4 113.6 m (16) show +bl +352 112 m +352 128 l +384 128 l +384 112 l +352 112 l +cs +bl +hf 8.0 sf +358.4 113.6 m (16) show +bl +320 96 m +320 112 l +352 112 l +352 96 l +320 96 l +cs +bl +hf 8.0 sf +326.4 97.6 m (16) show +bl +352 96 m +352 112 l +384 112 l +384 96 l +352 96 l +cs +bl +hf 8.0 sf +358.4 97.6 m (16) show +bl +256 80 m +256 96 l +320 96 l +320 80 l +256 80 l +cs +bl +hf 8.0 sf +268.8 81.6 m (16) show +bl +320 80 m +320 96 l +384 96 l +384 80 l +320 80 l +cs +bl +hf 8.0 sf +332.8 81.6 m (16) show +bl +384 112 m +384 128 l +416 128 l +416 112 l +384 112 l +cs +bl +hf 8.0 sf +390.4 113.6 m (16) show +bl +416 112 m +416 128 l +448 128 l +448 112 l +416 112 l +cs +bl +hf 8.0 sf +422.4 113.6 m (16) show +384 96 m +384 112 l +416 112 l +416 96 l +384 96 l +fl +bl +384 96 m +384 112 l +416 112 l +416 96 l +384 96 l +cs +416 96 m +416 112 l +448 112 l +448 96 l +416 96 l +fl +bl +416 96 m +416 112 l +448 112 l +448 96 l +416 96 l +cs +bl +448 112 m +448 128 l +480 128 l +480 112 l +448 112 l +cs +bl +hf 8.0 sf +454.4 113.6 m (16) show +bl +480 112 m +480 128 l +512 128 l +512 112 l +480 112 l +cs +bl +hf 8.0 sf +486.4 113.6 m (16) show +bl +448 96 m +448 112 l +480 112 l +480 96 l +448 96 l +cs +bl +hf 8.0 sf +454.4 97.6 m (16) show +bl +480 96 m +480 112 l +512 112 l +512 96 l +480 96 l +cs +bl +hf 8.0 sf +486.4 97.6 m (16) show +bl +384 80 m +384 96 l +448 96 l +448 80 l +384 80 l +cs +bl +hf 8.0 sf +396.8 81.6 m (16) show +bl +448 80 m +448 96 l +512 96 l +512 80 l +448 80 l +cs +bl +hf 8.0 sf +460.8 81.6 m (16) show +bl +256 64 m +256 80 l +384 80 l +384 64 l +256 64 l +cs +bl +hf 8.0 sf +281.6 65.6 m (16) show +bl +384 64 m +384 80 l +512 80 l +512 64 l +384 64 l +cs +bl +hf 8.0 sf +409.6 65.6 m (16) show +512 192 m +512 256 l +640 256 l +640 192 l +512 192 l +fl +bl +512 192 m +512 256 l +640 256 l +640 192 l +512 192 l +cs +640 192 m +640 256 l +704 256 l +704 192 l +640 192 l +fl +bl +640 192 m +640 256 l +704 256 l +704 192 l +640 192 l +cs +512 128 m +512 192 l +640 192 l +640 128 l +512 128 l +fl +bl +512 128 m +512 192 l +640 192 l +640 128 l +512 128 l +cs +640 128 m +640 192 l +704 192 l +704 128 l +640 128 l +fl +bl +640 128 m +640 192 l +704 192 l +704 128 l +640 128 l +cs +704 224 m +704 256 l +736 256 l +736 224 l +704 224 l +fl +bl +704 224 m +704 256 l +736 256 l +736 224 l +704 224 l +cs +736 224 m +736 256 l +752 256 l +752 224 l +736 224 l +fl +bl +736 224 m +736 256 l +752 256 l +752 224 l +736 224 l +cs +704 192 m +704 224 l +736 224 l +736 192 l +704 192 l +fl +bl +704 192 m +704 224 l +736 224 l +736 192 l +704 192 l +cs +736 192 m +736 224 l +752 224 l +752 192 l +736 192 l +fl +bl +736 192 m +736 224 l +752 224 l +752 192 l +736 192 l +cs +752 192 m +752 256 l +768 256 l +768 192 l +752 192 l +fl +bl +752 192 m +752 256 l +768 256 l +768 192 l +752 192 l +cs +704 128 m +704 192 l +752 192 l +752 128 l +704 128 l +fl +bl +704 128 m +704 192 l +752 192 l +752 128 l +704 128 l +cs +752 128 m +752 192 l +768 192 l +768 128 l +752 128 l +fl +bl +752 128 m +752 192 l +768 192 l +768 128 l +752 128 l +cs +512 96 m +512 128 l +576 128 l +576 96 l +512 96 l +fl +bl +512 96 m +512 128 l +576 128 l +576 96 l +512 96 l +cs +576 96 m +576 128 l +640 128 l +640 96 l +576 96 l +fl +bl +576 96 m +576 128 l +640 128 l +640 96 l +576 96 l +cs +512 80 m +512 96 l +576 96 l +576 80 l +512 80 l +fl +bl +512 80 m +512 96 l +576 96 l +576 80 l +512 80 l +cs +576 80 m +576 96 l +640 96 l +640 80 l +576 80 l +fl +bl +576 80 m +576 96 l +640 96 l +640 80 l +576 80 l +cs +640 80 m +640 128 l +704 128 l +704 80 l +640 80 l +fl +bl +640 80 m +640 128 l +704 128 l +704 80 l +640 80 l +cs +512 64 m +512 80 l +640 80 l +640 64 l +512 64 l +fl +bl +512 64 m +512 80 l +640 80 l +640 64 l +512 64 l +cs +640 64 m +640 80 l +704 80 l +704 64 l +640 64 l +fl +bl +640 64 m +640 80 l +704 80 l +704 64 l +640 64 l +cs +704 112 m +704 128 l +720 128 l +720 112 l +704 112 l +fl +bl +704 112 m +704 128 l +720 128 l +720 112 l +704 112 l +cs +720 112 m +720 128 l +736 128 l +736 112 l +720 112 l +fl +bl +720 112 m +720 128 l +736 128 l +736 112 l +720 112 l +cs +704 96 m +704 112 l +720 112 l +720 96 l +704 96 l +fl +bl +704 96 m +704 112 l +720 112 l +720 96 l +704 96 l +cs +720 96 m +720 112 l +736 112 l +736 96 l +720 96 l +fl +bl +720 96 m +720 112 l +736 112 l +736 96 l +720 96 l +cs +736 96 m +736 128 l +752 128 l +752 96 l +736 96 l +fl +bl +736 96 m +736 128 l +752 128 l +752 96 l +736 96 l +cs +bl +704 80 m +704 96 l +736 96 l +736 80 l +704 80 l +cs +bl +hf 8.0 sf +710.4 81.6 m (16) show +bl +736 80 m +736 96 l +752 96 l +752 80 l +736 80 l +cs +bl +hf 8.0 sf +739.2 81.6 m (16) show +bl +752 80 m +752 128 l +768 128 l +768 80 l +752 80 l +cs +bl +hf 8.0 sf +755.2 84.8 m (16) show +704 64 m +704 80 l +752 80 l +752 64 l +704 64 l +fl +bl +704 64 m +704 80 l +752 80 l +752 64 l +704 64 l +cs +bl +752 64 m +752 80 l +768 80 l +768 64 l +752 64 l +cs +bl +hf 8.0 sf +755.2 65.6 m (16) show +0 16 m +0 64 l +256 64 l +256 16 l +0 16 l +fl +bl +0 16 m +0 64 l +256 64 l +256 16 l +0 16 l +cs +256 32 m +256 64 l +384 64 l +384 32 l +256 32 l +fl +bl +256 32 m +256 64 l +384 64 l +384 32 l +256 32 l +cs +384 32 m +384 64 l +512 64 l +512 32 l +384 32 l +fl +bl +384 32 m +384 64 l +512 64 l +512 32 l +384 32 l +cs +256 16 m +256 32 l +384 32 l +384 16 l +256 16 l +fl +bl +256 16 m +256 32 l +384 32 l +384 16 l +256 16 l +cs +384 16 m +384 32 l +512 32 l +512 16 l +384 16 l +fl +bl +384 16 m +384 32 l +512 32 l +512 16 l +384 16 l +cs +0 0 m +0 16 l +256 16 l +256 0 l +0 0 l +fl +bl +0 0 m +0 16 l +256 16 l +256 0 l +0 0 l +cs +256 0 m +256 16 l +512 16 l +512 0 l +256 0 l +fl +bl +256 0 m +256 16 l +512 16 l +512 0 l +256 0 l +cs +512 16 m +512 64 l +704 64 l +704 16 l +512 16 l +fl +bl +512 16 m +512 64 l +704 64 l +704 16 l +512 16 l +cs +704 16 m +704 64 l +768 64 l +768 16 l +704 16 l +fl +bl +704 16 m +704 64 l +768 64 l +768 16 l +704 16 l +cs +512 0 m +512 16 l +704 16 l +704 0 l +512 0 l +fl +bl +512 0 m +512 16 l +704 16 l +704 0 l +512 0 l +cs +704 0 m +704 16 l +768 16 l +768 0 l +704 0 l +fl +bl +704 0 m +704 16 l +768 16 l +768 0 l +704 0 l +cs +bl +768 240 m +768 256 l +784 256 l +784 240 l +768 240 l +cs +bl +hf 8.0 sf +771.2 241.6 m (16) show +bl +784 240 m +784 256 l +800 256 l +800 240 l +784 240 l +cs +bl +hf 8.0 sf +787.2 241.6 m (16) show +bl +768 224 m +768 240 l +784 240 l +784 224 l +768 224 l +cs +bl +hf 8.0 sf +771.2 225.6 m (16) show +bl +784 224 m +784 240 l +800 240 l +800 224 l +784 224 l +cs +bl +hf 8.0 sf +787.2 225.6 m (16) show +bl +800 240 m +800 256 l +816 256 l +816 240 l +800 240 l +cs +bl +hf 8.0 sf +803.2 241.6 m (16) show +bl +816 240 m +816 256 l +832 256 l +832 240 l +816 240 l +cs +bl +hf 8.0 sf +819.2 241.6 m (16) show +bl +800 224 m +800 240 l +816 240 l +816 224 l +800 224 l +cs +bl +hf 8.0 sf +803.2 225.6 m (16) show +bl +816 224 m +816 240 l +832 240 l +832 224 l +816 224 l +cs +bl +hf 8.0 sf +819.2 225.6 m (16) show +bl +768 208 m +768 224 l +784 224 l +784 208 l +768 208 l +cs +bl +hf 8.0 sf +771.2 209.6 m (16) show +bl +784 208 m +784 224 l +800 224 l +800 208 l +784 208 l +cs +bl +hf 8.0 sf +787.2 209.6 m (16) show +bl +768 192 m +768 208 l +784 208 l +784 192 l +768 192 l +cs +bl +hf 8.0 sf +771.2 193.6 m (16) show +bl +784 192 m +784 208 l +800 208 l +800 192 l +784 192 l +cs +bl +hf 8.0 sf +787.2 193.6 m (16) show +bl +800 208 m +800 224 l +816 224 l +816 208 l +800 208 l +cs +bl +hf 8.0 sf +803.2 209.6 m (16) show +bl +816 208 m +816 224 l +832 224 l +832 208 l +816 208 l +cs +bl +hf 8.0 sf +819.2 209.6 m (16) show +bl +800 192 m +800 208 l +816 208 l +816 192 l +800 192 l +cs +bl +hf 8.0 sf +803.2 193.6 m (16) show +bl +816 192 m +816 208 l +832 208 l +832 192 l +816 192 l +cs +bl +hf 8.0 sf +819.2 193.6 m (16) show +bl +832 240 m +832 256 l +848 256 l +848 240 l +832 240 l +cs +bl +hf 8.0 sf +835.2 241.6 m (16) show +bl +848 240 m +848 256 l +864 256 l +864 240 l +848 240 l +cs +bl +hf 8.0 sf +851.2 241.6 m (16) show +bl +832 224 m +832 240 l +848 240 l +848 224 l +832 224 l +cs +bl +hf 8.0 sf +835.2 225.6 m (16) show +bl +848 224 m +848 240 l +864 240 l +864 224 l +848 224 l +cs +bl +hf 8.0 sf +851.2 225.6 m (16) show +bl +864 240 m +864 256 l +880 256 l +880 240 l +864 240 l +cs +bl +hf 8.0 sf +867.2 241.6 m (16) show +bl +880 240 m +880 256 l +896 256 l +896 240 l +880 240 l +cs +bl +hf 8.0 sf +883.2 241.6 m (16) show +bl +864 224 m +864 240 l +880 240 l +880 224 l +864 224 l +cs +bl +hf 8.0 sf +867.2 225.6 m (16) show +bl +880 224 m +880 240 l +896 240 l +896 224 l +880 224 l +cs +bl +hf 8.0 sf +883.2 225.6 m (16) show +bl +832 208 m +832 224 l +848 224 l +848 208 l +832 208 l +cs +bl +hf 8.0 sf +835.2 209.6 m (16) show +bl +848 208 m +848 224 l +864 224 l +864 208 l +848 208 l +cs +bl +hf 8.0 sf +851.2 209.6 m (16) show +bl +832 192 m +832 208 l +848 208 l +848 192 l +832 192 l +cs +bl +hf 8.0 sf +835.2 193.6 m (16) show +bl +848 192 m +848 208 l +864 208 l +864 192 l +848 192 l +cs +bl +hf 8.0 sf +851.2 193.6 m (16) show +bl +864 208 m +864 224 l +880 224 l +880 208 l +864 208 l +cs +bl +hf 8.0 sf +867.2 209.6 m (16) show +bl +880 208 m +880 224 l +896 224 l +896 208 l +880 208 l +cs +bl +hf 8.0 sf +883.2 209.6 m (16) show +bl +864 192 m +864 208 l +880 208 l +880 192 l +864 192 l +cs +bl +hf 8.0 sf +867.2 193.6 m (16) show +bl +880 192 m +880 208 l +896 208 l +896 192 l +880 192 l +cs +bl +hf 8.0 sf +883.2 193.6 m (16) show +bl +768 176 m +768 192 l +784 192 l +784 176 l +768 176 l +cs +bl +hf 8.0 sf +771.2 177.6 m (16) show +bl +784 176 m +784 192 l +800 192 l +800 176 l +784 176 l +cs +bl +hf 8.0 sf +787.2 177.6 m (16) show +bl +768 160 m +768 176 l +784 176 l +784 160 l +768 160 l +cs +bl +hf 8.0 sf +771.2 161.6 m (16) show +bl +784 160 m +784 176 l +800 176 l +800 160 l +784 160 l +cs +bl +hf 8.0 sf +787.2 161.6 m (16) show +bl +800 176 m +800 192 l +816 192 l +816 176 l +800 176 l +cs +bl +hf 8.0 sf +803.2 177.6 m (16) show +bl +816 176 m +816 192 l +832 192 l +832 176 l +816 176 l +cs +bl +hf 8.0 sf +819.2 177.6 m (16) show +bl +800 160 m +800 176 l +816 176 l +816 160 l +800 160 l +cs +bl +hf 8.0 sf +803.2 161.6 m (16) show +bl +816 160 m +816 176 l +832 176 l +832 160 l +816 160 l +cs +bl +hf 8.0 sf +819.2 161.6 m (16) show +bl +768 144 m +768 160 l +784 160 l +784 144 l +768 144 l +cs +bl +hf 8.0 sf +771.2 145.6 m (16) show +bl +784 144 m +784 160 l +800 160 l +800 144 l +784 144 l +cs +bl +hf 8.0 sf +787.2 145.6 m (16) show +bl +768 128 m +768 144 l +784 144 l +784 128 l +768 128 l +cs +bl +hf 8.0 sf +771.2 129.6 m (16) show +bl +784 128 m +784 144 l +800 144 l +800 128 l +784 128 l +cs +bl +hf 8.0 sf +787.2 129.6 m (16) show +bl +800 144 m +800 160 l +816 160 l +816 144 l +800 144 l +cs +bl +hf 8.0 sf +803.2 145.6 m (16) show +bl +816 144 m +816 160 l +832 160 l +832 144 l +816 144 l +cs +bl +hf 8.0 sf +819.2 145.6 m (16) show +bl +800 128 m +800 144 l +816 144 l +816 128 l +800 128 l +cs +bl +hf 8.0 sf +803.2 129.6 m (16) show +bl +816 128 m +816 144 l +832 144 l +832 128 l +816 128 l +cs +bl +hf 8.0 sf +819.2 129.6 m (16) show +bl +832 176 m +832 192 l +848 192 l +848 176 l +832 176 l +cs +bl +hf 8.0 sf +835.2 177.6 m (16) show +bl +848 176 m +848 192 l +864 192 l +864 176 l +848 176 l +cs +bl +hf 8.0 sf +851.2 177.6 m (16) show +bl +832 160 m +832 176 l +848 176 l +848 160 l +832 160 l +cs +bl +hf 8.0 sf +835.2 161.6 m (16) show +bl +848 160 m +848 176 l +864 176 l +864 160 l +848 160 l +cs +bl +hf 8.0 sf +851.2 161.6 m (16) show +bl +864 176 m +864 192 l +880 192 l +880 176 l +864 176 l +cs +bl +hf 8.0 sf +867.2 177.6 m (16) show +bl +880 176 m +880 192 l +896 192 l +896 176 l +880 176 l +cs +bl +hf 8.0 sf +883.2 177.6 m (16) show +bl +864 160 m +864 176 l +880 176 l +880 160 l +864 160 l +cs +bl +hf 8.0 sf +867.2 161.6 m (16) show +bl +880 160 m +880 176 l +896 176 l +896 160 l +880 160 l +cs +bl +hf 8.0 sf +883.2 161.6 m (16) show +bl +832 144 m +832 160 l +848 160 l +848 144 l +832 144 l +cs +bl +hf 8.0 sf +835.2 145.6 m (16) show +bl +848 144 m +848 160 l +864 160 l +864 144 l +848 144 l +cs +bl +hf 8.0 sf +851.2 145.6 m (16) show +bl +832 128 m +832 144 l +848 144 l +848 128 l +832 128 l +cs +bl +hf 8.0 sf +835.2 129.6 m (16) show +bl +848 128 m +848 144 l +864 144 l +864 128 l +848 128 l +cs +bl +hf 8.0 sf +851.2 129.6 m (16) show +bl +864 144 m +864 160 l +880 160 l +880 144 l +864 144 l +cs +bl +hf 8.0 sf +867.2 145.6 m (16) show +bl +880 144 m +880 160 l +896 160 l +896 144 l +880 144 l +cs +bl +hf 8.0 sf +883.2 145.6 m (16) show +bl +864 128 m +864 144 l +880 144 l +880 128 l +864 128 l +cs +bl +hf 8.0 sf +867.2 129.6 m (16) show +bl +880 128 m +880 144 l +896 144 l +896 128 l +880 128 l +cs +bl +hf 8.0 sf +883.2 129.6 m (16) show +bl +896 240 m +896 256 l +912 256 l +912 240 l +896 240 l +cs +bl +hf 8.0 sf +899.2 241.6 m (16) show +bl +912 240 m +912 256 l +928 256 l +928 240 l +912 240 l +cs +bl +hf 8.0 sf +915.2 241.6 m (16) show +bl +896 224 m +896 240 l +912 240 l +912 224 l +896 224 l +cs +bl +hf 8.0 sf +899.2 225.6 m (16) show +bl +912 224 m +912 240 l +928 240 l +928 224 l +912 224 l +cs +bl +hf 8.0 sf +915.2 225.6 m (16) show +928 224 m +928 256 l +944 256 l +944 224 l +928 224 l +fl +bl +928 224 m +928 256 l +944 256 l +944 224 l +928 224 l +cs +bl +896 208 m +896 224 l +912 224 l +912 208 l +896 208 l +cs +bl +hf 8.0 sf +899.2 209.6 m (16) show +bl +912 208 m +912 224 l +928 224 l +928 208 l +912 208 l +cs +bl +hf 8.0 sf +915.2 209.6 m (16) show +bl +896 192 m +896 208 l +912 208 l +912 192 l +896 192 l +cs +bl +hf 8.0 sf +899.2 193.6 m (16) show +bl +912 192 m +912 208 l +928 208 l +928 192 l +912 192 l +cs +bl +hf 8.0 sf +915.2 193.6 m (16) show +bl +928 192 m +928 224 l +944 224 l +944 192 l +928 192 l +cs +bl +hf 8.0 sf +931.2 195.2 m (16) show +bl +944 192 m +944 256 l +960 256 l +960 192 l +944 192 l +cs +bl +hf 8.0 sf +947.2 198.4 m (16) show +bl +896 176 m +896 192 l +912 192 l +912 176 l +896 176 l +cs +bl +hf 8.0 sf +899.2 177.6 m (16) show +bl +912 176 m +912 192 l +928 192 l +928 176 l +912 176 l +cs +bl +hf 8.0 sf +915.2 177.6 m (16) show +896 160 m +896 176 l +912 176 l +912 160 l +896 160 l +fl +bl +896 160 m +896 176 l +912 176 l +912 160 l +896 160 l +cs +bl +912 160 m +912 176 l +928 176 l +928 160 l +912 160 l +cs +bl +hf 8.0 sf +915.2 161.6 m (16) show +928 160 m +928 192 l +944 192 l +944 160 l +928 160 l +fl +bl +928 160 m +928 192 l +944 192 l +944 160 l +928 160 l +cs +bl +896 144 m +896 160 l +912 160 l +912 144 l +896 144 l +cs +bl +hf 8.0 sf +899.2 145.6 m (16) show +bl +912 144 m +912 160 l +928 160 l +928 144 l +912 144 l +cs +bl +hf 8.0 sf +915.2 145.6 m (16) show +bl +896 128 m +896 144 l +912 144 l +912 128 l +896 128 l +cs +bl +hf 8.0 sf +899.2 129.6 m (16) show +bl +912 128 m +912 144 l +928 144 l +928 128 l +912 128 l +cs +bl +hf 8.0 sf +915.2 129.6 m (16) show +bl +928 128 m +928 160 l +944 160 l +944 128 l +928 128 l +cs +bl +hf 8.0 sf +931.2 131.2 m (16) show +bl +944 128 m +944 192 l +960 192 l +960 128 l +944 128 l +cs +bl +hf 8.0 sf +947.2 134.4 m (16) show +bl +768 112 m +768 128 l +784 128 l +784 112 l +768 112 l +cs +bl +hf 8.0 sf +771.2 113.6 m (16) show +bl +784 112 m +784 128 l +800 128 l +800 112 l +784 112 l +cs +bl +hf 8.0 sf +787.2 113.6 m (16) show +bl +768 96 m +768 112 l +784 112 l +784 96 l +768 96 l +cs +bl +hf 8.0 sf +771.2 97.6 m (16) show +bl +784 96 m +784 112 l +800 112 l +800 96 l +784 96 l +cs +bl +hf 8.0 sf +787.2 97.6 m (16) show +bl +800 112 m +800 128 l +816 128 l +816 112 l +800 112 l +cs +bl +hf 8.0 sf +803.2 113.6 m (16) show +bl +816 112 m +816 128 l +832 128 l +832 112 l +816 112 l +cs +bl +hf 8.0 sf +819.2 113.6 m (16) show +bl +800 96 m +800 112 l +816 112 l +816 96 l +800 96 l +cs +bl +hf 8.0 sf +803.2 97.6 m (16) show +bl +816 96 m +816 112 l +832 112 l +832 96 l +816 96 l +cs +bl +hf 8.0 sf +819.2 97.6 m (16) show +768 80 m +768 96 l +800 96 l +800 80 l +768 80 l +fl +bl +768 80 m +768 96 l +800 96 l +800 80 l +768 80 l +cs +bl +800 80 m +800 96 l +832 96 l +832 80 l +800 80 l +cs +bl +hf 8.0 sf +806.4 81.6 m (16) show +bl +832 112 m +832 128 l +848 128 l +848 112 l +832 112 l +cs +bl +hf 8.0 sf +835.2 113.6 m (16) show +848 112 m +848 128 l +864 128 l +864 112 l +848 112 l +fl +bl +848 112 m +848 128 l +864 128 l +864 112 l +848 112 l +cs +bl +832 96 m +832 112 l +848 112 l +848 96 l +832 96 l +cs +bl +hf 8.0 sf +835.2 97.6 m (16) show +bl +848 96 m +848 112 l +864 112 l +864 96 l +848 96 l +cs +bl +hf 8.0 sf +851.2 97.6 m (16) show +bl +864 112 m +864 128 l +880 128 l +880 112 l +864 112 l +cs +bl +hf 8.0 sf +867.2 113.6 m (16) show +bl +880 112 m +880 128 l +896 128 l +896 112 l +880 112 l +cs +bl +hf 8.0 sf +883.2 113.6 m (16) show +bl +864 96 m +864 112 l +880 112 l +880 96 l +864 96 l +cs +bl +hf 8.0 sf +867.2 97.6 m (16) show +bl +880 96 m +880 112 l +896 112 l +896 96 l +880 96 l +cs +bl +hf 8.0 sf +883.2 97.6 m (16) show +832 80 m +832 96 l +864 96 l +864 80 l +832 80 l +fl +bl +832 80 m +832 96 l +864 96 l +864 80 l +832 80 l +cs +bl +864 80 m +864 96 l +896 96 l +896 80 l +864 80 l +cs +bl +hf 8.0 sf +870.4 81.6 m (16) show +bl +768 64 m +768 80 l +832 80 l +832 64 l +768 64 l +cs +bl +hf 8.0 sf +780.8 65.6 m (16) show +bl +832 64 m +832 80 l +896 80 l +896 64 l +832 64 l +cs +bl +hf 8.0 sf +844.8 65.6 m (16) show +bl +896 112 m +896 128 l +912 128 l +912 112 l +896 112 l +cs +bl +hf 8.0 sf +899.2 113.6 m (16) show +bl +912 112 m +912 128 l +928 128 l +928 112 l +912 112 l +cs +bl +hf 8.0 sf +915.2 113.6 m (16) show +bl +896 96 m +896 112 l +912 112 l +912 96 l +896 96 l +cs +bl +hf 8.0 sf +899.2 97.6 m (16) show +bl +912 96 m +912 112 l +928 112 l +928 96 l +912 96 l +cs +bl +hf 8.0 sf +915.2 97.6 m (16) show +bl +928 96 m +928 128 l +944 128 l +944 96 l +928 96 l +cs +bl +hf 8.0 sf +931.2 99.2 m (16) show +bl +896 80 m +896 96 l +928 96 l +928 80 l +896 80 l +cs +bl +hf 8.0 sf +902.4 81.6 m (16) show +bl +928 80 m +928 96 l +944 96 l +944 80 l +928 80 l +cs +bl +hf 8.0 sf +931.2 81.6 m (16) show +bl +944 80 m +944 128 l +960 128 l +960 80 l +944 80 l +cs +bl +hf 8.0 sf +947.2 84.8 m (16) show +bl +896 64 m +896 80 l +944 80 l +944 64 l +896 64 l +cs +bl +hf 8.0 sf +905.6 65.6 m (16) show +bl +944 64 m +944 80 l +960 80 l +960 64 l +944 64 l +cs +bl +hf 8.0 sf +947.2 65.6 m (16) show +bl +960 224 m +960 256 l +976 256 l +976 224 l +960 224 l +cs +bl +hf 8.0 sf +963.2 227.2 m (16) show +976 224 m +976 256 l +992 256 l +992 224 l +976 224 l +fl +bl +976 224 m +976 256 l +992 256 l +992 224 l +976 224 l +cs +bl +960 192 m +960 224 l +976 224 l +976 192 l +960 192 l +cs +bl +hf 8.0 sf +963.2 195.2 m (16) show +976 192 m +976 224 l +992 224 l +992 192 l +976 192 l +fl +bl +976 192 m +976 224 l +992 224 l +992 192 l +976 192 l +cs +bl +992 192 m +992 256 l +1008 256 l +1008 192 l +992 192 l +cs +bl +hf 8.0 sf +995.2 198.4 m (16) show +bl +960 160 m +960 192 l +976 192 l +976 160 l +960 160 l +cs +bl +hf 8.0 sf +963.2 163.2 m (16) show +bl +976 160 m +976 192 l +992 192 l +992 160 l +976 160 l +cs +bl +hf 8.0 sf +979.2 163.2 m (16) show +bl +960 128 m +960 160 l +976 160 l +976 128 l +960 128 l +cs +bl +hf 8.0 sf +963.2 131.2 m (16) show +bl +976 128 m +976 160 l +992 160 l +992 128 l +976 128 l +cs +bl +hf 8.0 sf +979.2 131.2 m (16) show +bl +992 128 m +992 192 l +1008 192 l +1008 128 l +992 128 l +cs +bl +hf 8.0 sf +995.2 134.4 m (16) show +bl +1008 128 m +1008 256 l +1024 256 l +1024 128 l +1008 128 l +cs +bl +hf 8.0 sf +1011.2 140.8 m (16) show +960 96 m +960 128 l +976 128 l +976 96 l +960 96 l +fl +bl +960 96 m +960 128 l +976 128 l +976 96 l +960 96 l +cs +976 96 m +976 128 l +992 128 l +992 96 l +976 96 l +fl +bl +976 96 m +976 128 l +992 128 l +992 96 l +976 96 l +cs +960 80 m +960 96 l +976 96 l +976 80 l +960 80 l +fl +bl +960 80 m +960 96 l +976 96 l +976 80 l +960 80 l +cs +976 80 m +976 96 l +992 96 l +992 80 l +976 80 l +fl +bl +976 80 m +976 96 l +992 96 l +992 80 l +976 80 l +cs +bl +992 80 m +992 128 l +1008 128 l +1008 80 l +992 80 l +cs +bl +hf 8.0 sf +995.2 84.8 m (16) show +bl +960 64 m +960 80 l +992 80 l +992 64 l +960 64 l +cs +bl +hf 8.0 sf +966.4 65.6 m (16) show +bl +992 64 m +992 80 l +1008 80 l +1008 64 l +992 64 l +cs +bl +hf 8.0 sf +995.2 65.6 m (16) show +bl +1008 64 m +1008 128 l +1024 128 l +1024 64 l +1008 64 l +cs +bl +hf 8.0 sf +1011.2 70.4 m (16) show +bl +768 48 m +768 64 l +800 64 l +800 48 l +768 48 l +cs +bl +hf 8.0 sf +774.4 49.6 m (16) show +bl +800 48 m +800 64 l +832 64 l +832 48 l +800 48 l +cs +bl +hf 8.0 sf +806.4 49.6 m (16) show +768 32 m +768 48 l +800 48 l +800 32 l +768 32 l +fl +bl +768 32 m +768 48 l +800 48 l +800 32 l +768 32 l +cs +800 32 m +800 48 l +832 48 l +832 32 l +800 32 l +fl +bl +800 32 m +800 48 l +832 48 l +832 32 l +800 32 l +cs +bl +832 48 m +832 64 l +864 64 l +864 48 l +832 48 l +cs +bl +hf 8.0 sf +838.4 49.6 m (16) show +bl +864 48 m +864 64 l +896 64 l +896 48 l +864 48 l +cs +bl +hf 8.0 sf +870.4 49.6 m (16) show +bl +832 32 m +832 48 l +864 48 l +864 32 l +832 32 l +cs +bl +hf 8.0 sf +838.4 33.6 m (16) show +bl +864 32 m +864 48 l +896 48 l +896 32 l +864 32 l +cs +bl +hf 8.0 sf +870.4 33.6 m (16) show +bl +768 16 m +768 32 l +832 32 l +832 16 l +768 16 l +cs +bl +hf 8.0 sf +780.8 17.6 m (16) show +bl +832 16 m +832 32 l +896 32 l +896 16 l +832 16 l +cs +bl +hf 8.0 sf +844.8 17.6 m (16) show +896 48 m +896 64 l +928 64 l +928 48 l +896 48 l +fl +bl +896 48 m +896 64 l +928 64 l +928 48 l +896 48 l +cs +928 48 m +928 64 l +944 64 l +944 48 l +928 48 l +fl +bl +928 48 m +928 64 l +944 64 l +944 48 l +928 48 l +cs +896 32 m +896 48 l +928 48 l +928 32 l +896 32 l +fl +bl +896 32 m +896 48 l +928 48 l +928 32 l +896 32 l +cs +928 32 m +928 48 l +944 48 l +944 32 l +928 32 l +fl +bl +928 32 m +928 48 l +944 48 l +944 32 l +928 32 l +cs +bl +944 32 m +944 64 l +960 64 l +960 32 l +944 32 l +cs +bl +hf 8.0 sf +947.2 35.2 m (16) show +bl +896 16 m +896 32 l +944 32 l +944 16 l +896 16 l +cs +bl +hf 8.0 sf +905.6 17.6 m (16) show +bl +944 16 m +944 32 l +960 32 l +960 16 l +944 16 l +cs +bl +hf 8.0 sf +947.2 17.6 m (16) show +bl +768 0 m +768 16 l +896 16 l +896 0 l +768 0 l +cs +bl +hf 8.0 sf +793.6 1.6 m (16) show +bl +896 0 m +896 16 l +960 16 l +960 0 l +896 0 l +cs +bl +hf 8.0 sf +908.8 1.6 m (16) show +bl +960 48 m +960 64 l +976 64 l +976 48 l +960 48 l +cs +bl +hf 8.0 sf +963.2 49.6 m (16) show +bl +976 48 m +976 64 l +992 64 l +992 48 l +976 48 l +cs +bl +hf 8.0 sf +979.2 49.6 m (16) show +bl +960 32 m +960 48 l +976 48 l +976 32 l +960 32 l +cs +bl +hf 8.0 sf +963.2 33.6 m (16) show +bl +976 32 m +976 48 l +992 48 l +992 32 l +976 32 l +cs +bl +hf 8.0 sf +979.2 33.6 m (16) show +bl +992 32 m +992 64 l +1008 64 l +1008 32 l +992 32 l +cs +bl +hf 8.0 sf +995.2 35.2 m (16) show +bl +960 16 m +960 32 l +992 32 l +992 16 l +960 16 l +cs +bl +hf 8.0 sf +966.4 17.6 m (16) show +bl +992 16 m +992 32 l +1008 32 l +1008 16 l +992 16 l +cs +bl +hf 8.0 sf +995.2 17.6 m (16) show +bl +1008 16 m +1008 64 l +1024 64 l +1024 16 l +1008 16 l +cs +bl +hf 8.0 sf +1011.2 20.8 m (16) show +bl +960 0 m +960 16 l +1008 16 l +1008 0 l +960 0 l +cs +bl +hf 8.0 sf +969.6 1.6 m (16) show +bl +1008 0 m +1008 16 l +1024 16 l +1024 0 l +1008 0 l +cs +bl +hf 8.0 sf +1011.2 1.6 m (16) show +showpage diff --git a/src/bem3d/src/laplace/clustertree.ps b/src/bem3d/src/laplace/clustertree.ps new file mode 100644 index 0000000..a11445b --- /dev/null +++ b/src/bem3d/src/laplace/clustertree.ps @@ -0,0 +1,521 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 0 0 500 146 +0 dup translate +0.488281 dup scale +0.009766 setlinewidth +/Helvetica findfont 24.576000 scalefont setfont +0 setgray +/cs{closepath stroke} def +/m{moveto} def +/l{lineto} def +/hf{/Helvetica findfont} def +/sf{scalefont setfont} def +0 -5 m 0 5 l + 0 0 m 1024 0 l + 1024 -5 m 1024 5 l stroke + hf 15.000000 sf 1 3 m (0) show +0 25 m 0 35 l + 0 30 m 768 30 l + 768 25 m 768 35 l stroke + hf 15.000000 sf 1 33 m (1) show +0 55 m 0 65 l + 0 60 m 512 60 l + 512 55 m 512 65 l stroke + hf 15.000000 sf 1 63 m (2) show +0 85 m 0 95 l + 0 90 m 256 90 l + 256 85 m 256 95 l stroke + hf 15.000000 sf 1 93 m (3) show +0 115 m 0 125 l + 0 120 m 128 120 l + 128 115 m 128 125 l stroke + hf 15.000000 sf 1 123 m (4) show +0 145 m 0 155 l + 0 150 m 64 150 l + 64 145 m 64 155 l stroke + hf 15.000000 sf 1 153 m (5) show +0 175 m 0 185 l + 0 180 m 32 180 l + 32 175 m 32 185 l stroke + hf 15.000000 sf 1 183 m (6) show +0 205 m 0 215 l + 0 210 m 16 210 l + 16 205 m 16 215 l stroke + hf 8.000000 sf 1 213 m (7) show +16 205 m 16 215 l + 16 210 m 32 210 l + 32 205 m 32 215 l stroke + hf 8.000000 sf 17 213 m (8) show +32 175 m 32 185 l + 32 180 m 64 180 l + 64 175 m 64 185 l stroke + hf 15.000000 sf 33 183 m (9) show +32 205 m 32 215 l + 32 210 m 48 210 l + 48 205 m 48 215 l stroke + hf 8.000000 sf 33 213 m (10) show +48 205 m 48 215 l + 48 210 m 64 210 l + 64 205 m 64 215 l stroke + hf 8.000000 sf 49 213 m (11) show +64 145 m 64 155 l + 64 150 m 128 150 l + 128 145 m 128 155 l stroke + hf 15.000000 sf 65 153 m (12) show +64 175 m 64 185 l + 64 180 m 96 180 l + 96 175 m 96 185 l stroke + hf 15.000000 sf 65 183 m (13) show +64 205 m 64 215 l + 64 210 m 80 210 l + 80 205 m 80 215 l stroke + hf 8.000000 sf 65 213 m (14) show +80 205 m 80 215 l + 80 210 m 96 210 l + 96 205 m 96 215 l stroke + hf 8.000000 sf 81 213 m (15) show +96 175 m 96 185 l + 96 180 m 128 180 l + 128 175 m 128 185 l stroke + hf 15.000000 sf 97 183 m (16) show +96 205 m 96 215 l + 96 210 m 112 210 l + 112 205 m 112 215 l stroke + hf 8.000000 sf 97 213 m (17) show +112 205 m 112 215 l + 112 210 m 128 210 l + 128 205 m 128 215 l stroke + hf 8.000000 sf 113 213 m (18) show +128 115 m 128 125 l + 128 120 m 256 120 l + 256 115 m 256 125 l stroke + hf 15.000000 sf 129 123 m (19) show +128 145 m 128 155 l + 128 150 m 192 150 l + 192 145 m 192 155 l stroke + hf 15.000000 sf 129 153 m (20) show +128 175 m 128 185 l + 128 180 m 160 180 l + 160 175 m 160 185 l stroke + hf 15.000000 sf 129 183 m (21) show +128 205 m 128 215 l + 128 210 m 144 210 l + 144 205 m 144 215 l stroke + hf 8.000000 sf 129 213 m (22) show +144 205 m 144 215 l + 144 210 m 160 210 l + 160 205 m 160 215 l stroke + hf 8.000000 sf 145 213 m (23) show +160 175 m 160 185 l + 160 180 m 192 180 l + 192 175 m 192 185 l stroke + hf 15.000000 sf 161 183 m (24) show +160 205 m 160 215 l + 160 210 m 176 210 l + 176 205 m 176 215 l stroke + hf 8.000000 sf 161 213 m (25) show +176 205 m 176 215 l + 176 210 m 192 210 l + 192 205 m 192 215 l stroke + hf 8.000000 sf 177 213 m (26) show +192 145 m 192 155 l + 192 150 m 256 150 l + 256 145 m 256 155 l stroke + hf 15.000000 sf 193 153 m (27) show +192 175 m 192 185 l + 192 180 m 224 180 l + 224 175 m 224 185 l stroke + hf 15.000000 sf 193 183 m (28) show +192 205 m 192 215 l + 192 210 m 208 210 l + 208 205 m 208 215 l stroke + hf 8.000000 sf 193 213 m (29) show +208 205 m 208 215 l + 208 210 m 224 210 l + 224 205 m 224 215 l stroke + hf 8.000000 sf 209 213 m (30) show +224 175 m 224 185 l + 224 180 m 256 180 l + 256 175 m 256 185 l stroke + hf 15.000000 sf 225 183 m (31) show +224 205 m 224 215 l + 224 210 m 240 210 l + 240 205 m 240 215 l stroke + hf 8.000000 sf 225 213 m (32) show +240 205 m 240 215 l + 240 210 m 256 210 l + 256 205 m 256 215 l stroke + hf 8.000000 sf 241 213 m (33) show +256 85 m 256 95 l + 256 90 m 512 90 l + 512 85 m 512 95 l stroke + hf 15.000000 sf 257 93 m (34) show +256 115 m 256 125 l + 256 120 m 384 120 l + 384 115 m 384 125 l stroke + hf 15.000000 sf 257 123 m (35) show +256 145 m 256 155 l + 256 150 m 320 150 l + 320 145 m 320 155 l stroke + hf 15.000000 sf 257 153 m (36) show +256 175 m 256 185 l + 256 180 m 288 180 l + 288 175 m 288 185 l stroke + hf 15.000000 sf 257 183 m (37) show +256 205 m 256 215 l + 256 210 m 272 210 l + 272 205 m 272 215 l stroke + hf 8.000000 sf 257 213 m (38) show +272 205 m 272 215 l + 272 210 m 288 210 l + 288 205 m 288 215 l stroke + hf 8.000000 sf 273 213 m (39) show +288 175 m 288 185 l + 288 180 m 320 180 l + 320 175 m 320 185 l stroke + hf 15.000000 sf 289 183 m (40) show +288 205 m 288 215 l + 288 210 m 304 210 l + 304 205 m 304 215 l stroke + hf 8.000000 sf 289 213 m (41) show +304 205 m 304 215 l + 304 210 m 320 210 l + 320 205 m 320 215 l stroke + hf 8.000000 sf 305 213 m (42) show +320 145 m 320 155 l + 320 150 m 384 150 l + 384 145 m 384 155 l stroke + hf 15.000000 sf 321 153 m (43) show +320 175 m 320 185 l + 320 180 m 352 180 l + 352 175 m 352 185 l stroke + hf 15.000000 sf 321 183 m (44) show +320 205 m 320 215 l + 320 210 m 336 210 l + 336 205 m 336 215 l stroke + hf 8.000000 sf 321 213 m (45) show +336 205 m 336 215 l + 336 210 m 352 210 l + 352 205 m 352 215 l stroke + hf 8.000000 sf 337 213 m (46) show +352 175 m 352 185 l + 352 180 m 384 180 l + 384 175 m 384 185 l stroke + hf 15.000000 sf 353 183 m (47) show +352 205 m 352 215 l + 352 210 m 368 210 l + 368 205 m 368 215 l stroke + hf 8.000000 sf 353 213 m (48) show +368 205 m 368 215 l + 368 210 m 384 210 l + 384 205 m 384 215 l stroke + hf 8.000000 sf 369 213 m (49) show +384 115 m 384 125 l + 384 120 m 512 120 l + 512 115 m 512 125 l stroke + hf 15.000000 sf 385 123 m (50) show +384 145 m 384 155 l + 384 150 m 448 150 l + 448 145 m 448 155 l stroke + hf 15.000000 sf 385 153 m (51) show +384 175 m 384 185 l + 384 180 m 416 180 l + 416 175 m 416 185 l stroke + hf 15.000000 sf 385 183 m (52) show +384 205 m 384 215 l + 384 210 m 400 210 l + 400 205 m 400 215 l stroke + hf 8.000000 sf 385 213 m (53) show +400 205 m 400 215 l + 400 210 m 416 210 l + 416 205 m 416 215 l stroke + hf 8.000000 sf 401 213 m (54) show +416 175 m 416 185 l + 416 180 m 448 180 l + 448 175 m 448 185 l stroke + hf 15.000000 sf 417 183 m (55) show +416 205 m 416 215 l + 416 210 m 432 210 l + 432 205 m 432 215 l stroke + hf 8.000000 sf 417 213 m (56) show +432 205 m 432 215 l + 432 210 m 448 210 l + 448 205 m 448 215 l stroke + hf 8.000000 sf 433 213 m (57) show +448 145 m 448 155 l + 448 150 m 512 150 l + 512 145 m 512 155 l stroke + hf 15.000000 sf 449 153 m (58) show +448 175 m 448 185 l + 448 180 m 480 180 l + 480 175 m 480 185 l stroke + hf 15.000000 sf 449 183 m (59) show +448 205 m 448 215 l + 448 210 m 464 210 l + 464 205 m 464 215 l stroke + hf 8.000000 sf 449 213 m (60) show +464 205 m 464 215 l + 464 210 m 480 210 l + 480 205 m 480 215 l stroke + hf 8.000000 sf 465 213 m (61) show +480 175 m 480 185 l + 480 180 m 512 180 l + 512 175 m 512 185 l stroke + hf 15.000000 sf 481 183 m (62) show +480 205 m 480 215 l + 480 210 m 496 210 l + 496 205 m 496 215 l stroke + hf 8.000000 sf 481 213 m (63) show +496 205 m 496 215 l + 496 210 m 512 210 l + 512 205 m 512 215 l stroke + hf 8.000000 sf 497 213 m (64) show +512 55 m 512 65 l + 512 60 m 768 60 l + 768 55 m 768 65 l stroke + hf 15.000000 sf 513 63 m (65) show +512 85 m 512 95 l + 512 90 m 704 90 l + 704 85 m 704 95 l stroke + hf 15.000000 sf 513 93 m (66) show +512 115 m 512 125 l + 512 120 m 640 120 l + 640 115 m 640 125 l stroke + hf 15.000000 sf 513 123 m (67) show +512 145 m 512 155 l + 512 150 m 576 150 l + 576 145 m 576 155 l stroke + hf 15.000000 sf 513 153 m (68) show +512 175 m 512 185 l + 512 180 m 544 180 l + 544 175 m 544 185 l stroke + hf 15.000000 sf 513 183 m (69) show +512 205 m 512 215 l + 512 210 m 528 210 l + 528 205 m 528 215 l stroke + hf 8.000000 sf 513 213 m (70) show +528 205 m 528 215 l + 528 210 m 544 210 l + 544 205 m 544 215 l stroke + hf 8.000000 sf 529 213 m (71) show +544 175 m 544 185 l + 544 180 m 576 180 l + 576 175 m 576 185 l stroke + hf 15.000000 sf 545 183 m (72) show +544 205 m 544 215 l + 544 210 m 560 210 l + 560 205 m 560 215 l stroke + hf 8.000000 sf 545 213 m (73) show +560 205 m 560 215 l + 560 210 m 576 210 l + 576 205 m 576 215 l stroke + hf 8.000000 sf 561 213 m (74) show +576 145 m 576 155 l + 576 150 m 640 150 l + 640 145 m 640 155 l stroke + hf 15.000000 sf 577 153 m (75) show +576 175 m 576 185 l + 576 180 m 608 180 l + 608 175 m 608 185 l stroke + hf 15.000000 sf 577 183 m (76) show +576 205 m 576 215 l + 576 210 m 592 210 l + 592 205 m 592 215 l stroke + hf 8.000000 sf 577 213 m (77) show +592 205 m 592 215 l + 592 210 m 608 210 l + 608 205 m 608 215 l stroke + hf 8.000000 sf 593 213 m (78) show +608 175 m 608 185 l + 608 180 m 640 180 l + 640 175 m 640 185 l stroke + hf 15.000000 sf 609 183 m (79) show +608 205 m 608 215 l + 608 210 m 624 210 l + 624 205 m 624 215 l stroke + hf 8.000000 sf 609 213 m (80) show +624 205 m 624 215 l + 624 210 m 640 210 l + 640 205 m 640 215 l stroke + hf 8.000000 sf 625 213 m (81) show +640 115 m 640 125 l + 640 120 m 704 120 l + 704 115 m 704 125 l stroke + hf 15.000000 sf 641 123 m (82) show +640 145 m 640 155 l + 640 150 m 688 150 l + 688 145 m 688 155 l stroke + hf 15.000000 sf 641 153 m (83) show +640 175 m 640 185 l + 640 180 m 672 180 l + 672 175 m 672 185 l stroke + hf 15.000000 sf 641 183 m (84) show +640 205 m 640 215 l + 640 210 m 656 210 l + 656 205 m 656 215 l stroke + hf 8.000000 sf 641 213 m (85) show +656 205 m 656 215 l + 656 210 m 672 210 l + 672 205 m 672 215 l stroke + hf 8.000000 sf 657 213 m (86) show +672 175 m 672 185 l + 672 180 m 688 180 l + 688 175 m 688 185 l stroke + hf 8.000000 sf 673 183 m (87) show +688 145 m 688 155 l + 688 150 m 704 150 l + 704 145 m 704 155 l stroke + hf 8.000000 sf 689 153 m (88) show +704 85 m 704 95 l + 704 90 m 768 90 l + 768 85 m 768 95 l stroke + hf 15.000000 sf 705 93 m (89) show +704 115 m 704 125 l + 704 120 m 752 120 l + 752 115 m 752 125 l stroke + hf 15.000000 sf 705 123 m (90) show +704 145 m 704 155 l + 704 150 m 736 150 l + 736 145 m 736 155 l stroke + hf 15.000000 sf 705 153 m (91) show +704 175 m 704 185 l + 704 180 m 720 180 l + 720 175 m 720 185 l stroke + hf 8.000000 sf 705 183 m (92) show +720 175 m 720 185 l + 720 180 m 736 180 l + 736 175 m 736 185 l stroke + hf 8.000000 sf 721 183 m (93) show +736 145 m 736 155 l + 736 150 m 752 150 l + 752 145 m 752 155 l stroke + hf 8.000000 sf 737 153 m (94) show +752 115 m 752 125 l + 752 120 m 768 120 l + 768 115 m 768 125 l stroke + hf 8.000000 sf 753 123 m (95) show +768 25 m 768 35 l + 768 30 m 1024 30 l + 1024 25 m 1024 35 l stroke + hf 15.000000 sf 769 33 m (96) show +768 55 m 768 65 l + 768 60 m 960 60 l + 960 55 m 960 65 l stroke + hf 15.000000 sf 769 63 m (97) show +768 85 m 768 95 l + 768 90 m 896 90 l + 896 85 m 896 95 l stroke + hf 15.000000 sf 769 93 m (98) show +768 115 m 768 125 l + 768 120 m 832 120 l + 832 115 m 832 125 l stroke + hf 15.000000 sf 769 123 m (99) show +768 145 m 768 155 l + 768 150 m 800 150 l + 800 145 m 800 155 l stroke + hf 15.000000 sf 769 153 m (100) show +768 175 m 768 185 l + 768 180 m 784 180 l + 784 175 m 784 185 l stroke + hf 8.000000 sf 769 183 m (101) show +784 175 m 784 185 l + 784 180 m 800 180 l + 800 175 m 800 185 l stroke + hf 8.000000 sf 785 183 m (102) show +800 145 m 800 155 l + 800 150 m 832 150 l + 832 145 m 832 155 l stroke + hf 15.000000 sf 801 153 m (103) show +800 175 m 800 185 l + 800 180 m 816 180 l + 816 175 m 816 185 l stroke + hf 8.000000 sf 801 183 m (104) show +816 175 m 816 185 l + 816 180 m 832 180 l + 832 175 m 832 185 l stroke + hf 8.000000 sf 817 183 m (105) show +832 115 m 832 125 l + 832 120 m 896 120 l + 896 115 m 896 125 l stroke + hf 15.000000 sf 833 123 m (106) show +832 145 m 832 155 l + 832 150 m 864 150 l + 864 145 m 864 155 l stroke + hf 15.000000 sf 833 153 m (107) show +832 175 m 832 185 l + 832 180 m 848 180 l + 848 175 m 848 185 l stroke + hf 8.000000 sf 833 183 m (108) show +848 175 m 848 185 l + 848 180 m 864 180 l + 864 175 m 864 185 l stroke + hf 8.000000 sf 849 183 m (109) show +864 145 m 864 155 l + 864 150 m 896 150 l + 896 145 m 896 155 l stroke + hf 15.000000 sf 865 153 m (110) show +864 175 m 864 185 l + 864 180 m 880 180 l + 880 175 m 880 185 l stroke + hf 8.000000 sf 865 183 m (111) show +880 175 m 880 185 l + 880 180 m 896 180 l + 896 175 m 896 185 l stroke + hf 8.000000 sf 881 183 m (112) show +896 85 m 896 95 l + 896 90 m 960 90 l + 960 85 m 960 95 l stroke + hf 15.000000 sf 897 93 m (113) show +896 115 m 896 125 l + 896 120 m 944 120 l + 944 115 m 944 125 l stroke + hf 15.000000 sf 897 123 m (114) show +896 145 m 896 155 l + 896 150 m 928 150 l + 928 145 m 928 155 l stroke + hf 15.000000 sf 897 153 m (115) show +896 175 m 896 185 l + 896 180 m 912 180 l + 912 175 m 912 185 l stroke + hf 8.000000 sf 897 183 m (116) show +912 175 m 912 185 l + 912 180 m 928 180 l + 928 175 m 928 185 l stroke + hf 8.000000 sf 913 183 m (117) show +928 145 m 928 155 l + 928 150 m 944 150 l + 944 145 m 944 155 l stroke + hf 8.000000 sf 929 153 m (118) show +944 115 m 944 125 l + 944 120 m 960 120 l + 960 115 m 960 125 l stroke + hf 8.000000 sf 945 123 m (119) show +960 55 m 960 65 l + 960 60 m 1024 60 l + 1024 55 m 1024 65 l stroke + hf 15.000000 sf 961 63 m (120) show +960 85 m 960 95 l + 960 90 m 1008 90 l + 1008 85 m 1008 95 l stroke + hf 15.000000 sf 961 93 m (121) show +960 115 m 960 125 l + 960 120 m 992 120 l + 992 115 m 992 125 l stroke + hf 15.000000 sf 961 123 m (122) show +960 145 m 960 155 l + 960 150 m 976 150 l + 976 145 m 976 155 l stroke + hf 8.000000 sf 961 153 m (123) show +976 145 m 976 155 l + 976 150 m 992 150 l + 992 145 m 992 155 l stroke + hf 8.000000 sf 977 153 m (124) show +992 115 m 992 125 l + 992 120 m 1008 120 l + 1008 115 m 1008 125 l stroke + hf 8.000000 sf 993 123 m (125) show +1008 85 m 1008 95 l + 1008 90 m 1024 90 l + 1024 85 m 1024 95 l stroke + hf 8.000000 sf 1009 93 m (126) show +showpage diff --git a/src/bem3d/src/laplace/clustertree.txt b/src/bem3d/src/laplace/clustertree.txt new file mode 100644 index 0000000..402b83b --- /dev/null +++ b/src/bem3d/src/laplace/clustertree.txt @@ -0,0 +1,1279 @@ +1024 1024 127 +0 +2 0 1024 +4 0 768 +6 0 512 +8 0 256 +10 0 128 +12 0 64 +14 0 32 +14 0 16 +14 16 16 +16 32 32 +16 32 16 +16 48 16 +18 64 64 +20 64 32 +20 64 16 +20 80 16 +22 96 32 +22 96 16 +22 112 16 +24 128 128 +26 128 64 +28 128 32 +28 128 16 +28 144 16 +30 160 32 +30 160 16 +30 176 16 +32 192 64 +34 192 32 +34 192 16 +34 208 16 +36 224 32 +36 224 16 +36 240 16 +38 256 256 +40 256 128 +42 256 64 +44 256 32 +44 256 16 +44 272 16 +46 288 32 +46 288 16 +46 304 16 +48 320 64 +50 320 32 +50 320 16 +50 336 16 +52 352 32 +52 352 16 +52 368 16 +54 384 128 +56 384 64 +58 384 32 +58 384 16 +58 400 16 +60 416 32 +60 416 16 +60 432 16 +62 448 64 +64 448 32 +64 448 16 +64 464 16 +66 480 32 +66 480 16 +66 496 16 +68 512 256 +70 512 192 +72 512 128 +74 512 64 +76 512 32 +76 512 16 +76 528 16 +78 544 32 +78 544 16 +78 560 16 +80 576 64 +82 576 32 +82 576 16 +82 592 16 +84 608 32 +84 608 16 +84 624 16 +86 640 64 +88 640 48 +90 640 32 +90 640 16 +90 656 16 +90 672 16 +90 688 16 +92 704 64 +94 704 48 +96 704 32 +96 704 16 +96 720 16 +96 736 16 +96 752 16 +98 768 256 +100 768 192 +102 768 128 +104 768 64 +106 768 32 +106 768 16 +106 784 16 +108 800 32 +108 800 16 +108 816 16 +110 832 64 +112 832 32 +112 832 16 +112 848 16 +114 864 32 +114 864 16 +114 880 16 +116 896 64 +118 896 48 +120 896 32 +120 896 16 +120 912 16 +120 928 16 +120 944 16 +122 960 64 +124 960 48 +126 960 32 +126 960 16 +126 976 16 +126 992 16 +126 1008 16 +1 +96 +2 +65 +3 +34 +4 +19 +5 +12 +6 +9 +7 +8 +10 +11 +13 +16 +14 +15 +17 +18 +20 +27 +21 +24 +22 +23 +25 +26 +28 +31 +29 +30 +32 +33 +35 +50 +36 +43 +37 +40 +38 +39 +41 +42 +44 +47 +45 +46 +48 +49 +51 +58 +52 +55 +53 +54 +56 +57 +59 +62 +60 +61 +63 +64 +66 +89 +67 +82 +68 +75 +69 +72 +70 +71 +73 +74 +76 +79 +77 +78 +80 +81 +83 +88 +84 +87 +85 +86 +90 +95 +91 +94 +92 +93 +97 +120 +98 +113 +99 +106 +100 +103 +101 +102 +104 +105 +107 +110 +108 +109 +111 +112 +114 +119 +115 +118 +116 +117 +121 +126 +122 +125 +123 +124 +1023 +1022 +1021 +1020 +1019 +1018 +1017 +1016 +1015 +1014 +1013 +1012 +992 +993 +994 +995 +1007 +1006 +1005 +1004 +1003 +1002 +1001 +1000 +999 +998 +997 +996 +1008 +1009 +1010 +1011 +991 +990 +989 +988 +987 +986 +985 +984 +983 +982 +981 +980 +899 +898 +897 +896 +976 +977 +978 +979 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +975 +974 +973 +972 +971 +970 +969 +968 +967 +966 +965 +964 +915 +914 +913 +912 +960 +961 +962 +963 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +947 +946 +945 +944 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +931 +930 +929 +928 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +895 +894 +893 +892 +891 +890 +889 +888 +887 +886 +885 +884 +864 +865 +866 +867 +879 +878 +877 +876 +875 +874 +873 +872 +871 +870 +869 +868 +880 +881 +882 +883 +863 +862 +861 +860 +859 +858 +857 +856 +855 +854 +853 +852 +512 +513 +514 +515 +527 +526 +525 +524 +523 +522 +521 +520 +519 +518 +517 +516 +848 +849 +850 +851 +531 +530 +529 +528 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +835 +834 +833 +832 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +563 +562 +561 +560 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +547 +546 +545 +544 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +831 +830 +829 +828 +827 +826 +825 +824 +823 +822 +821 +820 +800 +801 +802 +803 +815 +814 +813 +812 +811 +810 +809 +808 +807 +806 +805 +804 +816 +817 +818 +819 +799 +798 +797 +796 +795 +794 +793 +792 +791 +790 +789 +788 +576 +577 +578 +579 +591 +590 +589 +588 +587 +586 +585 +584 +583 +582 +581 +580 +784 +785 +786 +787 +595 +594 +593 +592 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +771 +770 +769 +768 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +627 +626 +625 +624 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +611 +610 +609 +608 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +703 +702 +701 +700 +699 +698 +697 +696 +695 +694 +693 +692 +672 +673 +674 +675 +687 +686 +685 +684 +683 +682 +681 +680 +679 +678 +677 +676 +688 +689 +690 +691 +671 +670 +669 +668 +667 +666 +665 +664 +663 +662 +661 +660 +707 +706 +705 +704 +656 +657 +658 +659 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +655 +654 +653 +652 +651 +650 +649 +648 +647 +646 +645 +644 +723 +722 +721 +720 +640 +641 +642 +643 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +755 +754 +753 +752 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +739 +738 +737 +736 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +511 +510 +509 +508 +507 +506 +505 +504 +503 +502 +501 +500 +480 +481 +482 +483 +495 +494 +493 +492 +491 +490 +489 +488 +487 +486 +485 +484 +496 +497 +498 +499 +479 +478 +477 +476 +475 +474 +473 +472 +471 +470 +469 +468 +387 +386 +385 +384 +464 +465 +466 +467 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +463 +462 +461 +460 +459 +458 +457 +456 +455 +454 +453 +452 +403 +402 +401 +400 +448 +449 +450 +451 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +435 +434 +433 +432 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +419 +418 +417 +416 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +383 +382 +381 +380 +379 +378 +377 +376 +375 +374 +373 +372 +352 +353 +354 +355 +367 +366 +365 +364 +363 +362 +361 +360 +359 +358 +357 +356 +368 +369 +370 +371 +351 +350 +349 +348 +347 +346 +345 +344 +343 +342 +341 +340 +339 +338 +337 +336 +335 +334 +333 +332 +331 +330 +329 +328 +327 +326 +325 +324 +323 +322 +321 +320 +319 +318 +317 +316 +315 +314 +313 +312 +311 +310 +309 +308 +288 +289 +290 +291 +303 +302 +301 +300 +299 +298 +297 +296 +295 +294 +293 +292 +304 +305 +306 +307 +287 +286 +285 +284 +283 +282 +281 +280 +279 +278 +277 +276 +275 +274 +273 +272 +271 +270 +269 +268 +267 +266 +265 +264 +263 +262 +261 +260 +259 +258 +257 +256 +255 +254 +253 +252 +251 +250 +249 +248 +247 +246 +245 +244 +224 +225 +226 +227 +239 +238 +237 +236 +235 +234 +233 +232 +231 +230 +229 +228 +240 +241 +242 +243 +223 +222 +221 +220 +219 +218 +217 +216 +215 +214 +213 +212 +131 +130 +129 +128 +208 +209 +210 +211 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +207 +206 +205 +204 +203 +202 +201 +200 +199 +198 +197 +196 +147 +146 +145 +144 +192 +193 +194 +195 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +179 +178 +177 +176 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +163 +162 +161 +160 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +127 +126 +125 +124 +123 +122 +121 +120 +119 +118 +117 +116 +96 +97 +98 +99 +111 +110 +109 +108 +107 +106 +105 +104 +103 +102 +101 +100 +112 +113 +114 +115 +95 +94 +93 +92 +91 +90 +89 +88 +87 +86 +85 +84 +83 +82 +81 +80 +79 +78 +77 +76 +75 +74 +73 +72 +71 +70 +69 +68 +67 +66 +65 +64 +63 +62 +61 +60 +59 +58 +57 +56 +55 +54 +53 +52 +32 +33 +34 +35 +47 +46 +45 +44 +43 +42 +41 +40 +39 +38 +37 +36 +48 +49 +50 +51 +31 +30 +29 +28 +27 +26 +25 +24 +23 +22 +21 +20 +19 +18 +17 +16 +15 +14 +13 +12 +11 +10 +9 +8 +7 +6 +5 +4 +3 +2 +1 +0 diff --git a/src/bem3d/src/laplace/t.cpp b/src/bem3d/src/laplace/t.cpp index 77ecc07..83510f2 100644 --- a/src/bem3d/src/laplace/t.cpp +++ b/src/bem3d/src/laplace/t.cpp @@ -1,30 +1,25 @@ -#include "../boundary_mesh/Mesh.hpp" -#include "../boundary_mesh/mixin/LoadingObj.hpp" -#include "../boundary_mesh/mixin/ExportingObj.hpp" -#include "../boundary_mesh/mixin/RefiningAdaptivly.hpp" -#include "../boundary_mesh/mixin/RefiningUniformly.hpp" -#include "../boundary_mesh/layer/Marker.hpp" +#include "../hilbert.hpp" +#include "../boundary_mesh/FlexibleMesh.hpp" #include "../spaces/P0Space.hpp" #include "SimpleLayerPotential.hpp" using namespace boundary_mesh; using namespace space; using namespace laplace; -typedef mixin::LoadingObj< - mixin::ExportingObj< - mixin::RefiningAdaptivly < - mixin::RefiningUniformly < - Mesh<> > > > > - ObjMesh; int main() { - const ObjMesh::LoadingObj m("test_small.obj"); + const BoundaryMesh m = BoundaryMesh::Alg::loadFromObj("test_small.obj"); std::cerr << "coarse mesh has " << m.getNumberOfFaces() << " faces" << std::endl; clock_t commence, complete; commence = clock(); - ObjMesh refined = m.refineUniform().refineUniform().refineUniform().refineUniform(); + const BoundaryMesh refined = + BoundaryMesh::Alg::refineUniformly( + BoundaryMesh::Alg::refineUniformly( + BoundaryMesh::Alg::refineUniformly( + BoundaryMesh::Alg::refineUniformly( + BoundaryMesh::Alg::refineUniformly( m ) ) ) )); complete = clock(); long lTime = (complete-commence); std::cerr << "fine mesh has " << refined.getNumberOfFaces() << " faces" << std::endl; @@ -38,13 +33,6 @@ int main() std::cerr << "Time for setting up space: " << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; -// commence = clock(); -// s.createClusterFactory(); -// complete = clock(); -// lTime = (complete-commence); -// std::cerr << "Time for setting up cluster factory: " -// << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; - commence = clock(); SimpleLayerPotential V(s); complete = clock(); @@ -52,14 +40,19 @@ int main() std::cerr << "Time for setting up Simple Layer Potential: " << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; - double rhs[s.getNumberOfElements()]; + std::vector< double >rhs( s.getNumberOfElements(), 0. ); for ( int i=0; i solution = V.solveGMRes(rhs); + complete = clock(); + lTime = (complete-commence); + std::cerr << "Time for solving: " + << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; return 0; } + diff --git a/src/bem3d/src/laplace/testLaplace b/src/bem3d/src/laplace/testLaplace new file mode 100755 index 0000000..c421623 Binary files /dev/null and b/src/bem3d/src/laplace/testLaplace differ diff --git a/src/bem3d/src/mesh_explorer/Makefile b/src/bem3d/src/mesh_explorer/Makefile new file mode 100644 index 0000000..e75669d --- /dev/null +++ b/src/bem3d/src/mesh_explorer/Makefile @@ -0,0 +1,329 @@ +############################################################################# +# Makefile for building: mesh_explorer +# Generated by qmake (2.01a) (Qt 4.6.3) on: Do. Apr 21 22:00:06 2011 +# Project: mesh_explorer.pro +# Template: app +# Command: /usr/bin/qmake -unix -o Makefile mesh_explorer.pro +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 -I. -I/usr/X11R6/include -I. +LINK = g++ +LFLAGS = -Wl,-O1 +LIBS = $(SUBLIBS) -L/usr/lib -L/usr/X11R6/lib -lboost_regex -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = mesh_explorer.cpp \ + MeshWidget.cpp \ + ../boundary_mesh/exception/DispatchIdNotSet.cpp \ + ../boundary_mesh/Face.cpp \ + ../boundary_mesh/exception/NoMatchingFaceType.cpp \ + ../generic/GenericVector.cpp moc_MeshWidget.cpp +OBJECTS = mesh_explorer.o \ + MeshWidget.o \ + DispatchIdNotSet.o \ + Face.o \ + NoMatchingFaceType.o \ + GenericVector.o \ + moc_MeshWidget.o +DIST = /usr/share/qt4/mkspecs/common/g++.conf \ + /usr/share/qt4/mkspecs/common/unix.conf \ + /usr/share/qt4/mkspecs/common/linux.conf \ + /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/release.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/opengl.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /usr/share/qt4/mkspecs/features/yacc.prf \ + /usr/share/qt4/mkspecs/features/lex.prf \ + /usr/share/qt4/mkspecs/features/include_source_dir.prf \ + mesh_explorer.pro +QMAKE_TARGET = mesh_explorer +DESTDIR = +TARGET = mesh_explorer + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile $(TARGET) + +$(TARGET): $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: mesh_explorer.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \ + /usr/share/qt4/mkspecs/common/unix.conf \ + /usr/share/qt4/mkspecs/common/linux.conf \ + /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/release.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/opengl.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /usr/share/qt4/mkspecs/features/yacc.prf \ + /usr/share/qt4/mkspecs/features/lex.prf \ + /usr/share/qt4/mkspecs/features/include_source_dir.prf \ + /usr/lib/libQtOpenGL.prl \ + /usr/lib/libQtGui.prl \ + /usr/lib/libQtCore.prl + $(QMAKE) -unix -o Makefile mesh_explorer.pro +/usr/share/qt4/mkspecs/common/g++.conf: +/usr/share/qt4/mkspecs/common/unix.conf: +/usr/share/qt4/mkspecs/common/linux.conf: +/usr/share/qt4/mkspecs/qconfig.pri: +/usr/share/qt4/mkspecs/features/qt_functions.prf: +/usr/share/qt4/mkspecs/features/qt_config.prf: +/usr/share/qt4/mkspecs/features/exclusive_builds.prf: +/usr/share/qt4/mkspecs/features/default_pre.prf: +/usr/share/qt4/mkspecs/features/release.prf: +/usr/share/qt4/mkspecs/features/default_post.prf: +/usr/share/qt4/mkspecs/features/warn_on.prf: +/usr/share/qt4/mkspecs/features/qt.prf: +/usr/share/qt4/mkspecs/features/unix/opengl.prf: +/usr/share/qt4/mkspecs/features/unix/thread.prf: +/usr/share/qt4/mkspecs/features/moc.prf: +/usr/share/qt4/mkspecs/features/resources.prf: +/usr/share/qt4/mkspecs/features/uic.prf: +/usr/share/qt4/mkspecs/features/yacc.prf: +/usr/share/qt4/mkspecs/features/lex.prf: +/usr/share/qt4/mkspecs/features/include_source_dir.prf: +/usr/lib/libQtOpenGL.prl: +/usr/lib/libQtGui.prl: +/usr/lib/libQtCore.prl: +qmake: FORCE + @$(QMAKE) -unix -o Makefile mesh_explorer.pro + +dist: + @$(CHK_DIR_EXISTS) .tmp/mesh_explorer1.0.0 || $(MKDIR) .tmp/mesh_explorer1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/mesh_explorer1.0.0/ && $(COPY_FILE) --parents Mesh.hpp MeshWidget.hpp ../boundary_mesh/FlexibleMesh.hpp ../boundary_mesh/FaceDispatch.hpp ../generic/Singleton.hpp ../generic/Singleton_tmpl.cpp ../boundary_mesh/exception/DispatchIdNotSet.hpp ../boundary_mesh/FaceDispatch_tmpl.cpp ../boundary_mesh/Face.hpp ../boundary_mesh/types.hpp ../boundary_mesh/exception.hpp ../boundary_mesh/exception/NoMatchingFaceType.hpp ../boundary_mesh/Face_tmpl.cpp ../boundary_mesh/HalfEdge.hpp ../boundary_mesh/HalfEdge_tmpl.cpp ../boundary_mesh/Vertex.hpp ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp ../boundary_mesh/Vertex_tmpl.cpp ../boundary_mesh/Mesh.hpp ../boundary_mesh/MeshBuilder.hpp ../boundary_mesh/MeshBuilder_tmpl.cpp ../boundary_mesh/Mesh.cpp ../boundary_mesh/algorithm/HandleObj.hpp ../boundary_mesh/algorithm/HandleObj_tmpl.cpp ../boundary_mesh/algorithm/RefineUniformly.hpp ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp ../boundary_mesh/FlexibleMesh_tmpl.cpp .tmp/mesh_explorer1.0.0/ && $(COPY_FILE) --parents mesh_explorer.cpp MeshWidget.cpp ../boundary_mesh/exception/DispatchIdNotSet.cpp ../boundary_mesh/Face.cpp ../boundary_mesh/exception/NoMatchingFaceType.cpp ../generic/GenericVector.cpp .tmp/mesh_explorer1.0.0/ && (cd `dirname .tmp/mesh_explorer1.0.0` && $(TAR) mesh_explorer1.0.0.tar mesh_explorer1.0.0 && $(COMPRESS) mesh_explorer1.0.0.tar) && $(MOVE) `dirname .tmp/mesh_explorer1.0.0`/mesh_explorer1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/mesh_explorer1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: moc_MeshWidget.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_MeshWidget.cpp +moc_MeshWidget.cpp: ../boundary_mesh/FlexibleMesh.hpp \ + ../boundary_mesh/FaceDispatch.hpp \ + ../generic/Singleton.hpp \ + ../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/Face.hpp \ + ../boundary_mesh/types.hpp \ + ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp \ + ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp \ + ../boundary_mesh/Vertex.hpp \ + ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/Vertex_tmpl.cpp \ + ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp \ + ../boundary_mesh/MeshBuilder_tmpl.cpp \ + ../boundary_mesh/Mesh.cpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp \ + MeshWidget.hpp + /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) MeshWidget.hpp -o moc_MeshWidget.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: +compiler_uic_clean: +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean + +####### Compile + +mesh_explorer.o: mesh_explorer.cpp MeshWidget.hpp \ + ../boundary_mesh/FlexibleMesh.hpp \ + ../boundary_mesh/FaceDispatch.hpp \ + ../generic/Singleton.hpp \ + ../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/Face.hpp \ + ../boundary_mesh/types.hpp \ + ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp \ + ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp \ + ../boundary_mesh/Vertex.hpp \ + ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/Vertex_tmpl.cpp \ + ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp \ + ../boundary_mesh/MeshBuilder_tmpl.cpp \ + ../boundary_mesh/Mesh.cpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mesh_explorer.o mesh_explorer.cpp + +MeshWidget.o: MeshWidget.cpp MeshWidget.hpp \ + ../boundary_mesh/FlexibleMesh.hpp \ + ../boundary_mesh/FaceDispatch.hpp \ + ../generic/Singleton.hpp \ + ../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/Face.hpp \ + ../boundary_mesh/types.hpp \ + ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp \ + ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp \ + ../boundary_mesh/Vertex.hpp \ + ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/Vertex_tmpl.cpp \ + ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp \ + ../boundary_mesh/MeshBuilder_tmpl.cpp \ + ../boundary_mesh/Mesh.cpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o MeshWidget.o MeshWidget.cpp + +DispatchIdNotSet.o: ../boundary_mesh/exception/DispatchIdNotSet.cpp ../boundary_mesh/exception/DispatchIdNotSet.hpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o DispatchIdNotSet.o ../boundary_mesh/exception/DispatchIdNotSet.cpp + +Face.o: ../boundary_mesh/Face.cpp ../boundary_mesh/Face.hpp \ + ../boundary_mesh/types.hpp \ + ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/FaceDispatch.hpp \ + ../generic/Singleton.hpp \ + ../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/Face_tmpl.cpp \ + ../boundary_mesh/Vertex.hpp \ + ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/Vertex_tmpl.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Face.o ../boundary_mesh/Face.cpp + +NoMatchingFaceType.o: ../boundary_mesh/exception/NoMatchingFaceType.cpp ../boundary_mesh/exception/NoMatchingFaceType.hpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o NoMatchingFaceType.o ../boundary_mesh/exception/NoMatchingFaceType.cpp + +GenericVector.o: ../generic/GenericVector.cpp ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o GenericVector.o ../generic/GenericVector.cpp + +moc_MeshWidget.o: moc_MeshWidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_MeshWidget.o moc_MeshWidget.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/src/bem3d/src/mesh_explorer/Mesh.hpp b/src/bem3d/src/mesh_explorer/Mesh.hpp new file mode 100644 index 0000000..03936fc --- /dev/null +++ b/src/bem3d/src/mesh_explorer/Mesh.hpp @@ -0,0 +1,11 @@ +#ifndef HILBERT3D_MESH_EXPLORER_MESH_HPP_GUARD_ +#define HILBERT3D_MESH_EXPLORER_MESH_HPP_GUARD_ + +#include "../boundary_mesh/FlexibleMesh.hpp" + +namespace mesh_explorer +{ +} + +#endif + diff --git a/src/bem3d/src/mesh_explorer/MeshWidget.cpp b/src/bem3d/src/mesh_explorer/MeshWidget.cpp new file mode 100644 index 0000000..9772396 --- /dev/null +++ b/src/bem3d/src/mesh_explorer/MeshWidget.cpp @@ -0,0 +1,198 @@ +#include "MeshWidget.hpp" + +#include +#include +#include + +using namespace mesh_explorer; +using namespace boundary_mesh; + +MeshWidget::MeshWidget( QWidget* parent, const FlexibleMesh& mesh ) + : QGLWidget( QGLFormat( QGL::SampleBuffers), parent ), mesh_(mesh) +{ + minX_ = minY_ = minZ_ = std::numeric_limits< double >::infinity(); + maxX_ = maxY_ = maxZ_ = -std::numeric_limits< double >::infinity(); + for ( FlexibleMesh::ConstVertexIterator vertexIt = mesh.begin_v(); + vertexIt != mesh.end_v(); ++vertexIt ) + { + const FlexibleMesh::Vertex& vertex = *vertexIt; + + if (minX_ > vertex[0]) + minX_ = vertex[0]; + if (maxX_ < vertex[0]) + maxX_ = vertex[0]; + + if (minY_ > vertex[1]) + minY_ = vertex[1]; + if (maxY_ < vertex[1]) + maxY_ = vertex[1]; + + if (minZ_ > vertex[2]) + minZ_ = vertex[2]; + if (maxZ_ < vertex[2]) + maxZ_ = vertex[2]; + } +} + +MeshWidget::~MeshWidget() +{ +} + +void +MeshWidget::initializeGL() +{ + glEnable(GL_DEPTH_TEST); + glDepthFunc( GL_LEQUAL ); + glDisable(GL_CULL_FACE); + glFrontFace(GL_CW); + glClearColor( 0, 0, 0, 0 ); +} + +void MeshWidget::resizeGL( int w, int h ) +{ + glViewport( 0, 0, w, h ); + + glMatrixMode( GL_PROJECTION ); + glLoadIdentity(); + float centerX = (maxX_ + minX_) / 2.f; + float lengthX = maxX_ - minX_; + float centerY = (maxY_ + minY_) / 2.f; + float lengthY = maxY_ - minY_; + float centerZ = (maxZ_ + minZ_) / 2.f; + float lengthZ = maxZ_ - minZ_; + float maxLength = lengthX; + float aspectRat = (float) w / (float) h; + if ( maxLength < lengthY ) maxLength = lengthY; + if ( maxLength < lengthZ ) maxLength = lengthZ; + + glOrtho( aspectRat * (centerX - 1.*maxLength), + aspectRat * (centerX + 1.*maxLength), + (centerY - 1.*maxLength), + (centerY + 1.*maxLength), + centerZ - 1.*maxLength, + centerZ + 1.*maxLength ); +// gluPerspective( 45, (float) w / (float) h, 0, 1000); +// centerZ - lengthZ, centerZ + lengthZ ); +} + +void +MeshWidget::setXRotation( int angle ) +{ + int normalizedAngle = normalizeAngle( angle ); + if ( normalizedAngle != xRot ) + { + xRot = normalizedAngle; + emit xRotationChanged( normalizedAngle ); + updateGL(); + } +} + +void +MeshWidget::setYRotation( int angle ) +{ + int normalizedAngle = normalizeAngle( angle ); + if ( normalizedAngle != yRot ) + { + yRot = normalizedAngle; + emit yRotationChanged( normalizedAngle ); + updateGL(); + } +} + +void +MeshWidget::setZRotation( int angle ) +{ + int normalizedAngle = normalizeAngle( angle ); + if ( normalizedAngle != zRot ) + { + zRot = normalizedAngle; + emit zRotationChanged( normalizedAngle ); + updateGL(); + } +} + +void +MeshWidget::mousePressEvent( QMouseEvent* event ) +{ + lastPos = event->pos(); +} + +void +MeshWidget::mouseMoveEvent( QMouseEvent * event ) +{ + int dx = event->x() - lastPos.x(); + int dy = event->y() - lastPos.y(); + + if (event->buttons() & Qt::LeftButton) + { + setXRotation( xRot + 8 * dy ); + setYRotation( yRot + 8 * dx ); + } + else if (event->buttons() & Qt::RightButton) + { + setXRotation( xRot + 8 * dy ); + setZRotation( zRot + 8 * dx ); + } + lastPos = event->pos(); +} + +int +MeshWidget::normalizeAngle( int angle ) +{ + while ( angle < 0 ) + angle += 360 * 16; + while ( angle > 360 * 16 ) + angle -= 360 * 16; + return angle; +} + +void +MeshWidget::paintGL() +{ + glClearColor( 0.f, 0.f, 0.f, 0.f ); + glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); + + float centerX = (maxX_ + minX_) / 2.f; + float centerY = (maxY_ + minY_) / 2.f; + float centerZ = (maxZ_ + minZ_) / 2.f; + + glMatrixMode( GL_MODELVIEW ); + glLoadIdentity(); + glTranslatef( centerX, centerY, -centerZ ); + glRotatef( (float)xRot / 16.f, 1.f, 0.f, 0.f ); + glRotatef( (float)yRot / 16.f, 0.f, 1.f, 0.f ); + glRotatef( (float)zRot / 16.f, 0.f, 0.f, 1.f ); + glTranslatef( -centerX, -centerY, -centerZ ); + + glColor3f(1,0,0); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + paintMesh(); + + glColor3f(1,1,1); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + glDisable(GL_DEPTH_TEST); + glCullFace(GL_BACK); + paintMesh(); + glEnable(GL_DEPTH_TEST); + + glFlush(); +} + +void +MeshWidget::paintMesh() +{ + glBegin( GL_TRIANGLES ); + for (FlexibleMesh::ConstFaceIterator faceIt = mesh_.begin_f(); + faceIt != mesh_.end_f(); ++faceIt) + { + for (FlexibleMesh::Face::ConstVertexIterator + vertexIt = faceIt->begin_v(); vertexIt != faceIt->end_v(); + ++vertexIt) + { + const FlexibleMesh::Vertex& v = *vertexIt; + glVertex3f( v[0], v[1], v[2] ); + } + } + glEnd(); +} + diff --git a/src/bem3d/src/mesh_explorer/MeshWidget.hpp b/src/bem3d/src/mesh_explorer/MeshWidget.hpp new file mode 100644 index 0000000..16da85a --- /dev/null +++ b/src/bem3d/src/mesh_explorer/MeshWidget.hpp @@ -0,0 +1,54 @@ +#ifndef HILBERT3D_MESH_EXPLORER_MESHWIDGET_HPP_GUARD_ +#define HILBERT3D_MESH_EXPLORER_MESHWIDGET_HPP_GUARD_ + +#include +#include +#include "../boundary_mesh/FlexibleMesh.hpp" + +namespace mesh_explorer +{ + class MeshWidget : public QGLWidget + { + Q_OBJECT + + public: + MeshWidget(QWidget* parent, const boundary_mesh::FlexibleMesh& mesh); + ~MeshWidget(); + + public slots: + void setXRotation( int angle ); + void setYRotation( int angle ); + void setZRotation( int angle ); + + protected: + void initializeGL(); + void resizeGL( int w, int h ); + void paintGL(); + void paintMesh(); + void mousePressEvent( QMouseEvent* event ); + void mouseMoveEvent( QMouseEvent* event ); + + signals: + void xRotationChanged( int angle ); + void yRotationChanged( int angle ); + void zRotationChanged( int angle ); + + private: + static int normalizeAngle( int angle ); + + const boundary_mesh::FlexibleMesh& mesh_; + int xRot; + int yRot; + int zRot; + QPoint lastPos; + double minX_; + double maxX_; + double minY_; + double maxY_; + double minZ_; + double maxZ_; + }; +} + +#endif + diff --git a/src/bem3d/src/mesh_explorer/mesh_explorer.cpp b/src/bem3d/src/mesh_explorer/mesh_explorer.cpp new file mode 100644 index 0000000..7c52db6 --- /dev/null +++ b/src/bem3d/src/mesh_explorer/mesh_explorer.cpp @@ -0,0 +1,51 @@ +#include +#include +#include "MeshWidget.hpp" + +using namespace mesh_explorer; +using namespace boundary_mesh; + +int main( int argc, char** argv ) +{ + int optionChar; + const char* fileName = NULL; + + while ( ( optionChar = getopt( argc, argv, "o:h?" ) ) != EOF ) + { + switch ( optionChar ) + { + case 'o': + fileName = optarg; + break; + case 'h': + case '?': + std::cerr << "Usage: " << argv[0] << " [ -h | -? | -o file_name ]" + << std::endl << std::endl + << "-h or -? display this message, -o sets the name of the " + << "file, this tool opens." << std::endl + << "If no file is given, the program fails." << std::endl; + return EXIT_SUCCESS; + break; + default: + assert(0); + } + } + + if ( fileName == NULL ) + { + std::cerr << argv[0] << ": Error: No file specified." << std::endl + << " Use -h to see how to use this program." << std::endl; + return EXIT_FAILURE; + } + + QApplication app( argc, argv ); + + FlexibleMesh mesh = FlexibleMesh::Alg::loadFromObj( fileName ); + MeshWidget widget( 0, mesh ); + widget.show(); + + app.exec(); + + return EXIT_SUCCESS; +} + diff --git a/src/bem3d/src/mesh_explorer/mesh_explorer.pro b/src/bem3d/src/mesh_explorer/mesh_explorer.pro new file mode 100644 index 0000000..cf46ee3 --- /dev/null +++ b/src/bem3d/src/mesh_explorer/mesh_explorer.pro @@ -0,0 +1,48 @@ +###################################################################### +# Automatically generated by qmake (2.01a) Mo. Apr 18 00:17:07 2011 +###################################################################### + +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +QT += opengl +LIBS += -lboost_regex + +# Input +HEADERS += Mesh.hpp \ + MeshWidget.hpp \ + ../boundary_mesh/FlexibleMesh.hpp \ + ../boundary_mesh/FaceDispatch.hpp \ + ../generic/Singleton.hpp \ + ../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/Face.hpp \ + ../boundary_mesh/types.hpp \ + ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp \ + ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp \ + ../boundary_mesh/Vertex.hpp \ + ../generic/GenericVector.hpp \ + ../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/Vertex_tmpl.cpp \ + ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp \ + ../boundary_mesh/MeshBuilder_tmpl.cpp \ + ../boundary_mesh/Mesh.cpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp +SOURCES += mesh_explorer.cpp \ + MeshWidget.cpp \ + ../boundary_mesh/exception/DispatchIdNotSet.cpp \ + ../boundary_mesh/Face.cpp \ + ../boundary_mesh/exception/NoMatchingFaceType.cpp \ + ../generic/GenericVector.cpp \ + ../boundary_mesh/Mesh.cpp diff --git a/src/bem3d/src/mesh_explorer/moc_MeshWidget.cpp b/src/bem3d/src/mesh_explorer/moc_MeshWidget.cpp new file mode 100644 index 0000000..71d687b --- /dev/null +++ b/src/bem3d/src/mesh_explorer/moc_MeshWidget.cpp @@ -0,0 +1,115 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'MeshWidget.hpp' +** +** Created: Tue Apr 19 21:04:57 2011 +** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "MeshWidget.hpp" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'MeshWidget.hpp' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 62 +#error "This file was generated using the moc from 4.6.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_mesh_explorer__MeshWidget[] = { + + // content: + 4, // revision + 0, // classname + 0, 0, // classinfo + 6, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 3, // signalCount + + // signals: signature, parameters, type, tag, flags + 33, 27, 26, 26, 0x05, + 55, 27, 26, 26, 0x05, + 77, 27, 26, 26, 0x05, + + // slots: signature, parameters, type, tag, flags + 99, 27, 26, 26, 0x0a, + 117, 27, 26, 26, 0x0a, + 135, 27, 26, 26, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_mesh_explorer__MeshWidget[] = { + "mesh_explorer::MeshWidget\0\0angle\0" + "xRotationChanged(int)\0yRotationChanged(int)\0" + "zRotationChanged(int)\0setXRotation(int)\0" + "setYRotation(int)\0setZRotation(int)\0" +}; + +const QMetaObject mesh_explorer::MeshWidget::staticMetaObject = { + { &QGLWidget::staticMetaObject, qt_meta_stringdata_mesh_explorer__MeshWidget, + qt_meta_data_mesh_explorer__MeshWidget, 0 } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &mesh_explorer::MeshWidget::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *mesh_explorer::MeshWidget::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *mesh_explorer::MeshWidget::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_mesh_explorer__MeshWidget)) + return static_cast(const_cast< MeshWidget*>(this)); + return QGLWidget::qt_metacast(_clname); +} + +int mesh_explorer::MeshWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QGLWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: xRotationChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 1: yRotationChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 2: zRotationChanged((*reinterpret_cast< int(*)>(_a[1]))); break; + case 3: setXRotation((*reinterpret_cast< int(*)>(_a[1]))); break; + case 4: setYRotation((*reinterpret_cast< int(*)>(_a[1]))); break; + case 5: setZRotation((*reinterpret_cast< int(*)>(_a[1]))); break; + default: ; + } + _id -= 6; + } + return _id; +} + +// SIGNAL 0 +void mesh_explorer::MeshWidget::xRotationChanged(int _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} + +// SIGNAL 1 +void mesh_explorer::MeshWidget::yRotationChanged(int _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} + +// SIGNAL 2 +void mesh_explorer::MeshWidget::zRotationChanged(int _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 2, _a); +} +QT_END_MOC_NAMESPACE diff --git a/src/bem3d/src/spaces/.deps/libhilbert_spaces_a-P0Space.Po b/src/bem3d/src/spaces/.deps/libhilbert_spaces_a-P0Space.Po new file mode 100644 index 0000000..6ea2317 --- /dev/null +++ b/src/bem3d/src/spaces/.deps/libhilbert_spaces_a-P0Space.Po @@ -0,0 +1,1384 @@ +libhilbert_spaces_a-P0Space.o: P0Space.cpp P0Space.hpp ../hilbert.hpp \ + ../boundary_mesh/FlexibleMesh.hpp ../boundary_mesh/FaceDispatch.hpp \ + /usr/include/c++/4.5/vector /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/TypeList.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/basic_string.tcc \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/exception/CouldNotDispatchCall.hpp \ + /usr/include/c++/4.5/cassert /usr/include/assert.h \ + ../boundary_mesh/Face.hpp /usr/include/c++/4.5/iterator \ + /usr/include/c++/4.5/ostream /usr/include/c++/4.5/ios \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/bits/locale_classes.h \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc /usr/include/c++/4.5/istream \ + /usr/include/c++/4.5/bits/istream.tcc \ + /usr/include/c++/4.5/bits/stream_iterator.h ../boundary_mesh/types.hpp \ + /usr/include/c++/4.5/limits ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp /usr/include/c++/4.5/sstream \ + /usr/include/c++/4.5/bits/sstream.tcc ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp ../boundary_mesh/Vertex.hpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/Vertex_tmpl.cpp ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp ../boundary_mesh/MeshBuilder_tmpl.cpp \ + /usr/include/boost/type_traits/is_pointer.hpp \ + /usr/include/boost/type_traits/is_member_pointer.hpp \ + /usr/include/boost/type_traits/config.hpp /usr/include/boost/config.hpp \ + /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.5/utility /usr/include/c++/4.5/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.5/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp \ + /usr/include/boost/detail/workaround.hpp \ + /usr/include/boost/type_traits/is_member_function_pointer.hpp \ + /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ + /usr/include/boost/type_traits/remove_cv.hpp \ + /usr/include/boost/type_traits/broken_compiler_spec.hpp \ + /usr/include/boost/mpl/aux_/lambda_support.hpp \ + /usr/include/boost/mpl/aux_/config/lambda.hpp \ + /usr/include/boost/mpl/aux_/config/ttp.hpp \ + /usr/include/boost/mpl/aux_/config/msvc.hpp \ + /usr/include/boost/mpl/aux_/config/gcc.hpp \ + /usr/include/boost/mpl/aux_/config/workaround.hpp \ + /usr/include/boost/mpl/aux_/config/ctps.hpp \ + /usr/include/boost/type_traits/detail/cv_traits_impl.hpp \ + /usr/include/boost/type_traits/detail/type_trait_def.hpp \ + /usr/include/boost/type_traits/detail/template_arity_spec.hpp \ + /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \ + /usr/include/boost/mpl/aux_/adl_barrier.hpp \ + /usr/include/boost/mpl/aux_/config/adl.hpp \ + /usr/include/boost/mpl/aux_/config/intel.hpp \ + /usr/include/boost/mpl/aux_/nttp_decl.hpp \ + /usr/include/boost/mpl/aux_/config/nttp.hpp \ + /usr/include/boost/mpl/aux_/integral_wrapper.hpp \ + /usr/include/boost/mpl/integral_c_tag.hpp \ + /usr/include/boost/mpl/aux_/config/static_constant.hpp \ + /usr/include/boost/mpl/aux_/static_cast.hpp \ + /usr/include/boost/preprocessor/cat.hpp \ + /usr/include/boost/preprocessor/config/config.hpp \ + /usr/include/boost/mpl/aux_/template_arity_fwd.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/params.hpp \ + /usr/include/boost/mpl/aux_/config/preprocessor.hpp \ + /usr/include/boost/preprocessor/comma_if.hpp \ + /usr/include/boost/preprocessor/punctuation/comma_if.hpp \ + /usr/include/boost/preprocessor/control/if.hpp \ + /usr/include/boost/preprocessor/control/iif.hpp \ + /usr/include/boost/preprocessor/logical/bool.hpp \ + /usr/include/boost/preprocessor/facilities/empty.hpp \ + /usr/include/boost/preprocessor/punctuation/comma.hpp \ + /usr/include/boost/preprocessor/repeat.hpp \ + /usr/include/boost/preprocessor/repetition/repeat.hpp \ + /usr/include/boost/preprocessor/debug/error.hpp \ + /usr/include/boost/preprocessor/detail/auto_rec.hpp \ + /usr/include/boost/preprocessor/tuple/eat.hpp \ + /usr/include/boost/preprocessor/inc.hpp \ + /usr/include/boost/preprocessor/arithmetic/inc.hpp \ + /usr/include/boost/mpl/aux_/config/overload_resolution.hpp \ + /usr/include/boost/type_traits/detail/type_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_def.hpp \ + /usr/include/boost/type_traits/integral_constant.hpp \ + /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \ + /usr/include/boost/mpl/integral_c.hpp \ + /usr/include/boost/mpl/integral_c_fwd.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/ice_and.hpp \ + /usr/include/boost/type_traits/detail/ice_not.hpp \ + /usr/include/boost/utility/enable_if.hpp ../boundary_mesh/Mesh.cpp \ + /usr/include/c++/4.5/iostream /usr/include/c++/4.5/set \ + /usr/include/c++/4.5/bits/stl_tree.h /usr/include/c++/4.5/bits/stl_set.h \ + /usr/include/c++/4.5/bits/stl_multiset.h /usr/include/c++/4.5/list \ + /usr/include/c++/4.5/bits/stl_list.h /usr/include/c++/4.5/bits/list.tcc \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp \ + /usr/include/c++/4.5/cstring /usr/include/string.h \ + /usr/include/bits/string3.h ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/Triangle.hpp \ + ../boundary_mesh/face/../../generic/BaseTypes.hpp \ + ../boundary_mesh/face/Triangle_tmpl.cpp \ + ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/../Face.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/face/Parallelogram.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral.hpp \ + ../boundary_mesh/face/Quadrilateral.hpp \ + ../boundary_mesh/face/../types.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.cpp /usr/include/c++/4.5/cmath \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/c++/4.5/bits/cmath.tcc \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.hpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + /usr/include/c++/4.5/fstream /usr/include/c++/4.5/bits/codecvt.h \ + /usr/include/c++/4.5/cstdio /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/bits/stdio_lim.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/include/bits/stdio2.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.5/bits/fstream.tcc /usr/include/boost/regex.hpp \ + /usr/include/boost/regex/config.hpp /usr/include/boost/regex/user.hpp \ + /usr/include/boost/regex/config/cwchar.hpp \ + /usr/include/boost/config/auto_link.hpp \ + /usr/include/boost/regex/v4/regex.hpp \ + /usr/include/boost/regex/v4/regex_workaround.hpp \ + /usr/include/c++/4.5/climits \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.5/algorithm /usr/include/c++/4.5/bits/stl_algo.h \ + /usr/include/c++/4.5/bits/algorithmfwd.h \ + /usr/include/c++/4.5/bits/stl_heap.h \ + /usr/include/c++/4.5/bits/stl_tempbuf.h /usr/include/c++/4.5/map \ + /usr/include/c++/4.5/bits/stl_map.h \ + /usr/include/c++/4.5/bits/stl_multimap.h /usr/include/boost/limits.hpp \ + /usr/include/boost/assert.hpp /usr/include/boost/cstdint.hpp \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h \ + /usr/include/stdint.h /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/exception/detail/attribute_noreturn.hpp \ + /usr/include/boost/exception/exception.hpp \ + /usr/include/boost/current_function.hpp \ + /usr/include/boost/scoped_ptr.hpp \ + /usr/include/boost/smart_ptr/scoped_ptr.hpp \ + /usr/include/boost/checked_delete.hpp /usr/include/c++/4.5/memory \ + /usr/include/c++/4.5/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.5/backward/auto_ptr.h \ + /usr/include/boost/smart_ptr/detail/operator_bool.hpp \ + /usr/include/boost/scoped_array.hpp \ + /usr/include/boost/smart_ptr/scoped_array.hpp \ + /usr/include/boost/shared_ptr.hpp \ + /usr/include/boost/smart_ptr/shared_ptr.hpp \ + /usr/include/boost/config/no_tr1/memory.hpp \ + /usr/include/boost/smart_ptr/detail/shared_count.hpp \ + /usr/include/boost/smart_ptr/bad_weak_ptr.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base.hpp \ + /usr/include/boost/smart_ptr/detail/sp_has_sync.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/boost/detail/sp_typeinfo.hpp /usr/include/c++/4.5/typeinfo \ + /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.5/functional \ + /usr/include/boost/smart_ptr/detail/sp_convertible.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_sync.hpp \ + /usr/include/boost/smart_ptr/detail/yield_k.hpp \ + /usr/include/boost/memory_order.hpp /usr/include/c++/4.5/locale \ + /usr/include/c++/4.5/bits/locale_facets_nonio.h \ + /usr/include/c++/4.5/ctime \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.5/bits/locale_facets_nonio.tcc \ + /usr/include/boost/regex_fwd.hpp \ + /usr/include/boost/regex/v4/regex_fwd.hpp \ + /usr/include/boost/regex/regex_traits.hpp \ + /usr/include/boost/regex/v4/regex_traits.hpp \ + /usr/include/boost/regex/v4/syntax_type.hpp \ + /usr/include/boost/regex/v4/error_type.hpp \ + /usr/include/boost/regex/v4/regex_traits_defaults.hpp \ + /usr/include/boost/regex/v4/cpp_regex_traits.hpp \ + /usr/include/boost/regex/pattern_except.hpp \ + /usr/include/boost/regex/pending/static_mutex.hpp \ + /usr/include/boost/regex/v4/primary_transform.hpp \ + /usr/include/boost/regex/pending/object_cache.hpp \ + /usr/include/boost/regex/v4/c_regex_traits.hpp \ + /usr/include/boost/mpl/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/type_wrapper.hpp \ + /usr/include/boost/mpl/aux_/yes_no.hpp \ + /usr/include/boost/mpl/aux_/config/arrays.hpp \ + /usr/include/boost/mpl/aux_/config/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/config/msvc_typename.hpp \ + /usr/include/boost/static_assert.hpp \ + /usr/include/boost/regex/v4/match_flags.hpp \ + /usr/include/boost/regex/v4/regex_raw_buffer.hpp \ + /usr/include/boost/regex/v4/char_regex_traits.hpp \ + /usr/include/boost/regex/v4/states.hpp \ + /usr/include/boost/regex/v4/regbase.hpp \ + /usr/include/boost/regex/v4/iterator_traits.hpp \ + /usr/include/boost/regex/v4/basic_regex.hpp \ + /usr/include/boost/type_traits/is_same.hpp \ + /usr/include/boost/functional/hash.hpp \ + /usr/include/boost/functional/hash/hash.hpp \ + /usr/include/boost/functional/hash/hash_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float.hpp \ + /usr/include/boost/functional/hash/detail/float_functions.hpp \ + /usr/include/boost/config/no_tr1/cmath.hpp \ + /usr/include/boost/functional/hash/detail/limits.hpp \ + /usr/include/boost/integer/static_log2.hpp \ + /usr/include/boost/integer_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float_generic.hpp \ + /usr/include/boost/functional/hash/extensions.hpp \ + /usr/include/boost/detail/container_fwd.hpp \ + /usr/include/boost/regex/v4/basic_regex_creator.hpp \ + /usr/include/boost/regex/v4/basic_regex_parser.hpp \ + /usr/include/boost/regex/v4/sub_match.hpp \ + /usr/include/boost/regex/v4/regex_format.hpp \ + /usr/include/boost/type_traits/is_function.hpp \ + /usr/include/boost/type_traits/is_reference.hpp \ + /usr/include/boost/type_traits/detail/false_result.hpp \ + /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ + /usr/include/boost/type_traits/is_class.hpp \ + /usr/include/boost/type_traits/intrinsics.hpp \ + /usr/include/boost/type_traits/is_volatile.hpp \ + /usr/include/boost/type_traits/is_convertible.hpp \ + /usr/include/boost/type_traits/detail/yes_no_type.hpp \ + /usr/include/boost/type_traits/is_array.hpp \ + /usr/include/boost/type_traits/add_reference.hpp \ + /usr/include/boost/type_traits/ice.hpp \ + /usr/include/boost/type_traits/detail/ice_or.hpp \ + /usr/include/boost/type_traits/detail/ice_eq.hpp \ + /usr/include/boost/type_traits/is_arithmetic.hpp \ + /usr/include/boost/type_traits/is_integral.hpp \ + /usr/include/boost/type_traits/is_float.hpp \ + /usr/include/boost/type_traits/is_void.hpp \ + /usr/include/boost/type_traits/is_abstract.hpp \ + /usr/include/boost/type_traits/remove_pointer.hpp \ + /usr/include/boost/mpl/if.hpp /usr/include/boost/mpl/aux_/value_wknd.hpp \ + /usr/include/boost/mpl/aux_/config/integral.hpp \ + /usr/include/boost/mpl/aux_/config/eti.hpp \ + /usr/include/boost/mpl/aux_/na_spec.hpp \ + /usr/include/boost/mpl/lambda_fwd.hpp \ + /usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \ + /usr/include/boost/mpl/aux_/na_fwd.hpp \ + /usr/include/boost/mpl/aux_/lambda_arity_param.hpp \ + /usr/include/boost/mpl/aux_/arity.hpp \ + /usr/include/boost/mpl/aux_/config/dtp.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/enum.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ + /usr/include/boost/mpl/limits/arity.hpp \ + /usr/include/boost/preprocessor/logical/and.hpp \ + /usr/include/boost/preprocessor/logical/bitand.hpp \ + /usr/include/boost/preprocessor/identity.hpp \ + /usr/include/boost/preprocessor/facilities/identity.hpp \ + /usr/include/boost/preprocessor/empty.hpp \ + /usr/include/boost/preprocessor/arithmetic/add.hpp \ + /usr/include/boost/preprocessor/arithmetic/dec.hpp \ + /usr/include/boost/preprocessor/control/while.hpp \ + /usr/include/boost/preprocessor/list/fold_left.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_left.hpp \ + /usr/include/boost/preprocessor/control/expr_iif.hpp \ + /usr/include/boost/preprocessor/list/adt.hpp \ + /usr/include/boost/preprocessor/detail/is_binary.hpp \ + /usr/include/boost/preprocessor/detail/check.hpp \ + /usr/include/boost/preprocessor/logical/compl.hpp \ + /usr/include/boost/preprocessor/list/fold_right.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_right.hpp \ + /usr/include/boost/preprocessor/list/reverse.hpp \ + /usr/include/boost/preprocessor/control/detail/while.hpp \ + /usr/include/boost/preprocessor/tuple/elem.hpp \ + /usr/include/boost/preprocessor/arithmetic/sub.hpp \ + /usr/include/boost/mpl/and.hpp \ + /usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/nested_type_wknd.hpp \ + /usr/include/boost/mpl/aux_/include_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/config/compiler.hpp \ + /usr/include/boost/preprocessor/stringize.hpp \ + /usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ + /usr/include/boost/mpl/not.hpp \ + /usr/include/boost/regex/v4/match_results.hpp \ + /usr/include/boost/regex/v4/protected_call.hpp \ + /usr/include/boost/regex/v4/perl_matcher.hpp \ + /usr/include/boost/regex/v4/iterator_category.hpp \ + /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp \ + /usr/include/boost/regex/v4/perl_matcher_common.hpp \ + /usr/include/boost/regex/v4/instances.hpp \ + /usr/include/boost/regex/v4/regex_match.hpp \ + /usr/include/boost/regex/v4/regex_search.hpp \ + /usr/include/boost/regex/v4/regex_iterator.hpp \ + /usr/include/boost/regex/v4/regex_token_iterator.hpp \ + /usr/include/boost/regex/v4/regex_grep.hpp \ + /usr/include/boost/regex/v4/regex_replace.hpp \ + /usr/include/boost/regex/v4/regex_merge.hpp \ + /usr/include/boost/regex/v4/regex_split.hpp \ + ../boundary_mesh/algorithm/../MeshBuilder.hpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/../types.hpp \ + ../boundary_mesh/algorithm/../FaceDispatch.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp ../boundary_mesh/FlexibleMesh.hpp \ + ../spaces/P0Space.hpp /usr/local/include/HLib/sparsematrix.h \ + /usr/local/include/HLib/basic.h ../../src/config.h \ + /usr/local/include/HLib/supermatrix.h \ + /usr/local/include/HLib/fullmatrix.h /usr/local/include/HLib/lapack.h \ + /usr/local/include/HLib/blockcluster.h /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/clusterbasis.h \ + /usr/local/include/HLib/h2conversion.h \ + /usr/local/include/HLib/rkmatrix.h \ + /usr/local/include/HLib/sparsematrix.h \ + /usr/local/include/HLib/uniformmatrix.h + +P0Space.hpp: + +../hilbert.hpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../boundary_mesh/FaceDispatch.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/Singleton_tmpl.cpp: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/TypeList.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +../boundary_mesh/FaceDispatch_tmpl.cpp: + +../boundary_mesh/exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +../boundary_mesh/Face.hpp: + +/usr/include/c++/4.5/iterator: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +/usr/include/c++/4.5/istream: + +/usr/include/c++/4.5/bits/istream.tcc: + +/usr/include/c++/4.5/bits/stream_iterator.h: + +../boundary_mesh/types.hpp: + +/usr/include/c++/4.5/limits: + +../boundary_mesh/exception.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/Face_tmpl.cpp: + +/usr/include/c++/4.5/sstream: + +/usr/include/c++/4.5/bits/sstream.tcc: + +../boundary_mesh/HalfEdge.hpp: + +../boundary_mesh/HalfEdge_tmpl.cpp: + +../boundary_mesh/Vertex.hpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/../generic/GenericVector_tmpl.cpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/Vertex_tmpl.cpp: + +../boundary_mesh/Mesh.hpp: + +../boundary_mesh/MeshBuilder.hpp: + +../boundary_mesh/MeshBuilder_tmpl.cpp: + +/usr/include/boost/type_traits/is_pointer.hpp: + +/usr/include/boost/type_traits/is_member_pointer.hpp: + +/usr/include/boost/type_traits/config.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.5/utility: + +/usr/include/c++/4.5/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/boost/type_traits/is_member_function_pointer.hpp: + +/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: + +/usr/include/boost/type_traits/remove_cv.hpp: + +/usr/include/boost/type_traits/broken_compiler_spec.hpp: + +/usr/include/boost/mpl/aux_/lambda_support.hpp: + +/usr/include/boost/mpl/aux_/config/lambda.hpp: + +/usr/include/boost/mpl/aux_/config/ttp.hpp: + +/usr/include/boost/mpl/aux_/config/msvc.hpp: + +/usr/include/boost/mpl/aux_/config/gcc.hpp: + +/usr/include/boost/mpl/aux_/config/workaround.hpp: + +/usr/include/boost/mpl/aux_/config/ctps.hpp: + +/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: + +/usr/include/boost/type_traits/detail/type_trait_def.hpp: + +/usr/include/boost/type_traits/detail/template_arity_spec.hpp: + +/usr/include/boost/mpl/int.hpp: + +/usr/include/boost/mpl/int_fwd.hpp: + +/usr/include/boost/mpl/aux_/adl_barrier.hpp: + +/usr/include/boost/mpl/aux_/config/adl.hpp: + +/usr/include/boost/mpl/aux_/config/intel.hpp: + +/usr/include/boost/mpl/aux_/nttp_decl.hpp: + +/usr/include/boost/mpl/aux_/config/nttp.hpp: + +/usr/include/boost/mpl/aux_/integral_wrapper.hpp: + +/usr/include/boost/mpl/integral_c_tag.hpp: + +/usr/include/boost/mpl/aux_/config/static_constant.hpp: + +/usr/include/boost/mpl/aux_/static_cast.hpp: + +/usr/include/boost/preprocessor/cat.hpp: + +/usr/include/boost/preprocessor/config/config.hpp: + +/usr/include/boost/mpl/aux_/template_arity_fwd.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/params.hpp: + +/usr/include/boost/mpl/aux_/config/preprocessor.hpp: + +/usr/include/boost/preprocessor/comma_if.hpp: + +/usr/include/boost/preprocessor/punctuation/comma_if.hpp: + +/usr/include/boost/preprocessor/control/if.hpp: + +/usr/include/boost/preprocessor/control/iif.hpp: + +/usr/include/boost/preprocessor/logical/bool.hpp: + +/usr/include/boost/preprocessor/facilities/empty.hpp: + +/usr/include/boost/preprocessor/punctuation/comma.hpp: + +/usr/include/boost/preprocessor/repeat.hpp: + +/usr/include/boost/preprocessor/repetition/repeat.hpp: + +/usr/include/boost/preprocessor/debug/error.hpp: + +/usr/include/boost/preprocessor/detail/auto_rec.hpp: + +/usr/include/boost/preprocessor/tuple/eat.hpp: + +/usr/include/boost/preprocessor/inc.hpp: + +/usr/include/boost/preprocessor/arithmetic/inc.hpp: + +/usr/include/boost/mpl/aux_/config/overload_resolution.hpp: + +/usr/include/boost/type_traits/detail/type_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_def.hpp: + +/usr/include/boost/type_traits/integral_constant.hpp: + +/usr/include/boost/mpl/bool.hpp: + +/usr/include/boost/mpl/bool_fwd.hpp: + +/usr/include/boost/mpl/integral_c.hpp: + +/usr/include/boost/mpl/integral_c_fwd.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/ice_and.hpp: + +/usr/include/boost/type_traits/detail/ice_not.hpp: + +/usr/include/boost/utility/enable_if.hpp: + +../boundary_mesh/Mesh.cpp: + +/usr/include/c++/4.5/iostream: + +/usr/include/c++/4.5/set: + +/usr/include/c++/4.5/bits/stl_tree.h: + +/usr/include/c++/4.5/bits/stl_set.h: + +/usr/include/c++/4.5/bits/stl_multiset.h: + +/usr/include/c++/4.5/list: + +/usr/include/c++/4.5/bits/stl_list.h: + +/usr/include/c++/4.5/bits/list.tcc: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp: + +/usr/include/c++/4.5/cstring: + +/usr/include/string.h: + +/usr/include/bits/string3.h: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/Triangle.hpp: + +../boundary_mesh/face/../../generic/BaseTypes.hpp: + +../boundary_mesh/face/Triangle_tmpl.cpp: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/../Face.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/face/Parallelogram.hpp: + +../boundary_mesh/face/ConvexQuadrilateral.hpp: + +../boundary_mesh/face/Quadrilateral.hpp: + +../boundary_mesh/face/../types.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.cpp: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp: + +../boundary_mesh/face/Quadrilateral_tmpl.hpp: + +../boundary_mesh/face/Quadrilateral_tmpl.cpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/algorithm/HandleObj.hpp: + +../boundary_mesh/algorithm/HandleObj_tmpl.cpp: + +/usr/include/c++/4.5/fstream: + +/usr/include/c++/4.5/bits/codecvt.h: + +/usr/include/c++/4.5/cstdio: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.5/bits/fstream.tcc: + +/usr/include/boost/regex.hpp: + +/usr/include/boost/regex/config.hpp: + +/usr/include/boost/regex/user.hpp: + +/usr/include/boost/regex/config/cwchar.hpp: + +/usr/include/boost/config/auto_link.hpp: + +/usr/include/boost/regex/v4/regex.hpp: + +/usr/include/boost/regex/v4/regex_workaround.hpp: + +/usr/include/c++/4.5/climits: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.5/algorithm: + +/usr/include/c++/4.5/bits/stl_algo.h: + +/usr/include/c++/4.5/bits/algorithmfwd.h: + +/usr/include/c++/4.5/bits/stl_heap.h: + +/usr/include/c++/4.5/bits/stl_tempbuf.h: + +/usr/include/c++/4.5/map: + +/usr/include/c++/4.5/bits/stl_map.h: + +/usr/include/c++/4.5/bits/stl_multimap.h: + +/usr/include/boost/limits.hpp: + +/usr/include/boost/assert.hpp: + +/usr/include/boost/cstdint.hpp: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/exception/detail/attribute_noreturn.hpp: + +/usr/include/boost/exception/exception.hpp: + +/usr/include/boost/current_function.hpp: + +/usr/include/boost/scoped_ptr.hpp: + +/usr/include/boost/smart_ptr/scoped_ptr.hpp: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/c++/4.5/memory: + +/usr/include/c++/4.5/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.5/backward/auto_ptr.h: + +/usr/include/boost/smart_ptr/detail/operator_bool.hpp: + +/usr/include/boost/scoped_array.hpp: + +/usr/include/boost/smart_ptr/scoped_array.hpp: + +/usr/include/boost/shared_ptr.hpp: + +/usr/include/boost/smart_ptr/shared_ptr.hpp: + +/usr/include/boost/config/no_tr1/memory.hpp: + +/usr/include/boost/smart_ptr/detail/shared_count.hpp: + +/usr/include/boost/smart_ptr/bad_weak_ptr.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base.hpp: + +/usr/include/boost/smart_ptr/detail/sp_has_sync.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/boost/detail/sp_typeinfo.hpp: + +/usr/include/c++/4.5/typeinfo: + +/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.5/functional: + +/usr/include/boost/smart_ptr/detail/sp_convertible.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: + +/usr/include/boost/smart_ptr/detail/yield_k.hpp: + +/usr/include/boost/memory_order.hpp: + +/usr/include/c++/4.5/locale: + +/usr/include/c++/4.5/bits/locale_facets_nonio.h: + +/usr/include/c++/4.5/ctime: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.5/bits/locale_facets_nonio.tcc: + +/usr/include/boost/regex_fwd.hpp: + +/usr/include/boost/regex/v4/regex_fwd.hpp: + +/usr/include/boost/regex/regex_traits.hpp: + +/usr/include/boost/regex/v4/regex_traits.hpp: + +/usr/include/boost/regex/v4/syntax_type.hpp: + +/usr/include/boost/regex/v4/error_type.hpp: + +/usr/include/boost/regex/v4/regex_traits_defaults.hpp: + +/usr/include/boost/regex/v4/cpp_regex_traits.hpp: + +/usr/include/boost/regex/pattern_except.hpp: + +/usr/include/boost/regex/pending/static_mutex.hpp: + +/usr/include/boost/regex/v4/primary_transform.hpp: + +/usr/include/boost/regex/pending/object_cache.hpp: + +/usr/include/boost/regex/v4/c_regex_traits.hpp: + +/usr/include/boost/mpl/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/type_wrapper.hpp: + +/usr/include/boost/mpl/aux_/yes_no.hpp: + +/usr/include/boost/mpl/aux_/config/arrays.hpp: + +/usr/include/boost/mpl/aux_/config/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/config/msvc_typename.hpp: + +/usr/include/boost/static_assert.hpp: + +/usr/include/boost/regex/v4/match_flags.hpp: + +/usr/include/boost/regex/v4/regex_raw_buffer.hpp: + +/usr/include/boost/regex/v4/char_regex_traits.hpp: + +/usr/include/boost/regex/v4/states.hpp: + +/usr/include/boost/regex/v4/regbase.hpp: + +/usr/include/boost/regex/v4/iterator_traits.hpp: + +/usr/include/boost/regex/v4/basic_regex.hpp: + +/usr/include/boost/type_traits/is_same.hpp: + +/usr/include/boost/functional/hash.hpp: + +/usr/include/boost/functional/hash/hash.hpp: + +/usr/include/boost/functional/hash/hash_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float.hpp: + +/usr/include/boost/functional/hash/detail/float_functions.hpp: + +/usr/include/boost/config/no_tr1/cmath.hpp: + +/usr/include/boost/functional/hash/detail/limits.hpp: + +/usr/include/boost/integer/static_log2.hpp: + +/usr/include/boost/integer_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: + +/usr/include/boost/functional/hash/extensions.hpp: + +/usr/include/boost/detail/container_fwd.hpp: + +/usr/include/boost/regex/v4/basic_regex_creator.hpp: + +/usr/include/boost/regex/v4/basic_regex_parser.hpp: + +/usr/include/boost/regex/v4/sub_match.hpp: + +/usr/include/boost/regex/v4/regex_format.hpp: + +/usr/include/boost/type_traits/is_function.hpp: + +/usr/include/boost/type_traits/is_reference.hpp: + +/usr/include/boost/type_traits/detail/false_result.hpp: + +/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp: + +/usr/include/boost/type_traits/is_class.hpp: + +/usr/include/boost/type_traits/intrinsics.hpp: + +/usr/include/boost/type_traits/is_volatile.hpp: + +/usr/include/boost/type_traits/is_convertible.hpp: + +/usr/include/boost/type_traits/detail/yes_no_type.hpp: + +/usr/include/boost/type_traits/is_array.hpp: + +/usr/include/boost/type_traits/add_reference.hpp: + +/usr/include/boost/type_traits/ice.hpp: + +/usr/include/boost/type_traits/detail/ice_or.hpp: + +/usr/include/boost/type_traits/detail/ice_eq.hpp: + +/usr/include/boost/type_traits/is_arithmetic.hpp: + +/usr/include/boost/type_traits/is_integral.hpp: + +/usr/include/boost/type_traits/is_float.hpp: + +/usr/include/boost/type_traits/is_void.hpp: + +/usr/include/boost/type_traits/is_abstract.hpp: + +/usr/include/boost/type_traits/remove_pointer.hpp: + +/usr/include/boost/mpl/if.hpp: + +/usr/include/boost/mpl/aux_/value_wknd.hpp: + +/usr/include/boost/mpl/aux_/config/integral.hpp: + +/usr/include/boost/mpl/aux_/config/eti.hpp: + +/usr/include/boost/mpl/aux_/na_spec.hpp: + +/usr/include/boost/mpl/lambda_fwd.hpp: + +/usr/include/boost/mpl/void_fwd.hpp: + +/usr/include/boost/mpl/aux_/na.hpp: + +/usr/include/boost/mpl/aux_/na_fwd.hpp: + +/usr/include/boost/mpl/aux_/lambda_arity_param.hpp: + +/usr/include/boost/mpl/aux_/arity.hpp: + +/usr/include/boost/mpl/aux_/config/dtp.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/enum.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp: + +/usr/include/boost/mpl/limits/arity.hpp: + +/usr/include/boost/preprocessor/logical/and.hpp: + +/usr/include/boost/preprocessor/logical/bitand.hpp: + +/usr/include/boost/preprocessor/identity.hpp: + +/usr/include/boost/preprocessor/facilities/identity.hpp: + +/usr/include/boost/preprocessor/empty.hpp: + +/usr/include/boost/preprocessor/arithmetic/add.hpp: + +/usr/include/boost/preprocessor/arithmetic/dec.hpp: + +/usr/include/boost/preprocessor/control/while.hpp: + +/usr/include/boost/preprocessor/list/fold_left.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_left.hpp: + +/usr/include/boost/preprocessor/control/expr_iif.hpp: + +/usr/include/boost/preprocessor/list/adt.hpp: + +/usr/include/boost/preprocessor/detail/is_binary.hpp: + +/usr/include/boost/preprocessor/detail/check.hpp: + +/usr/include/boost/preprocessor/logical/compl.hpp: + +/usr/include/boost/preprocessor/list/fold_right.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_right.hpp: + +/usr/include/boost/preprocessor/list/reverse.hpp: + +/usr/include/boost/preprocessor/control/detail/while.hpp: + +/usr/include/boost/preprocessor/tuple/elem.hpp: + +/usr/include/boost/preprocessor/arithmetic/sub.hpp: + +/usr/include/boost/mpl/and.hpp: + +/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/nested_type_wknd.hpp: + +/usr/include/boost/mpl/aux_/include_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/config/compiler.hpp: + +/usr/include/boost/preprocessor/stringize.hpp: + +/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp: + +/usr/include/boost/mpl/not.hpp: + +/usr/include/boost/regex/v4/match_results.hpp: + +/usr/include/boost/regex/v4/protected_call.hpp: + +/usr/include/boost/regex/v4/perl_matcher.hpp: + +/usr/include/boost/regex/v4/iterator_category.hpp: + +/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: + +/usr/include/boost/regex/v4/perl_matcher_common.hpp: + +/usr/include/boost/regex/v4/instances.hpp: + +/usr/include/boost/regex/v4/regex_match.hpp: + +/usr/include/boost/regex/v4/regex_search.hpp: + +/usr/include/boost/regex/v4/regex_iterator.hpp: + +/usr/include/boost/regex/v4/regex_token_iterator.hpp: + +/usr/include/boost/regex/v4/regex_grep.hpp: + +/usr/include/boost/regex/v4/regex_replace.hpp: + +/usr/include/boost/regex/v4/regex_merge.hpp: + +/usr/include/boost/regex/v4/regex_split.hpp: + +../boundary_mesh/algorithm/../MeshBuilder.hpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/algorithm/../types.hpp: + +../boundary_mesh/algorithm/../FaceDispatch.hpp: + +../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/FlexibleMesh_tmpl.cpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../spaces/P0Space.hpp: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/basic.h: + +../../src/config.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/fullmatrix.h: + +/usr/local/include/HLib/lapack.h: + +/usr/local/include/HLib/blockcluster.h: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/clusterbasis.h: + +/usr/local/include/HLib/h2conversion.h: + +/usr/local/include/HLib/rkmatrix.h: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/uniformmatrix.h: diff --git a/src/bem3d/src/spaces/.deps/testP0Space-t.Po b/src/bem3d/src/spaces/.deps/testP0Space-t.Po new file mode 100644 index 0000000..bf56395 --- /dev/null +++ b/src/bem3d/src/spaces/.deps/testP0Space-t.Po @@ -0,0 +1,1384 @@ +testP0Space-t.o: t.cpp P0Space.hpp ../hilbert.hpp \ + ../boundary_mesh/FlexibleMesh.hpp ../boundary_mesh/FaceDispatch.hpp \ + /usr/include/c++/4.5/vector /usr/include/c++/4.5/bits/stl_algobase.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/bits/predefs.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.5/cstddef \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h \ + /usr/include/c++/4.5/bits/functexcept.h \ + /usr/include/c++/4.5/exception_defines.h \ + /usr/include/c++/4.5/bits/cpp_type_traits.h \ + /usr/include/c++/4.5/ext/type_traits.h \ + /usr/include/c++/4.5/ext/numeric_traits.h \ + /usr/include/c++/4.5/bits/stl_pair.h /usr/include/c++/4.5/bits/move.h \ + /usr/include/c++/4.5/bits/concept_check.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.5/bits/stl_iterator.h \ + /usr/include/c++/4.5/debug/debug.h /usr/include/c++/4.5/bits/allocator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.5/ext/new_allocator.h /usr/include/c++/4.5/new \ + /usr/include/c++/4.5/exception /usr/include/c++/4.5/bits/stl_construct.h \ + /usr/include/c++/4.5/bits/stl_uninitialized.h \ + /usr/include/c++/4.5/bits/stl_vector.h \ + /usr/include/c++/4.5/initializer_list \ + /usr/include/c++/4.5/bits/stl_bvector.h \ + /usr/include/c++/4.5/bits/vector.tcc \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/Singleton_tmpl.cpp \ + ../boundary_mesh/../generic/Singleton.hpp \ + ../boundary_mesh/../generic/TypeList.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/../generic/BaseTypes.hpp \ + ../boundary_mesh/exception/DispatchIdNotSet.hpp \ + /usr/include/c++/4.5/stdexcept /usr/include/c++/4.5/string \ + /usr/include/c++/4.5/bits/stringfwd.h \ + /usr/include/c++/4.5/bits/char_traits.h \ + /usr/include/c++/4.5/bits/postypes.h /usr/include/c++/4.5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h \ + /usr/include/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/bits/wchar2.h /usr/include/c++/4.5/bits/localefwd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.5/clocale /usr/include/locale.h \ + /usr/include/bits/locale.h /usr/include/c++/4.5/iosfwd \ + /usr/include/c++/4.5/cctype /usr/include/ctype.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/byteswap.h /usr/include/c++/4.5/bits/ostream_insert.h \ + /usr/include/c++/4.5/cxxabi-forced.h \ + /usr/include/c++/4.5/bits/stl_function.h \ + /usr/include/c++/4.5/backward/binders.h \ + /usr/include/c++/4.5/bits/basic_string.h \ + /usr/include/c++/4.5/ext/atomicity.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/setjmp.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.5/bits/basic_string.tcc \ + ../boundary_mesh/FaceDispatch_tmpl.cpp \ + ../boundary_mesh/exception/CouldNotDispatchCall.hpp \ + /usr/include/c++/4.5/cassert /usr/include/assert.h \ + ../boundary_mesh/Face.hpp /usr/include/c++/4.5/iterator \ + /usr/include/c++/4.5/ostream /usr/include/c++/4.5/ios \ + /usr/include/c++/4.5/bits/ios_base.h \ + /usr/include/c++/4.5/bits/locale_classes.h \ + /usr/include/c++/4.5/bits/locale_classes.tcc \ + /usr/include/c++/4.5/streambuf /usr/include/c++/4.5/bits/streambuf.tcc \ + /usr/include/c++/4.5/bits/basic_ios.h \ + /usr/include/c++/4.5/bits/locale_facets.h /usr/include/c++/4.5/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.5/bits/streambuf_iterator.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.5/bits/locale_facets.tcc \ + /usr/include/c++/4.5/bits/basic_ios.tcc \ + /usr/include/c++/4.5/bits/ostream.tcc /usr/include/c++/4.5/istream \ + /usr/include/c++/4.5/bits/istream.tcc \ + /usr/include/c++/4.5/bits/stream_iterator.h ../boundary_mesh/types.hpp \ + /usr/include/c++/4.5/limits ../boundary_mesh/exception.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/Face_tmpl.cpp /usr/include/c++/4.5/sstream \ + /usr/include/c++/4.5/bits/sstream.tcc ../boundary_mesh/HalfEdge.hpp \ + ../boundary_mesh/HalfEdge_tmpl.cpp ../boundary_mesh/Vertex.hpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/../generic/GenericVector_tmpl.cpp \ + ../boundary_mesh/../generic/GenericVector.hpp \ + ../boundary_mesh/Vertex_tmpl.cpp ../boundary_mesh/Mesh.hpp \ + ../boundary_mesh/MeshBuilder.hpp ../boundary_mesh/MeshBuilder_tmpl.cpp \ + /usr/include/boost/type_traits/is_pointer.hpp \ + /usr/include/boost/type_traits/is_member_pointer.hpp \ + /usr/include/boost/type_traits/config.hpp /usr/include/boost/config.hpp \ + /usr/include/boost/config/user.hpp \ + /usr/include/boost/config/select_compiler_config.hpp \ + /usr/include/boost/config/compiler/gcc.hpp \ + /usr/include/boost/config/select_stdlib_config.hpp \ + /usr/include/boost/config/no_tr1/utility.hpp \ + /usr/include/c++/4.5/utility /usr/include/c++/4.5/bits/stl_relops.h \ + /usr/include/boost/config/stdlib/libstdcpp3.hpp \ + /usr/include/boost/config/select_platform_config.hpp \ + /usr/include/boost/config/platform/linux.hpp \ + /usr/include/c++/4.5/cstdlib /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/sys/types.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/boost/config/posix_features.hpp \ + /usr/include/boost/config/suffix.hpp \ + /usr/include/boost/detail/workaround.hpp \ + /usr/include/boost/type_traits/is_member_function_pointer.hpp \ + /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ + /usr/include/boost/type_traits/remove_cv.hpp \ + /usr/include/boost/type_traits/broken_compiler_spec.hpp \ + /usr/include/boost/mpl/aux_/lambda_support.hpp \ + /usr/include/boost/mpl/aux_/config/lambda.hpp \ + /usr/include/boost/mpl/aux_/config/ttp.hpp \ + /usr/include/boost/mpl/aux_/config/msvc.hpp \ + /usr/include/boost/mpl/aux_/config/gcc.hpp \ + /usr/include/boost/mpl/aux_/config/workaround.hpp \ + /usr/include/boost/mpl/aux_/config/ctps.hpp \ + /usr/include/boost/type_traits/detail/cv_traits_impl.hpp \ + /usr/include/boost/type_traits/detail/type_trait_def.hpp \ + /usr/include/boost/type_traits/detail/template_arity_spec.hpp \ + /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp \ + /usr/include/boost/mpl/aux_/adl_barrier.hpp \ + /usr/include/boost/mpl/aux_/config/adl.hpp \ + /usr/include/boost/mpl/aux_/config/intel.hpp \ + /usr/include/boost/mpl/aux_/nttp_decl.hpp \ + /usr/include/boost/mpl/aux_/config/nttp.hpp \ + /usr/include/boost/mpl/aux_/integral_wrapper.hpp \ + /usr/include/boost/mpl/integral_c_tag.hpp \ + /usr/include/boost/mpl/aux_/config/static_constant.hpp \ + /usr/include/boost/mpl/aux_/static_cast.hpp \ + /usr/include/boost/preprocessor/cat.hpp \ + /usr/include/boost/preprocessor/config/config.hpp \ + /usr/include/boost/mpl/aux_/template_arity_fwd.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/params.hpp \ + /usr/include/boost/mpl/aux_/config/preprocessor.hpp \ + /usr/include/boost/preprocessor/comma_if.hpp \ + /usr/include/boost/preprocessor/punctuation/comma_if.hpp \ + /usr/include/boost/preprocessor/control/if.hpp \ + /usr/include/boost/preprocessor/control/iif.hpp \ + /usr/include/boost/preprocessor/logical/bool.hpp \ + /usr/include/boost/preprocessor/facilities/empty.hpp \ + /usr/include/boost/preprocessor/punctuation/comma.hpp \ + /usr/include/boost/preprocessor/repeat.hpp \ + /usr/include/boost/preprocessor/repetition/repeat.hpp \ + /usr/include/boost/preprocessor/debug/error.hpp \ + /usr/include/boost/preprocessor/detail/auto_rec.hpp \ + /usr/include/boost/preprocessor/tuple/eat.hpp \ + /usr/include/boost/preprocessor/inc.hpp \ + /usr/include/boost/preprocessor/arithmetic/inc.hpp \ + /usr/include/boost/mpl/aux_/config/overload_resolution.hpp \ + /usr/include/boost/type_traits/detail/type_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_def.hpp \ + /usr/include/boost/type_traits/integral_constant.hpp \ + /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp \ + /usr/include/boost/mpl/integral_c.hpp \ + /usr/include/boost/mpl/integral_c_fwd.hpp \ + /usr/include/boost/type_traits/detail/bool_trait_undef.hpp \ + /usr/include/boost/type_traits/detail/ice_and.hpp \ + /usr/include/boost/type_traits/detail/ice_not.hpp \ + /usr/include/boost/utility/enable_if.hpp ../boundary_mesh/Mesh.cpp \ + /usr/include/c++/4.5/iostream /usr/include/c++/4.5/set \ + /usr/include/c++/4.5/bits/stl_tree.h /usr/include/c++/4.5/bits/stl_set.h \ + /usr/include/c++/4.5/bits/stl_multiset.h /usr/include/c++/4.5/list \ + /usr/include/c++/4.5/bits/stl_list.h /usr/include/c++/4.5/bits/list.tcc \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType.hpp \ + ../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp \ + /usr/include/c++/4.5/cstring /usr/include/string.h \ + /usr/include/bits/string3.h ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/Triangle.hpp \ + ../boundary_mesh/face/../../generic/BaseTypes.hpp \ + ../boundary_mesh/face/Triangle_tmpl.cpp \ + ../boundary_mesh/face/Triangle_tmpl.hpp \ + ../boundary_mesh/face/../Face.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/face/Parallelogram.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral.hpp \ + ../boundary_mesh/face/Quadrilateral.hpp \ + ../boundary_mesh/face/../types.hpp \ + ../boundary_mesh/face/Parallelogram_tmpl.cpp /usr/include/c++/4.5/cmath \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h \ + /usr/include/bits/inf.h /usr/include/bits/nan.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/c++/4.5/bits/cmath.tcc \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp \ + ../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.hpp \ + ../boundary_mesh/face/Quadrilateral_tmpl.cpp \ + ../boundary_mesh/face/Parallelogram_tmpl.hpp \ + ../boundary_mesh/algorithm/HandleObj.hpp \ + ../boundary_mesh/algorithm/HandleObj_tmpl.cpp \ + /usr/include/c++/4.5/fstream /usr/include/c++/4.5/bits/codecvt.h \ + /usr/include/c++/4.5/cstdio /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/bits/stdio_lim.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/include/bits/stdio2.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h \ + /usr/include/c++/4.5/bits/fstream.tcc /usr/include/boost/regex.hpp \ + /usr/include/boost/regex/config.hpp /usr/include/boost/regex/user.hpp \ + /usr/include/boost/regex/config/cwchar.hpp \ + /usr/include/boost/config/auto_link.hpp \ + /usr/include/boost/regex/v4/regex.hpp \ + /usr/include/boost/regex/v4/regex_workaround.hpp \ + /usr/include/c++/4.5/climits \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/c++/4.5/algorithm /usr/include/c++/4.5/bits/stl_algo.h \ + /usr/include/c++/4.5/bits/algorithmfwd.h \ + /usr/include/c++/4.5/bits/stl_heap.h \ + /usr/include/c++/4.5/bits/stl_tempbuf.h /usr/include/c++/4.5/map \ + /usr/include/c++/4.5/bits/stl_map.h \ + /usr/include/c++/4.5/bits/stl_multimap.h /usr/include/boost/limits.hpp \ + /usr/include/boost/assert.hpp /usr/include/boost/cstdint.hpp \ + /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h \ + /usr/include/stdint.h /usr/include/boost/throw_exception.hpp \ + /usr/include/boost/exception/detail/attribute_noreturn.hpp \ + /usr/include/boost/exception/exception.hpp \ + /usr/include/boost/current_function.hpp \ + /usr/include/boost/scoped_ptr.hpp \ + /usr/include/boost/smart_ptr/scoped_ptr.hpp \ + /usr/include/boost/checked_delete.hpp /usr/include/c++/4.5/memory \ + /usr/include/c++/4.5/bits/stl_raw_storage_iter.h \ + /usr/include/c++/4.5/backward/auto_ptr.h \ + /usr/include/boost/smart_ptr/detail/operator_bool.hpp \ + /usr/include/boost/scoped_array.hpp \ + /usr/include/boost/smart_ptr/scoped_array.hpp \ + /usr/include/boost/shared_ptr.hpp \ + /usr/include/boost/smart_ptr/shared_ptr.hpp \ + /usr/include/boost/config/no_tr1/memory.hpp \ + /usr/include/boost/smart_ptr/detail/shared_count.hpp \ + /usr/include/boost/smart_ptr/bad_weak_ptr.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base.hpp \ + /usr/include/boost/smart_ptr/detail/sp_has_sync.hpp \ + /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ + /usr/include/boost/detail/sp_typeinfo.hpp /usr/include/c++/4.5/typeinfo \ + /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ + /usr/include/c++/4.5/functional \ + /usr/include/boost/smart_ptr/detail/sp_convertible.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock.hpp \ + /usr/include/boost/smart_ptr/detail/spinlock_sync.hpp \ + /usr/include/boost/smart_ptr/detail/yield_k.hpp \ + /usr/include/boost/memory_order.hpp /usr/include/c++/4.5/locale \ + /usr/include/c++/4.5/bits/locale_facets_nonio.h \ + /usr/include/c++/4.5/ctime \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.5/bits/locale_facets_nonio.tcc \ + /usr/include/boost/regex_fwd.hpp \ + /usr/include/boost/regex/v4/regex_fwd.hpp \ + /usr/include/boost/regex/regex_traits.hpp \ + /usr/include/boost/regex/v4/regex_traits.hpp \ + /usr/include/boost/regex/v4/syntax_type.hpp \ + /usr/include/boost/regex/v4/error_type.hpp \ + /usr/include/boost/regex/v4/regex_traits_defaults.hpp \ + /usr/include/boost/regex/v4/cpp_regex_traits.hpp \ + /usr/include/boost/regex/pattern_except.hpp \ + /usr/include/boost/regex/pending/static_mutex.hpp \ + /usr/include/boost/regex/v4/primary_transform.hpp \ + /usr/include/boost/regex/pending/object_cache.hpp \ + /usr/include/boost/regex/v4/c_regex_traits.hpp \ + /usr/include/boost/mpl/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/type_wrapper.hpp \ + /usr/include/boost/mpl/aux_/yes_no.hpp \ + /usr/include/boost/mpl/aux_/config/arrays.hpp \ + /usr/include/boost/mpl/aux_/config/has_xxx.hpp \ + /usr/include/boost/mpl/aux_/config/msvc_typename.hpp \ + /usr/include/boost/static_assert.hpp \ + /usr/include/boost/regex/v4/match_flags.hpp \ + /usr/include/boost/regex/v4/regex_raw_buffer.hpp \ + /usr/include/boost/regex/v4/char_regex_traits.hpp \ + /usr/include/boost/regex/v4/states.hpp \ + /usr/include/boost/regex/v4/regbase.hpp \ + /usr/include/boost/regex/v4/iterator_traits.hpp \ + /usr/include/boost/regex/v4/basic_regex.hpp \ + /usr/include/boost/type_traits/is_same.hpp \ + /usr/include/boost/functional/hash.hpp \ + /usr/include/boost/functional/hash/hash.hpp \ + /usr/include/boost/functional/hash/hash_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float.hpp \ + /usr/include/boost/functional/hash/detail/float_functions.hpp \ + /usr/include/boost/config/no_tr1/cmath.hpp \ + /usr/include/boost/functional/hash/detail/limits.hpp \ + /usr/include/boost/integer/static_log2.hpp \ + /usr/include/boost/integer_fwd.hpp \ + /usr/include/boost/functional/hash/detail/hash_float_generic.hpp \ + /usr/include/boost/functional/hash/extensions.hpp \ + /usr/include/boost/detail/container_fwd.hpp \ + /usr/include/boost/regex/v4/basic_regex_creator.hpp \ + /usr/include/boost/regex/v4/basic_regex_parser.hpp \ + /usr/include/boost/regex/v4/sub_match.hpp \ + /usr/include/boost/regex/v4/regex_format.hpp \ + /usr/include/boost/type_traits/is_function.hpp \ + /usr/include/boost/type_traits/is_reference.hpp \ + /usr/include/boost/type_traits/detail/false_result.hpp \ + /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ + /usr/include/boost/type_traits/is_class.hpp \ + /usr/include/boost/type_traits/intrinsics.hpp \ + /usr/include/boost/type_traits/is_volatile.hpp \ + /usr/include/boost/type_traits/is_convertible.hpp \ + /usr/include/boost/type_traits/detail/yes_no_type.hpp \ + /usr/include/boost/type_traits/is_array.hpp \ + /usr/include/boost/type_traits/add_reference.hpp \ + /usr/include/boost/type_traits/ice.hpp \ + /usr/include/boost/type_traits/detail/ice_or.hpp \ + /usr/include/boost/type_traits/detail/ice_eq.hpp \ + /usr/include/boost/type_traits/is_arithmetic.hpp \ + /usr/include/boost/type_traits/is_integral.hpp \ + /usr/include/boost/type_traits/is_float.hpp \ + /usr/include/boost/type_traits/is_void.hpp \ + /usr/include/boost/type_traits/is_abstract.hpp \ + /usr/include/boost/type_traits/remove_pointer.hpp \ + /usr/include/boost/mpl/if.hpp /usr/include/boost/mpl/aux_/value_wknd.hpp \ + /usr/include/boost/mpl/aux_/config/integral.hpp \ + /usr/include/boost/mpl/aux_/config/eti.hpp \ + /usr/include/boost/mpl/aux_/na_spec.hpp \ + /usr/include/boost/mpl/lambda_fwd.hpp \ + /usr/include/boost/mpl/void_fwd.hpp /usr/include/boost/mpl/aux_/na.hpp \ + /usr/include/boost/mpl/aux_/na_fwd.hpp \ + /usr/include/boost/mpl/aux_/lambda_arity_param.hpp \ + /usr/include/boost/mpl/aux_/arity.hpp \ + /usr/include/boost/mpl/aux_/config/dtp.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/enum.hpp \ + /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ + /usr/include/boost/mpl/limits/arity.hpp \ + /usr/include/boost/preprocessor/logical/and.hpp \ + /usr/include/boost/preprocessor/logical/bitand.hpp \ + /usr/include/boost/preprocessor/identity.hpp \ + /usr/include/boost/preprocessor/facilities/identity.hpp \ + /usr/include/boost/preprocessor/empty.hpp \ + /usr/include/boost/preprocessor/arithmetic/add.hpp \ + /usr/include/boost/preprocessor/arithmetic/dec.hpp \ + /usr/include/boost/preprocessor/control/while.hpp \ + /usr/include/boost/preprocessor/list/fold_left.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_left.hpp \ + /usr/include/boost/preprocessor/control/expr_iif.hpp \ + /usr/include/boost/preprocessor/list/adt.hpp \ + /usr/include/boost/preprocessor/detail/is_binary.hpp \ + /usr/include/boost/preprocessor/detail/check.hpp \ + /usr/include/boost/preprocessor/logical/compl.hpp \ + /usr/include/boost/preprocessor/list/fold_right.hpp \ + /usr/include/boost/preprocessor/list/detail/fold_right.hpp \ + /usr/include/boost/preprocessor/list/reverse.hpp \ + /usr/include/boost/preprocessor/control/detail/while.hpp \ + /usr/include/boost/preprocessor/tuple/elem.hpp \ + /usr/include/boost/preprocessor/arithmetic/sub.hpp \ + /usr/include/boost/mpl/and.hpp \ + /usr/include/boost/mpl/aux_/config/use_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/nested_type_wknd.hpp \ + /usr/include/boost/mpl/aux_/include_preprocessed.hpp \ + /usr/include/boost/mpl/aux_/config/compiler.hpp \ + /usr/include/boost/preprocessor/stringize.hpp \ + /usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ + /usr/include/boost/mpl/not.hpp \ + /usr/include/boost/regex/v4/match_results.hpp \ + /usr/include/boost/regex/v4/protected_call.hpp \ + /usr/include/boost/regex/v4/perl_matcher.hpp \ + /usr/include/boost/regex/v4/iterator_category.hpp \ + /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp \ + /usr/include/boost/regex/v4/perl_matcher_common.hpp \ + /usr/include/boost/regex/v4/instances.hpp \ + /usr/include/boost/regex/v4/regex_match.hpp \ + /usr/include/boost/regex/v4/regex_search.hpp \ + /usr/include/boost/regex/v4/regex_iterator.hpp \ + /usr/include/boost/regex/v4/regex_token_iterator.hpp \ + /usr/include/boost/regex/v4/regex_grep.hpp \ + /usr/include/boost/regex/v4/regex_replace.hpp \ + /usr/include/boost/regex/v4/regex_merge.hpp \ + /usr/include/boost/regex/v4/regex_split.hpp \ + ../boundary_mesh/algorithm/../MeshBuilder.hpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/algorithm/../types.hpp \ + ../boundary_mesh/algorithm/../FaceDispatch.hpp \ + ../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp \ + ../boundary_mesh/algorithm/RefineUniformly.hpp \ + ../boundary_mesh/FlexibleMesh_tmpl.cpp ../boundary_mesh/FlexibleMesh.hpp \ + ../spaces/P0Space.hpp /usr/local/include/HLib/sparsematrix.h \ + /usr/local/include/HLib/basic.h ../../src/config.h \ + /usr/local/include/HLib/supermatrix.h \ + /usr/local/include/HLib/fullmatrix.h /usr/local/include/HLib/lapack.h \ + /usr/local/include/HLib/blockcluster.h /usr/local/include/HLib/cluster.h \ + /usr/local/include/HLib/clusterbasis.h \ + /usr/local/include/HLib/h2conversion.h \ + /usr/local/include/HLib/rkmatrix.h \ + /usr/local/include/HLib/sparsematrix.h \ + /usr/local/include/HLib/uniformmatrix.h + +P0Space.hpp: + +../hilbert.hpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../boundary_mesh/FaceDispatch.hpp: + +/usr/include/c++/4.5/vector: + +/usr/include/c++/4.5/bits/stl_algobase.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++config.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/bits/predefs.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/cpu_defines.h: + +/usr/include/c++/4.5/cstddef: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stddef.h: + +/usr/include/c++/4.5/bits/functexcept.h: + +/usr/include/c++/4.5/exception_defines.h: + +/usr/include/c++/4.5/bits/cpp_type_traits.h: + +/usr/include/c++/4.5/ext/type_traits.h: + +/usr/include/c++/4.5/ext/numeric_traits.h: + +/usr/include/c++/4.5/bits/stl_pair.h: + +/usr/include/c++/4.5/bits/move.h: + +/usr/include/c++/4.5/bits/concept_check.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_types.h: + +/usr/include/c++/4.5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/4.5/bits/stl_iterator.h: + +/usr/include/c++/4.5/debug/debug.h: + +/usr/include/c++/4.5/bits/allocator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++allocator.h: + +/usr/include/c++/4.5/ext/new_allocator.h: + +/usr/include/c++/4.5/new: + +/usr/include/c++/4.5/exception: + +/usr/include/c++/4.5/bits/stl_construct.h: + +/usr/include/c++/4.5/bits/stl_uninitialized.h: + +/usr/include/c++/4.5/bits/stl_vector.h: + +/usr/include/c++/4.5/initializer_list: + +/usr/include/c++/4.5/bits/stl_bvector.h: + +/usr/include/c++/4.5/bits/vector.tcc: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/Singleton_tmpl.cpp: + +../boundary_mesh/../generic/Singleton.hpp: + +../boundary_mesh/../generic/TypeList.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/../generic/BaseTypes.hpp: + +../boundary_mesh/exception/DispatchIdNotSet.hpp: + +/usr/include/c++/4.5/stdexcept: + +/usr/include/c++/4.5/string: + +/usr/include/c++/4.5/bits/stringfwd.h: + +/usr/include/c++/4.5/bits/char_traits.h: + +/usr/include/c++/4.5/bits/postypes.h: + +/usr/include/c++/4.5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdarg.h: + +/usr/include/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/bits/wchar2.h: + +/usr/include/c++/4.5/bits/localefwd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++locale.h: + +/usr/include/c++/4.5/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/c++/4.5/iosfwd: + +/usr/include/c++/4.5/cctype: + +/usr/include/ctype.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/c++/4.5/bits/ostream_insert.h: + +/usr/include/c++/4.5/cxxabi-forced.h: + +/usr/include/c++/4.5/bits/stl_function.h: + +/usr/include/c++/4.5/backward/binders.h: + +/usr/include/c++/4.5/bits/basic_string.h: + +/usr/include/c++/4.5/ext/atomicity.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/setjmp.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/atomic_word.h: + +/usr/include/c++/4.5/bits/basic_string.tcc: + +../boundary_mesh/FaceDispatch_tmpl.cpp: + +../boundary_mesh/exception/CouldNotDispatchCall.hpp: + +/usr/include/c++/4.5/cassert: + +/usr/include/assert.h: + +../boundary_mesh/Face.hpp: + +/usr/include/c++/4.5/iterator: + +/usr/include/c++/4.5/ostream: + +/usr/include/c++/4.5/ios: + +/usr/include/c++/4.5/bits/ios_base.h: + +/usr/include/c++/4.5/bits/locale_classes.h: + +/usr/include/c++/4.5/bits/locale_classes.tcc: + +/usr/include/c++/4.5/streambuf: + +/usr/include/c++/4.5/bits/streambuf.tcc: + +/usr/include/c++/4.5/bits/basic_ios.h: + +/usr/include/c++/4.5/bits/locale_facets.h: + +/usr/include/c++/4.5/cwctype: + +/usr/include/wctype.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_base.h: + +/usr/include/c++/4.5/bits/streambuf_iterator.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/ctype_inline.h: + +/usr/include/c++/4.5/bits/locale_facets.tcc: + +/usr/include/c++/4.5/bits/basic_ios.tcc: + +/usr/include/c++/4.5/bits/ostream.tcc: + +/usr/include/c++/4.5/istream: + +/usr/include/c++/4.5/bits/istream.tcc: + +/usr/include/c++/4.5/bits/stream_iterator.h: + +../boundary_mesh/types.hpp: + +/usr/include/c++/4.5/limits: + +../boundary_mesh/exception.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/Face_tmpl.cpp: + +/usr/include/c++/4.5/sstream: + +/usr/include/c++/4.5/bits/sstream.tcc: + +../boundary_mesh/HalfEdge.hpp: + +../boundary_mesh/HalfEdge_tmpl.cpp: + +../boundary_mesh/Vertex.hpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/../generic/GenericVector_tmpl.cpp: + +../boundary_mesh/../generic/GenericVector.hpp: + +../boundary_mesh/Vertex_tmpl.cpp: + +../boundary_mesh/Mesh.hpp: + +../boundary_mesh/MeshBuilder.hpp: + +../boundary_mesh/MeshBuilder_tmpl.cpp: + +/usr/include/boost/type_traits/is_pointer.hpp: + +/usr/include/boost/type_traits/is_member_pointer.hpp: + +/usr/include/boost/type_traits/config.hpp: + +/usr/include/boost/config.hpp: + +/usr/include/boost/config/user.hpp: + +/usr/include/boost/config/select_compiler_config.hpp: + +/usr/include/boost/config/compiler/gcc.hpp: + +/usr/include/boost/config/select_stdlib_config.hpp: + +/usr/include/boost/config/no_tr1/utility.hpp: + +/usr/include/c++/4.5/utility: + +/usr/include/c++/4.5/bits/stl_relops.h: + +/usr/include/boost/config/stdlib/libstdcpp3.hpp: + +/usr/include/boost/config/select_platform_config.hpp: + +/usr/include/boost/config/platform/linux.hpp: + +/usr/include/c++/4.5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/boost/config/posix_features.hpp: + +/usr/include/boost/config/suffix.hpp: + +/usr/include/boost/detail/workaround.hpp: + +/usr/include/boost/type_traits/is_member_function_pointer.hpp: + +/usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp: + +/usr/include/boost/type_traits/remove_cv.hpp: + +/usr/include/boost/type_traits/broken_compiler_spec.hpp: + +/usr/include/boost/mpl/aux_/lambda_support.hpp: + +/usr/include/boost/mpl/aux_/config/lambda.hpp: + +/usr/include/boost/mpl/aux_/config/ttp.hpp: + +/usr/include/boost/mpl/aux_/config/msvc.hpp: + +/usr/include/boost/mpl/aux_/config/gcc.hpp: + +/usr/include/boost/mpl/aux_/config/workaround.hpp: + +/usr/include/boost/mpl/aux_/config/ctps.hpp: + +/usr/include/boost/type_traits/detail/cv_traits_impl.hpp: + +/usr/include/boost/type_traits/detail/type_trait_def.hpp: + +/usr/include/boost/type_traits/detail/template_arity_spec.hpp: + +/usr/include/boost/mpl/int.hpp: + +/usr/include/boost/mpl/int_fwd.hpp: + +/usr/include/boost/mpl/aux_/adl_barrier.hpp: + +/usr/include/boost/mpl/aux_/config/adl.hpp: + +/usr/include/boost/mpl/aux_/config/intel.hpp: + +/usr/include/boost/mpl/aux_/nttp_decl.hpp: + +/usr/include/boost/mpl/aux_/config/nttp.hpp: + +/usr/include/boost/mpl/aux_/integral_wrapper.hpp: + +/usr/include/boost/mpl/integral_c_tag.hpp: + +/usr/include/boost/mpl/aux_/config/static_constant.hpp: + +/usr/include/boost/mpl/aux_/static_cast.hpp: + +/usr/include/boost/preprocessor/cat.hpp: + +/usr/include/boost/preprocessor/config/config.hpp: + +/usr/include/boost/mpl/aux_/template_arity_fwd.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/params.hpp: + +/usr/include/boost/mpl/aux_/config/preprocessor.hpp: + +/usr/include/boost/preprocessor/comma_if.hpp: + +/usr/include/boost/preprocessor/punctuation/comma_if.hpp: + +/usr/include/boost/preprocessor/control/if.hpp: + +/usr/include/boost/preprocessor/control/iif.hpp: + +/usr/include/boost/preprocessor/logical/bool.hpp: + +/usr/include/boost/preprocessor/facilities/empty.hpp: + +/usr/include/boost/preprocessor/punctuation/comma.hpp: + +/usr/include/boost/preprocessor/repeat.hpp: + +/usr/include/boost/preprocessor/repetition/repeat.hpp: + +/usr/include/boost/preprocessor/debug/error.hpp: + +/usr/include/boost/preprocessor/detail/auto_rec.hpp: + +/usr/include/boost/preprocessor/tuple/eat.hpp: + +/usr/include/boost/preprocessor/inc.hpp: + +/usr/include/boost/preprocessor/arithmetic/inc.hpp: + +/usr/include/boost/mpl/aux_/config/overload_resolution.hpp: + +/usr/include/boost/type_traits/detail/type_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_def.hpp: + +/usr/include/boost/type_traits/integral_constant.hpp: + +/usr/include/boost/mpl/bool.hpp: + +/usr/include/boost/mpl/bool_fwd.hpp: + +/usr/include/boost/mpl/integral_c.hpp: + +/usr/include/boost/mpl/integral_c_fwd.hpp: + +/usr/include/boost/type_traits/detail/bool_trait_undef.hpp: + +/usr/include/boost/type_traits/detail/ice_and.hpp: + +/usr/include/boost/type_traits/detail/ice_not.hpp: + +/usr/include/boost/utility/enable_if.hpp: + +../boundary_mesh/Mesh.cpp: + +/usr/include/c++/4.5/iostream: + +/usr/include/c++/4.5/set: + +/usr/include/c++/4.5/bits/stl_tree.h: + +/usr/include/c++/4.5/bits/stl_set.h: + +/usr/include/c++/4.5/bits/stl_multiset.h: + +/usr/include/c++/4.5/list: + +/usr/include/c++/4.5/bits/stl_list.h: + +/usr/include/c++/4.5/bits/list.tcc: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.hpp: + +../boundary_mesh/exception/NoMatchingFaceType.hpp: + +../boundary_mesh/exception/NoMatchingFaceType_tmpl.cpp: + +/usr/include/c++/4.5/cstring: + +/usr/include/string.h: + +/usr/include/bits/string3.h: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/Triangle.hpp: + +../boundary_mesh/face/../../generic/BaseTypes.hpp: + +../boundary_mesh/face/Triangle_tmpl.cpp: + +../boundary_mesh/face/Triangle_tmpl.hpp: + +../boundary_mesh/face/../Face.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/face/Parallelogram.hpp: + +../boundary_mesh/face/ConvexQuadrilateral.hpp: + +../boundary_mesh/face/Quadrilateral.hpp: + +../boundary_mesh/face/../types.hpp: + +../boundary_mesh/face/Parallelogram_tmpl.cpp: + +/usr/include/c++/4.5/cmath: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/huge_valf.h: + +/usr/include/bits/huge_vall.h: + +/usr/include/bits/inf.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/c++/4.5/bits/cmath.tcc: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.hpp: + +../boundary_mesh/face/ConvexQuadrilateral_tmpl.cpp: + +../boundary_mesh/face/Quadrilateral_tmpl.hpp: + +../boundary_mesh/face/Quadrilateral_tmpl.cpp: + +../boundary_mesh/face/Parallelogram_tmpl.hpp: + +../boundary_mesh/algorithm/HandleObj.hpp: + +../boundary_mesh/algorithm/HandleObj_tmpl.cpp: + +/usr/include/c++/4.5/fstream: + +/usr/include/c++/4.5/bits/codecvt.h: + +/usr/include/c++/4.5/cstdio: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/basic_file.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/c++io.h: + +/usr/include/c++/4.5/bits/fstream.tcc: + +/usr/include/boost/regex.hpp: + +/usr/include/boost/regex/config.hpp: + +/usr/include/boost/regex/user.hpp: + +/usr/include/boost/regex/config/cwchar.hpp: + +/usr/include/boost/config/auto_link.hpp: + +/usr/include/boost/regex/v4/regex.hpp: + +/usr/include/boost/regex/v4/regex_workaround.hpp: + +/usr/include/c++/4.5/climits: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/limits.h: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/c++/4.5/algorithm: + +/usr/include/c++/4.5/bits/stl_algo.h: + +/usr/include/c++/4.5/bits/algorithmfwd.h: + +/usr/include/c++/4.5/bits/stl_heap.h: + +/usr/include/c++/4.5/bits/stl_tempbuf.h: + +/usr/include/c++/4.5/map: + +/usr/include/c++/4.5/bits/stl_map.h: + +/usr/include/c++/4.5/bits/stl_multimap.h: + +/usr/include/boost/limits.hpp: + +/usr/include/boost/assert.hpp: + +/usr/include/boost/cstdint.hpp: + +/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/boost/throw_exception.hpp: + +/usr/include/boost/exception/detail/attribute_noreturn.hpp: + +/usr/include/boost/exception/exception.hpp: + +/usr/include/boost/current_function.hpp: + +/usr/include/boost/scoped_ptr.hpp: + +/usr/include/boost/smart_ptr/scoped_ptr.hpp: + +/usr/include/boost/checked_delete.hpp: + +/usr/include/c++/4.5/memory: + +/usr/include/c++/4.5/bits/stl_raw_storage_iter.h: + +/usr/include/c++/4.5/backward/auto_ptr.h: + +/usr/include/boost/smart_ptr/detail/operator_bool.hpp: + +/usr/include/boost/scoped_array.hpp: + +/usr/include/boost/smart_ptr/scoped_array.hpp: + +/usr/include/boost/shared_ptr.hpp: + +/usr/include/boost/smart_ptr/shared_ptr.hpp: + +/usr/include/boost/config/no_tr1/memory.hpp: + +/usr/include/boost/smart_ptr/detail/shared_count.hpp: + +/usr/include/boost/smart_ptr/bad_weak_ptr.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base.hpp: + +/usr/include/boost/smart_ptr/detail/sp_has_sync.hpp: + +/usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp: + +/usr/include/boost/detail/sp_typeinfo.hpp: + +/usr/include/c++/4.5/typeinfo: + +/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp: + +/usr/include/c++/4.5/functional: + +/usr/include/boost/smart_ptr/detail/sp_convertible.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock.hpp: + +/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: + +/usr/include/boost/smart_ptr/detail/yield_k.hpp: + +/usr/include/boost/memory_order.hpp: + +/usr/include/c++/4.5/locale: + +/usr/include/c++/4.5/bits/locale_facets_nonio.h: + +/usr/include/c++/4.5/ctime: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/time_members.h: + +/usr/include/c++/4.5/x86_64-linux-gnu/bits/messages_members.h: + +/usr/include/libintl.h: + +/usr/include/c++/4.5/bits/locale_facets_nonio.tcc: + +/usr/include/boost/regex_fwd.hpp: + +/usr/include/boost/regex/v4/regex_fwd.hpp: + +/usr/include/boost/regex/regex_traits.hpp: + +/usr/include/boost/regex/v4/regex_traits.hpp: + +/usr/include/boost/regex/v4/syntax_type.hpp: + +/usr/include/boost/regex/v4/error_type.hpp: + +/usr/include/boost/regex/v4/regex_traits_defaults.hpp: + +/usr/include/boost/regex/v4/cpp_regex_traits.hpp: + +/usr/include/boost/regex/pattern_except.hpp: + +/usr/include/boost/regex/pending/static_mutex.hpp: + +/usr/include/boost/regex/v4/primary_transform.hpp: + +/usr/include/boost/regex/pending/object_cache.hpp: + +/usr/include/boost/regex/v4/c_regex_traits.hpp: + +/usr/include/boost/mpl/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/type_wrapper.hpp: + +/usr/include/boost/mpl/aux_/yes_no.hpp: + +/usr/include/boost/mpl/aux_/config/arrays.hpp: + +/usr/include/boost/mpl/aux_/config/has_xxx.hpp: + +/usr/include/boost/mpl/aux_/config/msvc_typename.hpp: + +/usr/include/boost/static_assert.hpp: + +/usr/include/boost/regex/v4/match_flags.hpp: + +/usr/include/boost/regex/v4/regex_raw_buffer.hpp: + +/usr/include/boost/regex/v4/char_regex_traits.hpp: + +/usr/include/boost/regex/v4/states.hpp: + +/usr/include/boost/regex/v4/regbase.hpp: + +/usr/include/boost/regex/v4/iterator_traits.hpp: + +/usr/include/boost/regex/v4/basic_regex.hpp: + +/usr/include/boost/type_traits/is_same.hpp: + +/usr/include/boost/functional/hash.hpp: + +/usr/include/boost/functional/hash/hash.hpp: + +/usr/include/boost/functional/hash/hash_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float.hpp: + +/usr/include/boost/functional/hash/detail/float_functions.hpp: + +/usr/include/boost/config/no_tr1/cmath.hpp: + +/usr/include/boost/functional/hash/detail/limits.hpp: + +/usr/include/boost/integer/static_log2.hpp: + +/usr/include/boost/integer_fwd.hpp: + +/usr/include/boost/functional/hash/detail/hash_float_generic.hpp: + +/usr/include/boost/functional/hash/extensions.hpp: + +/usr/include/boost/detail/container_fwd.hpp: + +/usr/include/boost/regex/v4/basic_regex_creator.hpp: + +/usr/include/boost/regex/v4/basic_regex_parser.hpp: + +/usr/include/boost/regex/v4/sub_match.hpp: + +/usr/include/boost/regex/v4/regex_format.hpp: + +/usr/include/boost/type_traits/is_function.hpp: + +/usr/include/boost/type_traits/is_reference.hpp: + +/usr/include/boost/type_traits/detail/false_result.hpp: + +/usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp: + +/usr/include/boost/type_traits/is_class.hpp: + +/usr/include/boost/type_traits/intrinsics.hpp: + +/usr/include/boost/type_traits/is_volatile.hpp: + +/usr/include/boost/type_traits/is_convertible.hpp: + +/usr/include/boost/type_traits/detail/yes_no_type.hpp: + +/usr/include/boost/type_traits/is_array.hpp: + +/usr/include/boost/type_traits/add_reference.hpp: + +/usr/include/boost/type_traits/ice.hpp: + +/usr/include/boost/type_traits/detail/ice_or.hpp: + +/usr/include/boost/type_traits/detail/ice_eq.hpp: + +/usr/include/boost/type_traits/is_arithmetic.hpp: + +/usr/include/boost/type_traits/is_integral.hpp: + +/usr/include/boost/type_traits/is_float.hpp: + +/usr/include/boost/type_traits/is_void.hpp: + +/usr/include/boost/type_traits/is_abstract.hpp: + +/usr/include/boost/type_traits/remove_pointer.hpp: + +/usr/include/boost/mpl/if.hpp: + +/usr/include/boost/mpl/aux_/value_wknd.hpp: + +/usr/include/boost/mpl/aux_/config/integral.hpp: + +/usr/include/boost/mpl/aux_/config/eti.hpp: + +/usr/include/boost/mpl/aux_/na_spec.hpp: + +/usr/include/boost/mpl/lambda_fwd.hpp: + +/usr/include/boost/mpl/void_fwd.hpp: + +/usr/include/boost/mpl/aux_/na.hpp: + +/usr/include/boost/mpl/aux_/na_fwd.hpp: + +/usr/include/boost/mpl/aux_/lambda_arity_param.hpp: + +/usr/include/boost/mpl/aux_/arity.hpp: + +/usr/include/boost/mpl/aux_/config/dtp.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/enum.hpp: + +/usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp: + +/usr/include/boost/mpl/limits/arity.hpp: + +/usr/include/boost/preprocessor/logical/and.hpp: + +/usr/include/boost/preprocessor/logical/bitand.hpp: + +/usr/include/boost/preprocessor/identity.hpp: + +/usr/include/boost/preprocessor/facilities/identity.hpp: + +/usr/include/boost/preprocessor/empty.hpp: + +/usr/include/boost/preprocessor/arithmetic/add.hpp: + +/usr/include/boost/preprocessor/arithmetic/dec.hpp: + +/usr/include/boost/preprocessor/control/while.hpp: + +/usr/include/boost/preprocessor/list/fold_left.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_left.hpp: + +/usr/include/boost/preprocessor/control/expr_iif.hpp: + +/usr/include/boost/preprocessor/list/adt.hpp: + +/usr/include/boost/preprocessor/detail/is_binary.hpp: + +/usr/include/boost/preprocessor/detail/check.hpp: + +/usr/include/boost/preprocessor/logical/compl.hpp: + +/usr/include/boost/preprocessor/list/fold_right.hpp: + +/usr/include/boost/preprocessor/list/detail/fold_right.hpp: + +/usr/include/boost/preprocessor/list/reverse.hpp: + +/usr/include/boost/preprocessor/control/detail/while.hpp: + +/usr/include/boost/preprocessor/tuple/elem.hpp: + +/usr/include/boost/preprocessor/arithmetic/sub.hpp: + +/usr/include/boost/mpl/and.hpp: + +/usr/include/boost/mpl/aux_/config/use_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/nested_type_wknd.hpp: + +/usr/include/boost/mpl/aux_/include_preprocessed.hpp: + +/usr/include/boost/mpl/aux_/config/compiler.hpp: + +/usr/include/boost/preprocessor/stringize.hpp: + +/usr/include/boost/mpl/aux_/preprocessed/gcc/and.hpp: + +/usr/include/boost/mpl/not.hpp: + +/usr/include/boost/regex/v4/match_results.hpp: + +/usr/include/boost/regex/v4/protected_call.hpp: + +/usr/include/boost/regex/v4/perl_matcher.hpp: + +/usr/include/boost/regex/v4/iterator_category.hpp: + +/usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: + +/usr/include/boost/regex/v4/perl_matcher_common.hpp: + +/usr/include/boost/regex/v4/instances.hpp: + +/usr/include/boost/regex/v4/regex_match.hpp: + +/usr/include/boost/regex/v4/regex_search.hpp: + +/usr/include/boost/regex/v4/regex_iterator.hpp: + +/usr/include/boost/regex/v4/regex_token_iterator.hpp: + +/usr/include/boost/regex/v4/regex_grep.hpp: + +/usr/include/boost/regex/v4/regex_replace.hpp: + +/usr/include/boost/regex/v4/regex_merge.hpp: + +/usr/include/boost/regex/v4/regex_split.hpp: + +../boundary_mesh/algorithm/../MeshBuilder.hpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/algorithm/../types.hpp: + +../boundary_mesh/algorithm/../FaceDispatch.hpp: + +../boundary_mesh/algorithm/RefineUniformly_tmpl.cpp: + +../boundary_mesh/algorithm/RefineUniformly.hpp: + +../boundary_mesh/FlexibleMesh_tmpl.cpp: + +../boundary_mesh/FlexibleMesh.hpp: + +../spaces/P0Space.hpp: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/basic.h: + +../../src/config.h: + +/usr/local/include/HLib/supermatrix.h: + +/usr/local/include/HLib/fullmatrix.h: + +/usr/local/include/HLib/lapack.h: + +/usr/local/include/HLib/blockcluster.h: + +/usr/local/include/HLib/cluster.h: + +/usr/local/include/HLib/clusterbasis.h: + +/usr/local/include/HLib/h2conversion.h: + +/usr/local/include/HLib/rkmatrix.h: + +/usr/local/include/HLib/sparsematrix.h: + +/usr/local/include/HLib/uniformmatrix.h: diff --git a/src/bem3d/src/spaces/HLibSpace.hpp b/src/bem3d/src/spaces/HLibSpace.hpp new file mode 100644 index 0000000..f9ba5fe --- /dev/null +++ b/src/bem3d/src/spaces/HLibSpace.hpp @@ -0,0 +1,16 @@ +#ifndef HILBERT3D_FE_SPACE_HLIBSPACE_HPP_GUARD_ +#define HILBERT3D_FE_SPACE_HLIBSPACE_HPP_GUARD_ + +#include "HLib/sparsematrix.h" + +namespace fe_space +{ + class HLibSpace + { + public: + virtual clusterfactory* createClusterFactory() const =0; + }; +} + +#endif + diff --git a/src/bem3d/src/spaces/Makefile b/src/bem3d/src/spaces/Makefile new file mode 100644 index 0000000..f8423e6 --- /dev/null +++ b/src/bem3d/src/spaces/Makefile @@ -0,0 +1,665 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# src/spaces/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + + +pkgdatadir = $(datadir)/hilbert3d +pkgincludedir = $(includedir)/hilbert3d +pkglibdir = $(libdir)/hilbert3d +pkglibexecdir = $(libexecdir)/hilbert3d +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = testP0Space$(EXEEXT) +subdir = src/spaces +DIST_COMMON = $(libhilbert_spaces_a_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(testP0Space_HEADERS) +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_blas.m4 \ + $(top_srcdir)/m4/ax_boost_base.m4 \ + $(top_srcdir)/m4/ax_boost_regex.m4 $(top_srcdir)/m4/ax_hlib.m4 \ + $(top_srcdir)/m4/ax_lapack.m4 \ + $(top_srcdir)/m4/ax_prog_doxygen.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(libhilbert_spaces_adir)" \ + "$(DESTDIR)$(testP0Spacedir)" +LIBRARIES = $(lib_LIBRARIES) +AR = ar +ARFLAGS = cru +libhilbert_spaces_a_AR = $(AR) $(ARFLAGS) +libhilbert_spaces_a_LIBADD = +am_libhilbert_spaces_a_OBJECTS = \ + libhilbert_spaces_a-P0Space.$(OBJEXT) +libhilbert_spaces_a_OBJECTS = $(am_libhilbert_spaces_a_OBJECTS) +PROGRAMS = $(bin_PROGRAMS) +am_testP0Space_OBJECTS = testP0Space-t.$(OBJEXT) +testP0Space_OBJECTS = $(am_testP0Space_OBJECTS) +am__DEPENDENCIES_1 = +testP0Space_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + ../boundary_mesh/libhilbert-mesh.a libhilbert-spaces.a \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +DEFAULT_INCLUDES = -I. -I$(top_builddir)/src +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ +SOURCES = $(libhilbert_spaces_a_SOURCES) $(testP0Space_SOURCES) +DIST_SOURCES = $(libhilbert_spaces_a_SOURCES) $(testP0Space_SOURCES) +HEADERS = $(libhilbert_spaces_a_HEADERS) $(testP0Space_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run aclocal-1.11 +AMTAR = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run tar +AUTOCONF = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoconf +AUTOHEADER = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run autoheader +AUTOMAKE = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run automake-1.11 +AWK = mawk +BLAS_LIBS = -lblas +BOOST_CPPFLAGS = -I/usr/include +BOOST_LDFLAGS = -L/usr/lib +BOOST_REGEX_LIB = -lboost_regex-mt +BOOST_ROOT_PATH = /usr +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN_PAPER_SIZE = +DX_CONFIG = Doxyfile +DX_DOCDIR = docs/doxygen +DX_DOT = +DX_DOXYGEN = +DX_DVIPS = +DX_EGREP = +DX_ENV = SRCDIR='.' PROJECT='Hilbert 3D' DOCDIR='docs/doxygen' VERSION='0.1.0' HAVE_DOT='NO' GENERATE_MAN='NO' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='NO' GENERATE_LATEX='NO' +DX_FLAG_chi = 0 +DX_FLAG_chm = 0 +DX_FLAG_doc = 0 +DX_FLAG_dot = 0 +DX_FLAG_html = 0 +DX_FLAG_man = 0 +DX_FLAG_pdf = 0 +DX_FLAG_ps = 0 +DX_FLAG_rtf = 0 +DX_FLAG_xml = 0 +DX_HHC = +DX_LATEX = +DX_MAKEINDEX = +DX_PDFLATEX = +DX_PERL = /usr/bin/perl +DX_PROJECT = Hilbert 3D +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FLIBS = -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2 -L/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../.. -L/usr/lib/x86_64-linux-gnu -lgfortran -lm +GREP = /bin/grep +HLIB_CPPFLAGS = -I/usr/local/include +HLIB_LDFLAGS = -L/usr/local/lib +HLIB_LIB = -lhmatrix +HLIB_ROOT_PATH = /usr/local +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LAPACK_LIBS = -llapack +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +OBJEXT = o +PACKAGE = hilbert3d +PACKAGE_BUGREPORT = markus.mayr@tuwien.ac.at +PACKAGE_NAME = Hilbert 3D +PACKAGE_STRING = Hilbert 3D 0.1.0 +PACKAGE_TARNAME = hilbert3d +PACKAGE_URL = http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git +PACKAGE_VERSION = 0.1.0 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/bash +STRIP = +VERSION = 0.1.0 +abs_builddir = /home/treecity/workspace/bacc/src/bem3d/src/spaces +abs_srcdir = /home/treecity/workspace/bacc/src/bem3d/src/spaces +abs_top_builddir = /home/treecity/workspace/bacc/src/bem3d +abs_top_srcdir = /home/treecity/workspace/bacc/src/bem3d +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host_alias = +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/treecity/workspace/bacc/src/bem3d/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +lib_LIBRARIES = libhilbert-spaces.a +libhilbert_spaces_adir = . +libhilbert_spaces_a_HEADERS = \ + P0Space.hpp + +libhilbert_spaces_a_SOURCES = \ + P0Space.cpp + +libhilbert_spaces_a_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) +testP0Spacedir = . +testP0Space_HEADERS = \ + P0Space.hpp + +testP0Space_SOURCES = t.cpp +testP0Space_LDADD = $(BOOST_REGEX_LIB) ../boundary_mesh/libhilbert-mesh.a libhilbert-spaces.a $(HLIB_LDFLAGS) $(HLIB_LIB) $(BLAS_LIBS) $(LAPACK_LIBS) $(LIBS) $(FLIBS) +testP0Space_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/spaces/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/spaces/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-libLIBRARIES: $(lib_LIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } + @$(POST_INSTALL) + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + if test -f $$p; then \ + $(am__strip_dir) \ + echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ + ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ + else :; fi; \ + done + +uninstall-libLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ + cd "$(DESTDIR)$(libdir)" && rm -f $$files + +clean-libLIBRARIES: + -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) +libhilbert-spaces.a: $(libhilbert_spaces_a_OBJECTS) $(libhilbert_spaces_a_DEPENDENCIES) + -rm -f libhilbert-spaces.a + $(libhilbert_spaces_a_AR) libhilbert-spaces.a $(libhilbert_spaces_a_OBJECTS) $(libhilbert_spaces_a_LIBADD) + $(RANLIB) libhilbert-spaces.a +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +testP0Space$(EXEEXT): $(testP0Space_OBJECTS) $(testP0Space_DEPENDENCIES) + @rm -f testP0Space$(EXEEXT) + $(CXXLINK) $(testP0Space_OBJECTS) $(testP0Space_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/libhilbert_spaces_a-P0Space.Po +include ./$(DEPDIR)/testP0Space-t.Po + +.cpp.o: + $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +libhilbert_spaces_a-P0Space.o: P0Space.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_spaces_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_spaces_a-P0Space.o -MD -MP -MF $(DEPDIR)/libhilbert_spaces_a-P0Space.Tpo -c -o libhilbert_spaces_a-P0Space.o `test -f 'P0Space.cpp' || echo '$(srcdir)/'`P0Space.cpp + $(am__mv) $(DEPDIR)/libhilbert_spaces_a-P0Space.Tpo $(DEPDIR)/libhilbert_spaces_a-P0Space.Po +# source='P0Space.cpp' object='libhilbert_spaces_a-P0Space.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_spaces_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_spaces_a-P0Space.o `test -f 'P0Space.cpp' || echo '$(srcdir)/'`P0Space.cpp + +libhilbert_spaces_a-P0Space.obj: P0Space.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_spaces_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libhilbert_spaces_a-P0Space.obj -MD -MP -MF $(DEPDIR)/libhilbert_spaces_a-P0Space.Tpo -c -o libhilbert_spaces_a-P0Space.obj `if test -f 'P0Space.cpp'; then $(CYGPATH_W) 'P0Space.cpp'; else $(CYGPATH_W) '$(srcdir)/P0Space.cpp'; fi` + $(am__mv) $(DEPDIR)/libhilbert_spaces_a-P0Space.Tpo $(DEPDIR)/libhilbert_spaces_a-P0Space.Po +# source='P0Space.cpp' object='libhilbert_spaces_a-P0Space.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhilbert_spaces_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libhilbert_spaces_a-P0Space.obj `if test -f 'P0Space.cpp'; then $(CYGPATH_W) 'P0Space.cpp'; else $(CYGPATH_W) '$(srcdir)/P0Space.cpp'; fi` + +testP0Space-t.o: t.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testP0Space_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testP0Space-t.o -MD -MP -MF $(DEPDIR)/testP0Space-t.Tpo -c -o testP0Space-t.o `test -f 't.cpp' || echo '$(srcdir)/'`t.cpp + $(am__mv) $(DEPDIR)/testP0Space-t.Tpo $(DEPDIR)/testP0Space-t.Po +# source='t.cpp' object='testP0Space-t.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testP0Space_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testP0Space-t.o `test -f 't.cpp' || echo '$(srcdir)/'`t.cpp + +testP0Space-t.obj: t.cpp + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testP0Space_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT testP0Space-t.obj -MD -MP -MF $(DEPDIR)/testP0Space-t.Tpo -c -o testP0Space-t.obj `if test -f 't.cpp'; then $(CYGPATH_W) 't.cpp'; else $(CYGPATH_W) '$(srcdir)/t.cpp'; fi` + $(am__mv) $(DEPDIR)/testP0Space-t.Tpo $(DEPDIR)/testP0Space-t.Po +# source='t.cpp' object='testP0Space-t.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testP0Space_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o testP0Space-t.obj `if test -f 't.cpp'; then $(CYGPATH_W) 't.cpp'; else $(CYGPATH_W) '$(srcdir)/t.cpp'; fi` +install-libhilbert_spaces_aHEADERS: $(libhilbert_spaces_a_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(libhilbert_spaces_adir)" || $(MKDIR_P) "$(DESTDIR)$(libhilbert_spaces_adir)" + @list='$(libhilbert_spaces_a_HEADERS)'; test -n "$(libhilbert_spaces_adir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libhilbert_spaces_adir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(libhilbert_spaces_adir)" || exit $$?; \ + done + +uninstall-libhilbert_spaces_aHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(libhilbert_spaces_a_HEADERS)'; test -n "$(libhilbert_spaces_adir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(libhilbert_spaces_adir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(libhilbert_spaces_adir)" && rm -f $$files +install-testP0SpaceHEADERS: $(testP0Space_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(testP0Spacedir)" || $(MKDIR_P) "$(DESTDIR)$(testP0Spacedir)" + @list='$(testP0Space_HEADERS)'; test -n "$(testP0Spacedir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(testP0Spacedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(testP0Spacedir)" || exit $$?; \ + done + +uninstall-testP0SpaceHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(testP0Space_HEADERS)'; test -n "$(testP0Spacedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(testP0Spacedir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(testP0Spacedir)" && rm -f $$files + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libhilbert_spaces_adir)" "$(DESTDIR)$(testP0Spacedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-libhilbert_spaces_aHEADERS \ + install-testP0SpaceHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS install-libLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-libLIBRARIES \ + uninstall-libhilbert_spaces_aHEADERS \ + uninstall-testP0SpaceHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLIBRARIES install-libhilbert_spaces_aHEADERS \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip install-testP0SpaceHEADERS \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-libLIBRARIES \ + uninstall-libhilbert_spaces_aHEADERS \ + uninstall-testP0SpaceHEADERS + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bem3d/src/spaces/Makefile.am b/src/bem3d/src/spaces/Makefile.am index ae6eb45..2750889 100644 --- a/src/bem3d/src/spaces/Makefile.am +++ b/src/bem3d/src/spaces/Makefile.am @@ -1,5 +1,5 @@ -bin_PROGRAMS = testP0Space lib_LIBRARIES = libhilbert-spaces.a +bin_PROGRAMS = testP0Space libhilbert_spaces_adir = . libhilbert_spaces_a_HEADERS = \ @@ -9,16 +9,9 @@ libhilbert_spaces_a_SOURCES = \ libhilbert_spaces_a_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) testP0Spacedir = . -testP0Space_SOURCES = t.cpp testP0Space_HEADERS = \ - ../boundary_mesh/Face.hpp ../boundary_mesh/HalfEdge.hpp ../boundary_mesh/Mesh.hpp ../boundary_mesh/Mesh.cpp ../boundary_mesh/Vertex.hpp \ - ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ - ../boundary_mesh/mixin/ExportingObj.hpp ../boundary_mesh/mixin/ExportingObj.cpp \ - ../boundary_mesh/mixin/LoadingObj.hpp ../boundary_mesh/mixin/LoadingObj.cpp \ - ../boundary_mesh/layer/Marker.hpp ../boundary_mesh/layer/Marker.cpp ../boundary_mesh/mixin/MeshMixin.hpp \ - ../boundary_mesh/mixin/RefiningAdaptivly.hpp ../boundary_mesh/mixin/RefiningAdaptivly.cpp \ - ../boundary_mesh/mixin/RefiningUniformly.hpp ../boundary_mesh/mixin/RefiningUniformly.cpp \ - P0Space.hpp P0Space.cpp + P0Space.hpp +testP0Space_SOURCES = t.cpp testP0Space_LDADD = $(BOOST_REGEX_LIB) ../boundary_mesh/libhilbert-mesh.a libhilbert-spaces.a $(HLIB_LDFLAGS) $(HLIB_LIB) $(BLAS_LIBS) $(LAPACK_LIBS) $(LIBS) $(FLIBS) testP0Space_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) diff --git a/src/bem3d/src/spaces/Makefile.in b/src/bem3d/src/spaces/Makefile.in index a8e4429..8def7f2 100644 --- a/src/bem3d/src/spaces/Makefile.in +++ b/src/bem3d/src/spaces/Makefile.in @@ -245,17 +245,10 @@ libhilbert_spaces_a_SOURCES = \ libhilbert_spaces_a_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) testP0Spacedir = . -testP0Space_SOURCES = t.cpp testP0Space_HEADERS = \ - ../boundary_mesh/Face.hpp ../boundary_mesh/HalfEdge.hpp ../boundary_mesh/Mesh.hpp ../boundary_mesh/Mesh.cpp ../boundary_mesh/Vertex.hpp \ - ../generic/GenericVector.hpp ../generic/GenericVector_tmpl.cpp \ - ../boundary_mesh/mixin/ExportingObj.hpp ../boundary_mesh/mixin/ExportingObj.cpp \ - ../boundary_mesh/mixin/LoadingObj.hpp ../boundary_mesh/mixin/LoadingObj.cpp \ - ../boundary_mesh/layer/Marker.hpp ../boundary_mesh/layer/Marker.cpp ../boundary_mesh/mixin/MeshMixin.hpp \ - ../boundary_mesh/mixin/RefiningAdaptivly.hpp ../boundary_mesh/mixin/RefiningAdaptivly.cpp \ - ../boundary_mesh/mixin/RefiningUniformly.hpp ../boundary_mesh/mixin/RefiningUniformly.cpp \ - P0Space.hpp P0Space.cpp + P0Space.hpp +testP0Space_SOURCES = t.cpp testP0Space_LDADD = $(BOOST_REGEX_LIB) ../boundary_mesh/libhilbert-mesh.a libhilbert-spaces.a $(HLIB_LDFLAGS) $(HLIB_LIB) $(BLAS_LIBS) $(LAPACK_LIBS) $(LIBS) $(FLIBS) testP0Space_CPPFLAGS = $(CPPFLAGS) $(HLIB_CPPFLAGS) all: all-am diff --git a/src/bem3d/src/spaces/P0Space.cpp b/src/bem3d/src/spaces/P0Space.cpp index e70eeed..0010733 100644 --- a/src/bem3d/src/spaces/P0Space.cpp +++ b/src/bem3d/src/spaces/P0Space.cpp @@ -5,58 +5,147 @@ using namespace space; -P0Element::P0Element(const BoundaryMesh::traits::Face& face) - : face_(&face) -{} -const BoundaryMesh::traits::Face& P0Element::getSupport() const +template < class TElement, + unsigned int maximumNumberOfDegreesOfFreedomPerFace, + class TMesh > // MK: TMesh = BoundaryMesh is not allowed +Space< TElement, maximumNumberOfDegreesOfFreedomPerFace, TMesh>::Space( + const TMesh& mesh, unsigned int numberOfElements) + : mesh_(mesh), elements_(std::vector< TElement >()), + face2elements_(std::vector< const TElement* >(mesh.getNumberOfFaces())) { - return *face_; + elements_.reserve( numberOfElements ); } -double P0Element::operator()( - const BoundaryMesh::traits::UnlinkedVertex& point) const +template < class TElement, + unsigned int maximumNumberOfDegreesOfFreedomPerFace, + class TMesh > // MK: TMesh = BoundaryMesh is not allowed +const TElement& +Space< TElement, maximumNumberOfDegreesOfFreedomPerFace, TMesh >::operator[]( + unsigned int id) const { - assert(0); + return getElement(id); } -P0Space::P0Space(const BoundaryMesh& mesh) - : mesh_(mesh), elements_(std::vector< P0Element >()) +template < class TElement, + unsigned int maximumNumberOfDegreesOfFreedomPerFace, + class TMesh > // s.o. +const TElement& +Space< TElement, maximumNumberOfDegreesOfFreedomPerFace, TMesh >::getElement( + unsigned int id) const { - elements_.reserve( mesh.getNumberOfFaces() ); - for (BoundaryMesh::ConstFaceIterator faceIt = mesh.begin_f(); - faceIt != mesh.end_f(); ++faceIt) + return elements_.at(id); +} + +template < class TElement, + unsigned int maximumNumberOfDegreesOfFreedomPerFace, + class TMesh > // s.o. +unsigned int +Space< TElement, maximumNumberOfDegreesOfFreedomPerFace, TMesh >:: + getNumberOfElements() const +{ + return elements_.size(); +} + +template < class TElement, + unsigned int maximumNumberOfDegreesOfFreedomPerFace, + class TMesh > // s.o. +std::vector< const TElement* > +Space< TElement, maximumNumberOfDegreesOfFreedomPerFace, TMesh >:: + getDegreesOfFreedomForFace( const typename TMesh::Face& face ) const +{ + unsigned int i = 0; // MK: i has to be declared here, otherwise problems with scope + std::vector< const TElement* > degreesOfFreedom( + maximumNumberOfDegreesOfFreedomPerFace); + + unsigned int offset = mesh_.getFaceId( face ) * + maximumNumberOfDegreesOfFreedomPerFace; + + for ( i = 0; i < maximumNumberOfDegreesOfFreedomPerFace; ++i ) { - elements_.push_back( P0Element( *faceIt ) ); + if ( face2elements_[ offset + i ] == 0 ) + break; + degreesOfFreedom[ i ] = face2elements_[ offset + i ]; } -} -const P0Element& P0Space::operator[](unsigned int id) const + degreesOfFreedom.resize(i); + return degreesOfFreedom; +} +// +template < class TElement, + unsigned int maximumNumberOfDegreesOfFreedomPerFace, + class TMesh > // s.o. +void +Space< TElement, maximumNumberOfDegreesOfFreedomPerFace, TMesh >::addElement( + std::vector< const typename TMesh::Face* > faces) { - return getElement(id); + unsigned int i=0; + const TElement* front = &(elements_.front()); + elements_.push_back( TElement(faces) ); + assert( front - &(elements_.front()) == 0 ); + const TElement* element = &(elements_.back()); + + for ( typename std::vector< const typename TMesh::Face* >::const_iterator + faceIt = faces.begin(); faceIt != faces.end(); ++faceIt) + { + unsigned int offset = mesh_.getFaceId( *(*faceIt) ) // MK: here i added another * + * maximumNumberOfDegreesOfFreedomPerFace; + for ( i = 0; i < maximumNumberOfDegreesOfFreedomPerFace; ++i ) + { + if ( face2elements_[ offset + i ] == 0 ) + break; + } + assert( i < maximumNumberOfDegreesOfFreedomPerFace ); + face2elements_[ offset + i ] = element; + } } +P0Element::P0Element(const std::vector< const BoundaryMesh::Face* > faces) + : face_(faces[0]) +{} -const P0Element& P0Space::getElement(unsigned int id) const +P0Element::P0Element(const BoundaryMesh::Face& face) + : face_(&face) +{} + +const BoundaryMesh::Face& P0Element::getSupport() const { - return elements_.at(id); + return *face_; } -unsigned int P0Space::getNumberOfElements() const +//double P0Element::operator()( +// const BoundaryMesh::UVertex& point) const +//{ +// assert(0); +//} + +template class Space< P0Element, 1 >; + +P0Space::P0Space(const BoundaryMesh& mesh) + : Space< P0Element, 1 >(mesh, mesh.getNumberOfFaces()) { - return elements_.size(); + for (BoundaryMesh::ConstFaceIterator faceIt = mesh.begin_f(); + faceIt != mesh.end_f(); ++faceIt) + { + std::vector< const BoundaryMesh::Face* > support(1); + support[0] = &(*faceIt); + addElement( support ); + } } clusterfactory* P0Space::createClusterFactory() const { + + std::cerr << "Creating Cluster Factory for Ansatz-Space" << std::endl; clusterfactory* factory; unsigned int numberOfElements = mesh_.getNumberOfFaces(); factory = new_clusterfactory(numberOfElements, numberOfElements, 3); + for (unsigned int i = 0; i < numberOfElements; ++i) { - const BoundaryMesh::traits::Face& support = getElement(i).getSupport(); - bool (*comparator[3])(const BoundaryMesh::traits::UnlinkedVertex&, - const BoundaryMesh::traits::UnlinkedVertex&) = { + const BoundaryMesh::Face& support = getElement(i).getSupport(); + bool (*comparator[3])(const BoundaryMesh::UVertex&, + const BoundaryMesh::UVertex&) = { &vertexLtComparison<0>, &vertexLtComparison<1>, &vertexLtComparison<2> }; for (unsigned int j = 0; j < 3; ++j) diff --git a/src/bem3d/src/spaces/P0Space.hpp b/src/bem3d/src/spaces/P0Space.hpp index 9d07d23..f38ebc8 100644 --- a/src/bem3d/src/spaces/P0Space.hpp +++ b/src/bem3d/src/spaces/P0Space.hpp @@ -4,41 +4,71 @@ #include "../hilbert.hpp" #include extern "C" { -#include "HLib/sparsematrix.h" +#include } namespace space { + template < class TElement, + unsigned int maximumNumberOfDegreesOfFreedomPerFace = 0, + class TMesh = BoundaryMesh > + class Space + { + public: + typedef TElement Element; + + Space( const TMesh& mesh, unsigned int numberOfElements ); + const TElement& operator[](unsigned int id) const; + const TElement& getElement(unsigned int id) const; + unsigned int getNumberOfElements() const; + + std::vector< const TElement* > getDegreesOfFreedomForFace( + const typename TMesh::Face& face) const; + + protected: + void addElement( std::vector< const typename TMesh::Face* > faces ); + const TMesh& mesh_; // MK: changed from private to protected + + private: + Space(); + std::vector< TElement > elements_; + std::vector< const TElement* > face2elements_; + }; +/* + template < class TElement, class TMesh > + class Space< TElement, -1, TMesh > + { + + + }; +*/ + class P0Element { public: - P0Element(const BoundaryMesh::traits::Face& face); - const BoundaryMesh::traits::Face& getSupport() const; - double operator()( - const BoundaryMesh::traits::UnlinkedVertex& point) const; + P0Element(const std::vector< const BoundaryMesh::Face* > faces); + P0Element(const BoundaryMesh::Face& face); + const BoundaryMesh::Face& getSupport() const; +// double operator()( +// const BoundaryMesh::UVertex& point) const; private: P0Element(); - const BoundaryMesh::traits::Face* face_; + const BoundaryMesh::Face* face_; }; class P0Space + : public Space< P0Element, 1 > { public: P0Space(const BoundaryMesh& mesh); - const P0Element& operator[](unsigned int id) const; - const P0Element& getElement(unsigned int id) const; - unsigned int getNumberOfElements() const; clusterfactory* createClusterFactory() const; private: - const BoundaryMesh& mesh_; - std::vector< P0Element > elements_; - template < unsigned int DIM > static bool vertexLtComparison( - const BoundaryMesh::traits::UnlinkedVertex& v1, - const BoundaryMesh::traits::UnlinkedVertex& v2) + const BoundaryMesh::UVertex& v1, + const BoundaryMesh::UVertex& v2) { return v1[DIM] < v2[DIM]; } diff --git a/src/bem3d/src/spaces/t.cpp b/src/bem3d/src/spaces/t.cpp index 22cc75d..b05e714 100644 --- a/src/bem3d/src/spaces/t.cpp +++ b/src/bem3d/src/spaces/t.cpp @@ -1,27 +1,32 @@ -#include "../boundary_mesh/Mesh.hpp" -#include "../boundary_mesh/mixin/LoadingObj.hpp" -#include "../boundary_mesh/mixin/ExportingObj.hpp" -#include "../boundary_mesh/mixin/RefiningAdaptivly.hpp" -#include "../boundary_mesh/mixin/RefiningUniformly.hpp" -#include "../boundary_mesh/layer/Marker.hpp" +//#include "../boundary_mesh/Mesh.hpp" +//#include "../boundary_mesh/LoadingObj.hpp" +//#include "../boundary_mesh/ExportingObj.hpp" +//#include "../boundary_mesh/mixin/RefiningAdaptivly.hpp" +//#include "../boundary_mesh/RefiningUniformly.hpp" +//#include "../boundary_mesh/Marker.hpp" #include "P0Space.hpp" using namespace boundary_mesh; using namespace space; -typedef mixin::LoadingObj< - mixin::ExportingObj< - mixin::RefiningAdaptivly < - mixin::RefiningUniformly < - Mesh<> > > > > - ObjMesh; +//typedef mixin::LoadingObj< +// mixin::ExportingObj< +// mixin::RefiningAdaptivly < +// mixin::RefiningUniformly < +// Mesh<> > > > > +// ObjMesh; + +//typedef layer::LoadingObj< +// BoundaryMesh > +// ObjMesh; +// int main() { - const ObjMesh::LoadingObj m("test.obj"); + BoundaryMesh m = BoundaryMesh::Alg::loadFromObj("test.obj"); clock_t commence, complete; commence = clock(); - ObjMesh refined = m.refineUniform(); + BoundaryMesh refined = BoundaryMesh::Alg::refineUniformly(m); complete = clock(); long lTime = (complete-commence); std::cerr << "Time for refinement: " @@ -33,13 +38,13 @@ int main() lTime = (complete-commence); std::cerr << "Time for setting up space: " << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; - - commence = clock(); - s.createClusterFactory(); - complete = clock(); - lTime = (complete-commence); - std::cerr << "Time for setting up cluster factory: " - << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; +// +// commence = clock(); +// s.createClusterFactory(); +// complete = clock(); +// lTime = (complete-commence); +// std::cerr << "Time for setting up cluster factory: " +// << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl; return 0; } diff --git a/src/bem3d/src/spaces/testP0Space b/src/bem3d/src/spaces/testP0Space new file mode 100755 index 0000000..fc3fe2f Binary files /dev/null and b/src/bem3d/src/spaces/testP0Space differ diff --git a/src/bem3d/src/stamp-h1 b/src/bem3d/src/stamp-h1 new file mode 100644 index 0000000..57ea58e --- /dev/null +++ b/src/bem3d/src/stamp-h1 @@ -0,0 +1 @@ +timestamp for src/config.h diff --git a/src/build_A.cpp b/src/build_A.cpp index ada1f31..f789985 100644 --- a/src/build_A.cpp +++ b/src/build_A.cpp @@ -1,10 +1,11 @@ - #include #include +#include #include "mex.h" #include #define my_PI 3.141592653589793 +#define EPS 0.02 using namespace std; @@ -20,148 +21,149 @@ double F_par(double, double, double, double, double, double, double); // sol = F_ort(x1,x2,y1,y2,d1,d2,d3); //double F_ort(double, double, double, double, double, double, double); + +double slpADLO(double, double, double, double, double); +double compute_g0(double, double, double, double); +double FLO_plane(double, double, double, double, double, double, double); + + // sol = quadInt((F_par/F_ort),s1,s2,k1,k2,t1,t2,l1,l2,d1,d2,d3); -double quadInt(double (*)(double,double,double,double,double,double,double), - double ,double, double ,double ,double ,double ,double ,double , - double , double , double ); - -void mexFunction( - int nlhs, - mxArray *plhs[], - int nrhs, - const mxArray *prhs[] - ) -{ - //sicherheitsabfragen zu Datengroessen - if (nrhs !=2) - mexErrMsgTxt("expected (coordinates(Nx3),elements(Mx3))"); - if (nlhs >1) - mexErrMsgTxt("has only one output argument"); - - int cm = mxGetM(prhs[0]); - int cn = mxGetN(prhs[0]); - - if(cn!=3) - mexErrMsgTxt("expected coordinates (Nx3)"); - int em = mxGetM(prhs[1]); - int en = mxGetN(prhs[1]); - if(en!=3) - mexErrMsgTxt("expected elements (Mx3)"); - //Vorbereitung der Daten - - plhs[0] = mxCreateDoubleMatrix(em,em,mxREAL); - double * A = mxGetPr(plhs[0]); - double * C = mxGetPr(prhs[0]); - double * E = mxGetPr(prhs[1]); - - double * x1 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - double * x2 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - double * x3 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - double * xn = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - - double * y1 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - double * y2 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - double * y3 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - double * yn = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); - - double * d = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL)); +double quadInt( + double(*)(double, double, double, double, double, double, double), + double, double, double, double, double, double, double, double, double, + double, double); + +void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { + //sicherheitsabfragen zu Datengroessen + if (nrhs != 2) + mexErrMsgTxt("expected (coordinates(Nx3),elements(Mx3))"); + if (nlhs > 1) + mexErrMsgTxt("has only one output argument"); + + int cm = mxGetM(prhs[0]); + int cn = mxGetN(prhs[0]); + + if (cn != 3) + mexErrMsgTxt("expected coordinates (Nx3)"); + int em = mxGetM(prhs[1]); + int en = mxGetN(prhs[1]); + if (en != 3) + mexErrMsgTxt("expected elements (Mx3)"); + //Vorbereitung der Daten + + plhs[0] = mxCreateDoubleMatrix(em, em, mxREAL); + double * A = mxGetPr(plhs[0]); + double * C = mxGetPr(prhs[0]); + double * E = mxGetPr(prhs[1]); + + double * x1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * x2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * x3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * xn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + + double * y1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * y2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * y3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + double * yn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); + + double * d = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); double tmp; + int rx, ry; + + //Ausrechnen + for (int j = 0; j < em; ++j) { + x1[0] = C[(int) E[j] - 1]; + x1[1] = C[cm + (int) E[j] - 1]; + x1[2] = C[2 * cm + (int) E[j] - 1]; + + x2[0] = C[(int) E[em + j] - 1]; + x2[1] = C[cm + (int) E[em + j] - 1]; + x2[2] = C[2 * cm + (int) E[em + j] - 1]; + + x3[0] = C[(int) E[2 * em + j] - 1]; + x3[1] = C[cm + (int) E[2 * em + j] - 1]; + x3[2] = C[2 * cm + (int) E[2 * em + j] - 1]; + + xn[0] = (x2[1] - x1[1]) * (x3[2] - x1[2]) - (x2[2] - x1[2]) * (x3[1] + - x1[1]); + xn[1] = (x2[2] - x1[2]) * (x3[0] - x1[0]) - (x2[0] - x1[0]) * (x3[2] + - x1[2]); + xn[2] = (x2[0] - x1[0]) * (x3[1] - x1[1]) - (x2[1] - x1[1]) * (x3[0] + - x1[0]); + + //if(xn[0]*xn[0]+xn[1]*xn[1] 0 ? 1 : (x < 0 ? -1 : 0); +} + +double inline arsinh(double x) { + return log(x + sqrt(x * x + 1)); +} - int inline sign(double x) - { - return x > 0 ? 1 : (x < 0 ? -1 : 0); +//y-x muss != 0 sein +double g0(double p, double y, double x, double l) { + //printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l); + + double sol = 0; + + if (l != 0) { + if (p == 0.5) { + sol = (y - x) / 2 * sqrt((y - x) * (y - x) + l * l) + l * l / 2 + * arsinh((y - x) / fabs(l)); + // printf("%.2f |",sol); + } else if (p == 0) + sol = y - x; + else if (p == -0.5) + sol = asinh((y - x) / fabs(l)); + else if (p == -1) + sol = atan((y - x) / fabs(l)); + else if (p == -1.5) + sol = (y - x) / ((l * l) * sqrt((y - x) * (y - x) + l * l)); + else + sol = (y - x) * pow((y - x) * (y - x) + l * l, p) + 2 * p * l * l + * g0(p - 1, y, x, l) / (2 * p + 1); + } else { + if (p == -0.5) + sol = sign(y - x) * log(fabs(y - x)); + else + sol = (y - x) * pow(fabs(y - x), 2 * p) / (2 * p + 1); } - - double inline arsinh(double x) - { - return log(x+sqrt(x*x+1)); - } - - //y-x muss != 0 sein - double g0(double p, double y, double x, double l){ - //printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l); - - double sol = 0; - - if(l!=0){ - if(p==0.5){ - sol = (y-x)/2*sqrt((y-x)*(y-x)+l*l)+ - l*l/2*arsinh((y-x)/abs(l)); - // printf("%.2f |",sol); - }else if(p==0) - sol = y-x; - else if(p==-0.5) - sol = arsinh((y-x)/abs(l)); - else if(p==-1) - sol = atan((y-x)/abs(l)); - else if(p==-1.5) - sol = (y-x)/((l*l)*sqrt((y-x)*(y-x)+l*l)); - else - sol = (y-x)*pow((y-x)*(y-x)+l*l,p)+2*p*l*l* - g0(p-1,y,x,l)/(2*p+1); - }else{ - if(p==-0.5) - sol = sign(y-x)*log(abs(y-x)); - else - sol = (y-x)*pow(abs(y-x),2*p)/(2*p+1); + + return sol; +} + +double G00(double p, double y1, double y2, double x1, double x2, double l) { + // printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l); + + double sol = 0; + if (p == -1.5) { + if (l == 0) { + sol = -sqrt((y1 - x1) * (y1 - x1) + (y2 - x2) * (y2 - x2)) / ((y1 + - x1) * (y2 - x2)); + } else { + sol = sign((y1 - x1) * (y2 - x2)) / (2 * fabs(l)) * acos( + -2 * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2) / (((y1 + - x1) * (y1 - x1) + l * l) * ((y2 - x2) * (y2 - x2) + + l * l)) + 1); } - - return sol; - } - - double G00(double p, double y1,double y2, double x1,double x2, double l) { -// printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l); - - double sol =0; - if(p==-1.5){ - if(l==0){ - sol = -sqrt((y1-x1)*(y1-x1)+(y2-x2)*(y2-x2)) - /((y1-x1)*(y2-x2)); - }else{ - sol = sign((y1-x1)*(y2-x2))/(2*abs(l)) - * acos(-2*(y1-x1)*(y1-x1)*(y2-x2)*(y2-x2) - /(((y1-x1)*(y1-x1)+l*l)*((y2-x2)*(y2-x2)+l*l))+1); - } - }else if(p==-0.5){ - if(l!=0) - sol = 2*p*l*l*G00(p-1,y1,y2,x1,x2,l); - if((y1-x1)!=0) - sol += (y1-x1)*g0(p,y2,x2,sqrt((y1-x1)*(y1-x1)+l*l)); - if((y2-x2)!=0) - sol += (y2-x2)*g0(p,y1,x1,sqrt((y2-x2)*(y2-x2)+l*l)); - sol /= 2*p+2; - }else{ - mexErrMsgTxt("no case for p defined"); - } - - return sol; + } else if (p == -0.5) { + if (l != 0) + sol = 2 * p * l * l * G00(p - 1, y1, y2, x1, x2, l); + if ((y1 - x1) != 0) + sol += (y1 - x1) * g0(p, y2, x2, + sqrt((y1 - x1) * (y1 - x1) + l * l)); + if ((y2 - x2) != 0) + sol += (y2 - x2) * g0(p, y1, x1, + sqrt((y2 - x2) * (y2 - x2) + l * l)); + sol /= 2 * p + 2; + } else { + mexErrMsgTxt("no case for p defined"); } - - - double F_par(double x1,double x2,double y1,double y2,double d1,double d2,double d3) - { + + return sol; +} + +double F_par(double x1, double x2, double y1, double y2, double d1, double d2, + double d3) { // printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y1,y2,d1,d2,d3); - double sol = (x1-y1-d1)*(x2-y2-d2); - - if(sol!=0) - sol *= G00(-0.5,x1,x2,y1+d1,y2+d2,d3); - - if((x1-y1-d1)!=0) - sol -= (x1-y1-d1)*g0(0.5,x1,y1+d1,sqrt((x2-y2-d2)*(x2-y2-d2)+d3*d3)); - - if((x2-y2-d2)!=0) - sol -= (x2-y2-d2)*g0(0.5,x2,y2+d2,sqrt((x1-y1-d1)*(x1-y1-d1)+d3*d3)); - - double hlp = ((x1-y1-d1)*(x1-y1-d1)+(x2-y2-d2)*(x2-y2-d2)+d3*d3); - sol += 1./3*hlp*sqrt(hlp); - return sol; - } - - double inline quadInt(double (*f)(double,double,double,double,double,double,double), - double s1,double s2,double k1,double k2,double t1,double t2,double l1,double l2, - double d1, double d2, double d3) - { - - return f(k1,k2,l1,l2,d1,d2,d3)-f(k1,k2,l1,t2,d1,d2,d3)-f(k1,k2,t1,l2,d1,d2,d3)+f(k1,k2,t1,t2,d1,d2,d3) - -f(k1,s2,l1,l2,d1,d2,d3)+f(k1,s2,l1,t2,d1,d2,d3)+f(k1,s2,t1,l2,d1,d2,d3)-f(k1,s2,t1,t2,d1,d2,d3) - -f(s1,k2,l1,l2,d1,d2,d3)+f(s1,k2,l1,t2,d1,d2,d3)+f(s1,k2,t1,l2,d1,d2,d3)-f(s1,l2,t1,t2,d1,d2,d3) - +f(s1,s2,l1,l2,d1,d2,d3)-f(s1,0,l1,t2,d1,d2,d3)-f(s1,s2,t1,l2,d1,d2,d3)+f(s1,s2,t1,t2,d1,d2,d3); - } \ No newline at end of file + double sol = (x1 - y1 - d1) * (x2 - y2 - d2); + + if (sol != 0) + sol *= slpADLO( x1, x2, y1 + d1, y2 + d2, d3); + + if ((x1 - y1 - d1) != 0) + sol -= (x1 - y1 - d1) * compute_g0(0.5, x1, y1 + d1, + sqrt((x2 - y2 - d2) * (x2 - y2 - d2) + d3 * d3)); + + if ((x2 - y2 - d2) != 0) + sol -= (x2 - y2 - d2) * compute_g0(0.5, x2, y2 + d2, + sqrt((x1 - y1 - d1) * (x1 - y1 - d1) + d3 * d3)); + + double hlp = ((x1 - y1 - d1) * (x1 - y1 - d1) + (x2 - y2 - d2) * (x2 - y2 + - d2) + d3 * d3); + sol += 1. / 3 * hlp * sqrt(hlp); + return sol; +} + +double inline quadInt( + double(*f)(double, double, double, double, double, double, double), + double s1, double s2, double k1, double k2, double t1, double t2, + double l1, double l2, double d1, double d2, double d3) { + + return f(k1, k2, l1, l2, d1, d2, d3) - f(k1, k2, l1, t2, d1, d2, d3) - f( + k1, k2, t1, l2, d1, d2, d3) + f(k1, k2, t1, t2, d1, d2, d3) - f(k1, + s2, l1, l2, d1, d2, d3) + f(k1, s2, l1, t2, d1, d2, d3) + f(k1, s2, + t1, l2, d1, d2, d3) - f(k1, s2, t1, t2, d1, d2, d3) - f(s1, k2, l1, + l2, d1, d2, d3) + f(s1, k2, l1, t2, d1, d2, d3) + f(s1, k2, t1, l2, + d1, d2, d3) - f(s1, l2, t1, t2, d1, d2, d3) + f(s1, s2, l1, l2, d1, + d2, d3) - f(s1, 0, l1, t2, d1, d2, d3) - f(s1, s2, t1, l2, d1, d2, + d3) + f(s1, s2, t1, t2, d1, d2, d3); +} + +double slpADLO(double y1, double y2, double x1, double x2, double a) { + double G3 = 0; + double gL = 0; + double gK = 0; + double tmp; + + tmp = y1 - x1; + if (fabs(tmp) >= EPS * y1) { + tmp = sqrt(y1 * y1 + x1 * x1 + a * a - 2 * y1 * x1); + gL = compute_g0(-0.5, y2, x2, tmp); + } + tmp = y2 - x2; + if (fabs(tmp) >= EPS * y2) { + tmp = sqrt(y2 * y2 + x2 * x2 + a * a - 2 * y2 * x2); + gK = compute_g0(-0.5, y1, x1, tmp); + } + if (fabs(a * a) > EPS) { + if ((y1 - x1) * (y2 - x2) * a >= 0) + tmp = 1.; + else + tmp = -1.; + + G3 = tmp * acos( + (-2. * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2)) / (((y1 + - x1) * (y1 - x1) + a * a) * ((y2 - x2) * (y2 - x2) + a + * a)) + 1.) / (2. * a); + } + + return (y1 - x1) * gL + (y2 - x2) * gK - a * a * G3; +} + +double compute_g0(double p, double y, double x, double a) { + int sp = (int) 2 * (p - EPS); // MK (p-EPS) instead of (p+EPS) + //printf("\n compute_g0, p = %lf, sp = %d\n",p,sp); + assert( + p == 0 || (p == -0.5) || (p == -1) || (p == -1.5) || (fabs(a) + <= EPS)); + if (fabs(a) <= EPS) { + // printf("\n a < eps\n"); + switch (sp) { + case 0: + return y - x; + case -1: + return log(fabs(x - y)) * (y - x) / fabs(y - x); + case -2: + return -(y - x) / fabs(y - x) / fabs(y - x); + case -3: + return -0.5 * (y - x) / fabs(y - x) / fabs(y - x) / fabs(y - x); + } + } else { + // printf("\n a > eps\n"); + switch (sp) { + case 0: + return y - x; + case -1: + return asinh((y - x) / fabs(a)); + case -2: + return atan((y - x) / fabs(a)); + case -3: + return (y - x) * pow((x * x + y * y + a * a - 2 * x * y), -0.5) + / (a * a); + default: + printf("p must be either 0, -1/2, -1 or -3/2."); + return NAN; + } + } +} + +double FLO_plane(double x1, double x2, double y1, double y2, double delta1, double delta2, double a){ + double yd1 = y1+delta1; + double yd2 = y2+delta2; + double tmp1 = x1-y1-delta1; + double tmp2 = x2-y2-delta2; + double tmp3 = sqrt( tmp2*tmp2 + a*a ); + double tmp4 = sqrt( tmp1*tmp1 + a*a ); + double tmp5 = pow(tmp1*tmp1 + tmp2*tmp2 + a*a,3./2.); + double rval = 0; + + rval = tmp1*tmp2*slpADLO(x1,x2,yd1,yd2,a) + - tmp1*compute_g0(-0.5,x1,yd1,tmp3) + - tmp2*compute_g0(-0.5,x2,yd2,tmp4) + + tmp5/3.; + return rval; +} diff --git a/src/build_A.mexa64 b/src/build_A.mexa64 new file mode 100755 index 0000000..89a6868 Binary files /dev/null and b/src/build_A.mexa64 differ diff --git a/src/exportCOEL.m b/src/exportCOEL.m new file mode 100644 index 0000000..92a1212 --- /dev/null +++ b/src/exportCOEL.m @@ -0,0 +1,18 @@ +function exportCOEL(coo, ele, file) +%EXPORTCOEL Summary of this function goes here +% Detailed explanation goes here + +dat = fopen(file,'w'); + + for i=1:size(coo,1); + fprintf(dat,'v %.4f %.4f %.4f\n',coo(i,:)); + end + fprintf(dat,'\n'); + for i=1:size(ele,1); + fprintf(dat,'f %.0f %.0f %.0f\n',ele(i,:)); + end + +fclose(dat); + +end + diff --git a/src/test_solveError.m b/src/test_solveError.m index e0c2551..7424977 100644 --- a/src/test_solveError.m +++ b/src/test_solveError.m @@ -2,13 +2,13 @@ load exmpl_2DLShape -A = build_A2(coordinates,elements); +A = build_A(coordinates,elements); b = sqrt(sum(quad_norm(coordinates,elements,'w').^2,2)); x = A\b xe = x'*A*x; [coordinates_fine,elements_fine, f2s]=refineQuad(coordinates,elements,ones(1,size(elements,1))); -A_fine = build_A2(coordinates_fine,elements_fine); +A_fine = build_A(coordinates_fine,elements_fine); b = sqrt(sum(quad_norm(coordinates_fine,elements_fine,'w').^2,2)); x_fine = A_fine\b; xe_fine = x_fine'*A_fine*x_fine;