--- /dev/null
+# 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:
--- /dev/null
+*******************************************************************************
+* 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 | | |
+'========================================================='=========='========'
+
# Files:
-DX_PROJECT=Hilbert 3D
+DX_PROJECT="Hilbert 3D"
DX_CONFIG=Doxyfile
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
"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
# Files:
-DX_PROJECT=Hilbert 3D
+DX_PROJECT="Hilbert 3D"
DX_CONFIG=Doxyfile
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
"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
'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,
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$])
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])])
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$])
--- /dev/null
+#! /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 <markus.mayr@tuwien.ac.at>.
+Hilbert 3D home page: <http://83.169.35.184/cgi-bin/gitweb?p=bem3d.git>."
+
+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 2>/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 = "\a"
+
+}
+{
+ 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 = "\a"
+}
+/^[\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
# Files:
-DX_PROJECT=Hilbert 3D
+DX_PROJECT="Hilbert 3D"
DX_CONFIG=Doxyfile
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
"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
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
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
--- /dev/null
+#include "HLibOperator_fwd.hpp"
+
+extern "C"
+{
+# include "HLib/rkmatrix.h"
+}
+
+void
+HLibInitializer::initialize()
+{
+ init_rkmatrices(0);
+}
+
+bool HLibInitializer::hLibInitialized = false;
+
--- /dev/null
+#ifndef HILBERT3D_HLIBOPERATOR_HPP_GUARD_
+#define HILBERT3D_HLIBOPERATOR_HPP_GUARD_
+
+#include "HLibOperator_fwd.hpp"
+#include "HLibOperator_tmpl.cpp"
+
+#endif
+
--- /dev/null
+#ifndef HILBERT3D_HLIBOPERATOR_FWD_HPP_GUARD_
+#define HILBERT3D_HLIBOPERATOR_FWD_HPP_GUARD_
+
+#include <vector>
+
+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
+
--- /dev/null
+#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;i<rowCluster->sons;++i)
+ for(int j=0;j<columnCluster->sons;++j) {
+ int s=i+j*rowCluster->sons;
+ fillSupermatrixAca(matrix->s[s],rowCluster->son[i],columnCluster->son[j],data,acaEps);
+ }
+ } else {
+ for(int i=0;i<rowCluster->sons;++i)
+ fillSupermatrixAca(matrix->s[i],rowCluster->son[i],columnCluster,data,acaEps);
+ }
+ } else {
+ for(int i=0;i<columnCluster->sons;++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 ] );
+}
+
--- /dev/null
+# 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:
-SUBDIRS = boundary_mesh spaces laplace
+SUBDIRS = boundary_mesh spaces laplace
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
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+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:
using namespace boundary_mesh;
+#if 0
Face::Face()
: halfedge_(0)
{}
assert(0);
}
}
+#endif
#define BOUNDARY_MESH_FACE_HPP_GUARD_
#include <iterator>
+#include <vector>
+
+#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;
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"
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_FACEDISPATCH_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_FACEDISPATCH_HPP_GUARD_
+
+#include <vector>
+
+#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
+
--- /dev/null
+#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 <cassert>
+
+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<const Head*>(&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<const Head*>(&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
+
-#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 <cassert>
+#include <sstream>
+#include <vector>
-#include "HalfEdge.hpp"
+#include "Face.hpp"
namespace boundary_mesh {
-template <>
-inline
-Face::Iterator__<Face>&
-Face::Iterator__<Face>::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__<T>&
-Face::Iterator__<T>::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__<Face>::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__<T>::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__<T>::Iterator__(const Face::Iterator__<T>& copy)
- : startingEdge_(copy.startingEdge_), currentEdge_(copy.currentEdge_)
-{}
-
-template < class T >
-inline
-bool
-Face::Iterator__<T>::operator==(
- const Face::Iterator__<T>& 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__<T>::operator!=(
- const Face::Iterator__<T>& 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__<T>::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
--- /dev/null
+#include "FlexibleMesh.hpp"
+
--- /dev/null
+#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
+
--- /dev/null
+#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
+
+++ /dev/null
-#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()) ) );
-}
-}
-
-#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 <typename> class TProp,
+ template <typename> 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
--- /dev/null
+#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<TMesh>::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()) ) );
+}
+}
+
--- /dev/null
+# 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:
-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
-
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 \
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
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)
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:
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)
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:
@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)"
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)"
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
info-am:
install-data-am: install-libhilbert_mesh_aHEADERS \
- install-mesh_compareHEADERS install-testhilbertmeshHEADERS
+ install-testhilbertmeshHEADERS
install-dvi: install-dvi-am
uninstall-am: uninstall-binPROGRAMS uninstall-libLIBRARIES \
uninstall-libhilbert_mesh_aHEADERS \
- uninstall-mesh_compareHEADERS uninstall-testhilbertmeshHEADERS
+ uninstall-testhilbertmeshHEADERS
.MAKE: install-am install-strip
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.
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_MARKER_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_MARKER_HPP_GUARD_
+
+#include "Marker_fwd.hpp"
+#include "Marker_tmpl.cpp"
+
+#endif
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_MARKER_FWD_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_MARKER_FWD_HPP_GUARD_
+
+#include <vector>
+
+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 <typename> 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
+
--- /dev/null
+#include "Marker_fwd.hpp"
+#include <cassert>
+
+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_;
+ }
+}
+
#include "Mesh.hpp"
-#include "Face.hpp"
-#include "HalfEdge.hpp"
-#include "Vertex.hpp"
-
#include <iostream>
#include <string>
#include <set>
#include <list>
#include <vector>
+#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;
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)
{
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))
{
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
// 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<HalfEdge>::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<HalfEdge>::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;
// 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))
}
// Third phase:
- for (typename std::vector<typename Ttraits::HalfEdge>::iterator
+ for (typename std::vector<typename Mesh::HalfEdge>::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();
// 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<long>(&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<long>(&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<long>(&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
* 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 <iterator>
#include <string>
#include <vector>
-#include "Face.hpp"
-#include "Vertex.hpp"
-#include "HalfEdge.hpp"
+#include "types.hpp"
+#include "MeshBuilder.hpp"
+#include "../generic/BaseTypes.hpp"
+#include "../generic/TypeList.hpp"
+
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/utility/enable_if.hpp>
+#include <cassert>
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;
/**
* 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 <typename> 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)
*
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
* 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
* 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_;
};
}
--- /dev/null
+#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
+
--- /dev/null
+#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
+
+++ /dev/null
-#include "Vertex.hpp"
-
-#include <cassert>
-
-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
-}
/**
* @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<double> UnlinkedVertex;
- class Vertex : public UnlinkedVertex
+ template < class TMesh >
+ class VertexT : public TMesh::UVertex
{
- template < class T > friend class Mesh;
+ template < template <typename> class TProp,
+ template <typename> 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
--- /dev/null
+#include "Vertex.hpp"
+
+#include <cassert>
+
+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_;
+ }
+}
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_ALGORITHM_HANDLEOBJ_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_ALGORITHM_HANDLEOBJ_HPP_GUARD_
+
+#include <string>
+
+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
+
--- /dev/null
+
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include <string>
+#include <cstring>
+#include <boost/regex.hpp>
+#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();
+ }
+ }
+}
+
--- /dev/null
+#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
+
--- /dev/null
+#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();
+ }
+ }
+}
+
--- /dev/null
+#include "FaceDispatch.hpp"
+#include <iostream>
+
+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.
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_HPP_GUARD_
+
+#include "exception/NoMatchingFaceType.hpp"
+
+#endif
+
--- /dev/null
+#include "CouldNotDispatchCall.hpp"
+
+namespace boundary_mesh
+{
+ namespace exception
+ {
+ CouldNotDispatchCall::CouldNotDispatchCall( const std::string& whatArg )
+ : std::runtime_error( whatArg )
+ {}
+ }
+}
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_COULDNOTDISPATCHCALL_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_COULDNOTDISPATCHCALL_HPP_GUARD_
+
+#include <exception>
+#include <stdexcept>
+#include <string>
+
+namespace boundary_mesh
+{
+ namespace exception
+ {
+ class CouldNotDispatchCall : public std::runtime_error
+ {
+ public:
+ CouldNotDispatchCall( const std::string& whatArg );
+ };
+ }
+}
+
+#endif
+
--- /dev/null
+#include "DispatchIdNotSet.hpp"
+
+namespace boundary_mesh
+{
+ namespace exception
+ {
+ DispatchIdNotSet::DispatchIdNotSet( const std::string& whatArg )
+ : std::logic_error( whatArg )
+ {}
+ }
+}
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_DISPATCHIDNOTSET_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_DISPATCHIDNOTSET_HPP_GUARD_
+
+#include <exception>
+#include <stdexcept>
+#include <string>
+
+namespace boundary_mesh
+{
+ namespace exception
+ {
+ class DispatchIdNotSet : public std::logic_error
+ {
+ public:
+ DispatchIdNotSet( const std::string& whatArg );
+ };
+ }
+}
+
+#endif
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_EXCEPTION_NOMATCHINGFACETYPE_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_EXCEPTION_NOMATCHINGFACETYPE_HPP_GUARD_
+
+#include <exception>
+#include <stdexcept>
+#include <string>
+#include <vector>
+
+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
+
--- /dev/null
+#include "NoMatchingFaceType.hpp"
+
+#include <cstring>
+#include <sstream>
+
+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_;
+ }
+ }
+}
+
--- /dev/null
+#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
+
--- /dev/null
+#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>, 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
+
--- /dev/null
+#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
+
--- /dev/null
+#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
+
--- /dev/null
+#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>, 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
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_TMPL_CPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_FACE_PARALLELOGRAM_TMPL_CPP_GUARD_
+
+#include <cmath>
+#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
+
--- /dev/null
+#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
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_HPP_GUARD_
+
+#include <vector>
+#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
+
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_TMPL_CPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_FACE_QUADRILATERAL_TMPL_CPP_GUARD_
+
+#include <cmath>
+
+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
+
--- /dev/null
+#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
+
--- /dev/null
+#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
+
--- /dev/null
+#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
+
--- /dev/null
+#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
+
+++ /dev/null
-#ifndef MESH_GENERIC_DATA_BASED_ITERATOR_HPP_GUARD_
-#define MESH_GENERIC_DATA_BASED_ITERATOR_HPP_GUARD_
-
-#include <iterator>
-
-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
-
+++ /dev/null
-#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<bool>(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;
-}
-
+++ /dev/null
-#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<bool> marked;
- };
-}
-}
-
-#endif
-
+++ /dev/null
-#ifdef MESH_LAYER_MARKER_CPP_GUARD_
-#error
-#else
-#define MESH_LAYER_MARKER_CPP_GUARD_
-
-#include <cassert>
-
-namespace boundary_mesh {
-namespace layer {
-
- template < class TMesh >
- Marker< TMesh >::Marker(const TMesh& mesh)
- : mesh_(mesh),
- marked_(std::vector<bool>(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
-
+++ /dev/null
-#ifndef MESH_LAYER_MARKER_HPP_GUARD_
-#define MESH_LAYER_MARKER_HPP_GUARD_
-
-#include <vector>
-
-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<bool> 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
-
#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<
+++ /dev/null
-#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 <string>
-#include <fstream>
-
-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
-
+++ /dev/null
-#ifndef HILBERT3D_BOUNDARY_MESH_MIXIN_EXPORTING_OBJ_HPP_GUARD_
-#define HILBERT3D_BOUNDARY_MESH_MIXIN_EXPORTING_OBJ_HPP_GUARD_
-
-#include <string>
-
-#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
-
+++ /dev/null
-#include "LoadingObj.hpp"
-
-#include <iostream>
-#include <sstream>
-#include <fstream>
-#include <string>
-#include "../../exception.hpp"
-
-#include <boost/regex.hpp>
-
-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();
-}
-
-}
-}
-
+++ /dev/null
-#ifndef MESH_MESHLOADER_HPP_GUARD_
-#define MESH_MESHLOADER_HPP_GUARD_
-
-#include <string>
-
-#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
-
#include <vector>
#include "RefiningAdaptivly.hpp"
-#include "../layer/Marker.hpp"
+#include "../Marker.hpp"
#include "../layer/RefinementData.hpp"
namespace boundary_mesh
+++ /dev/null
-#include "RefiningUniformly.hpp"
-
-#include <vector>
-
-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;
- }
- }
-}
-
+++ /dev/null
-#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
-
-#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 <iostream>
+#include <stdexcept>
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;
}
--- /dev/null
+#ifndef HILBERT3D_BOUNDARY_MESH_TYPES_HPP_GUARD_
+#define HILBERT3D_BOUNDARY_MESH_TYPES_HPP_GUARD_
+
+#include <limits>
+
+namespace boundary_mesh {
+ typedef unsigned int geoid_t;
+
+ const geoid_t geoid_t_max = std::numeric_limits< unsigned int >::max();
+}
+
+#endif
+
--- /dev/null
+/* 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 <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define if you have LAPACK library. */
+#define HAVE_LAPACK 1
+
+/* Define to 1 if you have the <memory.h> 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 <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> 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"
--- /dev/null
+#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 <int>
+ struct WorkAround
+ {
+ WorkAround(int) {}
+ };
+}
+
+#endif
+
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]);
-}
-
}
#ifndef HILBERT3D_GENERIC_GENERIC_VECTOR_HPP_GUARD_
#define HILBERT3D_GENERIC_GENERIC_VECTOR_HPP_GUARD_
+#include <ostream>
+
namespace generic {
static const unsigned int genericVectorDefaultDim = 3;
BaseType
norm() const;
- static const unsigned int getDimension();
+ static unsigned int getDimension();
private:
BaseType coeff[DIM];
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 >&,
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"
GenericVector< DIM, BaseType, Traits >::operator[](unsigned int coord)
const
{
- assert(coord >= 0 && coord < DIM);
+ assert(coord < DIM);
return coeff[coord];
}
BaseType &
GenericVector< DIM, BaseType, Traits >::operator[](unsigned int coord)
{
- assert(coord >= 0 && coord < DIM);
+ assert(coord < DIM);
return coeff[coord];
}
}
template < unsigned int DIM, class BaseType, class Traits >
-const unsigned int
+unsigned int
GenericVector< DIM, BaseType, Traits >::getDimension()
{
return DIM;
: 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==(
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
--- /dev/null
+#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
+
--- /dev/null
+#include "Singleton.hpp"
+
+namespace generic
+{
+ template < class T >
+ T& Singleton< T >::Get()
+ {
+ static T singleton;
+ return singleton;
+ }
+
+ template < class T >
+ Singleton< T >::Singleton()
+ {
+ }
+}
+
--- /dev/null
+#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
+
#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
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+# 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:
-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)
--- /dev/null
+# 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:
--- /dev/null
+#include <iostream>\r
+#include <cmath>\r
+#include <cassert>\r
+#include <stdlib.h>\r
+\r
+#include "SLPrecangle.hpp"\r
+\r
+#define my_PI 3.141592653589793\r
+#define EPS 0.02\r
+\r
+using namespace std;\r
+\r
+int sign(double);\r
+double arsinh(double);\r
+\r
+// sol = quadInt((F_par/F_ort),s1,s2,k1,k2,t1,t2,l1,l2,d1,d2,d3);\r
+double quadInt(\r
+ double(*)(double, double, double, double, double, double, double),\r
+ double, double, double, double, double, double, double, double, double,\r
+ double, double);\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {\r
+ //sicherheitsabfragen zu Datengroessen\r
+ if (nrhs != 2)\r
+ mexErrMsgTxt("expected (coordinates(Nx3),elements(Mx3))");\r
+ if (nlhs > 1)\r
+ mexErrMsgTxt("has only one output argument");\r
+\r
+ int cm = mxGetM(prhs[0]);\r
+ int cn = mxGetN(prhs[0]);\r
+\r
+ if (cn != 3)\r
+ mexErrMsgTxt("expected coordinates (Nx3)");\r
+ int em = mxGetM(prhs[1]);\r
+ int en = mxGetN(prhs[1]);\r
+ if (en != 3)\r
+ mexErrMsgTxt("expected elements (Mx3)");\r
+ //Vorbereitung der Daten\r
+\r
+ plhs[0] = mxCreateDoubleMatrix(em, em, mxREAL);\r
+ double * A = mxGetPr(plhs[0]);\r
+ double * C = mxGetPr(prhs[0]);\r
+ double * E = mxGetPr(prhs[1]);\r
+\r
+ double * x1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * x2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * x3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * xn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+\r
+ double * y1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * y2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * y3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * yn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+\r
+ double * d = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+\r
+ double tmp;\r
+\r
+ int rx, ry;\r
+\r
+ //Ausrechnen\r
+ for (int j = 0; j < em; ++j) {\r
+ x1[0] = C[(int) E[j] - 1];\r
+ x1[1] = C[cm + (int) E[j] - 1];\r
+ x1[2] = C[2 * cm + (int) E[j] - 1];\r
+\r
+ x2[0] = C[(int) E[em + j] - 1];\r
+ x2[1] = C[cm + (int) E[em + j] - 1];\r
+ x2[2] = C[2 * cm + (int) E[em + j] - 1];\r
+\r
+ x3[0] = C[(int) E[2 * em + j] - 1];\r
+ x3[1] = C[cm + (int) E[2 * em + j] - 1];\r
+ x3[2] = C[2 * cm + (int) E[2 * em + j] - 1];\r
+\r
+ xn[0] = (x2[1] - x1[1]) * (x3[2] - x1[2]) - (x2[2] - x1[2]) * (x3[1]\r
+ - x1[1]);\r
+ xn[1] = (x2[2] - x1[2]) * (x3[0] - x1[0]) - (x2[0] - x1[0]) * (x3[2]\r
+ - x1[2]);\r
+ xn[2] = (x2[0] - x1[0]) * (x3[1] - x1[1]) - (x2[1] - x1[1]) * (x3[0]\r
+ - x1[0]);\r
+\r
+ //if(xn[0]*xn[0]+xn[1]*xn[1]<xn[2]*xn[2])\r
+ if (xn[2] != 0)\r
+ rx = 2;\r
+ else if (xn[1] != 0)\r
+ rx = 1;\r
+ else\r
+ rx = 0;\r
+\r
+ // printf("(%d n- %f | %f | %f)\n",j,xn[0],xn[1],xn[2]);\r
+\r
+ for (int k = 0; k < em; ++k) {\r
+ y1[0] = C[(int) E[k] - 1];\r
+ y1[1] = C[cm + (int) E[k] - 1];\r
+ y1[2] = C[2 * cm + (int) E[k] - 1];\r
+\r
+ y2[0] = C[(int) E[em + k] - 1];\r
+ y2[1] = C[cm + (int) E[em + k] - 1];\r
+ y2[2] = C[2 * cm + (int) E[em + k] - 1];\r
+\r
+ y3[0] = C[(int) E[2 * em + k] - 1];\r
+ y3[1] = C[cm + (int) E[2 * em + k] - 1];\r
+ y3[2] = C[2 * cm + (int) E[2 * em + k] - 1];\r
+\r
+ yn[0] = (y2[1] - y1[1]) * (y3[2] - y1[2]) - (y2[2] - y1[2])\r
+ * (y3[1] - y1[1]);\r
+ yn[1] = (y2[2] - y1[2]) * (y3[0] - y1[0]) - (y2[0] - y1[0])\r
+ * (y3[2] - y1[2]);\r
+ yn[2] = (y2[0] - y1[0]) * (y3[1] - y1[1]) - (y2[1] - y1[1])\r
+ * (y3[0] - y1[0]);\r
+\r
+ if (yn[2] != 0)\r
+ ry = 2;\r
+ else if (yn[1] != 0)\r
+ ry = 1;\r
+ else\r
+ ry = 0;\r
+\r
+ d[0] = y1[0] - x1[0];\r
+ d[1] = y1[1] - x1[1];\r
+ d[2] = y1[2] - x1[2];\r
+\r
+ if (rx = ry) {\r
+ if (rx = 2) {\r
+ //printf("%d%d %.1f %.1f | %.1f %.1f || %.1f %.1f | %.1f %.1f || %.1f %.1f %.1f\n",j,k,x1[0],x1[1],x2[0],x3[1],y1[0],y1[1],y2[0],y3[1],d[0],d[1],d[2]);\r
+ //printf("%d%d %.1f %.1f %.1f\n",j,k,d[0],d[1],d[2]);\r
+ tmp = quadInt(FLO_plane, x1[0], x1[1], x2[0], x3[1], y1[0],\r
+ y1[1], y2[0], y3[1], d[0], d[1], d[2]);\r
+ // printf("%d%d|%.2f\n",j,k,tmp);\r
+ A[(k * em) + j] = 1. / (4 * my_PI) * tmp;\r
+\r
+ } else\r
+ A[(k * em) + j] = 0;\r
+ } else {\r
+ A[(k * em) + j] = 0;\r
+ }\r
+\r
+ // Vorbereiten der DATEN\r
+ // ej = coordinates(elements(j,:)',:);\r
+ // ek = coordinates(elements(k,:)',:);\r
+ // d = ek(1,:) - ej(1,:);\r
+\r
+ // AUSRECHNEN\r
+ // A[(k*em)+j] = 1./(4*my_PI);// *\r
+ // quadInt(F_par,\r
+ // ,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2));\r
+\r
+ }\r
+\r
+ }\r
+ //Rueckgabe (eventuell zurueck schreiben)\r
+ // mxFree(x1);\r
+ //mxFree(x2);\r
+ //mxFree(x3);\r
+ //mxFree(y1);\r
+ //mxFree(y2);\r
+ //mxFree(y3);\r
+ //mxFree(xn);\r
+ //mxFree(yn);\r
+ //mxFree(d);\r
+\r
+ return;\r
+}\r
+\r
+int inline sign(double x) {\r
+ return x > 0 ? 1 : (x < 0 ? -1 : 0);\r
+}\r
+\r
+double inline arsinh(double x) {\r
+ return log(x + sqrt(x * x + 1));\r
+}\r
+\r
+//y-x muss != 0 sein\r
+double g0(double p, double y, double x, double l) {\r
+ //printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l);\r
+\r
+ double sol = 0;\r
+\r
+ if (l != 0) {\r
+ if (p == 0.5) {\r
+ sol = (y - x) / 2 * sqrt((y - x) * (y - x) + l * l) + l * l / 2\r
+ * arsinh((y - x) / fabs(l));\r
+ // printf("%.2f |",sol);\r
+ } else if (p == 0)\r
+ sol = y - x;\r
+ else if (p == -0.5)\r
+ sol = asinh((y - x) / fabs(l));\r
+ else if (p == -1)\r
+ sol = atan((y - x) / fabs(l));\r
+ else if (p == -1.5)\r
+ sol = (y - x) / ((l * l) * sqrt((y - x) * (y - x) + l * l));\r
+ else\r
+ sol = (y - x) * pow((y - x) * (y - x) + l * l, p) + 2 * p * l * l\r
+ * g0(p - 1, y, x, l) / (2 * p + 1);\r
+ } else {\r
+ if (p == -0.5)\r
+ sol = sign(y - x) * log(fabs(y - x));\r
+ else\r
+ sol = (y - x) * pow(fabs(y - x), 2 * p) / (2 * p + 1);\r
+ }\r
+\r
+ return sol;\r
+}\r
+\r
+double G00(double p, double y1, double y2, double x1, double x2, double l) {\r
+ // printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l);\r
+\r
+ double sol = 0;\r
+ if (p == -1.5) {\r
+ if (l == 0) {\r
+ sol = -sqrt((y1 - x1) * (y1 - x1) + (y2 - x2) * (y2 - x2)) / ((y1\r
+ - x1) * (y2 - x2));\r
+ } else {\r
+ sol = sign((y1 - x1) * (y2 - x2)) / (2 * fabs(l)) * acos(\r
+ -2 * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2) / (((y1\r
+ - x1) * (y1 - x1) + l * l) * ((y2 - x2) * (y2 - x2)\r
+ + l * l)) + 1);\r
+ }\r
+\r
+ } else if (p == -0.5) {\r
+ if (l != 0)\r
+ sol = 2 * p * l * l * G00(p - 1, y1, y2, x1, x2, l);\r
+ if ((y1 - x1) != 0)\r
+ sol += (y1 - x1) * g0(p, y2, x2,\r
+ sqrt((y1 - x1) * (y1 - x1) + l * l));\r
+ if ((y2 - x2) != 0)\r
+ sol += (y2 - x2) * g0(p, y1, x1,\r
+ sqrt((y2 - x2) * (y2 - x2) + l * l));\r
+ sol /= 2 * p + 2;\r
+ } else {\r
+ mexErrMsgTxt("no case for p defined");\r
+ }\r
+\r
+ return sol;\r
+}\r
+\r
+double F_par(double x1, double x2, double y1, double y2, double d1, double d2,\r
+ double d3) {\r
+\r
+ // printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y1,y2,d1,d2,d3);\r
+ double sol = (x1 - y1 - d1) * (x2 - y2 - d2);\r
+\r
+ if (sol != 0)\r
+ sol *= slpADLO(x1, x2, y1 + d1, y2 + d2, d3);\r
+\r
+ if ((x1 - y1 - d1) != 0)\r
+ sol -= (x1 - y1 - d1) * compute_g0(0.5, x1, y1 + d1,\r
+ sqrt((x2 - y2 - d2) * (x2 - y2 - d2) + d3 * d3));\r
+\r
+ if ((x2 - y2 - d2) != 0)\r
+ sol -= (x2 - y2 - d2) * compute_g0(0.5, x2, y2 + d2,\r
+ sqrt((x1 - y1 - d1) * (x1 - y1 - d1) + d3 * d3));\r
+\r
+ double hlp = ((x1 - y1 - d1) * (x1 - y1 - d1) + (x2 - y2 - d2) * (x2 - y2\r
+ - d2) + d3 * d3);\r
+ sol += 1. / 3 * hlp * sqrt(hlp);\r
+ return sol;\r
+}\r
+\r
+double inline quadInt(\r
+ double(*f)(double, double, double, double, double, double, double),\r
+ double s1, double s2, double k1, double k2, double t1, double t2,\r
+ double l1, double l2, double d1, double d2, double d3) {\r
+\r
+ return f(k1, k2, l1, l2, d1, d2, d3) - f(k1, k2, l1, t2, d1, d2, d3) - f(\r
+ k1, k2, t1, l2, d1, d2, d3) + f(k1, k2, t1, t2, d1, d2, d3) - f(k1,\r
+ s2, l1, l2, d1, d2, d3) + f(k1, s2, l1, t2, d1, d2, d3) + f(k1, s2,\r
+ t1, l2, d1, d2, d3) - f(k1, s2, t1, t2, d1, d2, d3) - f(s1, k2, l1,\r
+ l2, d1, d2, d3) + f(s1, k2, l1, t2, d1, d2, d3) + f(s1, k2, t1, l2,\r
+ d1, d2, d3) - f(s1, l2, t1, t2, d1, d2, d3) + f(s1, s2, l1, l2, d1,\r
+ d2, d3) - f(s1, 0, l1, t2, d1, d2, d3) - f(s1, s2, t1, l2, d1, d2,\r
+ d3) + f(s1, s2, t1, t2, d1, d2, d3);\r
+}\r
+\r
+double slpADLO(double y1, double y2, double x1, double x2, double a) {\r
+ double G3 = 0;\r
+ double gL = 0;\r
+ double gK = 0;\r
+ double tmp;\r
+\r
+ tmp = y1 - x1;\r
+ if (fabs(tmp) >= EPS * y1) {\r
+ tmp = sqrt(y1 * y1 + x1 * x1 + a * a - 2 * y1 * x1);\r
+ gL = compute_g0(-0.5, y2, x2, tmp);\r
+ }\r
+ tmp = y2 - x2;\r
+ if (fabs(tmp) >= EPS * y2) {\r
+ tmp = sqrt(y2 * y2 + x2 * x2 + a * a - 2 * y2 * x2);\r
+ gK = compute_g0(-0.5, y1, x1, tmp);\r
+ }\r
+ if (fabs(a * a) > EPS) {\r
+ if ((y1 - x1) * (y2 - x2) * a >= 0)\r
+ tmp = 1.;\r
+ else\r
+ tmp = -1.;\r
+\r
+ G3 = tmp * acos(\r
+ (-2. * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2)) / (((y1\r
+ - x1) * (y1 - x1) + a * a) * ((y2 - x2) * (y2 - x2) + a\r
+ * a)) + 1.) / (2. * a);\r
+ }\r
+\r
+ return (y1 - x1) * gL + (y2 - x2) * gK - a * a * G3;\r
+}\r
+\r
+double compute_g0(double p, double y, double x, double a) {\r
+ int sp = (int) 2 * (p - EPS); // MK (p-EPS) instead of (p+EPS)\r
+ //printf("\n compute_g0, p = %lf, sp = %d\n",p,sp);\r
+ assert(\r
+ p == 0 || (p == -0.5) || (p == -1) || (p == -1.5) || (fabs(a)\r
+ <= EPS));\r
+ if (fabs(a) <= EPS) {\r
+ // printf("\n a < eps\n");\r
+ switch (sp) {\r
+ case 0:\r
+ return y - x;\r
+ case -1:\r
+ return log(fabs(x - y)) * (y - x) / fabs(y - x);\r
+ case -2:\r
+ return -(y - x) / fabs(y - x) / fabs(y - x);\r
+ case -3:\r
+ return -0.5 * (y - x) / fabs(y - x) / fabs(y - x) / fabs(y - x);\r
+ }\r
+ } else {\r
+ // printf("\n a > eps\n");\r
+ switch (sp) {\r
+ case 0:\r
+ return y - x;\r
+ case -1:\r
+ return asinh((y - x) / fabs(a));\r
+ case -2:\r
+ return atan((y - x) / fabs(a));\r
+ case -3:\r
+ return (y - x) * pow((x * x + y * y + a * a - 2 * x * y), -0.5)\r
+ / (a * a);\r
+ default:\r
+ printf("p must be either 0, -1/2, -1 or -3/2.");\r
+ return NAN;\r
+ }\r
+ }\r
+}\r
+\r
+double FLO_plane(double x1, double x2, double y1, double y2, double delta1,\r
+ double delta2, double a) {\r
+ double yd1 = y1 + delta1;\r
+ double yd2 = y2 + delta2;\r
+ double tmp1 = x1 - y1 - delta1;\r
+ double tmp2 = x2 - y2 - delta2;\r
+ double tmp3 = sqrt(tmp2 * tmp2 + a * a);\r
+ double tmp4 = sqrt(tmp1 * tmp1 + a * a);\r
+ double tmp5 = pow(tmp1 * tmp1 + tmp2 * tmp2 + a * a, 3. / 2.);\r
+ double rval = 0;\r
+\r
+ rval = tmp1 * tmp2 * slpADLO(x1, x2, yd1, yd2, a) - tmp1 * compute_g0(-0.5,\r
+ x1, yd1, tmp3) - tmp2 * compute_g0(-0.5, x2, yd2, tmp4) + tmp5 / 3.;\r
+ return rval;\r
+}\r
--- /dev/null
+#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
#include "../spaces/P0Space.hpp"
#include "TriangleIntegrator.hpp"
+#include "SLPrecangle.hpp"
+
#include <fstream>
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; i<s_.getNumberOfElements(); ++i)
-// std::cerr << rhs[i] << ", ";
-// std::cerr << std::endl;
+ const typename TMesh::Vertex& a1 = f1.getA();
+ const typename TMesh::Vertex& a2 = f2.getA();
- double u[s_.getNumberOfElements()];
- for ( int i=0; i<s_.getNumberOfElements(); ++i)
- u[i]=0;
- solve_gmres_supermatrix(hlibSupermatrix_,rhs,u,1e-6,100,0,HLIB_PREC_LU,0,HLIB_EVAL_DEFAULT,1);
-// for ( int i=0; i<s_.getNumberOfElements(); ++i)
-// std::cerr << u[i] << ", ";
-// std::cerr << std::endl;
- return 0;
+ return NAN;
}
-void SimpleLayerPotential::show()
+double SimpleLayerPotential::computeEntry(
+ const space::P0Space::Element &e1,
+ const space::P0Space::Element &e2)
{
- fullmatrix* f = hlibSupermatrix_->f;
- 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; i<rowClusterTree_->root->size; i++ ){
- for ( j=0; j<colClusterTree_->root->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;
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);
+ 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; i<row->size; i++ ){
for ( j=0; j<col->size; 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;i<row->sons;++i)
+ for(int j=0;j<col->sons;++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;i<row->sons;++i)
+ fill_supermatrix_aca_OLD(A->s[i],row->son[i],col,data,compute_entry,aca_eps);
+ }
+ } else {
+ for(int i=0;i<col->sons;++i)
+ fill_supermatrix_aca_OLD(A->s[i],row,col->son[i],data,compute_entry,aca_eps);
+ }
}
#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
+
#include <vector>
#include <cmath>
-#include "../boundary_mesh/Vertex.hpp"
-#include "../boundary_mesh/Face.hpp"
-
using namespace std;
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();
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();
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;
}
#define HILBERT3D_LAPLACE_TRIANGLEINTEGRATOR_HPP_GUARD_
#include <vector>
-#include "../boundary_mesh/Vertex.hpp"
-
-namespace boundary_mesh {
- class Face;
-}
+#include "../hilbert.hpp"
class TriangleIntegrator {
public:
* 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;
/**
* \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<double> m_r;
std::vector<double> m_s;
--- /dev/null
+%!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
--- /dev/null
+%!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
--- /dev/null
+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
-#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;
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();
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<s.getNumberOfElements(); ++i ){
- const BoundaryMesh::traits::Face &f1 = s[i].getSupport();
- rhs[i] = f1.area();
+ const BoundaryMesh::Face &f1 = s[i].getSupport();
+ rhs[i] = f1.computeArea();
}
-// V.show();
- double sol = V.solve(rhs);
+ commence = clock();
+ std::vector< double > solution = V.solveGMRes(rhs);
+ complete = clock();
+ lTime = (complete-commence);
+ std::cerr << "Time for solving: "
+ << lTime * 1000.0 / CLOCKS_PER_SEC << std::endl;
return 0;
}
+
--- /dev/null
+#############################################################################
+# 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:
+
--- /dev/null
+#ifndef HILBERT3D_MESH_EXPLORER_MESH_HPP_GUARD_
+#define HILBERT3D_MESH_EXPLORER_MESH_HPP_GUARD_
+
+#include "../boundary_mesh/FlexibleMesh.hpp"
+
+namespace mesh_explorer
+{
+}
+
+#endif
+
--- /dev/null
+#include "MeshWidget.hpp"
+
+#include <algorithm>
+#include <iostream>
+#include <limits>
+
+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();
+}
+
--- /dev/null
+#ifndef HILBERT3D_MESH_EXPLORER_MESHWIDGET_HPP_GUARD_
+#define HILBERT3D_MESH_EXPLORER_MESHWIDGET_HPP_GUARD_
+
+#include <QtGui>
+#include <QtOpenGL>
+#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
+
--- /dev/null
+#include <QApplication>
+#include <getopt.h>
+#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;
+}
+
--- /dev/null
+######################################################################
+# 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
--- /dev/null
+/****************************************************************************
+** 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 <QObject>."
+#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<void*>(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<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+
+// SIGNAL 1
+void mesh_explorer::MeshWidget::yRotationChanged(int _t1)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 1, _a);
+}
+
+// SIGNAL 2
+void mesh_explorer::MeshWidget::zRotationChanged(int _t1)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 2, _a);
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+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:
--- /dev/null
+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:
--- /dev/null
+#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
+
--- /dev/null
+# 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:
-bin_PROGRAMS = testP0Space
lib_LIBRARIES = libhilbert-spaces.a
+bin_PROGRAMS = testP0Space
libhilbert_spaces_adir = .
libhilbert_spaces_a_HEADERS = \
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)
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
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)
#include "../hilbert.hpp"
#include <vector>
extern "C" {
-#include "HLib/sparsematrix.h"
+#include <HLib/sparsematrix.h>
}
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];
}
-#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: "
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;
}
--- /dev/null
+timestamp for src/config.h
-\r
#include <iostream>\r
#include <cmath>\r
+#include <cassert>\r
#include "mex.h"\r
#include <stdlib.h>\r
\r
#define my_PI 3.141592653589793\r
+#define EPS 0.02\r
\r
using namespace std;\r
\r
// sol = F_ort(x1,x2,y1,y2,d1,d2,d3);\r
//double F_ort(double, double, double, double, double, double, double);\r
\r
+\r
+double slpADLO(double, double, double, double, double);\r
+double compute_g0(double, double, double, double);\r
+double FLO_plane(double, double, double, double, double, double, double);\r
+\r
+\r
// sol = quadInt((F_par/F_ort),s1,s2,k1,k2,t1,t2,l1,l2,d1,d2,d3);\r
-double quadInt(double (*)(double,double,double,double,double,double,double),\r
- double ,double, double ,double ,double ,double ,double ,double ,\r
- double , double , double );\r
-\r
-void mexFunction(\r
- int nlhs,\r
- mxArray *plhs[],\r
- int nrhs,\r
- const mxArray *prhs[]\r
- )\r
-{ \r
- //sicherheitsabfragen zu Datengroessen\r
- if (nrhs !=2)\r
- mexErrMsgTxt("expected (coordinates(Nx3),elements(Mx3))");\r
- if (nlhs >1)\r
- mexErrMsgTxt("has only one output argument");\r
- \r
- int cm = mxGetM(prhs[0]);\r
- int cn = mxGetN(prhs[0]);\r
- \r
- if(cn!=3)\r
- mexErrMsgTxt("expected coordinates (Nx3)");\r
- int em = mxGetM(prhs[1]);\r
- int en = mxGetN(prhs[1]);\r
- if(en!=3)\r
- mexErrMsgTxt("expected elements (Mx3)");\r
- //Vorbereitung der Daten\r
- \r
- plhs[0] = mxCreateDoubleMatrix(em,em,mxREAL);\r
- double * A = mxGetPr(plhs[0]);\r
- double * C = mxGetPr(prhs[0]);\r
- double * E = mxGetPr(prhs[1]);\r
- \r
- double * x1 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- double * x2 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- double * x3 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- double * xn = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- \r
- double * y1 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- double * y2 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- double * y3 = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- double * yn = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
- \r
- double * d = mxGetPr(mxCreateDoubleMatrix(3,1,mxREAL));\r
+double quadInt(\r
+ double(*)(double, double, double, double, double, double, double),\r
+ double, double, double, double, double, double, double, double, double,\r
+ double, double);\r
+\r
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {\r
+ //sicherheitsabfragen zu Datengroessen\r
+ if (nrhs != 2)\r
+ mexErrMsgTxt("expected (coordinates(Nx3),elements(Mx3))");\r
+ if (nlhs > 1)\r
+ mexErrMsgTxt("has only one output argument");\r
+\r
+ int cm = mxGetM(prhs[0]);\r
+ int cn = mxGetN(prhs[0]);\r
+\r
+ if (cn != 3)\r
+ mexErrMsgTxt("expected coordinates (Nx3)");\r
+ int em = mxGetM(prhs[1]);\r
+ int en = mxGetN(prhs[1]);\r
+ if (en != 3)\r
+ mexErrMsgTxt("expected elements (Mx3)");\r
+ //Vorbereitung der Daten\r
+\r
+ plhs[0] = mxCreateDoubleMatrix(em, em, mxREAL);\r
+ double * A = mxGetPr(plhs[0]);\r
+ double * C = mxGetPr(prhs[0]);\r
+ double * E = mxGetPr(prhs[1]);\r
+\r
+ double * x1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * x2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * x3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * xn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+\r
+ double * y1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * y2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * y3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+ double * yn = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
+\r
+ double * d = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL));\r
\r
double tmp;\r
\r
+ int rx, ry;\r
+\r
+ //Ausrechnen\r
+ for (int j = 0; j < em; ++j) {\r
+ x1[0] = C[(int) E[j] - 1];\r
+ x1[1] = C[cm + (int) E[j] - 1];\r
+ x1[2] = C[2 * cm + (int) E[j] - 1];\r
+\r
+ x2[0] = C[(int) E[em + j] - 1];\r
+ x2[1] = C[cm + (int) E[em + j] - 1];\r
+ x2[2] = C[2 * cm + (int) E[em + j] - 1];\r
+\r
+ x3[0] = C[(int) E[2 * em + j] - 1];\r
+ x3[1] = C[cm + (int) E[2 * em + j] - 1];\r
+ x3[2] = C[2 * cm + (int) E[2 * em + j] - 1];\r
+\r
+ xn[0] = (x2[1] - x1[1]) * (x3[2] - x1[2]) - (x2[2] - x1[2]) * (x3[1]\r
+ - x1[1]);\r
+ xn[1] = (x2[2] - x1[2]) * (x3[0] - x1[0]) - (x2[0] - x1[0]) * (x3[2]\r
+ - x1[2]);\r
+ xn[2] = (x2[0] - x1[0]) * (x3[1] - x1[1]) - (x2[1] - x1[1]) * (x3[0]\r
+ - x1[0]);\r
+\r
+ //if(xn[0]*xn[0]+xn[1]*xn[1]<xn[2]*xn[2])\r
+ if (xn[2] != 0)\r
+ rx = 2;\r
+ else if (xn[1] != 0)\r
+ rx = 1;\r
+ else\r
+ rx = 0;\r
+\r
+ // printf("(%d n- %f | %f | %f)\n",j,xn[0],xn[1],xn[2]);\r
+\r
+ for (int k = 0; k < em; ++k) {\r
+ y1[0] = C[(int) E[k] - 1];\r
+ y1[1] = C[cm + (int) E[k] - 1];\r
+ y1[2] = C[2 * cm + (int) E[k] - 1];\r
+\r
+ y2[0] = C[(int) E[em + k] - 1];\r
+ y2[1] = C[cm + (int) E[em + k] - 1];\r
+ y2[2] = C[2 * cm + (int) E[em + k] - 1];\r
+\r
+ y3[0] = C[(int) E[2 * em + k] - 1];\r
+ y3[1] = C[cm + (int) E[2 * em + k] - 1];\r
+ y3[2] = C[2 * cm + (int) E[2 * em + k] - 1];\r
+\r
+ yn[0] = (y2[1] - y1[1]) * (y3[2] - y1[2]) - (y2[2] - y1[2])\r
+ * (y3[1] - y1[1]);\r
+ yn[1] = (y2[2] - y1[2]) * (y3[0] - y1[0]) - (y2[0] - y1[0])\r
+ * (y3[2] - y1[2]);\r
+ yn[2] = (y2[0] - y1[0]) * (y3[1] - y1[1]) - (y2[1] - y1[1])\r
+ * (y3[0] - y1[0]);\r
+\r
+ if (yn[2] != 0)\r
+ ry = 2;\r
+ else if (yn[1] != 0)\r
+ ry = 1;\r
+ else\r
+ ry = 0;\r
+\r
+ d[0] = y1[0] - x1[0];\r
+ d[1] = y1[1] - x1[1];\r
+ d[2] = y1[2] - x1[2];\r
+\r
+ if (rx = ry) {\r
+ if (rx = 2) {\r
+ //printf("%d%d %.1f %.1f | %.1f %.1f || %.1f %.1f | %.1f %.1f || %.1f %.1f %.1f\n",j,k,x1[0],x1[1],x2[0],x3[1],y1[0],y1[1],y2[0],y3[1],d[0],d[1],d[2]);\r
+ //printf("%d%d %.1f %.1f %.1f\n",j,k,d[0],d[1],d[2]);\r
+ tmp = quadInt(FLO_plane, x1[0], x1[1], x2[0], x3[1], y1[0],\r
+ y1[1], y2[0], y3[1], d[0], d[1], d[2]);\r
+ // printf("%d%d|%.2f\n",j,k,tmp);\r
+ A[(k * em) + j] = 1. / (4 * my_PI) * tmp;\r
+\r
+ } else\r
+ A[(k * em) + j] = 0;\r
+ } else {\r
+ A[(k * em) + j] = 0;\r
+ }\r
+\r
+ // Vorbereiten der DATEN\r
+ // ej = coordinates(elements(j,:)',:);\r
+ // ek = coordinates(elements(k,:)',:);\r
+ // d = ek(1,:) - ej(1,:);\r
+\r
+ // AUSRECHNEN\r
+ // A[(k*em)+j] = 1./(4*my_PI);// *\r
+ // quadInt(F_par,\r
+ // ,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2));\r
+\r
+ }\r
\r
- int rx,ry;\r
- \r
- \r
- \r
- //Ausrechnen\r
-for (int j=0;j<em;++j){\r
- x1[0] = C[(int)E[j]-1];\r
- x1[1] = C[cm+(int)E[j]-1];\r
- x1[2] = C[2*cm+(int)E[j]-1];\r
-\r
- x2[0] = C[(int)E[em+j]-1];\r
- x2[1] = C[cm+(int)E[em+j]-1];\r
- x2[2] = C[2*cm+(int)E[em+j]-1];\r
-\r
- x3[0] = C[(int)E[2*em+j]-1];\r
- x3[1] = C[cm+(int)E[2*em+j]-1];\r
- x3[2] = C[2*cm+(int)E[2*em+j]-1];\r
-\r
- xn[0] = (x2[1]-x1[1])*(x3[2]-x1[2])-(x2[2]-x1[2])*(x3[1]-x1[1]);\r
- xn[1] = (x2[2]-x1[2])*(x3[0]-x1[0])-(x2[0]-x1[0])*(x3[2]-x1[2]);\r
- xn[2] = (x2[0]-x1[0])*(x3[1]-x1[1])-(x2[1]-x1[1])*(x3[0]-x1[0]);\r
-\r
- //if(xn[0]*xn[0]+xn[1]*xn[1]<xn[2]*xn[2])\r
- if(xn[2]!=0)\r
- rx = 2;\r
- else if(xn[1]!=0)\r
- rx = 1;\r
- else\r
- rx = 0;\r
-\r
- // printf("(%d n- %f | %f | %f)\n",j,xn[0],xn[1],xn[2]);\r
-\r
- for (int k=0;k<em;++k){\r
- y1[0] = C[(int)E[k]-1];\r
- y1[1] = C[cm+(int)E[k]-1];\r
- y1[2] = C[2*cm+(int)E[k]-1];\r
-\r
- y2[0] = C[(int)E[em+k]-1];\r
- y2[1] = C[cm+(int)E[em+k]-1];\r
- y2[2] = C[2*cm+(int)E[em+k]-1];\r
-\r
- y3[0] = C[(int)E[2*em+k]-1];\r
- y3[1] = C[cm+(int)E[2*em+k]-1];\r
- y3[2] = C[2*cm+(int)E[2*em+k]-1];\r
-\r
- yn[0] = (y2[1]-y1[1])*(y3[2]-y1[2])-(y2[2]-y1[2])*(y3[1]-y1[1]);\r
- yn[1] = (y2[2]-y1[2])*(y3[0]-y1[0])-(y2[0]-y1[0])*(y3[2]-y1[2]);\r
- yn[2] = (y2[0]-y1[0])*(y3[1]-y1[1])-(y2[1]-y1[1])*(y3[0]-y1[0]);\r
-\r
- if(yn[2]!=0)\r
- ry = 2;\r
- else if(yn[1]!=0)\r
- ry = 1;\r
- else\r
- ry = 0;\r
-\r
- d[0] = y1[0]-x1[0];\r
- d[1] = y1[1]-x1[1];\r
- d[2] = y1[2]-x1[2];\r
-\r
- if(rx=ry){\r
- if(rx=2){\r
- //printf("%d%d %.1f %.1f | %.1f %.1f || %.1f %.1f | %.1f %.1f || %.1f %.1f %.1f\n",j,k,x1[0],x1[1],x2[0],x3[1],y1[0],y1[1],y2[0],y3[1],d[0],d[1],d[2]);\r
- //printf("%d%d %.1f %.1f %.1f\n",j,k,d[0],d[1],d[2]);\r
- tmp = quadInt(F_par,x1[0],x1[1],x2[0],x3[1],y1[0],y1[1],y2[0],y3[1],d[0],d[1],d[2]);\r
- // printf("%d%d|%.2f\n",j,k,tmp);\r
- A[(k*em)+j] = 1./(4*my_PI)*tmp;\r
-\r
- }else\r
- A[(k*em)+j] = 0;\r
- }else{\r
- A[(k*em)+j] = 0;\r
- }\r
-\r
-\r
-\r
- \r
- // Vorbereiten der DATEN\r
- // ej = coordinates(elements(j,:)',:);\r
- // ek = coordinates(elements(k,:)',:);\r
- // d = ek(1,:) - ej(1,:);\r
-\r
- // AUSRECHNEN\r
- // A[(k*em)+j] = 1./(4*my_PI);// *\r
- // quadInt(F_par,\r
- // ,ej(1,1),ej(1,2),ej(2,1), ej(3,2),ek(1,1), ek(1,2),ek(2,1), ek(3,2));\r
-\r
- }\r
- \r
- \r
-} \r
- //Rueckgabe (eventuell zurueck schreiben) \r
- // mxFree(x1);\r
+ }\r
+ //Rueckgabe (eventuell zurueck schreiben)\r
+ // mxFree(x1);\r
//mxFree(x2);\r
//mxFree(x3);\r
//mxFree(y1);\r
//mxFree(xn);\r
//mxFree(yn);\r
//mxFree(d);\r
- \r
- return; \r
+\r
+ return;\r
}\r
\r
+int inline sign(double x) {\r
+ return x > 0 ? 1 : (x < 0 ? -1 : 0);\r
+}\r
+\r
+double inline arsinh(double x) {\r
+ return log(x + sqrt(x * x + 1));\r
+}\r
\r
- int inline sign(double x)\r
- {\r
- return x > 0 ? 1 : (x < 0 ? -1 : 0);\r
+//y-x muss != 0 sein\r
+double g0(double p, double y, double x, double l) {\r
+ //printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l);\r
+\r
+ double sol = 0;\r
+\r
+ if (l != 0) {\r
+ if (p == 0.5) {\r
+ sol = (y - x) / 2 * sqrt((y - x) * (y - x) + l * l) + l * l / 2\r
+ * arsinh((y - x) / fabs(l));\r
+ // printf("%.2f |",sol);\r
+ } else if (p == 0)\r
+ sol = y - x;\r
+ else if (p == -0.5)\r
+ sol = asinh((y - x) / fabs(l));\r
+ else if (p == -1)\r
+ sol = atan((y - x) / fabs(l));\r
+ else if (p == -1.5)\r
+ sol = (y - x) / ((l * l) * sqrt((y - x) * (y - x) + l * l));\r
+ else\r
+ sol = (y - x) * pow((y - x) * (y - x) + l * l, p) + 2 * p * l * l\r
+ * g0(p - 1, y, x, l) / (2 * p + 1);\r
+ } else {\r
+ if (p == -0.5)\r
+ sol = sign(y - x) * log(fabs(y - x));\r
+ else\r
+ sol = (y - x) * pow(fabs(y - x), 2 * p) / (2 * p + 1);\r
}\r
- \r
- double inline arsinh(double x)\r
- {\r
- return log(x+sqrt(x*x+1));\r
- }\r
- \r
- //y-x muss != 0 sein\r
- double g0(double p, double y, double x, double l){\r
- //printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l);\r
- \r
- double sol = 0;\r
-\r
- if(l!=0){\r
- if(p==0.5){\r
- sol = (y-x)/2*sqrt((y-x)*(y-x)+l*l)+\r
- l*l/2*arsinh((y-x)/abs(l));\r
- // printf("%.2f |",sol);\r
- }else if(p==0)\r
- sol = y-x;\r
- else if(p==-0.5)\r
- sol = arsinh((y-x)/abs(l));\r
- else if(p==-1)\r
- sol = atan((y-x)/abs(l));\r
- else if(p==-1.5)\r
- sol = (y-x)/((l*l)*sqrt((y-x)*(y-x)+l*l));\r
- else\r
- sol = (y-x)*pow((y-x)*(y-x)+l*l,p)+2*p*l*l*\r
- g0(p-1,y,x,l)/(2*p+1);\r
- }else{\r
- if(p==-0.5)\r
- sol = sign(y-x)*log(abs(y-x));\r
- else\r
- sol = (y-x)*pow(abs(y-x),2*p)/(2*p+1);\r
+\r
+ return sol;\r
+}\r
+\r
+double G00(double p, double y1, double y2, double x1, double x2, double l) {\r
+ // printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l);\r
+\r
+ double sol = 0;\r
+ if (p == -1.5) {\r
+ if (l == 0) {\r
+ sol = -sqrt((y1 - x1) * (y1 - x1) + (y2 - x2) * (y2 - x2)) / ((y1\r
+ - x1) * (y2 - x2));\r
+ } else {\r
+ sol = sign((y1 - x1) * (y2 - x2)) / (2 * fabs(l)) * acos(\r
+ -2 * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2) / (((y1\r
+ - x1) * (y1 - x1) + l * l) * ((y2 - x2) * (y2 - x2)\r
+ + l * l)) + 1);\r
}\r
- \r
- return sol;\r
- }\r
- \r
- double G00(double p, double y1,double y2, double x1,double x2, double l) {\r
-// printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l);\r
- \r
- double sol =0;\r
- if(p==-1.5){\r
- if(l==0){\r
- sol = -sqrt((y1-x1)*(y1-x1)+(y2-x2)*(y2-x2))\r
- /((y1-x1)*(y2-x2));\r
- }else{\r
- sol = sign((y1-x1)*(y2-x2))/(2*abs(l))\r
- * acos(-2*(y1-x1)*(y1-x1)*(y2-x2)*(y2-x2)\r
- /(((y1-x1)*(y1-x1)+l*l)*((y2-x2)*(y2-x2)+l*l))+1);\r
- }\r
\r
- }else if(p==-0.5){\r
- if(l!=0)\r
- sol = 2*p*l*l*G00(p-1,y1,y2,x1,x2,l); \r
- if((y1-x1)!=0)\r
- sol += (y1-x1)*g0(p,y2,x2,sqrt((y1-x1)*(y1-x1)+l*l));\r
- if((y2-x2)!=0)\r
- sol += (y2-x2)*g0(p,y1,x1,sqrt((y2-x2)*(y2-x2)+l*l));\r
- sol /= 2*p+2;\r
- }else{\r
- mexErrMsgTxt("no case for p defined");\r
- }\r
- \r
- return sol;\r
+ } else if (p == -0.5) {\r
+ if (l != 0)\r
+ sol = 2 * p * l * l * G00(p - 1, y1, y2, x1, x2, l);\r
+ if ((y1 - x1) != 0)\r
+ sol += (y1 - x1) * g0(p, y2, x2,\r
+ sqrt((y1 - x1) * (y1 - x1) + l * l));\r
+ if ((y2 - x2) != 0)\r
+ sol += (y2 - x2) * g0(p, y1, x1,\r
+ sqrt((y2 - x2) * (y2 - x2) + l * l));\r
+ sol /= 2 * p + 2;\r
+ } else {\r
+ mexErrMsgTxt("no case for p defined");\r
}\r
- \r
- \r
- double F_par(double x1,double x2,double y1,double y2,double d1,double d2,double d3)\r
- {\r
+\r
+ return sol;\r
+}\r
+\r
+double F_par(double x1, double x2, double y1, double y2, double d1, double d2,\r
+ double d3) {\r
\r
// printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y1,y2,d1,d2,d3);\r
- double sol = (x1-y1-d1)*(x2-y2-d2);\r
- \r
- if(sol!=0)\r
- sol *= G00(-0.5,x1,x2,y1+d1,y2+d2,d3);\r
-\r
- if((x1-y1-d1)!=0)\r
- sol -= (x1-y1-d1)*g0(0.5,x1,y1+d1,sqrt((x2-y2-d2)*(x2-y2-d2)+d3*d3));\r
-\r
- if((x2-y2-d2)!=0)\r
- sol -= (x2-y2-d2)*g0(0.5,x2,y2+d2,sqrt((x1-y1-d1)*(x1-y1-d1)+d3*d3));\r
-\r
- double hlp = ((x1-y1-d1)*(x1-y1-d1)+(x2-y2-d2)*(x2-y2-d2)+d3*d3);\r
- sol += 1./3*hlp*sqrt(hlp);\r
- return sol;\r
- }\r
- \r
- double inline quadInt(double (*f)(double,double,double,double,double,double,double),\r
- double s1,double s2,double k1,double k2,double t1,double t2,double l1,double l2,\r
- double d1, double d2, double d3)\r
- {\r
- \r
- 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)\r
- -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)\r
- -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)\r
- +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); \r
- }
\ No newline at end of file
+ double sol = (x1 - y1 - d1) * (x2 - y2 - d2);\r
+\r
+ if (sol != 0)\r
+ sol *= slpADLO( x1, x2, y1 + d1, y2 + d2, d3);\r
+\r
+ if ((x1 - y1 - d1) != 0)\r
+ sol -= (x1 - y1 - d1) * compute_g0(0.5, x1, y1 + d1,\r
+ sqrt((x2 - y2 - d2) * (x2 - y2 - d2) + d3 * d3));\r
+\r
+ if ((x2 - y2 - d2) != 0)\r
+ sol -= (x2 - y2 - d2) * compute_g0(0.5, x2, y2 + d2,\r
+ sqrt((x1 - y1 - d1) * (x1 - y1 - d1) + d3 * d3));\r
+\r
+ double hlp = ((x1 - y1 - d1) * (x1 - y1 - d1) + (x2 - y2 - d2) * (x2 - y2\r
+ - d2) + d3 * d3);\r
+ sol += 1. / 3 * hlp * sqrt(hlp);\r
+ return sol;\r
+}\r
+\r
+double inline quadInt(\r
+ double(*f)(double, double, double, double, double, double, double),\r
+ double s1, double s2, double k1, double k2, double t1, double t2,\r
+ double l1, double l2, double d1, double d2, double d3) {\r
+\r
+ return f(k1, k2, l1, l2, d1, d2, d3) - f(k1, k2, l1, t2, d1, d2, d3) - f(\r
+ k1, k2, t1, l2, d1, d2, d3) + f(k1, k2, t1, t2, d1, d2, d3) - f(k1,\r
+ s2, l1, l2, d1, d2, d3) + f(k1, s2, l1, t2, d1, d2, d3) + f(k1, s2,\r
+ t1, l2, d1, d2, d3) - f(k1, s2, t1, t2, d1, d2, d3) - f(s1, k2, l1,\r
+ l2, d1, d2, d3) + f(s1, k2, l1, t2, d1, d2, d3) + f(s1, k2, t1, l2,\r
+ d1, d2, d3) - f(s1, l2, t1, t2, d1, d2, d3) + f(s1, s2, l1, l2, d1,\r
+ d2, d3) - f(s1, 0, l1, t2, d1, d2, d3) - f(s1, s2, t1, l2, d1, d2,\r
+ d3) + f(s1, s2, t1, t2, d1, d2, d3);\r
+}\r
+\r
+double slpADLO(double y1, double y2, double x1, double x2, double a) {\r
+ double G3 = 0;\r
+ double gL = 0;\r
+ double gK = 0;\r
+ double tmp;\r
+\r
+ tmp = y1 - x1;\r
+ if (fabs(tmp) >= EPS * y1) {\r
+ tmp = sqrt(y1 * y1 + x1 * x1 + a * a - 2 * y1 * x1);\r
+ gL = compute_g0(-0.5, y2, x2, tmp);\r
+ }\r
+ tmp = y2 - x2;\r
+ if (fabs(tmp) >= EPS * y2) {\r
+ tmp = sqrt(y2 * y2 + x2 * x2 + a * a - 2 * y2 * x2);\r
+ gK = compute_g0(-0.5, y1, x1, tmp);\r
+ }\r
+ if (fabs(a * a) > EPS) {\r
+ if ((y1 - x1) * (y2 - x2) * a >= 0)\r
+ tmp = 1.;\r
+ else\r
+ tmp = -1.;\r
+\r
+ G3 = tmp * acos(\r
+ (-2. * (y1 - x1) * (y1 - x1) * (y2 - x2) * (y2 - x2)) / (((y1\r
+ - x1) * (y1 - x1) + a * a) * ((y2 - x2) * (y2 - x2) + a\r
+ * a)) + 1.) / (2. * a);\r
+ }\r
+\r
+ return (y1 - x1) * gL + (y2 - x2) * gK - a * a * G3;\r
+}\r
+\r
+double compute_g0(double p, double y, double x, double a) {\r
+ int sp = (int) 2 * (p - EPS); // MK (p-EPS) instead of (p+EPS)\r
+ //printf("\n compute_g0, p = %lf, sp = %d\n",p,sp);\r
+ assert(\r
+ p == 0 || (p == -0.5) || (p == -1) || (p == -1.5) || (fabs(a)\r
+ <= EPS));\r
+ if (fabs(a) <= EPS) {\r
+ // printf("\n a < eps\n");\r
+ switch (sp) {\r
+ case 0:\r
+ return y - x;\r
+ case -1:\r
+ return log(fabs(x - y)) * (y - x) / fabs(y - x);\r
+ case -2:\r
+ return -(y - x) / fabs(y - x) / fabs(y - x);\r
+ case -3:\r
+ return -0.5 * (y - x) / fabs(y - x) / fabs(y - x) / fabs(y - x);\r
+ }\r
+ } else {\r
+ // printf("\n a > eps\n");\r
+ switch (sp) {\r
+ case 0:\r
+ return y - x;\r
+ case -1:\r
+ return asinh((y - x) / fabs(a));\r
+ case -2:\r
+ return atan((y - x) / fabs(a));\r
+ case -3:\r
+ return (y - x) * pow((x * x + y * y + a * a - 2 * x * y), -0.5)\r
+ / (a * a);\r
+ default:\r
+ printf("p must be either 0, -1/2, -1 or -3/2.");\r
+ return NAN;\r
+ }\r
+ }\r
+}\r
+\r
+double FLO_plane(double x1, double x2, double y1, double y2, double delta1, double delta2, double a){\r
+ double yd1 = y1+delta1;\r
+ double yd2 = y2+delta2;\r
+ double tmp1 = x1-y1-delta1;\r
+ double tmp2 = x2-y2-delta2;\r
+ double tmp3 = sqrt( tmp2*tmp2 + a*a );\r
+ double tmp4 = sqrt( tmp1*tmp1 + a*a );\r
+ double tmp5 = pow(tmp1*tmp1 + tmp2*tmp2 + a*a,3./2.);\r
+ double rval = 0;\r
+\r
+ rval = tmp1*tmp2*slpADLO(x1,x2,yd1,yd2,a)\r
+ - tmp1*compute_g0(-0.5,x1,yd1,tmp3)\r
+ - tmp2*compute_g0(-0.5,x2,yd2,tmp4)\r
+ + tmp5/3.;\r
+ return rval;\r
+}\r
--- /dev/null
+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
+
\r
load exmpl_2DLShape\r
\r
-A = build_A2(coordinates,elements);\r
+A = build_A(coordinates,elements);\r
b = sqrt(sum(quad_norm(coordinates,elements,'w').^2,2));\r
x = A\b\r
xe = x'*A*x;\r
\r
[coordinates_fine,elements_fine, f2s]=refineQuad(coordinates,elements,ones(1,size(elements,1)));\r
-A_fine = build_A2(coordinates_fine,elements_fine);\r
+A_fine = build_A(coordinates_fine,elements_fine);\r
b = sqrt(sum(quad_norm(coordinates_fine,elements_fine,'w').^2,2));\r
x_fine = A_fine\b;\r
xe_fine = x_fine'*A_fine*x_fine;\r