mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-24 21:10:33 +05:00
ARRAY -> Array
This commit is contained in:
parent
3ce7cbc62f
commit
91d5c9888d
27
Makefile.in
27
Makefile.in
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -372,8 +372,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -398,8 +398,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -409,12 +409,13 @@ ctags: CTAGS
|
|||||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
@ -485,10 +486,6 @@ dist-bzip2: distdir
|
|||||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
|
|
||||||
dist-lzma: distdir
|
|
||||||
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
|
|
||||||
$(am__remove_distdir)
|
|
||||||
|
|
||||||
dist-tarZ: distdir
|
dist-tarZ: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
@ -515,8 +512,6 @@ distcheck: dist
|
|||||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||||
*.tar.bz2*) \
|
*.tar.bz2*) \
|
||||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||||
*.tar.lzma*) \
|
|
||||||
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
|
|
||||||
*.tar.Z*) \
|
*.tar.Z*) \
|
||||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||||
*.shar.gz*) \
|
*.shar.gz*) \
|
||||||
@ -668,8 +663,8 @@ uninstall-am:
|
|||||||
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||||
all all-am am--refresh check check-am clean clean-generic \
|
all all-am am--refresh check check-am clean clean-generic \
|
||||||
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
|
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
|
||||||
dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
|
dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
|
||||||
distclean distclean-generic distclean-hdr distclean-libtool \
|
distclean-generic distclean-hdr distclean-libtool \
|
||||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||||
dvi-am html html-am info info-am install install-am \
|
dvi-am html html-am info info-am install install-am \
|
||||||
install-data install-data-am install-dvi install-dvi-am \
|
install-data install-data-am install-dvi install-dvi-am \
|
||||||
|
6674
aclocal.m4
vendored
6674
aclocal.m4
vendored
File diff suppressed because it is too large
Load Diff
11
doc/ng4.tex
11
doc/ng4.tex
@ -1,3 +1,14 @@
|
|||||||
|
%
|
||||||
|
% Requires latex and latex2html packages
|
||||||
|
%
|
||||||
|
% Generate pdf-file with
|
||||||
|
% pdflatex ng4.tex
|
||||||
|
%
|
||||||
|
% Generate html docu with
|
||||||
|
% latex2html ng4.tex
|
||||||
|
%
|
||||||
|
|
||||||
|
|
||||||
\documentclass[12pt]{book}
|
\documentclass[12pt]{book}
|
||||||
\usepackage{a4, epsf, graphicx}
|
\usepackage{a4, epsf, graphicx}
|
||||||
\usepackage{html}
|
\usepackage{html}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -333,8 +333,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -359,8 +359,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -370,12 +370,13 @@ ctags: CTAGS
|
|||||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -54,7 +54,7 @@ am_libcsg_la_OBJECTS = algprim.lo brick.lo bspline2d.lo csgeom.lo \
|
|||||||
meshsurf.lo polyhedra.lo revolution.lo singularref.lo solid.lo \
|
meshsurf.lo polyhedra.lo revolution.lo singularref.lo solid.lo \
|
||||||
specpoin.lo spline3d.lo surface.lo triapprox.lo
|
specpoin.lo spline3d.lo surface.lo triapprox.lo
|
||||||
libcsg_la_OBJECTS = $(am_libcsg_la_OBJECTS)
|
libcsg_la_OBJECTS = $(am_libcsg_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
@ -349,8 +349,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -362,8 +362,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -373,12 +373,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -108,7 +108,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void Plane :: GetPrimitiveData (const char *& classname,
|
void Plane :: GetPrimitiveData (const char *& classname,
|
||||||
ARRAY<double> & coeffs) const
|
Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "plane";
|
classname = "plane";
|
||||||
coeffs.SetSize (6);
|
coeffs.SetSize (6);
|
||||||
@ -120,7 +120,7 @@ namespace netgen
|
|||||||
coeffs.Elem(6) = n(2);
|
coeffs.Elem(6) = n(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Plane :: SetPrimitiveData (ARRAY<double> & coeffs)
|
void Plane :: SetPrimitiveData (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
p(0) = coeffs.Elem(1);
|
p(0) = coeffs.Elem(1);
|
||||||
p(1) = coeffs.Elem(2);
|
p(1) = coeffs.Elem(2);
|
||||||
@ -376,7 +376,7 @@ namespace netgen
|
|||||||
c1 = (c(0) * c(0) + c(1) * c(1) + c(2) * c(2)) / (2 * r) - r / 2;
|
c1 = (c(0) * c(0) + c(1) * c(1) + c(2) * c(2)) / (2 * r) - r / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sphere :: GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const
|
void Sphere :: GetPrimitiveData (const char *& classname, Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "sphere";
|
classname = "sphere";
|
||||||
coeffs.SetSize (4);
|
coeffs.SetSize (4);
|
||||||
@ -386,7 +386,7 @@ namespace netgen
|
|||||||
coeffs.Elem(4) = r;
|
coeffs.Elem(4) = r;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sphere :: SetPrimitiveData (ARRAY<double> & coeffs)
|
void Sphere :: SetPrimitiveData (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
c(0) = coeffs.Elem(1);
|
c(0) = coeffs.Elem(1);
|
||||||
c(1) = coeffs.Elem(2);
|
c(1) = coeffs.Elem(2);
|
||||||
@ -734,7 +734,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Cylinder :: Cylinder (ARRAY<double> & coeffs)
|
Cylinder :: Cylinder (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
SetPrimitiveData(coeffs);
|
SetPrimitiveData(coeffs);
|
||||||
}
|
}
|
||||||
@ -776,7 +776,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Cylinder :: GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const
|
void Cylinder :: GetPrimitiveData (const char *& classname, Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "cylinder";
|
classname = "cylinder";
|
||||||
coeffs.SetSize (7);
|
coeffs.SetSize (7);
|
||||||
@ -789,7 +789,7 @@ namespace netgen
|
|||||||
coeffs.Elem(7) = r;
|
coeffs.Elem(7) = r;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Cylinder :: SetPrimitiveData (ARRAY<double> & coeffs)
|
void Cylinder :: SetPrimitiveData (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
a(0) = coeffs.Elem(1);
|
a(0) = coeffs.Elem(1);
|
||||||
a(1) = coeffs.Elem(2);
|
a(1) = coeffs.Elem(2);
|
||||||
@ -1266,7 +1266,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Cone :: GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const
|
void Cone :: GetPrimitiveData (const char *& classname, Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "cone";
|
classname = "cone";
|
||||||
coeffs.SetSize (8);
|
coeffs.SetSize (8);
|
||||||
@ -1280,7 +1280,7 @@ namespace netgen
|
|||||||
coeffs.Elem(8) = rb;
|
coeffs.Elem(8) = rb;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Cone :: SetPrimitiveData (ARRAY<double> & coeffs)
|
void Cone :: SetPrimitiveData (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
a(0) = coeffs.Elem(1);
|
a(0) = coeffs.Elem(1);
|
||||||
a(1) = coeffs.Elem(2);
|
a(1) = coeffs.Elem(2);
|
||||||
@ -1469,7 +1469,7 @@ namespace netgen
|
|||||||
r = ar;
|
r = ar;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Torus :: GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const
|
void Torus :: GetPrimitiveData (const char *& classname, Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "torus";
|
classname = "torus";
|
||||||
coeffs.SetSize (8);
|
coeffs.SetSize (8);
|
||||||
@ -1483,7 +1483,7 @@ namespace netgen
|
|||||||
coeffs.Elem(8) = r;
|
coeffs.Elem(8) = r;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Torus :: SetPrimitiveData (ARRAY<double> & coeffs)
|
void Torus :: SetPrimitiveData (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
c(0) = coeffs.Elem(1);
|
c(0) = coeffs.Elem(1);
|
||||||
c(1) = coeffs.Elem(2);
|
c(1) = coeffs.Elem(2);
|
||||||
|
@ -62,8 +62,8 @@ public:
|
|||||||
Plane (const Point<3> & ap, Vec<3> an);
|
Plane (const Point<3> & ap, Vec<3> an);
|
||||||
|
|
||||||
virtual void GetPrimitiveData (const char *& classname,
|
virtual void GetPrimitiveData (const char *& classname,
|
||||||
ARRAY<double> & coeffs) const;
|
Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
static Primitive * CreateDefault ();
|
static Primitive * CreateDefault ();
|
||||||
|
|
||||||
virtual Primitive * Copy () const;
|
virtual Primitive * Copy () const;
|
||||||
@ -124,8 +124,8 @@ public:
|
|||||||
Sphere (const Point<3> & ac, double ar);
|
Sphere (const Point<3> & ac, double ar);
|
||||||
|
|
||||||
virtual void GetPrimitiveData (const char *& classname,
|
virtual void GetPrimitiveData (const char *& classname,
|
||||||
ARRAY<double> & coeffs) const;
|
Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
static Primitive * CreateDefault ();
|
static Primitive * CreateDefault ();
|
||||||
|
|
||||||
virtual Primitive * Copy () const;
|
virtual Primitive * Copy () const;
|
||||||
@ -177,10 +177,10 @@ class Cylinder : public QuadraticSurface
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
Cylinder (const Point<3> & aa, const Point<3> & ab, double ar);
|
Cylinder (const Point<3> & aa, const Point<3> & ab, double ar);
|
||||||
Cylinder (ARRAY<double> & coeffs);
|
Cylinder (Array<double> & coeffs);
|
||||||
|
|
||||||
virtual void GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const;
|
virtual void GetPrimitiveData (const char *& classname, Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
static Primitive * CreateDefault ();
|
static Primitive * CreateDefault ();
|
||||||
|
|
||||||
virtual Primitive * Copy () const;
|
virtual Primitive * Copy () const;
|
||||||
@ -238,8 +238,8 @@ public:
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
static Primitive * CreateDefault ();
|
static Primitive * CreateDefault ();
|
||||||
virtual void GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const;
|
virtual void GetPrimitiveData (const char *& classname, Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
*/
|
*/
|
||||||
///
|
///
|
||||||
virtual INSOLID_TYPE BoxInSolid (const BoxSphere<3> & box) const;
|
virtual INSOLID_TYPE BoxInSolid (const BoxSphere<3> & box) const;
|
||||||
@ -324,8 +324,8 @@ public:
|
|||||||
Cone (const Point<3> & aa, const Point<3> & ab, double ara, double arb);
|
Cone (const Point<3> & aa, const Point<3> & ab, double ara, double arb);
|
||||||
///
|
///
|
||||||
static Primitive * CreateDefault ();
|
static Primitive * CreateDefault ();
|
||||||
virtual void GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const;
|
virtual void GetPrimitiveData (const char *& classname, Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
|
|
||||||
///
|
///
|
||||||
virtual INSOLID_TYPE BoxInSolid (const BoxSphere<3> & box) const;
|
virtual INSOLID_TYPE BoxInSolid (const BoxSphere<3> & box) const;
|
||||||
@ -392,9 +392,9 @@ public:
|
|||||||
virtual Point<3> GetSurfacePoint () const;
|
virtual Point<3> GetSurfacePoint () const;
|
||||||
/// OK
|
/// OK
|
||||||
virtual void GetPrimitiveData (const char *& classname,
|
virtual void GetPrimitiveData (const char *& classname,
|
||||||
ARRAY<double> & coeffs) const;
|
Array<double> & coeffs) const;
|
||||||
/// OK
|
/// OK
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
/// OK
|
/// OK
|
||||||
static Primitive * CreateDefault ();
|
static Primitive * CreateDefault ();
|
||||||
/// OK
|
/// OK
|
||||||
|
@ -343,7 +343,7 @@ INSOLID_TYPE Brick :: VecInSolid4 (const Point<3> & p,
|
|||||||
|
|
||||||
|
|
||||||
void Brick ::
|
void Brick ::
|
||||||
GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const
|
GetPrimitiveData (const char *& classname, Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "brick";
|
classname = "brick";
|
||||||
coeffs.SetSize(12);
|
coeffs.SetSize(12);
|
||||||
@ -364,7 +364,7 @@ GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const
|
|||||||
coeffs.Elem(12) = p4(2);
|
coeffs.Elem(12) = p4(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Brick :: SetPrimitiveData (ARRAY<double> & coeffs)
|
void Brick :: SetPrimitiveData (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
p1(0) = coeffs.Elem(1);
|
p1(0) = coeffs.Elem(1);
|
||||||
p1(1) = coeffs.Elem(2);
|
p1(1) = coeffs.Elem(2);
|
||||||
@ -414,7 +414,7 @@ void Brick :: CalcData()
|
|||||||
{ 1, 5, 3, 7 },
|
{ 1, 5, 3, 7 },
|
||||||
{ 2, 4, 6, 8 } };
|
{ 2, 4, 6, 8 } };
|
||||||
|
|
||||||
ARRAY<double> data(6);
|
Array<double> data(6);
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
const Point<3> lp1 = pi[lface[i][0]-1];
|
const Point<3> lp1 = pi[lface[i][0]-1];
|
||||||
|
@ -51,8 +51,8 @@ class Brick : public Primitive
|
|||||||
{
|
{
|
||||||
Point<3> p1, p2, p3, p4;
|
Point<3> p1, p2, p3, p4;
|
||||||
Vec<3> v12, v13, v14;
|
Vec<3> v12, v13, v14;
|
||||||
// ARRAY<OneSurfacePrimitive*> faces;
|
// Array<OneSurfacePrimitive*> faces;
|
||||||
ARRAY<Plane*> faces;
|
Array<Plane*> faces;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Brick (Point<3> ap1, Point<3> ap2, Point<3> ap3, Point<3> ap4);
|
Brick (Point<3> ap1, Point<3> ap2, Point<3> ap3, Point<3> ap4);
|
||||||
@ -95,8 +95,8 @@ public:
|
|||||||
{ return *faces[i]; }
|
{ return *faces[i]; }
|
||||||
|
|
||||||
|
|
||||||
virtual void GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const;
|
virtual void GetPrimitiveData (const char *& classname, Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
|
|
||||||
virtual void Reduce (const BoxSphere<3> & box);
|
virtual void Reduce (const BoxSphere<3> & box);
|
||||||
virtual void UnReduce ();
|
virtual void UnReduce ();
|
||||||
|
@ -73,7 +73,7 @@ namespace netgen
|
|||||||
|
|
||||||
void CSGeometry :: Clean ()
|
void CSGeometry :: Clean ()
|
||||||
{
|
{
|
||||||
ARRAY< Solid* > to_delete;
|
Array< Solid* > to_delete;
|
||||||
|
|
||||||
for (int i = 0; i < solids.Size(); i++)
|
for (int i = 0; i < solids.Size(); i++)
|
||||||
if(!to_delete.Contains(solids[i]->S1()))
|
if(!to_delete.Contains(solids[i]->S1()))
|
||||||
@ -151,7 +151,7 @@ namespace netgen
|
|||||||
if (prim)
|
if (prim)
|
||||||
{
|
{
|
||||||
const char * classname;
|
const char * classname;
|
||||||
ARRAY<double> coeffs;
|
Array<double> coeffs;
|
||||||
|
|
||||||
prim -> GetPrimitiveData (classname, coeffs);
|
prim -> GetPrimitiveData (classname, coeffs);
|
||||||
|
|
||||||
@ -222,7 +222,7 @@ namespace netgen
|
|||||||
|
|
||||||
char key[100], name[100], classname[100], sname[100];
|
char key[100], name[100], classname[100], sname[100];
|
||||||
int ncoeff, i, j;
|
int ncoeff, i, j;
|
||||||
ARRAY<double> coeff;
|
Array<double> coeff;
|
||||||
|
|
||||||
while (ist.good())
|
while (ist.good())
|
||||||
{
|
{
|
||||||
@ -320,7 +320,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ARRAY<double> coeffs;
|
Array<double> coeffs;
|
||||||
const char * classname;
|
const char * classname;
|
||||||
|
|
||||||
out << "csgsurfaces " << GetNSurf() << "\n";
|
out << "csgsurfaces " << GetNSurf() << "\n";
|
||||||
@ -361,7 +361,7 @@ namespace netgen
|
|||||||
|
|
||||||
void CSGeometry :: LoadSurfaces (istream & in)
|
void CSGeometry :: LoadSurfaces (istream & in)
|
||||||
{
|
{
|
||||||
ARRAY<double> coeffs;
|
Array<double> coeffs;
|
||||||
string classname;
|
string classname;
|
||||||
int nsurfaces,size;
|
int nsurfaces,size;
|
||||||
|
|
||||||
@ -632,7 +632,7 @@ namespace netgen
|
|||||||
void CSGeometry :: SetFlags (const char * solidname, const Flags & flags)
|
void CSGeometry :: SetFlags (const char * solidname, const Flags & flags)
|
||||||
{
|
{
|
||||||
Solid * solid = solids.Elem(solidname);
|
Solid * solid = solids.Elem(solidname);
|
||||||
ARRAY<int> surfind;
|
Array<int> surfind;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
double maxh = flags.GetNumFlag ("maxh", -1);
|
double maxh = flags.GetNumFlag ("maxh", -1);
|
||||||
@ -662,7 +662,7 @@ namespace netgen
|
|||||||
|
|
||||||
if (flags.StringListFlagDefined ("bcname"))
|
if (flags.StringListFlagDefined ("bcname"))
|
||||||
{
|
{
|
||||||
const ARRAY<char*> & bcname = flags.GetStringListFlag("bcname");
|
const Array<char*> & bcname = flags.GetStringListFlag("bcname");
|
||||||
|
|
||||||
Polyhedra * polyh;
|
Polyhedra * polyh;
|
||||||
if(solid->S1())
|
if(solid->S1())
|
||||||
@ -672,7 +672,7 @@ namespace netgen
|
|||||||
|
|
||||||
if(polyh)
|
if(polyh)
|
||||||
{
|
{
|
||||||
ARRAY < ARRAY<int> * > polysurfs;
|
Array < Array<int> * > polysurfs;
|
||||||
polyh->GetPolySurfs(polysurfs);
|
polyh->GetPolySurfs(polysurfs);
|
||||||
if(bcname.Size() != polysurfs.Size())
|
if(bcname.Size() != polysurfs.Size())
|
||||||
cerr << "WARNING: solid \"" << solidname << "\" has " << polysurfs.Size()
|
cerr << "WARNING: solid \"" << solidname << "\" has " << polysurfs.Size()
|
||||||
@ -716,7 +716,7 @@ namespace netgen
|
|||||||
|
|
||||||
if (flags.NumListFlagDefined ("bc"))
|
if (flags.NumListFlagDefined ("bc"))
|
||||||
{
|
{
|
||||||
const ARRAY<double> & bcnum = flags.GetNumListFlag("bc");
|
const Array<double> & bcnum = flags.GetNumListFlag("bc");
|
||||||
|
|
||||||
Polyhedra * polyh;
|
Polyhedra * polyh;
|
||||||
if(solid->S1())
|
if(solid->S1())
|
||||||
@ -726,7 +726,7 @@ namespace netgen
|
|||||||
|
|
||||||
if(polyh)
|
if(polyh)
|
||||||
{
|
{
|
||||||
ARRAY < ARRAY<int> * > polysurfs;
|
Array < Array<int> * > polysurfs;
|
||||||
polyh->GetPolySurfs(polysurfs);
|
polyh->GetPolySurfs(polysurfs);
|
||||||
if(bcnum.Size() != polysurfs.Size())
|
if(bcnum.Size() != polysurfs.Size())
|
||||||
cerr << "WARNING: solid \"" << solidname << "\" has " << polysurfs.Size()
|
cerr << "WARNING: solid \"" << solidname << "\" has " << polysurfs.Size()
|
||||||
@ -797,7 +797,7 @@ namespace netgen
|
|||||||
void CSGeometry ::
|
void CSGeometry ::
|
||||||
GetSurfaceIndices (const Solid * sol,
|
GetSurfaceIndices (const Solid * sol,
|
||||||
const BoxSphere<3> & box,
|
const BoxSphere<3> & box,
|
||||||
ARRAY<int> & locsurf) const
|
Array<int> & locsurf) const
|
||||||
{
|
{
|
||||||
ReducePrimitiveIterator rpi(box);
|
ReducePrimitiveIterator rpi(box);
|
||||||
UnReducePrimitiveIterator urpi;
|
UnReducePrimitiveIterator urpi;
|
||||||
@ -826,7 +826,7 @@ namespace netgen
|
|||||||
void CSGeometry ::
|
void CSGeometry ::
|
||||||
GetIndependentSurfaceIndices (const Solid * sol,
|
GetIndependentSurfaceIndices (const Solid * sol,
|
||||||
const BoxSphere<3> & box,
|
const BoxSphere<3> & box,
|
||||||
ARRAY<int> & locsurf) const
|
Array<int> & locsurf) const
|
||||||
{
|
{
|
||||||
ReducePrimitiveIterator rpi(box);
|
ReducePrimitiveIterator rpi(box);
|
||||||
UnReducePrimitiveIterator urpi;
|
UnReducePrimitiveIterator urpi;
|
||||||
@ -885,7 +885,7 @@ namespace netgen
|
|||||||
void CSGeometry ::
|
void CSGeometry ::
|
||||||
GetIndependentSurfaceIndices (const Solid * sol,
|
GetIndependentSurfaceIndices (const Solid * sol,
|
||||||
const Point<3> & p, Vec<3> & v,
|
const Point<3> & p, Vec<3> & v,
|
||||||
ARRAY<int> & locsurf) const
|
Array<int> & locsurf) const
|
||||||
{
|
{
|
||||||
cout << "very dangerous" << endl;
|
cout << "very dangerous" << endl;
|
||||||
Point<3> p2 = p + 1e-2 * v;
|
Point<3> p2 = p + 1e-2 * v;
|
||||||
@ -897,7 +897,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void CSGeometry ::
|
void CSGeometry ::
|
||||||
GetIndependentSurfaceIndices (ARRAY<int> & locsurf) const
|
GetIndependentSurfaceIndices (Array<int> & locsurf) const
|
||||||
{
|
{
|
||||||
for (int i = 0; i < locsurf.Size(); i++)
|
for (int i = 0; i < locsurf.Size(); i++)
|
||||||
locsurf[i] = isidenticto[locsurf[i]];
|
locsurf[i] = isidenticto[locsurf[i]];
|
||||||
@ -938,7 +938,7 @@ namespace netgen
|
|||||||
delete triapprox[i];
|
delete triapprox[i];
|
||||||
triapprox.SetSize (ntlo);
|
triapprox.SetSize (ntlo);
|
||||||
|
|
||||||
ARRAY<int> surfind;
|
Array<int> surfind;
|
||||||
IndexSet iset(GetNSurf());
|
IndexSet iset(GetNSurf());
|
||||||
|
|
||||||
for (int i = 0; i < ntlo; i++)
|
for (int i = 0; i < ntlo; i++)
|
||||||
@ -1062,7 +1062,7 @@ namespace netgen
|
|||||||
|
|
||||||
// IndexSet iset(GetNSurf());
|
// IndexSet iset(GetNSurf());
|
||||||
locsol -> GetSurfaceIndices (iset);
|
locsol -> GetSurfaceIndices (iset);
|
||||||
const ARRAY<int> & lsurfi = iset.Array();
|
const Array<int> & lsurfi = iset.Array();
|
||||||
|
|
||||||
locsol -> IterateSolid (urpi);
|
locsol -> IterateSolid (urpi);
|
||||||
|
|
||||||
|
@ -93,10 +93,10 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
/// primitive of surface
|
/// primitive of surface
|
||||||
ARRAY<const Primitive*> surf2prim;
|
Array<const Primitive*> surf2prim;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ARRAY<Surface*> delete_them;
|
Array<Surface*> delete_them;
|
||||||
|
|
||||||
/// all named solids
|
/// all named solids
|
||||||
SYMBOLTABLE<Solid*> solids;
|
SYMBOLTABLE<Solid*> solids;
|
||||||
@ -107,16 +107,16 @@ private:
|
|||||||
SYMBOLTABLE< SplineGeometry<3>* > splinecurves3d;
|
SYMBOLTABLE< SplineGeometry<3>* > splinecurves3d;
|
||||||
|
|
||||||
/// all top level objects: solids and surfaces
|
/// all top level objects: solids and surfaces
|
||||||
ARRAY<TopLevelObject*> toplevelobjects;
|
Array<TopLevelObject*> toplevelobjects;
|
||||||
|
|
||||||
/// additional points specified by user
|
/// additional points specified by user
|
||||||
ARRAY<Point<3> > userpoints;
|
Array<Point<3> > userpoints;
|
||||||
ARRAY<double> userpoints_ref_factor;
|
Array<double> userpoints_ref_factor;
|
||||||
|
|
||||||
mutable ARRAY<Point<3> > identpoints;
|
mutable Array<Point<3> > identpoints;
|
||||||
|
|
||||||
/// triangular approximation of top level objects
|
/// triangular approximation of top level objects
|
||||||
ARRAY<TriangleApproximation*> triapprox;
|
Array<TriangleApproximation*> triapprox;
|
||||||
|
|
||||||
/// increment, if geometry is changed
|
/// increment, if geometry is changed
|
||||||
static int changeval;
|
static int changeval;
|
||||||
@ -129,7 +129,7 @@ private:
|
|||||||
|
|
||||||
/// identic surfaces are stored by pair of indizes, val = inverse
|
/// identic surfaces are stored by pair of indizes, val = inverse
|
||||||
INDEX_2_HASHTABLE<int> identicsurfaces;
|
INDEX_2_HASHTABLE<int> identicsurfaces;
|
||||||
ARRAY<int> isidenticto;
|
Array<int> isidenticto;
|
||||||
/// identification of boundaries (periodic, thin domains, ...)
|
/// identification of boundaries (periodic, thin domains, ...)
|
||||||
|
|
||||||
double ideps;
|
double ideps;
|
||||||
@ -223,10 +223,10 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
// quick implementations:
|
// quick implementations:
|
||||||
ARRAY<SingularFace*> singfaces;
|
Array<SingularFace*> singfaces;
|
||||||
ARRAY<SingularEdge*> singedges;
|
Array<SingularEdge*> singedges;
|
||||||
ARRAY<SingularPoint*> singpoints;
|
Array<SingularPoint*> singpoints;
|
||||||
ARRAY<Identification*> identifications;
|
Array<Identification*> identifications;
|
||||||
|
|
||||||
int GetNIdentifications (void) const { return identifications.Size(); }
|
int GetNIdentifications (void) const { return identifications.Size(); }
|
||||||
void AddIdentification (Identification * ident);
|
void AddIdentification (Identification * ident);
|
||||||
@ -241,17 +241,17 @@ public:
|
|||||||
///
|
///
|
||||||
void GetSurfaceIndices (const Solid * sol,
|
void GetSurfaceIndices (const Solid * sol,
|
||||||
const BoxSphere<3> & box,
|
const BoxSphere<3> & box,
|
||||||
ARRAY<int> & locsurf) const;
|
Array<int> & locsurf) const;
|
||||||
///
|
///
|
||||||
void GetIndependentSurfaceIndices (const Solid * sol,
|
void GetIndependentSurfaceIndices (const Solid * sol,
|
||||||
const BoxSphere<3> & box,
|
const BoxSphere<3> & box,
|
||||||
ARRAY<int> & locsurf) const;
|
Array<int> & locsurf) const;
|
||||||
///
|
///
|
||||||
void GetIndependentSurfaceIndices (const Solid * sol,
|
void GetIndependentSurfaceIndices (const Solid * sol,
|
||||||
const Point<3> & p, Vec<3> & v,
|
const Point<3> & p, Vec<3> & v,
|
||||||
ARRAY<int> & locsurf) const;
|
Array<int> & locsurf) const;
|
||||||
///
|
///
|
||||||
void GetIndependentSurfaceIndices (ARRAY<int> & locsurf) const;
|
void GetIndependentSurfaceIndices (Array<int> & locsurf) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
int GetSurfaceClassRepresentant (int si) const
|
int GetSurfaceClassRepresentant (int si) const
|
||||||
@ -302,7 +302,7 @@ public:
|
|||||||
string * bcname;
|
string * bcname;
|
||||||
};
|
};
|
||||||
|
|
||||||
ARRAY<BCModification> bcmodifications;
|
Array<BCModification> bcmodifications;
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -389,7 +389,7 @@ namespace netgen
|
|||||||
int inputface = 0;
|
int inputface = 0;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
ARRAY<int> pnums,cleaned_pnums;
|
Array<int> pnums,cleaned_pnums;
|
||||||
for(int i=0; i<3; i++)
|
for(int i=0; i<3; i++)
|
||||||
{
|
{
|
||||||
pnums.Append((int) (ParseNumber (scan)));
|
pnums.Append((int) (ParseNumber (scan)));
|
||||||
@ -717,7 +717,7 @@ namespace netgen
|
|||||||
|
|
||||||
if(scan.GetToken() == '-' || scan.GetToken() == TOK_NUM)
|
if(scan.GetToken() == '-' || scan.GetToken() == TOK_NUM)
|
||||||
{
|
{
|
||||||
ARRAY<double> vals;
|
Array<double> vals;
|
||||||
vals.Append (ParseNumber(scan));
|
vals.Append (ParseNumber(scan));
|
||||||
while (scan.GetToken() == ',')
|
while (scan.GetToken() == ',')
|
||||||
{
|
{
|
||||||
@ -729,7 +729,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // string list
|
{ // string list
|
||||||
ARRAY<char*> vals;
|
Array<char*> vals;
|
||||||
string val = scan.GetStringValue();
|
string val = scan.GetStringValue();
|
||||||
vals.Append(new char[val.size()+1]);
|
vals.Append(new char[val.size()+1]);
|
||||||
strcpy(vals.Last(),val.c_str());
|
strcpy(vals.Last(),val.c_str());
|
||||||
@ -833,7 +833,7 @@ namespace netgen
|
|||||||
|
|
||||||
if (flags.NumListFlagDefined ("col"))
|
if (flags.NumListFlagDefined ("col"))
|
||||||
{
|
{
|
||||||
const ARRAY<double> & col =
|
const Array<double> & col =
|
||||||
flags.GetNumListFlag ("col");
|
flags.GetNumListFlag ("col");
|
||||||
tlo->SetRGB (col[0], col[1], col[2]);
|
tlo->SetRGB (col[0], col[1], col[2]);
|
||||||
}
|
}
|
||||||
@ -859,7 +859,7 @@ namespace netgen
|
|||||||
|
|
||||||
ParseChar (scan, ';');
|
ParseChar (scan, ';');
|
||||||
|
|
||||||
ARRAY<int> si;
|
Array<int> si;
|
||||||
geom->GetSolid(surfname)->GetSurfaceIndices(si);
|
geom->GetSolid(surfname)->GetSurfaceIndices(si);
|
||||||
int tlonr =
|
int tlonr =
|
||||||
geom->SetTopLevelObject ((Solid*)geom->GetSolid(name),
|
geom->SetTopLevelObject ((Solid*)geom->GetSolid(name),
|
||||||
@ -867,7 +867,7 @@ namespace netgen
|
|||||||
TopLevelObject * tlo = geom->GetTopLevelObject (tlonr);
|
TopLevelObject * tlo = geom->GetTopLevelObject (tlonr);
|
||||||
if (flags.NumListFlagDefined ("col"))
|
if (flags.NumListFlagDefined ("col"))
|
||||||
{
|
{
|
||||||
const ARRAY<double> & col = flags.GetNumListFlag ("col");
|
const Array<double> & col = flags.GetNumListFlag ("col");
|
||||||
tlo->SetRGB (col.Get(1), col.Get(2), col.Get(3));
|
tlo->SetRGB (col.Get(1), col.Get(2), col.Get(3));
|
||||||
}
|
}
|
||||||
if (flags.GetDefineFlag ("transparent"))
|
if (flags.GetDefineFlag ("transparent"))
|
||||||
@ -905,7 +905,7 @@ namespace netgen
|
|||||||
ParseChar (scan, ';');
|
ParseChar (scan, ';');
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> si1, si2;
|
Array<int> si1, si2;
|
||||||
geom->GetSolid(name1)->GetSurfaceIndices(si1);
|
geom->GetSolid(name1)->GetSurfaceIndices(si1);
|
||||||
geom->GetSolid(name2)->GetSurfaceIndices(si2);
|
geom->GetSolid(name2)->GetSurfaceIndices(si2);
|
||||||
|
|
||||||
@ -941,7 +941,7 @@ namespace netgen
|
|||||||
ParseChar (scan, ';');
|
ParseChar (scan, ';');
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> si1, si2;
|
Array<int> si1, si2;
|
||||||
geom->GetSolid(name1)->GetSurfaceIndices(si1);
|
geom->GetSolid(name1)->GetSurfaceIndices(si1);
|
||||||
geom->GetSolid(name2)->GetSurfaceIndices(si2);
|
geom->GetSolid(name2)->GetSurfaceIndices(si2);
|
||||||
|
|
||||||
@ -1169,7 +1169,7 @@ namespace netgen
|
|||||||
|
|
||||||
CSGeometry::BCModification bcm;
|
CSGeometry::BCModification bcm;
|
||||||
bcm.bcname = NULL;
|
bcm.bcname = NULL;
|
||||||
ARRAY<int> si;
|
Array<int> si;
|
||||||
|
|
||||||
geom->GetSolid(name1)->GetSurfaceIndices(si);
|
geom->GetSolid(name1)->GetSurfaceIndices(si);
|
||||||
if(si.Size() == 0)
|
if(si.Size() == 0)
|
||||||
@ -1221,7 +1221,7 @@ namespace netgen
|
|||||||
bcm.bcname = NULL;
|
bcm.bcname = NULL;
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> si;
|
Array<int> si;
|
||||||
|
|
||||||
geom->GetSolid(name1)->GetSurfaceIndices(si);
|
geom->GetSolid(name1)->GetSurfaceIndices(si);
|
||||||
if(si.Size() == 0)
|
if(si.Size() == 0)
|
||||||
|
@ -10,7 +10,7 @@ namespace netgen
|
|||||||
|
|
||||||
EdgeCalculation ::
|
EdgeCalculation ::
|
||||||
EdgeCalculation (const CSGeometry & ageometry,
|
EdgeCalculation (const CSGeometry & ageometry,
|
||||||
ARRAY<SpecialPoint> & aspecpoints)
|
Array<SpecialPoint> & aspecpoints)
|
||||||
: geometry(ageometry), specpoints(aspecpoints)
|
: geometry(ageometry), specpoints(aspecpoints)
|
||||||
{
|
{
|
||||||
Box<3> bbox = geometry.BoundingBox();
|
Box<3> bbox = geometry.BoundingBox();
|
||||||
@ -44,7 +44,7 @@ namespace netgen
|
|||||||
// add all special points before edge points (important for periodic identification)
|
// add all special points before edge points (important for periodic identification)
|
||||||
// JS, Jan 2007
|
// JS, Jan 2007
|
||||||
const double di=1e-7*geometry.MaxSize();
|
const double di=1e-7*geometry.MaxSize();
|
||||||
ARRAY<int> locsearch;
|
Array<int> locsearch;
|
||||||
|
|
||||||
for (int i = 0; i < specpoints.Size(); i++)
|
for (int i = 0; i < specpoints.Size(); i++)
|
||||||
if (specpoints[i].unconditional)
|
if (specpoints[i].unconditional)
|
||||||
@ -91,9 +91,9 @@ namespace netgen
|
|||||||
|
|
||||||
void EdgeCalculation :: CalcEdges1 (double h, Mesh & mesh)
|
void EdgeCalculation :: CalcEdges1 (double h, Mesh & mesh)
|
||||||
{
|
{
|
||||||
ARRAY<int> hsp(specpoints.Size());
|
Array<int> hsp(specpoints.Size());
|
||||||
ARRAY<int> glob2hsp(specpoints.Size());
|
Array<int> glob2hsp(specpoints.Size());
|
||||||
ARRAY<int> startpoints, endpoints;
|
Array<int> startpoints, endpoints;
|
||||||
|
|
||||||
|
|
||||||
int pos, ep;
|
int pos, ep;
|
||||||
@ -102,11 +102,11 @@ namespace netgen
|
|||||||
Point<3> p, np;
|
Point<3> p, np;
|
||||||
int pi1, s1, s2, s1_orig, s2_orig;
|
int pi1, s1, s2, s1_orig, s2_orig;
|
||||||
|
|
||||||
ARRAY<Point<3> > edgepoints;
|
Array<Point<3> > edgepoints;
|
||||||
ARRAY<double> curvelength;
|
Array<double> curvelength;
|
||||||
int copyedge = 0, copyfromedge = -1, copyedgeidentification = -1;
|
int copyedge = 0, copyfromedge = -1, copyedgeidentification = -1;
|
||||||
|
|
||||||
ARRAY<int> locsurfind, locind;
|
Array<int> locsurfind, locind;
|
||||||
|
|
||||||
int checkedcopy = 0;
|
int checkedcopy = 0;
|
||||||
|
|
||||||
@ -401,8 +401,8 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ARRAY<Segment> refedges;
|
Array<Segment> refedges;
|
||||||
ARRAY<bool> refedgesinv;
|
Array<bool> refedgesinv;
|
||||||
|
|
||||||
|
|
||||||
AnalyzeEdge (s1_orig, s2_orig, s1, s2, pos, layer,
|
AnalyzeEdge (s1_orig, s2_orig, s1, s2, pos, layer,
|
||||||
@ -505,7 +505,7 @@ namespace netgen
|
|||||||
SegmentIndex si;
|
SegmentIndex si;
|
||||||
PointIndex pi;
|
PointIndex pi;
|
||||||
|
|
||||||
ARRAY<int> osedges(cntedge);
|
Array<int> osedges(cntedge);
|
||||||
INDEX_2_HASHTABLE<int> osedgesht (cntedge+1);
|
INDEX_2_HASHTABLE<int> osedgesht (cntedge+1);
|
||||||
|
|
||||||
osedges = 2;
|
osedges = 2;
|
||||||
@ -634,17 +634,17 @@ namespace netgen
|
|||||||
|
|
||||||
void EdgeCalculation ::
|
void EdgeCalculation ::
|
||||||
FollowEdge (int pi1, int & ep, int & pos,
|
FollowEdge (int pi1, int & ep, int & pos,
|
||||||
const ARRAY<int> & hsp,
|
const Array<int> & hsp,
|
||||||
double h, const Mesh & mesh,
|
double h, const Mesh & mesh,
|
||||||
ARRAY<Point<3> > & edgepoints,
|
Array<Point<3> > & edgepoints,
|
||||||
ARRAY<double> & curvelength)
|
Array<double> & curvelength)
|
||||||
{
|
{
|
||||||
int s1, s2, s1_rep, s2_rep;
|
int s1, s2, s1_rep, s2_rep;
|
||||||
double len, steplen, cursteplen, loch;
|
double len, steplen, cursteplen, loch;
|
||||||
Point<3> p, np, pnp;
|
Point<3> p, np, pnp;
|
||||||
Vec<3> a1, a2, t;
|
Vec<3> a1, a2, t;
|
||||||
|
|
||||||
ARRAY<int> locind;
|
Array<int> locind;
|
||||||
|
|
||||||
double size = geometry.MaxSize();
|
double size = geometry.MaxSize();
|
||||||
double epspointdist2 = size * 1e-6;
|
double epspointdist2 = size * 1e-6;
|
||||||
@ -862,9 +862,9 @@ namespace netgen
|
|||||||
|
|
||||||
void EdgeCalculation ::
|
void EdgeCalculation ::
|
||||||
AnalyzeEdge (int s1, int s2, int s1_rep, int s2_rep, int pos, int layer,
|
AnalyzeEdge (int s1, int s2, int s1_rep, int s2_rep, int pos, int layer,
|
||||||
const ARRAY<Point<3> > & edgepoints,
|
const Array<Point<3> > & edgepoints,
|
||||||
ARRAY<Segment> & refedges,
|
Array<Segment> & refedges,
|
||||||
ARRAY<bool> & refedgesinv)
|
Array<bool> & refedgesinv)
|
||||||
{
|
{
|
||||||
int j, k, l;
|
int j, k, l;
|
||||||
int hi;
|
int hi;
|
||||||
@ -872,9 +872,9 @@ namespace netgen
|
|||||||
Vec<3> t, a1, a2, m, n;
|
Vec<3> t, a1, a2, m, n;
|
||||||
Segment seg;
|
Segment seg;
|
||||||
Solid * locsol;
|
Solid * locsol;
|
||||||
ARRAY<int> locsurfind, locsurfind2;
|
Array<int> locsurfind, locsurfind2;
|
||||||
|
|
||||||
ARRAY<int> edges_priority;
|
Array<int> edges_priority;
|
||||||
|
|
||||||
double size = geometry.MaxSize();
|
double size = geometry.MaxSize();
|
||||||
bool debug = 0;
|
bool debug = 0;
|
||||||
@ -1020,7 +1020,7 @@ namespace netgen
|
|||||||
//int k;
|
//int k;
|
||||||
double eps = 1e-8*size;
|
double eps = 1e-8*size;
|
||||||
|
|
||||||
ARRAY<bool> pre_ok(2);
|
Array<bool> pre_ok(2);
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@ -1223,10 +1223,10 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void EdgeCalculation ::
|
void EdgeCalculation ::
|
||||||
StoreEdge (const ARRAY<Segment> & refedges,
|
StoreEdge (const Array<Segment> & refedges,
|
||||||
const ARRAY<bool> & refedgesinv,
|
const Array<bool> & refedgesinv,
|
||||||
const ARRAY<Point<3> > & edgepoints,
|
const Array<Point<3> > & edgepoints,
|
||||||
const ARRAY<double> & curvelength,
|
const Array<double> & curvelength,
|
||||||
int layer,
|
int layer,
|
||||||
Mesh & mesh)
|
Mesh & mesh)
|
||||||
{
|
{
|
||||||
@ -1272,7 +1272,7 @@ namespace netgen
|
|||||||
|
|
||||||
const double di=1e-7*geometry.MaxSize();
|
const double di=1e-7*geometry.MaxSize();
|
||||||
|
|
||||||
ARRAY<int> locsearch;
|
Array<int> locsearch;
|
||||||
meshpoint_tree -> GetIntersecting (p-Vec<3> (di,di,di),
|
meshpoint_tree -> GetIntersecting (p-Vec<3> (di,di,di),
|
||||||
p+Vec<3> (di,di,di), locsearch);
|
p+Vec<3> (di,di,di), locsearch);
|
||||||
if (locsearch.Size())
|
if (locsearch.Size())
|
||||||
@ -1395,10 +1395,10 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void EdgeCalculation ::
|
void EdgeCalculation ::
|
||||||
StoreShortEdge (const ARRAY<Segment> & refedges,
|
StoreShortEdge (const Array<Segment> & refedges,
|
||||||
const ARRAY<bool> & refedgesinv,
|
const Array<bool> & refedgesinv,
|
||||||
const ARRAY<Point<3> > & edgepoints,
|
const Array<Point<3> > & edgepoints,
|
||||||
const ARRAY<double> & curvelength,
|
const Array<double> & curvelength,
|
||||||
int layer,
|
int layer,
|
||||||
Mesh & mesh)
|
Mesh & mesh)
|
||||||
{
|
{
|
||||||
@ -1526,8 +1526,8 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void EdgeCalculation ::
|
void EdgeCalculation ::
|
||||||
CopyEdge (const ARRAY<Segment> & refedges,
|
CopyEdge (const Array<Segment> & refedges,
|
||||||
const ARRAY<bool> & refedgesinv,
|
const Array<bool> & refedgesinv,
|
||||||
int copyfromedge,
|
int copyfromedge,
|
||||||
const Point<3> & fromstart, const Point<3> & fromend,
|
const Point<3> & fromstart, const Point<3> & fromend,
|
||||||
const Point<3> & tostart, const Point<3> & toend,
|
const Point<3> & tostart, const Point<3> & toend,
|
||||||
@ -1679,7 +1679,7 @@ namespace netgen
|
|||||||
Point<3> p1, p2;
|
Point<3> p1, p2;
|
||||||
Vec<3> nv, tv;
|
Vec<3> nv, tv;
|
||||||
Solid * tansol;
|
Solid * tansol;
|
||||||
ARRAY<int> tansurfind;
|
Array<int> tansurfind;
|
||||||
// const Solid * sol;
|
// const Solid * sol;
|
||||||
|
|
||||||
double size = geometry.MaxSize();
|
double size = geometry.MaxSize();
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
points have to be given.
|
points have to be given.
|
||||||
*/
|
*/
|
||||||
extern void CalcEdges (const CSGeometry & geometry,
|
extern void CalcEdges (const CSGeometry & geometry,
|
||||||
const ARRAY<SpecialPoint> & specpoints,
|
const Array<SpecialPoint> & specpoints,
|
||||||
double h, Mesh & mesh);
|
double h, Mesh & mesh);
|
||||||
|
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ extern void CalcEdges (const CSGeometry & geometry,
|
|||||||
class EdgeCalculation
|
class EdgeCalculation
|
||||||
{
|
{
|
||||||
const CSGeometry & geometry;
|
const CSGeometry & geometry;
|
||||||
ARRAY<SpecialPoint> & specpoints;
|
Array<SpecialPoint> & specpoints;
|
||||||
Point3dTree * searchtree;
|
Point3dTree * searchtree;
|
||||||
Point3dTree * meshpoint_tree;
|
Point3dTree * meshpoint_tree;
|
||||||
int cntedge;
|
int cntedge;
|
||||||
@ -40,7 +40,7 @@ class EdgeCalculation
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
EdgeCalculation (const CSGeometry & ageometry,
|
EdgeCalculation (const CSGeometry & ageometry,
|
||||||
ARRAY<SpecialPoint> & aspecpoints);
|
Array<SpecialPoint> & aspecpoints);
|
||||||
|
|
||||||
~EdgeCalculation();
|
~EdgeCalculation();
|
||||||
|
|
||||||
@ -54,34 +54,34 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
void FollowEdge (int pi1, int & ep, int & pos,
|
void FollowEdge (int pi1, int & ep, int & pos,
|
||||||
// const ARRAY<SpecialPoint> & hsp,
|
// const Array<SpecialPoint> & hsp,
|
||||||
const ARRAY<int> & hsp,
|
const Array<int> & hsp,
|
||||||
double h, const Mesh & mesh,
|
double h, const Mesh & mesh,
|
||||||
ARRAY<Point<3> > & edgepoints,
|
Array<Point<3> > & edgepoints,
|
||||||
ARRAY<double> & curvelength);
|
Array<double> & curvelength);
|
||||||
|
|
||||||
|
|
||||||
void AnalyzeEdge (int s1, int s2, int s1_rep, int s2_rep, int pos, int layer,
|
void AnalyzeEdge (int s1, int s2, int s1_rep, int s2_rep, int pos, int layer,
|
||||||
const ARRAY<Point<3> > & edgepoints,
|
const Array<Point<3> > & edgepoints,
|
||||||
ARRAY<Segment> & refedges,
|
Array<Segment> & refedges,
|
||||||
ARRAY<bool> & refedgesinv);
|
Array<bool> & refedgesinv);
|
||||||
|
|
||||||
void StoreEdge (const ARRAY<Segment> & refedges,
|
void StoreEdge (const Array<Segment> & refedges,
|
||||||
const ARRAY<bool> & refedgesinv,
|
const Array<bool> & refedgesinv,
|
||||||
const ARRAY<Point<3> > & edgepoints,
|
const Array<Point<3> > & edgepoints,
|
||||||
const ARRAY<double> & curvelength,
|
const Array<double> & curvelength,
|
||||||
int layer,
|
int layer,
|
||||||
Mesh & mesh);
|
Mesh & mesh);
|
||||||
|
|
||||||
void StoreShortEdge (const ARRAY<Segment> & refedges,
|
void StoreShortEdge (const Array<Segment> & refedges,
|
||||||
const ARRAY<bool> & refedgesinv,
|
const Array<bool> & refedgesinv,
|
||||||
const ARRAY<Point<3> > & edgepoints,
|
const Array<Point<3> > & edgepoints,
|
||||||
const ARRAY<double> & curvelength,
|
const Array<double> & curvelength,
|
||||||
int layer,
|
int layer,
|
||||||
Mesh & mesh);
|
Mesh & mesh);
|
||||||
|
|
||||||
void CopyEdge (const ARRAY<Segment> & refedges,
|
void CopyEdge (const Array<Segment> & refedges,
|
||||||
const ARRAY<bool> & refedgesinv,
|
const Array<bool> & refedgesinv,
|
||||||
int copyfromedge,
|
int copyfromedge,
|
||||||
const Point<3> & fromstart, const Point<3> & fromend,
|
const Point<3> & fromstart, const Point<3> & fromend,
|
||||||
const Point<3> & tostart, const Point<3> & toend,
|
const Point<3> & tostart, const Point<3> & toend,
|
||||||
|
@ -66,9 +66,9 @@ public:
|
|||||||
class BSplineCurve2d : public ExplicitCurve2d
|
class BSplineCurve2d : public ExplicitCurve2d
|
||||||
{
|
{
|
||||||
///
|
///
|
||||||
ARRAY<Point<2> > points;
|
Array<Point<2> > points;
|
||||||
///
|
///
|
||||||
ARRAY<int> intervallused;
|
Array<int> intervallused;
|
||||||
///
|
///
|
||||||
int redlevel;
|
int redlevel;
|
||||||
|
|
||||||
|
@ -54,13 +54,13 @@ namespace netgen
|
|||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
ExtrusionFace :: ExtrusionFace(const ARRAY<double> & raw_data)
|
ExtrusionFace :: ExtrusionFace(const Array<double> & raw_data)
|
||||||
{
|
{
|
||||||
deletable = true;
|
deletable = true;
|
||||||
|
|
||||||
int pos=0;
|
int pos=0;
|
||||||
|
|
||||||
ARRAY< Point<2> > p(3);
|
Array< Point<2> > p(3);
|
||||||
|
|
||||||
int ptype = int(raw_data[pos]); pos++;
|
int ptype = int(raw_data[pos]); pos++;
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ARRAY<double> mindist(path->GetNSplines());
|
Array<double> mindist(path->GetNSplines());
|
||||||
|
|
||||||
for(int i=0; i<path->GetNSplines(); i++)
|
for(int i=0; i<path->GetNSplines(); i++)
|
||||||
{
|
{
|
||||||
@ -355,12 +355,12 @@ namespace netgen
|
|||||||
|
|
||||||
grad_t *= 1./facA;
|
grad_t *= 1./facA;
|
||||||
|
|
||||||
ARRAY < Vec<3> > dphi_dX(3);
|
Array < Vec<3> > dphi_dX(3);
|
||||||
|
|
||||||
for(i=0; i<3; i++)
|
for(i=0; i<3; i++)
|
||||||
dphi_dX[i] = grad_t(i)*phip;
|
dphi_dX[i] = grad_t(i)*phip;
|
||||||
|
|
||||||
ARRAY < Vec<3> > dy_dir_dX(3);
|
Array < Vec<3> > dy_dir_dX(3);
|
||||||
|
|
||||||
double lphip = phip.Length();
|
double lphip = phip.Length();
|
||||||
|
|
||||||
@ -370,7 +370,7 @@ namespace netgen
|
|||||||
for(i=0; i<3; i++)
|
for(i=0; i<3; i++)
|
||||||
dy_dir_dX[i] *= grad_t(i);
|
dy_dir_dX[i] *= grad_t(i);
|
||||||
|
|
||||||
ARRAY < Vec<3> > dx_dir_dX(3);
|
Array < Vec<3> > dx_dir_dX(3);
|
||||||
|
|
||||||
for(i=0; i<3; i++)
|
for(i=0; i<3; i++)
|
||||||
dx_dir_dX[i] = Cross(dy_dir_dX[i],z_dir[seg]);
|
dx_dir_dX[i] = Cross(dy_dir_dX[i],z_dir[seg]);
|
||||||
@ -557,7 +557,7 @@ namespace netgen
|
|||||||
v2d(1) = v * loc_z_dir[seg];
|
v2d(1) = v * loc_z_dir[seg];
|
||||||
|
|
||||||
Vec<2> n(v2d(1),-v2d(0));
|
Vec<2> n(v2d(1),-v2d(0));
|
||||||
ARRAY < Point<2> > ips;
|
Array < Point<2> > ips;
|
||||||
|
|
||||||
|
|
||||||
profile->LineIntersections(v2d(1),
|
profile->LineIntersections(v2d(1),
|
||||||
@ -702,7 +702,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ExtrusionFace :: GetRawData(ARRAY<double> & data) const
|
void ExtrusionFace :: GetRawData(Array<double> & data) const
|
||||||
{
|
{
|
||||||
data.DeleteAll();
|
data.DeleteAll();
|
||||||
profile->GetRawData(data);
|
profile->GetRawData(data);
|
||||||
@ -759,7 +759,7 @@ namespace netgen
|
|||||||
|
|
||||||
INSOLID_TYPE Extrusion :: PointInSolid (const Point<3> & p,
|
INSOLID_TYPE Extrusion :: PointInSolid (const Point<3> & p,
|
||||||
const double eps,
|
const double eps,
|
||||||
ARRAY<int> * const facenums) const
|
Array<int> * const facenums) const
|
||||||
{
|
{
|
||||||
Vec<3> random_vec(-0.4561,0.7382,0.4970247);
|
Vec<3> random_vec(-0.4561,0.7382,0.4970247);
|
||||||
|
|
||||||
@ -805,7 +805,7 @@ namespace netgen
|
|||||||
const Vec<3> & v,
|
const Vec<3> & v,
|
||||||
double eps) const
|
double eps) const
|
||||||
{
|
{
|
||||||
ARRAY<int> facenums;
|
Array<int> facenums;
|
||||||
INSOLID_TYPE pInSolid = PointInSolid(p,eps,&facenums);
|
INSOLID_TYPE pInSolid = PointInSolid(p,eps,&facenums);
|
||||||
|
|
||||||
if(pInSolid != DOES_INTERSECT)
|
if(pInSolid != DOES_INTERSECT)
|
||||||
|
@ -13,11 +13,11 @@ private:
|
|||||||
|
|
||||||
bool deletable;
|
bool deletable;
|
||||||
|
|
||||||
ARRAY< const SplineSeg3<3> * > spline3_path;
|
Array< const SplineSeg3<3> * > spline3_path;
|
||||||
ARRAY< const LineSeg<3> * > line_path;
|
Array< const LineSeg<3> * > line_path;
|
||||||
|
|
||||||
mutable ARRAY < Vec<3> > x_dir, y_dir, z_dir, loc_z_dir;
|
mutable Array < Vec<3> > x_dir, y_dir, z_dir, loc_z_dir;
|
||||||
mutable ARRAY < Point<3> > p0;
|
mutable Array < Point<3> > p0;
|
||||||
|
|
||||||
mutable Vec<3> profile_tangent;
|
mutable Vec<3> profile_tangent;
|
||||||
mutable double profile_par;
|
mutable double profile_par;
|
||||||
@ -46,7 +46,7 @@ public:
|
|||||||
const SplineGeometry<3> * path_in,
|
const SplineGeometry<3> * path_in,
|
||||||
const Vec<3> & z_direction);
|
const Vec<3> & z_direction);
|
||||||
|
|
||||||
ExtrusionFace(const ARRAY<double> & raw_data);
|
ExtrusionFace(const Array<double> & raw_data);
|
||||||
|
|
||||||
|
|
||||||
~ExtrusionFace();
|
~ExtrusionFace();
|
||||||
@ -91,7 +91,7 @@ public:
|
|||||||
const Vec<3> & GetProfileTangent (void) const {return profile_tangent;}
|
const Vec<3> & GetProfileTangent (void) const {return profile_tangent;}
|
||||||
double GetProfilePar(void) const {return profile_par;}
|
double GetProfilePar(void) const {return profile_par;}
|
||||||
|
|
||||||
void GetRawData(ARRAY<double> & data) const;
|
void GetRawData(Array<double> & data) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ private:
|
|||||||
|
|
||||||
const Vec<3> & z_direction;
|
const Vec<3> & z_direction;
|
||||||
|
|
||||||
ARRAY<ExtrusionFace*> faces;
|
Array<ExtrusionFace*> faces;
|
||||||
|
|
||||||
mutable int latestfacenum;
|
mutable int latestfacenum;
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ public:
|
|||||||
double eps) const;
|
double eps) const;
|
||||||
INSOLID_TYPE PointInSolid (const Point<3> & p,
|
INSOLID_TYPE PointInSolid (const Point<3> & p,
|
||||||
double eps,
|
double eps,
|
||||||
ARRAY<int> * const facenums) const;
|
Array<int> * const facenums) const;
|
||||||
virtual INSOLID_TYPE VecInSolid (const Point<3> & p,
|
virtual INSOLID_TYPE VecInSolid (const Point<3> & p,
|
||||||
const Vec<3> & v,
|
const Vec<3> & v,
|
||||||
double eps) const;
|
double eps) const;
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
ARRAY<SpecialPoint> specpoints;
|
Array<SpecialPoint> specpoints;
|
||||||
static ARRAY<MeshPoint> spoints;
|
static Array<MeshPoint> spoints;
|
||||||
|
|
||||||
#define TCL_OK 0
|
#define TCL_OK 0
|
||||||
#define TCL_ERROR 1
|
#define TCL_ERROR 1
|
||||||
@ -130,7 +130,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<int> loc;
|
Array<int> loc;
|
||||||
if (!ec.point_on_edge_problem)
|
if (!ec.point_on_edge_problem)
|
||||||
for (SegmentIndex si = 0; si < mesh.GetNSeg(); si++)
|
for (SegmentIndex si = 0; si < mesh.GetNSeg(); si++)
|
||||||
{
|
{
|
||||||
@ -224,17 +224,17 @@ namespace netgen
|
|||||||
const char * savetask = multithread.task;
|
const char * savetask = multithread.task;
|
||||||
multithread.task = "Surface meshing";
|
multithread.task = "Surface meshing";
|
||||||
|
|
||||||
ARRAY<Segment> segments;
|
Array<Segment> segments;
|
||||||
int noldp = mesh.GetNP();
|
int noldp = mesh.GetNP();
|
||||||
|
|
||||||
double starttime = GetTime();
|
double starttime = GetTime();
|
||||||
|
|
||||||
// find master faces from identified
|
// find master faces from identified
|
||||||
ARRAY<int> masterface(mesh.GetNFD());
|
Array<int> masterface(mesh.GetNFD());
|
||||||
for (int i = 1; i <= mesh.GetNFD(); i++)
|
for (int i = 1; i <= mesh.GetNFD(); i++)
|
||||||
masterface.Elem(i) = i;
|
masterface.Elem(i) = i;
|
||||||
|
|
||||||
ARRAY<INDEX_2> fpairs;
|
Array<INDEX_2> fpairs;
|
||||||
bool changed;
|
bool changed;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@ -373,7 +373,7 @@ namespace netgen
|
|||||||
|
|
||||||
for (int j = 0; j < geom.singfaces.Size(); j++)
|
for (int j = 0; j < geom.singfaces.Size(); j++)
|
||||||
{
|
{
|
||||||
ARRAY<int> surfs;
|
Array<int> surfs;
|
||||||
geom.GetIndependentSurfaceIndices (geom.singfaces[j]->GetSolid(),
|
geom.GetIndependentSurfaceIndices (geom.singfaces[j]->GetSolid(),
|
||||||
geom.BoundingBox(), surfs);
|
geom.BoundingBox(), surfs);
|
||||||
for (int k = 1; k <= mesh.GetNFD(); k++)
|
for (int k = 1; k <= mesh.GetNFD(); k++)
|
||||||
@ -680,7 +680,7 @@ namespace netgen
|
|||||||
mesh->SetGlobalH (mparam.maxh);
|
mesh->SetGlobalH (mparam.maxh);
|
||||||
mesh->SetMinimalH (mparam.minh);
|
mesh->SetMinimalH (mparam.minh);
|
||||||
|
|
||||||
ARRAY<double> maxhdom(geom.GetNTopLevelObjects());
|
Array<double> maxhdom(geom.GetNTopLevelObjects());
|
||||||
for (int i = 0; i < maxhdom.Size(); i++)
|
for (int i = 0; i < maxhdom.Size(); i++)
|
||||||
maxhdom[i] = geom.GetTopLevelObject(i)->GetMaxH();
|
maxhdom[i] = geom.GetTopLevelObject(i)->GetMaxH();
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ ostream & operator<< (ostream & ost, Identification & ident)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
void Identification :: IdentifySpecialPoints (ARRAY<class SpecialPoint> & points)
|
void Identification :: IdentifySpecialPoints (Array<class SpecialPoint> & points)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -84,7 +84,7 @@ void Identification :: IdentifyFaces (class Mesh & mesh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Identification ::
|
void Identification ::
|
||||||
BuildSurfaceElements (ARRAY<Segment> & segs,
|
BuildSurfaceElements (Array<Segment> & segs,
|
||||||
Mesh & mesh, const Surface * surf)
|
Mesh & mesh, const Surface * surf)
|
||||||
{
|
{
|
||||||
cout << "Identification::BuildSurfaceElements called for base-class" << endl;
|
cout << "Identification::BuildSurfaceElements called for base-class" << endl;
|
||||||
@ -93,14 +93,14 @@ BuildSurfaceElements (ARRAY<Segment> & segs,
|
|||||||
|
|
||||||
|
|
||||||
void Identification ::
|
void Identification ::
|
||||||
BuildVolumeElements (ARRAY<class Element2d> & surfels,
|
BuildVolumeElements (Array<class Element2d> & surfels,
|
||||||
class Mesh & mesh)
|
class Mesh & mesh)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Identification ::
|
void Identification ::
|
||||||
GetIdentifiedFaces (ARRAY<INDEX_2> & idfaces) const
|
GetIdentifiedFaces (Array<INDEX_2> & idfaces) const
|
||||||
{
|
{
|
||||||
idfaces.SetSize(0);
|
idfaces.SetSize(0);
|
||||||
for (int i = 1; i <= identfaces.GetNBags(); i++)
|
for (int i = 1; i <= identfaces.GetNBags(); i++)
|
||||||
@ -134,7 +134,7 @@ PeriodicIdentification :: ~PeriodicIdentification ()
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
void PeriodicIdentification :: IdentifySpecialPoints
|
void PeriodicIdentification :: IdentifySpecialPoints
|
||||||
(ARRAY<class SpecialPoint> & points)
|
(Array<class SpecialPoint> & points)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
int bestj;
|
int bestj;
|
||||||
@ -438,7 +438,7 @@ void PeriodicIdentification :: IdentifyFaces (class Mesh & mesh)
|
|||||||
|
|
||||||
|
|
||||||
void PeriodicIdentification ::
|
void PeriodicIdentification ::
|
||||||
BuildSurfaceElements (ARRAY<Segment> & segs,
|
BuildSurfaceElements (Array<Segment> & segs,
|
||||||
Mesh & mesh, const Surface * surf)
|
Mesh & mesh, const Surface * surf)
|
||||||
{
|
{
|
||||||
int found = 0;
|
int found = 0;
|
||||||
@ -450,7 +450,7 @@ BuildSurfaceElements (ARRAY<Segment> & segs,
|
|||||||
if (geom.GetSurface(surfnr) == s1 ||
|
if (geom.GetSurface(surfnr) == s1 ||
|
||||||
geom.GetSurface(surfnr) == s2)
|
geom.GetSurface(surfnr) == s2)
|
||||||
{
|
{
|
||||||
ARRAY<int> copy_points;
|
Array<int> copy_points;
|
||||||
|
|
||||||
for (int i = 1; i <= mesh.GetNSE(); i++)
|
for (int i = 1; i <= mesh.GetNSE(); i++)
|
||||||
{
|
{
|
||||||
@ -601,7 +601,7 @@ void CloseSurfaceIdentification :: GetData (ostream & ost) const
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
void CloseSurfaceIdentification :: IdentifySpecialPoints
|
void CloseSurfaceIdentification :: IdentifySpecialPoints
|
||||||
(ARRAY<class SpecialPoint> & points)
|
(Array<class SpecialPoint> & points)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
int bestj;
|
int bestj;
|
||||||
@ -669,7 +669,7 @@ Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
|||||||
if (!dom_surf_valid)
|
if (!dom_surf_valid)
|
||||||
{
|
{
|
||||||
const_cast<bool&> (dom_surf_valid) = 1;
|
const_cast<bool&> (dom_surf_valid) = 1;
|
||||||
ARRAY<int> & hsurf = const_cast<ARRAY<int>&> (domain_surfaces);
|
Array<int> & hsurf = const_cast<Array<int>&> (domain_surfaces);
|
||||||
|
|
||||||
if (domain)
|
if (domain)
|
||||||
{
|
{
|
||||||
@ -879,7 +879,7 @@ GetIdentifiedPoint (class Mesh & mesh, int pi)
|
|||||||
const Surface * sold, *snew;
|
const Surface * sold, *snew;
|
||||||
const Point<3> & p = mesh.Point (pi);
|
const Point<3> & p = mesh.Point (pi);
|
||||||
|
|
||||||
ARRAY<int,PointIndex::BASE> identmap(mesh.GetNP());
|
Array<int,PointIndex::BASE> identmap(mesh.GetNP());
|
||||||
mesh.GetIdentifications().GetMap (nr, identmap);
|
mesh.GetIdentifications().GetMap (nr, identmap);
|
||||||
if (identmap.Get(pi))
|
if (identmap.Get(pi))
|
||||||
return identmap.Get(pi);
|
return identmap.Get(pi);
|
||||||
@ -950,13 +950,13 @@ void CloseSurfaceIdentification :: IdentifyPoints (Mesh & mesh)
|
|||||||
{
|
{
|
||||||
int np = mesh.GetNP();
|
int np = mesh.GetNP();
|
||||||
|
|
||||||
ARRAY<int> points_on_surf2;
|
Array<int> points_on_surf2;
|
||||||
|
|
||||||
for (int i2 = 1; i2 <= np; i2++)
|
for (int i2 = 1; i2 <= np; i2++)
|
||||||
if (s2->PointOnSurface (mesh.Point(i2)))
|
if (s2->PointOnSurface (mesh.Point(i2)))
|
||||||
points_on_surf2.Append (i2);
|
points_on_surf2.Append (i2);
|
||||||
|
|
||||||
ARRAY<int> surfs_of_p1;
|
Array<int> surfs_of_p1;
|
||||||
|
|
||||||
for (int i1 = 1; i1 <= np; i1++)
|
for (int i1 = 1; i1 <= np; i1++)
|
||||||
{
|
{
|
||||||
@ -1072,7 +1072,7 @@ void CloseSurfaceIdentification :: IdentifyFaces (class Mesh & mesh)
|
|||||||
s2rep = geom.GetSurfaceClassRepresentant(i);
|
s2rep = geom.GetSurfaceClassRepresentant(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<int> segs_on_face1, segs_on_face2;
|
Array<int> segs_on_face1, segs_on_face2;
|
||||||
|
|
||||||
identfaces.DeleteData();
|
identfaces.DeleteData();
|
||||||
|
|
||||||
@ -1201,13 +1201,13 @@ void CloseSurfaceIdentification :: IdentifyFaces (class Mesh & mesh)
|
|||||||
|
|
||||||
|
|
||||||
void CloseSurfaceIdentification ::
|
void CloseSurfaceIdentification ::
|
||||||
BuildSurfaceElements (ARRAY<Segment> & segs,
|
BuildSurfaceElements (Array<Segment> & segs,
|
||||||
Mesh & mesh, const Surface * surf)
|
Mesh & mesh, const Surface * surf)
|
||||||
{
|
{
|
||||||
bool found = 0;
|
bool found = 0;
|
||||||
int cntquads = 0;
|
int cntquads = 0;
|
||||||
|
|
||||||
ARRAY<int,PointIndex::BASE> identmap;
|
Array<int,PointIndex::BASE> identmap;
|
||||||
identmap = 0;
|
identmap = 0;
|
||||||
|
|
||||||
mesh.GetIdentifications().GetMap (nr, identmap);
|
mesh.GetIdentifications().GetMap (nr, identmap);
|
||||||
@ -1222,7 +1222,7 @@ BuildSurfaceElements (ARRAY<Segment> & segs,
|
|||||||
//(*testout) << "segs = " << endl << segs << endl;
|
//(*testout) << "segs = " << endl << segs << endl;
|
||||||
//(*testout) << "identmap = " << endl << identmap << endl;
|
//(*testout) << "identmap = " << endl << identmap << endl;
|
||||||
|
|
||||||
//ARRAY<bool> foundseg(segs.Size());
|
//Array<bool> foundseg(segs.Size());
|
||||||
//foundseg = false;
|
//foundseg = false;
|
||||||
|
|
||||||
// insert quad layer:
|
// insert quad layer:
|
||||||
@ -1275,7 +1275,7 @@ BuildSurfaceElements (ARRAY<Segment> & segs,
|
|||||||
{
|
{
|
||||||
PrintMessage(3, "insert quad layer of ", cntquads,
|
PrintMessage(3, "insert quad layer of ", cntquads,
|
||||||
" elements at face ", segs.Get(1).si);
|
" elements at face ", segs.Get(1).si);
|
||||||
//ARRAY<Segment> aux;
|
//Array<Segment> aux;
|
||||||
//for(int i=0; i<segs.Size();i++)
|
//for(int i=0; i<segs.Size();i++)
|
||||||
// if(!foundseg[i])
|
// if(!foundseg[i])
|
||||||
// aux.Append(segs[i]);
|
// aux.Append(segs[i]);
|
||||||
@ -1293,7 +1293,7 @@ BuildSurfaceElements (ARRAY<Segment> & segs,
|
|||||||
|
|
||||||
|
|
||||||
void CloseSurfaceIdentification ::
|
void CloseSurfaceIdentification ::
|
||||||
BuildSurfaceElements2 (ARRAY<Segment> & segs,
|
BuildSurfaceElements2 (Array<Segment> & segs,
|
||||||
Mesh & mesh, const Surface * surf)
|
Mesh & mesh, const Surface * surf)
|
||||||
{
|
{
|
||||||
// copy mesh
|
// copy mesh
|
||||||
@ -1398,7 +1398,7 @@ BuildSurfaceElements2 (ARRAY<Segment> & segs,
|
|||||||
|
|
||||||
|
|
||||||
void CloseSurfaceIdentification ::
|
void CloseSurfaceIdentification ::
|
||||||
BuildVolumeElements (ARRAY<class Element2d> & surfels,
|
BuildVolumeElements (Array<class Element2d> & surfels,
|
||||||
class Mesh & mesh)
|
class Mesh & mesh)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
@ -1459,7 +1459,7 @@ void CloseEdgesIdentification :: GetData (ostream & ost) const
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
void CloseEdgesIdentification :: IdentifySpecialPoints
|
void CloseEdgesIdentification :: IdentifySpecialPoints
|
||||||
(ARRAY<class SpecialPoint> & points)
|
(Array<class SpecialPoint> & points)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
int bestj;
|
int bestj;
|
||||||
@ -1614,7 +1614,7 @@ void CloseEdgesIdentification :: IdentifyPoints (Mesh & mesh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CloseEdgesIdentification ::
|
void CloseEdgesIdentification ::
|
||||||
BuildSurfaceElements (ARRAY<Segment> & segs,
|
BuildSurfaceElements (Array<Segment> & segs,
|
||||||
Mesh & mesh, const Surface * surf)
|
Mesh & mesh, const Surface * surf)
|
||||||
{
|
{
|
||||||
int i1, i2;
|
int i1, i2;
|
||||||
|
@ -30,7 +30,7 @@ public:
|
|||||||
virtual void GetData (ostream & ost) const = 0;
|
virtual void GetData (ostream & ost) const = 0;
|
||||||
|
|
||||||
/// obsolete
|
/// obsolete
|
||||||
// virtual void IdentifySpecialPoints (ARRAY<class SpecialPoint> & points);
|
// virtual void IdentifySpecialPoints (Array<class SpecialPoint> & points);
|
||||||
|
|
||||||
/// can identify both special points (fixed direction)
|
/// can identify both special points (fixed direction)
|
||||||
/// (identified points, same tangent)
|
/// (identified points, same tangent)
|
||||||
@ -55,16 +55,16 @@ public:
|
|||||||
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
||||||
|
|
||||||
/// copy surfaces, or fill rectangles
|
/// copy surfaces, or fill rectangles
|
||||||
virtual void BuildSurfaceElements (ARRAY<class Segment> & segs,
|
virtual void BuildSurfaceElements (Array<class Segment> & segs,
|
||||||
class Mesh & mesh,
|
class Mesh & mesh,
|
||||||
const Surface * surf);
|
const Surface * surf);
|
||||||
|
|
||||||
/// insert volume elements in thin layers
|
/// insert volume elements in thin layers
|
||||||
virtual void BuildVolumeElements (ARRAY<class Element2d> & surfels,
|
virtual void BuildVolumeElements (Array<class Element2d> & surfels,
|
||||||
class Mesh & mesh);
|
class Mesh & mesh);
|
||||||
|
|
||||||
/// get list of identified faces
|
/// get list of identified faces
|
||||||
virtual void GetIdentifiedFaces (ARRAY<INDEX_2> & idfaces) const;
|
virtual void GetIdentifiedFaces (Array<INDEX_2> & idfaces) const;
|
||||||
|
|
||||||
friend ostream & operator<< (ostream & ost, Identification & ident);
|
friend ostream & operator<< (ostream & ost, Identification & ident);
|
||||||
};
|
};
|
||||||
@ -84,7 +84,7 @@ public:
|
|||||||
virtual void GetData (ostream & ost) const;
|
virtual void GetData (ostream & ost) const;
|
||||||
|
|
||||||
|
|
||||||
// virtual void IdentifySpecialPoints (ARRAY<class SpecialPoint> & points);
|
// virtual void IdentifySpecialPoints (Array<class SpecialPoint> & points);
|
||||||
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const;
|
const TABLE<int> & specpoint2surface) const;
|
||||||
@ -93,7 +93,7 @@ public:
|
|||||||
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
||||||
virtual void IdentifyPoints (class Mesh & mesh);
|
virtual void IdentifyPoints (class Mesh & mesh);
|
||||||
virtual void IdentifyFaces (class Mesh & mesh);
|
virtual void IdentifyFaces (class Mesh & mesh);
|
||||||
virtual void BuildSurfaceElements (ARRAY<class Segment> & segs,
|
virtual void BuildSurfaceElements (Array<class Segment> & segs,
|
||||||
class Mesh & mesh,
|
class Mesh & mesh,
|
||||||
const Surface * surf);
|
const Surface * surf);
|
||||||
};
|
};
|
||||||
@ -116,9 +116,9 @@ class CloseSurfaceIdentification : public Identification
|
|||||||
int ref_levels_s2;
|
int ref_levels_s2;
|
||||||
///
|
///
|
||||||
double eps_n;
|
double eps_n;
|
||||||
ARRAY<double> slices;
|
Array<double> slices;
|
||||||
/// used only for domain-local identification:
|
/// used only for domain-local identification:
|
||||||
ARRAY<int> domain_surfaces;
|
Array<int> domain_surfaces;
|
||||||
///
|
///
|
||||||
bool dom_surf_valid;
|
bool dom_surf_valid;
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ public:
|
|||||||
virtual void GetData (ostream & ost) const;
|
virtual void GetData (ostream & ost) const;
|
||||||
|
|
||||||
|
|
||||||
// virtual void IdentifySpecialPoints (ARRAY<class SpecialPoint> & points);
|
// virtual void IdentifySpecialPoints (Array<class SpecialPoint> & points);
|
||||||
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const;
|
const TABLE<int> & specpoint2surface) const;
|
||||||
@ -147,17 +147,17 @@ public:
|
|||||||
virtual int IdentifyableCandidate (const SpecialPoint & sp1) const;
|
virtual int IdentifyableCandidate (const SpecialPoint & sp1) const;
|
||||||
virtual int ShortEdge (const SpecialPoint & sp1, const SpecialPoint & sp2) const;
|
virtual int ShortEdge (const SpecialPoint & sp1, const SpecialPoint & sp2) const;
|
||||||
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
virtual int GetIdentifiedPoint (class Mesh & mesh, int pi1);
|
||||||
const ARRAY<double> & GetSlices () const { return slices; }
|
const Array<double> & GetSlices () const { return slices; }
|
||||||
virtual void IdentifyPoints (class Mesh & mesh);
|
virtual void IdentifyPoints (class Mesh & mesh);
|
||||||
virtual void IdentifyFaces (class Mesh & mesh);
|
virtual void IdentifyFaces (class Mesh & mesh);
|
||||||
virtual void BuildSurfaceElements (ARRAY<class Segment> & segs,
|
virtual void BuildSurfaceElements (Array<class Segment> & segs,
|
||||||
class Mesh & mesh,
|
class Mesh & mesh,
|
||||||
const Surface * surf);
|
const Surface * surf);
|
||||||
void BuildSurfaceElements2 (ARRAY<class Segment> & segs,
|
void BuildSurfaceElements2 (Array<class Segment> & segs,
|
||||||
class Mesh & mesh,
|
class Mesh & mesh,
|
||||||
const Surface * surf);
|
const Surface * surf);
|
||||||
|
|
||||||
virtual void BuildVolumeElements (ARRAY<class Element2d> & surfels,
|
virtual void BuildVolumeElements (Array<class Element2d> & surfels,
|
||||||
class Mesh & mesh);
|
class Mesh & mesh);
|
||||||
|
|
||||||
int RefLevels () const { return ref_levels; }
|
int RefLevels () const { return ref_levels; }
|
||||||
@ -189,14 +189,14 @@ public:
|
|||||||
virtual void Print (ostream & ost) const;
|
virtual void Print (ostream & ost) const;
|
||||||
virtual void GetData (ostream & ost) const;
|
virtual void GetData (ostream & ost) const;
|
||||||
|
|
||||||
// virtual void IdentifySpecialPoints (ARRAY<class SpecialPoint> & points);
|
// virtual void IdentifySpecialPoints (Array<class SpecialPoint> & points);
|
||||||
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
virtual int Identifyable (const SpecialPoint & sp1, const SpecialPoint & sp2,
|
||||||
const TABLE<int> & specpoint2solid,
|
const TABLE<int> & specpoint2solid,
|
||||||
const TABLE<int> & specpoint2surface) const;
|
const TABLE<int> & specpoint2surface) const;
|
||||||
|
|
||||||
|
|
||||||
virtual void IdentifyPoints (class Mesh & mesh);
|
virtual void IdentifyPoints (class Mesh & mesh);
|
||||||
virtual void BuildSurfaceElements (ARRAY<class Segment> & segs,
|
virtual void BuildSurfaceElements (Array<class Segment> & segs,
|
||||||
class Mesh & mesh,
|
class Mesh & mesh,
|
||||||
const Surface * surf);
|
const Surface * surf);
|
||||||
};
|
};
|
||||||
|
@ -7,7 +7,7 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
|
|
||||||
Polyhedra::Face::Face (int pi1, int pi2, int pi3,
|
Polyhedra::Face::Face (int pi1, int pi2, int pi3,
|
||||||
const ARRAY<Point<3> > & points,
|
const Array<Point<3> > & points,
|
||||||
int ainputnr)
|
int ainputnr)
|
||||||
{
|
{
|
||||||
inputnr = ainputnr;
|
inputnr = ainputnr;
|
||||||
@ -165,7 +165,7 @@ INSOLID_TYPE Polyhedra :: PointInSolid (const Point<3> & p,
|
|||||||
|
|
||||||
|
|
||||||
void Polyhedra :: GetTangentialSurfaceIndices (const Point<3> & p,
|
void Polyhedra :: GetTangentialSurfaceIndices (const Point<3> & p,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
for (int i = 0; i < faces.Size(); i++)
|
for (int i = 0; i < faces.Size(); i++)
|
||||||
{
|
{
|
||||||
@ -192,7 +192,7 @@ INSOLID_TYPE Polyhedra :: VecInSolid (const Point<3> & p,
|
|||||||
const Vec<3> & v,
|
const Vec<3> & v,
|
||||||
double eps) const
|
double eps) const
|
||||||
{
|
{
|
||||||
ARRAY<int> point_on_faces;
|
Array<int> point_on_faces;
|
||||||
INSOLID_TYPE res(DOES_INTERSECT);
|
INSOLID_TYPE res(DOES_INTERSECT);
|
||||||
|
|
||||||
Vec<3> vn = v;
|
Vec<3> vn = v;
|
||||||
@ -388,7 +388,7 @@ INSOLID_TYPE Polyhedra :: VecInSolid2 (const Point<3> & p,
|
|||||||
|
|
||||||
|
|
||||||
void Polyhedra :: GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
void Polyhedra :: GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
Vec<3> v1n = v1;
|
Vec<3> v1n = v1;
|
||||||
v1n.Normalize();
|
v1n.Normalize();
|
||||||
@ -447,7 +447,7 @@ void Polyhedra :: GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec
|
|||||||
|
|
||||||
|
|
||||||
void Polyhedra :: GetPrimitiveData (const char *& classname,
|
void Polyhedra :: GetPrimitiveData (const char *& classname,
|
||||||
ARRAY<double> & coeffs) const
|
Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "Polyhedra";
|
classname = "Polyhedra";
|
||||||
coeffs.SetSize(0);
|
coeffs.SetSize(0);
|
||||||
@ -471,7 +471,7 @@ void Polyhedra :: GetPrimitiveData (const char *& classname,
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void Polyhedra :: SetPrimitiveData (ARRAY<double> & /* coeffs */)
|
void Polyhedra :: SetPrimitiveData (Array<double> & /* coeffs */)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -589,7 +589,7 @@ int Polyhedra :: FaceBoxIntersection (int fnr, const BoxSphere<3> & box) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Polyhedra :: GetPolySurfs(ARRAY < ARRAY<int> * > & polysurfs)
|
void Polyhedra :: GetPolySurfs(Array < Array<int> * > & polysurfs)
|
||||||
{
|
{
|
||||||
int maxnum = -1;
|
int maxnum = -1;
|
||||||
|
|
||||||
@ -601,14 +601,14 @@ void Polyhedra :: GetPolySurfs(ARRAY < ARRAY<int> * > & polysurfs)
|
|||||||
|
|
||||||
polysurfs.SetSize(maxnum+1);
|
polysurfs.SetSize(maxnum+1);
|
||||||
for(int i=0; i<polysurfs.Size(); i++)
|
for(int i=0; i<polysurfs.Size(); i++)
|
||||||
polysurfs[i] = new ARRAY<int>;
|
polysurfs[i] = new Array<int>;
|
||||||
|
|
||||||
for(int i = 0; i<faces.Size(); i++)
|
for(int i = 0; i<faces.Size(); i++)
|
||||||
polysurfs[faces[i].inputnr]->Append(faces[i].planenr);
|
polysurfs[faces[i].inputnr]->Append(faces[i].planenr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Polyhedra::CalcSpecialPoints (ARRAY<Point<3> > & pts) const
|
void Polyhedra::CalcSpecialPoints (Array<Point<3> > & pts) const
|
||||||
{
|
{
|
||||||
for (int i = 0; i < points.Size(); i++)
|
for (int i = 0; i < points.Size(); i++)
|
||||||
pts.Append (points[i]);
|
pts.Append (points[i]);
|
||||||
@ -616,7 +616,7 @@ void Polyhedra::CalcSpecialPoints (ARRAY<Point<3> > & pts) const
|
|||||||
|
|
||||||
|
|
||||||
void Polyhedra :: AnalyzeSpecialPoint (const Point<3> & /* pt */,
|
void Polyhedra :: AnalyzeSpecialPoint (const Point<3> & /* pt */,
|
||||||
ARRAY<Point<3> > & /* specpts */) const
|
Array<Point<3> > & /* specpts */) const
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -32,13 +32,13 @@ class Polyhedra : public Primitive
|
|||||||
|
|
||||||
Face () { ; }
|
Face () { ; }
|
||||||
Face (int pi1, int pi2, int pi3,
|
Face (int pi1, int pi2, int pi3,
|
||||||
const ARRAY<Point<3> > & points,
|
const Array<Point<3> > & points,
|
||||||
int ainputnr);
|
int ainputnr);
|
||||||
};
|
};
|
||||||
|
|
||||||
ARRAY<Point<3> > points;
|
Array<Point<3> > points;
|
||||||
ARRAY<Face> faces;
|
Array<Face> faces;
|
||||||
ARRAY<Plane*> planes;
|
Array<Plane*> planes;
|
||||||
Box<3> poly_bbox;
|
Box<3> poly_bbox;
|
||||||
|
|
||||||
double eps_base1;
|
double eps_base1;
|
||||||
@ -62,15 +62,15 @@ public:
|
|||||||
double eps) const;
|
double eps) const;
|
||||||
|
|
||||||
virtual void GetTangentialSurfaceIndices (const Point<3> & p,
|
virtual void GetTangentialSurfaceIndices (const Point<3> & p,
|
||||||
ARRAY<int> & surfind, double eps) const;
|
Array<int> & surfind, double eps) const;
|
||||||
|
|
||||||
|
|
||||||
virtual void GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
virtual void GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
||||||
ARRAY<int> & surfind, double eps) const;
|
Array<int> & surfind, double eps) const;
|
||||||
|
|
||||||
virtual void CalcSpecialPoints (ARRAY<Point<3> > & pts) const;
|
virtual void CalcSpecialPoints (Array<Point<3> > & pts) const;
|
||||||
virtual void AnalyzeSpecialPoint (const Point<3> & pt,
|
virtual void AnalyzeSpecialPoint (const Point<3> & pt,
|
||||||
ARRAY<Point<3> > & specpts) const;
|
Array<Point<3> > & specpts) const;
|
||||||
virtual Vec<3> SpecialPointTangentialVector (const Point<3> & p, int s1, int s2) const;
|
virtual Vec<3> SpecialPointTangentialVector (const Point<3> & p, int s1, int s2) const;
|
||||||
|
|
||||||
virtual int GetNSurfaces() const
|
virtual int GetNSurfaces() const
|
||||||
@ -80,8 +80,8 @@ public:
|
|||||||
virtual const Surface & GetSurface (int i) const
|
virtual const Surface & GetSurface (int i) const
|
||||||
{ return *planes[i]; }
|
{ return *planes[i]; }
|
||||||
|
|
||||||
virtual void GetPrimitiveData (const char *& classname, ARRAY<double> & coeffs) const;
|
virtual void GetPrimitiveData (const char *& classname, Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
|
|
||||||
virtual void Reduce (const BoxSphere<3> & box);
|
virtual void Reduce (const BoxSphere<3> & box);
|
||||||
virtual void UnReduce ();
|
virtual void UnReduce ();
|
||||||
@ -89,7 +89,7 @@ public:
|
|||||||
int AddPoint (const Point<3> & p);
|
int AddPoint (const Point<3> & p);
|
||||||
int AddFace (int pi1, int pi2, int pi3, int inputnum);
|
int AddFace (int pi1, int pi2, int pi3, int inputnum);
|
||||||
|
|
||||||
void GetPolySurfs(ARRAY < ARRAY<int> * > & polysurfs);
|
void GetPolySurfs(Array < Array<int> * > & polysurfs);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int FaceBoxIntersection (int fnr, const BoxSphere<3> & box) const;
|
int FaceBoxIntersection (int fnr, const BoxSphere<3> & box) const;
|
||||||
|
@ -52,13 +52,13 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
RevolutionFace :: RevolutionFace(const ARRAY<double> & raw_data)
|
RevolutionFace :: RevolutionFace(const Array<double> & raw_data)
|
||||||
{
|
{
|
||||||
deletable = true;
|
deletable = true;
|
||||||
|
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
|
|
||||||
ARRAY< Point<2> > p(3);
|
Array< Point<2> > p(3);
|
||||||
|
|
||||||
int stype = int(raw_data[pos]); pos++;
|
int stype = int(raw_data[pos]); pos++;
|
||||||
|
|
||||||
@ -293,7 +293,7 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
double retval = spline->MaxCurvature();
|
double retval = spline->MaxCurvature();
|
||||||
|
|
||||||
ARRAY < Point<2> > checkpoints;
|
Array < Point<2> > checkpoints;
|
||||||
|
|
||||||
const SplineSeg3<2> * ss3 = dynamic_cast<const SplineSeg3<2> *>(spline);
|
const SplineSeg3<2> * ss3 = dynamic_cast<const SplineSeg3<2> *>(spline);
|
||||||
const LineSeg<2> * ls = dynamic_cast<const LineSeg<2> *>(spline);
|
const LineSeg<2> * ls = dynamic_cast<const LineSeg<2> *>(spline);
|
||||||
@ -346,7 +346,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
// find smallest y value of spline:
|
// find smallest y value of spline:
|
||||||
ARRAY<double> testt;
|
Array<double> testt;
|
||||||
|
|
||||||
if(!isfirst)
|
if(!isfirst)
|
||||||
testt.Append(0);
|
testt.Append(0);
|
||||||
@ -574,7 +574,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void RevolutionFace :: GetRawData(ARRAY<double> & data) const
|
void RevolutionFace :: GetRawData(Array<double> & data) const
|
||||||
{
|
{
|
||||||
data.DeleteAll();
|
data.DeleteAll();
|
||||||
spline->GetRawData(data);
|
spline->GetRawData(data);
|
||||||
@ -668,7 +668,7 @@ namespace netgen
|
|||||||
return DOES_INTERSECT;
|
return DOES_INTERSECT;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ARRAY < Point<3> > pext(2);
|
Array < Point<3> > pext(2);
|
||||||
Point<3> p;
|
Point<3> p;
|
||||||
|
|
||||||
pext[0] = box.PMin();
|
pext[0] = box.PMin();
|
||||||
@ -722,7 +722,7 @@ namespace netgen
|
|||||||
const double b = -randomx;
|
const double b = -randomx;
|
||||||
const double c = -a*p2d(0)-b*p2d(1);
|
const double c = -a*p2d(0)-b*p2d(1);
|
||||||
|
|
||||||
ARRAY < Point<2> > points;
|
Array < Point<2> > points;
|
||||||
|
|
||||||
//(*testout) << "face intersections at: " << endl;
|
//(*testout) << "face intersections at: " << endl;
|
||||||
for(int i=0; i<faces.Size(); i++)
|
for(int i=0; i<faces.Size(); i++)
|
||||||
@ -764,7 +764,7 @@ namespace netgen
|
|||||||
return pInSolid;
|
return pInSolid;
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<int> intersecting_faces;
|
Array<int> intersecting_faces;
|
||||||
|
|
||||||
for(int i=0; i<faces.Size(); i++)
|
for(int i=0; i<faces.Size(); i++)
|
||||||
if(faces[i]->PointInFace(p,eps) == DOES_INTERSECT)
|
if(faces[i]->PointInFace(p,eps) == DOES_INTERSECT)
|
||||||
|
@ -18,9 +18,9 @@ private:
|
|||||||
mutable Vector spline_coefficient;
|
mutable Vector spline_coefficient;
|
||||||
|
|
||||||
|
|
||||||
ARRAY < Vec<2>* > checklines_vec;
|
Array < Vec<2>* > checklines_vec;
|
||||||
ARRAY < Point<2>* > checklines_start;
|
Array < Point<2>* > checklines_start;
|
||||||
ARRAY < Vec<2>* > checklines_normal;
|
Array < Vec<2>* > checklines_normal;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Init (void);
|
void Init (void);
|
||||||
@ -39,7 +39,7 @@ public:
|
|||||||
bool last = false,
|
bool last = false,
|
||||||
const int id_in = 0);
|
const int id_in = 0);
|
||||||
|
|
||||||
RevolutionFace(const ARRAY<double> & raw_data);
|
RevolutionFace(const Array<double> & raw_data);
|
||||||
|
|
||||||
~RevolutionFace();
|
~RevolutionFace();
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ public:
|
|||||||
|
|
||||||
INSOLID_TYPE PointInFace (const Point<3> & p, const double eps) const;
|
INSOLID_TYPE PointInFace (const Point<3> & p, const double eps) const;
|
||||||
|
|
||||||
void GetRawData(ARRAY<double> & data) const;
|
void GetRawData(Array<double> & data) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ private:
|
|||||||
int type;
|
int type;
|
||||||
|
|
||||||
|
|
||||||
ARRAY<RevolutionFace*> faces;
|
Array<RevolutionFace*> faces;
|
||||||
|
|
||||||
mutable int intersecting_face;
|
mutable int intersecting_face;
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ void SingularEdge :: FindPointsOnEdge (class Mesh & mesh)
|
|||||||
segms.SetSize(0);
|
segms.SetSize(0);
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> si1, si2;
|
Array<int> si1, si2;
|
||||||
sol1->GetSurfaceIndices (si1);
|
sol1->GetSurfaceIndices (si1);
|
||||||
sol2->GetSurfaceIndices (si2);
|
sol2->GetSurfaceIndices (si2);
|
||||||
|
|
||||||
@ -150,7 +150,7 @@ SingularPoint :: SingularPoint (double abeta,
|
|||||||
void SingularPoint :: FindPoints (class Mesh & mesh)
|
void SingularPoint :: FindPoints (class Mesh & mesh)
|
||||||
{
|
{
|
||||||
points.SetSize(0);
|
points.SetSize(0);
|
||||||
ARRAY<int> surfk, surf;
|
Array<int> surfk, surf;
|
||||||
|
|
||||||
|
|
||||||
for (PointIndex pi = PointIndex::BASE;
|
for (PointIndex pi = PointIndex::BASE;
|
||||||
|
@ -25,8 +25,8 @@ public:
|
|||||||
int domnr;
|
int domnr;
|
||||||
const Solid *sol;
|
const Solid *sol;
|
||||||
double factor;
|
double factor;
|
||||||
// ARRAY<Point<3> > points;
|
// Array<Point<3> > points;
|
||||||
// ARRAY<INDEX_2> segms;
|
// Array<INDEX_2> segms;
|
||||||
public:
|
public:
|
||||||
SingularFace (int adomnr, const Solid * asol, double sf)
|
SingularFace (int adomnr, const Solid * asol, double sf)
|
||||||
: domnr(adomnr), sol(asol), factor(sf) { ; }
|
: domnr(adomnr), sol(asol), factor(sf) { ; }
|
||||||
@ -43,8 +43,8 @@ public:
|
|||||||
int domnr;
|
int domnr;
|
||||||
const CSGeometry& geom;
|
const CSGeometry& geom;
|
||||||
const Solid *sol1, *sol2;
|
const Solid *sol1, *sol2;
|
||||||
ARRAY<Point<3> > points;
|
Array<Point<3> > points;
|
||||||
ARRAY<INDEX_2> segms;
|
Array<INDEX_2> segms;
|
||||||
double factor;
|
double factor;
|
||||||
|
|
||||||
double maxhinit;
|
double maxhinit;
|
||||||
@ -64,7 +64,7 @@ class SingularPoint
|
|||||||
public:
|
public:
|
||||||
double beta;
|
double beta;
|
||||||
const Solid *sol1, *sol2, *sol3;
|
const Solid *sol1, *sol2, *sol3;
|
||||||
ARRAY<Point<3> > points;
|
Array<Point<3> > points;
|
||||||
double factor;
|
double factor;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -550,14 +550,14 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Solid :: Boundaries (const Point<3> & p, ARRAY<int> & bounds) const
|
void Solid :: Boundaries (const Point<3> & p, Array<int> & bounds) const
|
||||||
{
|
{
|
||||||
int in, strin;
|
int in, strin;
|
||||||
bounds.SetSize (0);
|
bounds.SetSize (0);
|
||||||
RecBoundaries (p, bounds, in, strin);
|
RecBoundaries (p, bounds, in, strin);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: RecBoundaries (const Point<3> & p, ARRAY<int> & bounds,
|
void Solid :: RecBoundaries (const Point<3> & p, Array<int> & bounds,
|
||||||
int & in, int & strin) const
|
int & in, int & strin) const
|
||||||
{
|
{
|
||||||
switch (op)
|
switch (op)
|
||||||
@ -578,7 +578,7 @@ namespace netgen
|
|||||||
case SECTION:
|
case SECTION:
|
||||||
{
|
{
|
||||||
int i, in1, in2, strin1, strin2;
|
int i, in1, in2, strin1, strin2;
|
||||||
ARRAY<int> bounds1, bounds2;
|
Array<int> bounds1, bounds2;
|
||||||
|
|
||||||
s1 -> RecBoundaries (p, bounds1, in1, strin1);
|
s1 -> RecBoundaries (p, bounds1, in1, strin1);
|
||||||
s2 -> RecBoundaries (p, bounds2, in2, strin2);
|
s2 -> RecBoundaries (p, bounds2, in2, strin2);
|
||||||
@ -597,7 +597,7 @@ namespace netgen
|
|||||||
case UNION:
|
case UNION:
|
||||||
{
|
{
|
||||||
int i, in1, in2, strin1, strin2;
|
int i, in1, in2, strin1, strin2;
|
||||||
ARRAY<int> bounds1, bounds2;
|
Array<int> bounds1, bounds2;
|
||||||
|
|
||||||
s1 -> RecBoundaries (p, bounds1, in1, strin1);
|
s1 -> RecBoundaries (p, bounds1, in1, strin1);
|
||||||
s2 -> RecBoundaries (p, bounds2, in2, strin2);
|
s2 -> RecBoundaries (p, bounds2, in2, strin2);
|
||||||
@ -631,7 +631,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Solid :: TangentialSolid (const Point<3> & p, Solid *& tansol, ARRAY<int> & surfids, double eps) const
|
void Solid :: TangentialSolid (const Point<3> & p, Solid *& tansol, Array<int> & surfids, double eps) const
|
||||||
{
|
{
|
||||||
int in, strin;
|
int in, strin;
|
||||||
RecTangentialSolid (p, tansol, surfids, in, strin, eps);
|
RecTangentialSolid (p, tansol, surfids, in, strin, eps);
|
||||||
@ -641,7 +641,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Solid :: RecTangentialSolid (const Point<3> & p, Solid *& tansol, ARRAY<int> & surfids,
|
void Solid :: RecTangentialSolid (const Point<3> & p, Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const
|
int & in, int & strin, double eps) const
|
||||||
{
|
{
|
||||||
tansol = NULL;
|
tansol = NULL;
|
||||||
@ -730,7 +730,7 @@ namespace netgen
|
|||||||
|
|
||||||
void Solid :: TangentialSolid2 (const Point<3> & p,
|
void Solid :: TangentialSolid2 (const Point<3> & p,
|
||||||
const Vec<3> & t,
|
const Vec<3> & t,
|
||||||
Solid *& tansol, ARRAY<int> & surfids, double eps) const
|
Solid *& tansol, Array<int> & surfids, double eps) const
|
||||||
{
|
{
|
||||||
int in, strin;
|
int in, strin;
|
||||||
surfids.SetSize (0);
|
surfids.SetSize (0);
|
||||||
@ -740,7 +740,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: RecTangentialSolid2 (const Point<3> & p, const Vec<3> & t,
|
void Solid :: RecTangentialSolid2 (const Point<3> & p, const Vec<3> & t,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const
|
int & in, int & strin, double eps) const
|
||||||
{
|
{
|
||||||
tansol = NULL;
|
tansol = NULL;
|
||||||
@ -844,7 +844,7 @@ namespace netgen
|
|||||||
|
|
||||||
void Solid :: TangentialSolid3 (const Point<3> & p,
|
void Solid :: TangentialSolid3 (const Point<3> & p,
|
||||||
const Vec<3> & t, const Vec<3> & t2,
|
const Vec<3> & t, const Vec<3> & t2,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
double eps) const
|
double eps) const
|
||||||
{
|
{
|
||||||
int in, strin;
|
int in, strin;
|
||||||
@ -857,7 +857,7 @@ namespace netgen
|
|||||||
|
|
||||||
void Solid :: RecTangentialSolid3 (const Point<3> & p,
|
void Solid :: RecTangentialSolid3 (const Point<3> & p,
|
||||||
const Vec<3> & t, const Vec<3> & t2,
|
const Vec<3> & t, const Vec<3> & t2,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const
|
int & in, int & strin, double eps) const
|
||||||
{
|
{
|
||||||
tansol = NULL;
|
tansol = NULL;
|
||||||
@ -959,7 +959,7 @@ namespace netgen
|
|||||||
|
|
||||||
void Solid :: TangentialEdgeSolid (const Point<3> & p,
|
void Solid :: TangentialEdgeSolid (const Point<3> & p,
|
||||||
const Vec<3> & t, const Vec<3> & t2, const Vec<3> & m,
|
const Vec<3> & t, const Vec<3> & t2, const Vec<3> & m,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
double eps) const
|
double eps) const
|
||||||
{
|
{
|
||||||
int in, strin;
|
int in, strin;
|
||||||
@ -974,7 +974,7 @@ namespace netgen
|
|||||||
|
|
||||||
void Solid :: RecTangentialEdgeSolid (const Point<3> & p,
|
void Solid :: RecTangentialEdgeSolid (const Point<3> & p,
|
||||||
const Vec<3> & t, const Vec<3> & t2, const Vec<3> & m,
|
const Vec<3> & t, const Vec<3> & t2, const Vec<3> & m,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const
|
int & in, int & strin, double eps) const
|
||||||
{
|
{
|
||||||
tansol = NULL;
|
tansol = NULL;
|
||||||
@ -1361,13 +1361,13 @@ namespace netgen
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: GetSurfaceIndices (ARRAY<int> & surfind) const
|
void Solid :: GetSurfaceIndices (Array<int> & surfind) const
|
||||||
{
|
{
|
||||||
surfind.SetSize (0);
|
surfind.SetSize (0);
|
||||||
RecGetSurfaceIndices (surfind);
|
RecGetSurfaceIndices (surfind);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: RecGetSurfaceIndices (ARRAY<int> & surfind) const
|
void Solid :: RecGetSurfaceIndices (Array<int> & surfind) const
|
||||||
{
|
{
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
@ -1415,13 +1415,13 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Solid :: GetTangentialSurfaceIndices (const Point<3> & p, ARRAY<int> & surfind, double eps) const
|
void Solid :: GetTangentialSurfaceIndices (const Point<3> & p, Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
surfind.SetSize (0);
|
surfind.SetSize (0);
|
||||||
RecGetTangentialSurfaceIndices (p, surfind, eps);
|
RecGetTangentialSurfaceIndices (p, surfind, eps);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: RecGetTangentialSurfaceIndices (const Point<3> & p, ARRAY<int> & surfind, double eps) const
|
void Solid :: RecGetTangentialSurfaceIndices (const Point<3> & p, Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
@ -1458,14 +1458,14 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void Solid :: GetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v,
|
void Solid :: GetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
surfind.SetSize (0);
|
surfind.SetSize (0);
|
||||||
RecGetTangentialSurfaceIndices2 (p, v, surfind, eps);
|
RecGetTangentialSurfaceIndices2 (p, v, surfind, eps);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: RecGetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v,
|
void Solid :: RecGetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
@ -1510,14 +1510,14 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void Solid :: GetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2,
|
void Solid :: GetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
surfind.SetSize (0);
|
surfind.SetSize (0);
|
||||||
RecGetTangentialSurfaceIndices3 (p, v, v2, surfind, eps);
|
RecGetTangentialSurfaceIndices3 (p, v, v2, surfind, eps);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: RecGetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2,
|
void Solid :: RecGetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
@ -1567,7 +1567,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void Solid :: RecGetTangentialEdgeSurfaceIndices (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2, const Vec<3> & m,
|
void Solid :: RecGetTangentialEdgeSurfaceIndices (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2, const Vec<3> & m,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
@ -1671,7 +1671,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Solid :: CalcOnePrimitiveSpecialPoints (const Box<3> & box, ARRAY<Point<3> > & pts) const
|
void Solid :: CalcOnePrimitiveSpecialPoints (const Box<3> & box, Array<Point<3> > & pts) const
|
||||||
{
|
{
|
||||||
double eps = 1e-8 * box.Diam ();
|
double eps = 1e-8 * box.Diam ();
|
||||||
|
|
||||||
@ -1684,7 +1684,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Solid :: RecCalcOnePrimitiveSpecialPoints (ARRAY<Point<3> > & pts) const
|
void Solid :: RecCalcOnePrimitiveSpecialPoints (Array<Point<3> > & pts) const
|
||||||
{
|
{
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
|
@ -60,14 +60,14 @@ public:
|
|||||||
void IterateSolid (SolidIterator & it, bool only_once = 0);
|
void IterateSolid (SolidIterator & it, bool only_once = 0);
|
||||||
|
|
||||||
|
|
||||||
void Boundaries (const Point<3> & p, ARRAY<int> & bounds) const;
|
void Boundaries (const Point<3> & p, Array<int> & bounds) const;
|
||||||
int NumPrimitives () const;
|
int NumPrimitives () const;
|
||||||
void GetSurfaceIndices (ARRAY<int> & surfind) const;
|
void GetSurfaceIndices (Array<int> & surfind) const;
|
||||||
void GetSurfaceIndices (IndexSet & iset) const;
|
void GetSurfaceIndices (IndexSet & iset) const;
|
||||||
|
|
||||||
void GetTangentialSurfaceIndices (const Point<3> & p, ARRAY<int> & surfids, double eps) const;
|
void GetTangentialSurfaceIndices (const Point<3> & p, Array<int> & surfids, double eps) const;
|
||||||
void GetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v, ARRAY<int> & surfids, double eps) const;
|
void GetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v, Array<int> & surfids, double eps) const;
|
||||||
void GetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2, ARRAY<int> & surfids, double eps) const;
|
void GetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2, Array<int> & surfids, double eps) const;
|
||||||
|
|
||||||
|
|
||||||
Primitive * GetPrimitive ()
|
Primitive * GetPrimitive ()
|
||||||
@ -92,16 +92,16 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
/// compute localization in point p
|
/// compute localization in point p
|
||||||
void TangentialSolid (const Point<3> & p, Solid *& tansol, ARRAY<int> & surfids, double eps) const;
|
void TangentialSolid (const Point<3> & p, Solid *& tansol, Array<int> & surfids, double eps) const;
|
||||||
|
|
||||||
/// compute localization in point p tangential to vector t
|
/// compute localization in point p tangential to vector t
|
||||||
void TangentialSolid2 (const Point<3> & p, const Vec<3> & t,
|
void TangentialSolid2 (const Point<3> & p, const Vec<3> & t,
|
||||||
Solid *& tansol, ARRAY<int> & surfids, double eps) const;
|
Solid *& tansol, Array<int> & surfids, double eps) const;
|
||||||
|
|
||||||
/** compute localization in point p, with second order approximation to edge
|
/** compute localization in point p, with second order approximation to edge
|
||||||
p + s t + s*s/2 t2 **/
|
p + s t + s*s/2 t2 **/
|
||||||
void TangentialSolid3 (const Point<3> & p, const Vec<3> & t, const Vec<3> & t2,
|
void TangentialSolid3 (const Point<3> & p, const Vec<3> & t, const Vec<3> & t2,
|
||||||
Solid *& tansol, ARRAY<int> & surfids, double eps) const;
|
Solid *& tansol, Array<int> & surfids, double eps) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -113,10 +113,10 @@ public:
|
|||||||
**/
|
**/
|
||||||
void TangentialEdgeSolid (const Point<3> & p, const Vec<3> & t, const Vec<3> & t2,
|
void TangentialEdgeSolid (const Point<3> & p, const Vec<3> & t, const Vec<3> & t2,
|
||||||
const Vec<3> & m,
|
const Vec<3> & m,
|
||||||
Solid *& tansol, ARRAY<int> & surfids, double eps) const;
|
Solid *& tansol, Array<int> & surfids, double eps) const;
|
||||||
|
|
||||||
|
|
||||||
void CalcOnePrimitiveSpecialPoints (const Box<3> & box, ARRAY<Point<3> > & pts) const;
|
void CalcOnePrimitiveSpecialPoints (const Box<3> & box, Array<Point<3> > & pts) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
int Edge (const Point<3> & p, const Vec<3> & v, double eps) const;
|
int Edge (const Point<3> & p, const Vec<3> & v, double eps) const;
|
||||||
@ -154,23 +154,23 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
///
|
///
|
||||||
|
|
||||||
void RecBoundaries (const Point<3> & p, ARRAY<int> & bounds,
|
void RecBoundaries (const Point<3> & p, Array<int> & bounds,
|
||||||
int & in, int & strin) const;
|
int & in, int & strin) const;
|
||||||
///
|
///
|
||||||
void RecTangentialSolid (const Point<3> & p, Solid *& tansol, ARRAY<int> & surfids,
|
void RecTangentialSolid (const Point<3> & p, Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const;
|
int & in, int & strin, double eps) const;
|
||||||
|
|
||||||
void RecTangentialSolid2 (const Point<3> & p, const Vec<3> & vec,
|
void RecTangentialSolid2 (const Point<3> & p, const Vec<3> & vec,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const;
|
int & in, int & strin, double eps) const;
|
||||||
///
|
///
|
||||||
void RecTangentialSolid3 (const Point<3> & p, const Vec<3> & vec,const Vec<3> & vec2,
|
void RecTangentialSolid3 (const Point<3> & p, const Vec<3> & vec,const Vec<3> & vec2,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const;
|
int & in, int & strin, double eps) const;
|
||||||
///
|
///
|
||||||
void RecTangentialEdgeSolid (const Point<3> & p, const Vec<3> & t, const Vec<3> & t2,
|
void RecTangentialEdgeSolid (const Point<3> & p, const Vec<3> & t, const Vec<3> & t2,
|
||||||
const Vec<3> & m,
|
const Vec<3> & m,
|
||||||
Solid *& tansol, ARRAY<int> & surfids,
|
Solid *& tansol, Array<int> & surfids,
|
||||||
int & in, int & strin, double eps) const;
|
int & in, int & strin, double eps) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -181,16 +181,16 @@ protected:
|
|||||||
///
|
///
|
||||||
Solid * RecGetReducedSolid (const BoxSphere<3> & box, INSOLID_TYPE & in) const;
|
Solid * RecGetReducedSolid (const BoxSphere<3> & box, INSOLID_TYPE & in) const;
|
||||||
///
|
///
|
||||||
void RecGetSurfaceIndices (ARRAY<int> & surfind) const;
|
void RecGetSurfaceIndices (Array<int> & surfind) const;
|
||||||
void RecGetTangentialSurfaceIndices (const Point<3> & p, ARRAY<int> & surfids, double eps) const;
|
void RecGetTangentialSurfaceIndices (const Point<3> & p, Array<int> & surfids, double eps) const;
|
||||||
void RecGetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v, ARRAY<int> & surfids, double eps) const;
|
void RecGetTangentialSurfaceIndices2 (const Point<3> & p, const Vec<3> & v, Array<int> & surfids, double eps) const;
|
||||||
void RecGetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2,
|
void RecGetTangentialSurfaceIndices3 (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2,
|
||||||
ARRAY<int> & surfids, double eps) const;
|
Array<int> & surfids, double eps) const;
|
||||||
void RecGetTangentialEdgeSurfaceIndices (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2, const Vec<3> & m,
|
void RecGetTangentialEdgeSurfaceIndices (const Point<3> & p, const Vec<3> & v, const Vec<3> & v2, const Vec<3> & m,
|
||||||
ARRAY<int> & surfids, double eps) const;
|
Array<int> & surfids, double eps) const;
|
||||||
void RecGetSurfaceIndices (IndexSet & iset) const;
|
void RecGetSurfaceIndices (IndexSet & iset) const;
|
||||||
|
|
||||||
void RecCalcOnePrimitiveSpecialPoints (ARRAY<Point<3> > & pts) const;
|
void RecCalcOnePrimitiveSpecialPoints (Array<Point<3> > & pts) const;
|
||||||
|
|
||||||
friend class SolidIterator;
|
friend class SolidIterator;
|
||||||
friend class ClearVisitedIt;
|
friend class ClearVisitedIt;
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
ARRAY<Box<3> > boxes;
|
Array<Box<3> > boxes;
|
||||||
|
|
||||||
|
|
||||||
void ProjectToEdge (const Surface * f1, const Surface * f2, Point<3> & hp);
|
void ProjectToEdge (const Surface * f1, const Surface * f2, Point<3> & hp);
|
||||||
@ -65,7 +65,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static ARRAY<int> numprim_hist;
|
static Array<int> numprim_hist;
|
||||||
|
|
||||||
SpecialPointCalculation :: SpecialPointCalculation ()
|
SpecialPointCalculation :: SpecialPointCalculation ()
|
||||||
{
|
{
|
||||||
@ -74,7 +74,7 @@ namespace netgen
|
|||||||
|
|
||||||
void SpecialPointCalculation ::
|
void SpecialPointCalculation ::
|
||||||
CalcSpecialPoints (const CSGeometry & ageometry,
|
CalcSpecialPoints (const CSGeometry & ageometry,
|
||||||
ARRAY<MeshPoint> & apoints)
|
Array<MeshPoint> & apoints)
|
||||||
{
|
{
|
||||||
geometry = &ageometry;
|
geometry = &ageometry;
|
||||||
points = &apoints;
|
points = &apoints;
|
||||||
@ -109,7 +109,7 @@ namespace netgen
|
|||||||
|
|
||||||
if (tlo->GetSolid())
|
if (tlo->GetSolid())
|
||||||
{
|
{
|
||||||
ARRAY<Point<3> > hpts;
|
Array<Point<3> > hpts;
|
||||||
tlo->GetSolid()->CalcOnePrimitiveSpecialPoints (box, hpts);
|
tlo->GetSolid()->CalcOnePrimitiveSpecialPoints (box, hpts);
|
||||||
// if (hpts.Size())
|
// if (hpts.Size())
|
||||||
// cout << "oneprimitivespecialpoints = " << hpts << endl;
|
// cout << "oneprimitivespecialpoints = " << hpts << endl;
|
||||||
@ -201,7 +201,7 @@ namespace netgen
|
|||||||
bool possiblecrossp, possibleexp; // possible cross or extremalpoint
|
bool possiblecrossp, possibleexp; // possible cross or extremalpoint
|
||||||
bool surecrossp = 0, sureexp = 0; // sure ...
|
bool surecrossp = 0, sureexp = 0; // sure ...
|
||||||
|
|
||||||
static ARRAY<int> locsurf; // attention: array is static
|
static Array<int> locsurf; // attention: array is static
|
||||||
|
|
||||||
static int cntbox = 0;
|
static int cntbox = 0;
|
||||||
cntbox++;
|
cntbox++;
|
||||||
@ -260,8 +260,8 @@ namespace netgen
|
|||||||
|
|
||||||
if (nquad == numprim && nplane >= numprim-1)
|
if (nquad == numprim && nplane >= numprim-1)
|
||||||
{
|
{
|
||||||
ARRAY<Point<3> > pts;
|
Array<Point<3> > pts;
|
||||||
ARRAY<int> surfids;
|
Array<int> surfids;
|
||||||
|
|
||||||
for (int k1 = 0; k1 < numprim - 2; k1++)
|
for (int k1 = 0; k1 < numprim - 2; k1++)
|
||||||
for (int k2 = k1 + 1; k2 < numprim - 1; k2++)
|
for (int k2 = k1 + 1; k2 < numprim - 1; k2++)
|
||||||
@ -447,7 +447,7 @@ namespace netgen
|
|||||||
BoxSphere<3> boxp (pp, pp);
|
BoxSphere<3> boxp (pp, pp);
|
||||||
boxp.Increase (1e-3*size);
|
boxp.Increase (1e-3*size);
|
||||||
boxp.CalcDiamCenter();
|
boxp.CalcDiamCenter();
|
||||||
ARRAY<int> locsurf2;
|
Array<int> locsurf2;
|
||||||
|
|
||||||
geometry -> GetIndependentSurfaceIndices (sol, boxp, locsurf2);
|
geometry -> GetIndependentSurfaceIndices (sol, boxp, locsurf2);
|
||||||
|
|
||||||
@ -1035,7 +1035,7 @@ namespace netgen
|
|||||||
ComputeCrossPoints (const Plane * plane1,
|
ComputeCrossPoints (const Plane * plane1,
|
||||||
const Plane * plane2,
|
const Plane * plane2,
|
||||||
const Plane * plane3,
|
const Plane * plane3,
|
||||||
ARRAY<Point<3> > & pts)
|
Array<Point<3> > & pts)
|
||||||
{
|
{
|
||||||
Mat<3> mat;
|
Mat<3> mat;
|
||||||
Vec<3> rhs, sol;
|
Vec<3> rhs, sol;
|
||||||
@ -1077,7 +1077,7 @@ namespace netgen
|
|||||||
ComputeCrossPoints (const Plane * plane1,
|
ComputeCrossPoints (const Plane * plane1,
|
||||||
const Plane * plane2,
|
const Plane * plane2,
|
||||||
const QuadraticSurface * quadric,
|
const QuadraticSurface * quadric,
|
||||||
ARRAY<Point<3> > & pts)
|
Array<Point<3> > & pts)
|
||||||
{
|
{
|
||||||
Mat<2,3> mat;
|
Mat<2,3> mat;
|
||||||
Mat<3,2> inv;
|
Mat<3,2> inv;
|
||||||
@ -1153,7 +1153,7 @@ namespace netgen
|
|||||||
void SpecialPointCalculation ::
|
void SpecialPointCalculation ::
|
||||||
ComputeExtremalPoints (const Plane * plane,
|
ComputeExtremalPoints (const Plane * plane,
|
||||||
const QuadraticSurface * quadric,
|
const QuadraticSurface * quadric,
|
||||||
ARRAY<Point<3> > & pts)
|
Array<Point<3> > & pts)
|
||||||
{
|
{
|
||||||
// 3 equations:
|
// 3 equations:
|
||||||
// surf1 = 0 <===> plane_a + plane_b x = 0;
|
// surf1 = 0 <===> plane_a + plane_b x = 0;
|
||||||
@ -1362,15 +1362,15 @@ namespace netgen
|
|||||||
|
|
||||||
void SpecialPointCalculation ::
|
void SpecialPointCalculation ::
|
||||||
AnalyzeSpecialPoints (const CSGeometry & ageometry,
|
AnalyzeSpecialPoints (const CSGeometry & ageometry,
|
||||||
ARRAY<MeshPoint> & apoints,
|
Array<MeshPoint> & apoints,
|
||||||
ARRAY<SpecialPoint> & specpoints)
|
Array<SpecialPoint> & specpoints)
|
||||||
{
|
{
|
||||||
ARRAY<int> surfind, rep_surfind, surfind2, rep_surfind2, surfind3;
|
Array<int> surfind, rep_surfind, surfind2, rep_surfind2, surfind3;
|
||||||
|
|
||||||
ARRAY<Vec<3> > normalvecs;
|
Array<Vec<3> > normalvecs;
|
||||||
Vec<3> nsurf;
|
Vec<3> nsurf;
|
||||||
|
|
||||||
ARRAY<int> specpoint2point;
|
Array<int> specpoint2point;
|
||||||
specpoints.SetSize (0);
|
specpoints.SetSize (0);
|
||||||
|
|
||||||
geometry = &ageometry;
|
geometry = &ageometry;
|
||||||
@ -1406,7 +1406,7 @@ namespace netgen
|
|||||||
(*testout) << "points = " << apoints << endl;
|
(*testout) << "points = " << apoints << endl;
|
||||||
|
|
||||||
Point3dTree searchtree (bbox.PMin(), bbox.PMax());
|
Point3dTree searchtree (bbox.PMin(), bbox.PMax());
|
||||||
ARRAY<int> locsearch;
|
Array<int> locsearch;
|
||||||
|
|
||||||
for (int si = 0; si < ageometry.GetNTopLevelObjects(); si++)
|
for (int si = 0; si < ageometry.GetNTopLevelObjects(); si++)
|
||||||
{
|
{
|
||||||
@ -1570,7 +1570,7 @@ namespace netgen
|
|||||||
#ifdef DEVELOP
|
#ifdef DEVELOP
|
||||||
(*testout) << "surfind2 = " << endl << surfind2 << endl;
|
(*testout) << "surfind2 = " << endl << surfind2 << endl;
|
||||||
#endif
|
#endif
|
||||||
ARRAY<int> surfind2_aux(surfind2);
|
Array<int> surfind2_aux(surfind2);
|
||||||
ageometry.GetIndependentSurfaceIndices (surfind2_aux);
|
ageometry.GetIndependentSurfaceIndices (surfind2_aux);
|
||||||
#ifdef DEVELOP
|
#ifdef DEVELOP
|
||||||
(*testout) << "surfind2,rep = " << endl << surfind2_aux << endl;
|
(*testout) << "surfind2,rep = " << endl << surfind2_aux << endl;
|
||||||
@ -1754,7 +1754,7 @@ namespace netgen
|
|||||||
if(testuncond.Test(i))
|
if(testuncond.Test(i))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ARRAY<int> same;
|
Array<int> same;
|
||||||
same.Append(i);
|
same.Append(i);
|
||||||
|
|
||||||
for(int j = i+1; j<specpoints.Size(); j++)
|
for(int j = i+1; j<specpoints.Size(); j++)
|
||||||
|
@ -74,9 +74,9 @@ private:
|
|||||||
///
|
///
|
||||||
const CSGeometry * geometry;
|
const CSGeometry * geometry;
|
||||||
///
|
///
|
||||||
ARRAY<MeshPoint> * points;
|
Array<MeshPoint> * points;
|
||||||
///
|
///
|
||||||
ARRAY<long int> boxesinlevel;
|
Array<long int> boxesinlevel;
|
||||||
|
|
||||||
///
|
///
|
||||||
double size;
|
double size;
|
||||||
@ -97,11 +97,11 @@ public:
|
|||||||
|
|
||||||
///
|
///
|
||||||
void CalcSpecialPoints (const CSGeometry & ageometry,
|
void CalcSpecialPoints (const CSGeometry & ageometry,
|
||||||
ARRAY<MeshPoint> & points);
|
Array<MeshPoint> & points);
|
||||||
///
|
///
|
||||||
void AnalyzeSpecialPoints (const CSGeometry & geometry,
|
void AnalyzeSpecialPoints (const CSGeometry & geometry,
|
||||||
ARRAY<MeshPoint> & points,
|
Array<MeshPoint> & points,
|
||||||
ARRAY<SpecialPoint> & specpoints);
|
Array<SpecialPoint> & specpoints);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
///
|
///
|
||||||
@ -156,17 +156,17 @@ protected:
|
|||||||
|
|
||||||
void ComputeExtremalPoints (const Plane * plane,
|
void ComputeExtremalPoints (const Plane * plane,
|
||||||
const QuadraticSurface * quadric,
|
const QuadraticSurface * quadric,
|
||||||
ARRAY<Point<3> > & pts);
|
Array<Point<3> > & pts);
|
||||||
|
|
||||||
void ComputeCrossPoints (const Plane * plane1,
|
void ComputeCrossPoints (const Plane * plane1,
|
||||||
const Plane * plane2,
|
const Plane * plane2,
|
||||||
const Plane * plane3,
|
const Plane * plane3,
|
||||||
ARRAY<Point<3> > & pts);
|
Array<Point<3> > & pts);
|
||||||
|
|
||||||
void ComputeCrossPoints (const Plane * plane1,
|
void ComputeCrossPoints (const Plane * plane1,
|
||||||
const Plane * plane2,
|
const Plane * plane2,
|
||||||
const QuadraticSurface * quadratic,
|
const QuadraticSurface * quadratic,
|
||||||
ARRAY<Point<3> > & pts);
|
Array<Point<3> > & pts);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,7 +24,7 @@ class splinesegment3d
|
|||||||
class spline3d
|
class spline3d
|
||||||
{
|
{
|
||||||
///
|
///
|
||||||
ARRAY<splinesegment3d *> segments;
|
Array<splinesegment3d *> segments;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
|
@ -229,13 +229,13 @@ void Primitive :: SetSurfaceId (int i, int id)
|
|||||||
|
|
||||||
|
|
||||||
void Primitive :: GetPrimitiveData (const char *& classname,
|
void Primitive :: GetPrimitiveData (const char *& classname,
|
||||||
ARRAY<double> & coeffs) const
|
Array<double> & coeffs) const
|
||||||
{
|
{
|
||||||
classname = "undef";
|
classname = "undef";
|
||||||
coeffs.SetSize (0);
|
coeffs.SetSize (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Primitive :: SetPrimitiveData (ARRAY<double> & coeffs)
|
void Primitive :: SetPrimitiveData (Array<double> & coeffs)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -276,7 +276,7 @@ void Primitive :: Transform (Transformation<3> & trans)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Primitive :: GetTangentialSurfaceIndices (const Point<3> & p,
|
void Primitive :: GetTangentialSurfaceIndices (const Point<3> & p,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
for (int j = 0; j < GetNSurfaces(); j++)
|
for (int j = 0; j < GetNSurfaces(); j++)
|
||||||
if (fabs (GetSurface(j).CalcFunctionValue (p)) < eps)
|
if (fabs (GetSurface(j).CalcFunctionValue (p)) < eps)
|
||||||
@ -287,7 +287,7 @@ void Primitive :: GetTangentialSurfaceIndices (const Point<3> & p,
|
|||||||
|
|
||||||
void Primitive ::
|
void Primitive ::
|
||||||
GetTangentialVecSurfaceIndices (const Point<3> & p, const Vec<3> & v,
|
GetTangentialVecSurfaceIndices (const Point<3> & p, const Vec<3> & v,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
cout << "get tangvecsurfind not implemented" << endl;
|
cout << "get tangvecsurfind not implemented" << endl;
|
||||||
surfind.SetSize (0);
|
surfind.SetSize (0);
|
||||||
@ -295,7 +295,7 @@ GetTangentialVecSurfaceIndices (const Point<3> & p, const Vec<3> & v,
|
|||||||
|
|
||||||
void Primitive ::
|
void Primitive ::
|
||||||
GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
||||||
ARRAY<int> & surfind, double eps) const
|
Array<int> & surfind, double eps) const
|
||||||
{
|
{
|
||||||
for (int j = 0; j < GetNSurfaces(); j++)
|
for (int j = 0; j < GetNSurfaces(); j++)
|
||||||
{
|
{
|
||||||
|
@ -237,7 +237,7 @@ public:
|
|||||||
double eps) const = 0;
|
double eps) const = 0;
|
||||||
|
|
||||||
virtual void GetTangentialSurfaceIndices (const Point<3> & p,
|
virtual void GetTangentialSurfaceIndices (const Point<3> & p,
|
||||||
ARRAY<int> & surfind, double eps) const;
|
Array<int> & surfind, double eps) const;
|
||||||
|
|
||||||
virtual INSOLID_TYPE VecInSolid (const Point<3> & p,
|
virtual INSOLID_TYPE VecInSolid (const Point<3> & p,
|
||||||
const Vec<3> & v,
|
const Vec<3> & v,
|
||||||
@ -263,15 +263,15 @@ public:
|
|||||||
double eps) const;
|
double eps) const;
|
||||||
|
|
||||||
virtual void GetTangentialVecSurfaceIndices (const Point<3> & p, const Vec<3> & v,
|
virtual void GetTangentialVecSurfaceIndices (const Point<3> & p, const Vec<3> & v,
|
||||||
ARRAY<int> & surfind, double eps) const;
|
Array<int> & surfind, double eps) const;
|
||||||
|
|
||||||
virtual void GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
virtual void GetTangentialVecSurfaceIndices2 (const Point<3> & p, const Vec<3> & v1, const Vec<3> & v2,
|
||||||
ARRAY<int> & surfind, double eps) const;
|
Array<int> & surfind, double eps) const;
|
||||||
|
|
||||||
|
|
||||||
virtual void CalcSpecialPoints (ARRAY<Point<3> > & /* pts */) const { ; }
|
virtual void CalcSpecialPoints (Array<Point<3> > & /* pts */) const { ; }
|
||||||
virtual void AnalyzeSpecialPoint (const Point<3> & /* pt */,
|
virtual void AnalyzeSpecialPoint (const Point<3> & /* pt */,
|
||||||
ARRAY<Point<3> > & /* specpts */) const { ; }
|
Array<Point<3> > & /* specpts */) const { ; }
|
||||||
virtual Vec<3> SpecialPointTangentialVector (const Point<3> & /* p */,
|
virtual Vec<3> SpecialPointTangentialVector (const Point<3> & /* p */,
|
||||||
int /* s1 */, int /* s2 */) const
|
int /* s1 */, int /* s2 */) const
|
||||||
{ return Vec<3> (0,0,0); }
|
{ return Vec<3> (0,0,0); }
|
||||||
@ -281,8 +281,8 @@ public:
|
|||||||
virtual Surface & GetSurface (int i = 0) = 0;
|
virtual Surface & GetSurface (int i = 0) = 0;
|
||||||
virtual const Surface & GetSurface (int i = 0) const = 0;
|
virtual const Surface & GetSurface (int i = 0) const = 0;
|
||||||
|
|
||||||
ARRAY<int> surfaceids;
|
Array<int> surfaceids;
|
||||||
ARRAY<int> surfaceactive;
|
Array<int> surfaceactive;
|
||||||
|
|
||||||
int GetSurfaceId (int i = 0) const;
|
int GetSurfaceId (int i = 0) const;
|
||||||
void SetSurfaceId (int i, int id);
|
void SetSurfaceId (int i, int id);
|
||||||
@ -290,8 +290,8 @@ public:
|
|||||||
virtual int SurfaceInverted (int /* i */ = 0) const { return 0; }
|
virtual int SurfaceInverted (int /* i */ = 0) const { return 0; }
|
||||||
|
|
||||||
virtual void GetPrimitiveData (const char *& classname,
|
virtual void GetPrimitiveData (const char *& classname,
|
||||||
ARRAY<double> & coeffs) const;
|
Array<double> & coeffs) const;
|
||||||
virtual void SetPrimitiveData (ARRAY<double> & coeffs);
|
virtual void SetPrimitiveData (Array<double> & coeffs);
|
||||||
static Primitive * CreatePrimitive (const char * classname);
|
static Primitive * CreatePrimitive (const char * classname);
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ namespace netgen
|
|||||||
void TriangleApproximation :: RemoveUnusedPoints ()
|
void TriangleApproximation :: RemoveUnusedPoints ()
|
||||||
{
|
{
|
||||||
BitArray used(GetNP());
|
BitArray used(GetNP());
|
||||||
ARRAY<int> map (GetNP());
|
Array<int> map (GetNP());
|
||||||
int i, j;
|
int i, j;
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
|
|
||||||
|
@ -32,9 +32,9 @@ public:
|
|||||||
|
|
||||||
class TriangleApproximation
|
class TriangleApproximation
|
||||||
{
|
{
|
||||||
ARRAY<Point<3> > points;
|
Array<Point<3> > points;
|
||||||
ARRAY<Vec<3> > normals;
|
Array<Vec<3> > normals;
|
||||||
ARRAY<TATriangle> trigs;
|
Array<TATriangle> trigs;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TriangleApproximation();
|
TriangleApproximation();
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -53,7 +53,7 @@ am_libgeneral_la_OBJECTS = array.lo bitarray.lo dynamicmem.lo flags.lo \
|
|||||||
optmem.lo parthreads.lo profiler.lo seti.lo sort.lo \
|
optmem.lo parthreads.lo profiler.lo seti.lo sort.lo \
|
||||||
spbita2d.lo symbolta.lo table.lo
|
spbita2d.lo symbolta.lo table.lo
|
||||||
libgeneral_la_OBJECTS = $(am_libgeneral_la_OBJECTS)
|
libgeneral_la_OBJECTS = $(am_libgeneral_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
@ -361,8 +361,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -374,8 +374,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -385,12 +385,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ifndef FILE_NGSTD_ARRAYCPP
|
#ifndef FILE_NGSTD_ArrayCPP
|
||||||
#define FILE_NGSTD_ARRAYCPP
|
#define FILE_NGSTD_ArrayCPP
|
||||||
// necessary for SGI ????
|
// necessary for SGI ????
|
||||||
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
@ -9,7 +9,7 @@
|
|||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Abstract data type ARRAY
|
Abstract data type Array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
@ -22,7 +22,7 @@ namespace netgen
|
|||||||
//using namespace netgen;
|
//using namespace netgen;
|
||||||
|
|
||||||
#ifdef NONE
|
#ifdef NONE
|
||||||
void BASE_ARRAY :: ReSize (int minsize, int elementsize)
|
void BASE_Array :: ReSize (int minsize, int elementsize)
|
||||||
{
|
{
|
||||||
cout << "resize, minsize = " << minsize << endl;
|
cout << "resize, minsize = " << minsize << endl;
|
||||||
|
|
||||||
@ -55,13 +55,13 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void BASE_ARRAY :: RangeCheck (int i) const
|
void BASE_Array :: RangeCheck (int i) const
|
||||||
{
|
{
|
||||||
if (i < 0 || i >= actsize)
|
if (i < 0 || i >= actsize)
|
||||||
throw ArrayRangeException ();
|
throw ArrayRangeException ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BASE_ARRAY :: CheckNonEmpty () const
|
void BASE_Array :: CheckNonEmpty () const
|
||||||
{
|
{
|
||||||
if (!actsize)
|
if (!actsize)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ifndef FILE_ARRAY
|
#ifndef FILE_Array
|
||||||
#define FILE_ARRAY
|
#define FILE_Array
|
||||||
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
/* File: array.hpp */
|
/* File: array.hpp */
|
||||||
@ -77,7 +77,7 @@ public:
|
|||||||
{
|
{
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (i < 1 || i > size)
|
if (i < 1 || i > size)
|
||||||
cout << "ARRAY<" << typeid(T).name()
|
cout << "Array<" << typeid(T).name()
|
||||||
<< ">::Elem out of range, i = " << i
|
<< ">::Elem out of range, i = " << i
|
||||||
<< ", s = " << size << endl;
|
<< ", s = " << size << endl;
|
||||||
#endif
|
#endif
|
||||||
@ -90,7 +90,7 @@ public:
|
|||||||
{
|
{
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (i < 1 || i > size)
|
if (i < 1 || i > size)
|
||||||
cout << "ARRAY<" << typeid(T).name() << ">::Get out of range, i = " << i
|
cout << "Array<" << typeid(T).name() << ">::Get out of range, i = " << i
|
||||||
<< ", s = " << size << endl;
|
<< ", s = " << size << endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ public:
|
|||||||
{
|
{
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (i < 1 || i > size)
|
if (i < 1 || i > size)
|
||||||
cout << "ARRAY<" << typeid(T).name() << ">::Set out of range, i = " << i
|
cout << "Array<" << typeid(T).name() << ">::Set out of range, i = " << i
|
||||||
<< ", s = " << size << endl;
|
<< ", s = " << size << endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -170,13 +170,13 @@ inline ostream & operator<< (ostream & s, const FlatArray<T,BASE> & a)
|
|||||||
/**
|
/**
|
||||||
Dynamic array container.
|
Dynamic array container.
|
||||||
|
|
||||||
ARRAY<T> is an automatically increasing array container.
|
Array<T> is an automatically increasing array container.
|
||||||
The allocated memory doubles on overflow.
|
The allocated memory doubles on overflow.
|
||||||
Either the container takes care of memory allocation and deallocation,
|
Either the container takes care of memory allocation and deallocation,
|
||||||
or the user provides one block of data.
|
or the user provides one block of data.
|
||||||
*/
|
*/
|
||||||
template <class T, int BASE = 0>
|
template <class T, int BASE = 0>
|
||||||
class ARRAY : public FlatArray<T, BASE>
|
class Array : public FlatArray<T, BASE>
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
/// physical size of array
|
/// physical size of array
|
||||||
@ -187,7 +187,7 @@ protected:
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
/// Generate array of logical and physical size asize
|
/// Generate array of logical and physical size asize
|
||||||
explicit ARRAY(int asize = 0)
|
explicit Array(int asize = 0)
|
||||||
: FlatArray<T, BASE> (asize, asize ? new T[asize] : 0)
|
: FlatArray<T, BASE> (asize, asize ? new T[asize] : 0)
|
||||||
{
|
{
|
||||||
allocsize = asize;
|
allocsize = asize;
|
||||||
@ -195,7 +195,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Generate array in user data
|
/// Generate array in user data
|
||||||
ARRAY(int asize, T* adata)
|
Array(int asize, T* adata)
|
||||||
: FlatArray<T, BASE> (asize, adata)
|
: FlatArray<T, BASE> (asize, adata)
|
||||||
{
|
{
|
||||||
allocsize = asize;
|
allocsize = asize;
|
||||||
@ -203,7 +203,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// array copy
|
/// array copy
|
||||||
explicit ARRAY (const ARRAY<T> & a2)
|
explicit Array (const Array<T> & a2)
|
||||||
: FlatArray<T, BASE> (a2.Size(), a2.Size() ? new T[a2.Size()] : 0)
|
: FlatArray<T, BASE> (a2.Size(), a2.Size() ? new T[a2.Size()] : 0)
|
||||||
{
|
{
|
||||||
allocsize = this->size;
|
allocsize = this->size;
|
||||||
@ -215,7 +215,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
/// if responsible, deletes memory
|
/// if responsible, deletes memory
|
||||||
~ARRAY()
|
~Array()
|
||||||
{
|
{
|
||||||
if (ownmem)
|
if (ownmem)
|
||||||
delete [] this->data;
|
delete [] this->data;
|
||||||
@ -273,7 +273,7 @@ public:
|
|||||||
/// Delete element i (0-based). Move last element to position i.
|
/// Delete element i (0-based). Move last element to position i.
|
||||||
void Delete (int i)
|
void Delete (int i)
|
||||||
{
|
{
|
||||||
#ifdef CHECK_ARRAY_RANGE
|
#ifdef CHECK_Array_RANGE
|
||||||
RangeCheck (i+1);
|
RangeCheck (i+1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -286,7 +286,7 @@ public:
|
|||||||
/// Delete element i (1-based). Move last element to position i.
|
/// Delete element i (1-based). Move last element to position i.
|
||||||
void DeleteElement (int i)
|
void DeleteElement (int i)
|
||||||
{
|
{
|
||||||
#ifdef CHECK_ARRAY_RANGE
|
#ifdef CHECK_Array_RANGE
|
||||||
RangeCheck (i);
|
RangeCheck (i);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -310,14 +310,14 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Fill array with val
|
/// Fill array with val
|
||||||
ARRAY & operator= (const T & val)
|
Array & operator= (const T & val)
|
||||||
{
|
{
|
||||||
FlatArray<T, BASE>::operator= (val);
|
FlatArray<T, BASE>::operator= (val);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// array copy
|
/// array copy
|
||||||
ARRAY & operator= (const ARRAY & a2)
|
Array & operator= (const Array & a2)
|
||||||
{
|
{
|
||||||
SetSize (a2.Size());
|
SetSize (a2.Size());
|
||||||
for (int i = BASE; i < this->size+BASE; i++)
|
for (int i = BASE; i < this->size+BASE; i++)
|
||||||
@ -326,7 +326,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// array copy
|
/// array copy
|
||||||
ARRAY & operator= (const FlatArray<T> & a2)
|
Array & operator= (const FlatArray<T> & a2)
|
||||||
{
|
{
|
||||||
SetSize (a2.Size());
|
SetSize (a2.Size());
|
||||||
for (int i = BASE; i < this->size+BASE; i++)
|
for (int i = BASE; i < this->size+BASE; i++)
|
||||||
@ -368,7 +368,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
template <class T, int S>
|
template <class T, int S>
|
||||||
class ArrayMem : public ARRAY<T>
|
class ArrayMem : public Array<T>
|
||||||
{
|
{
|
||||||
// T mem[S]; // Intel C++ calls dummy constructor
|
// T mem[S]; // Intel C++ calls dummy constructor
|
||||||
// char mem[S*sizeof(T)];
|
// char mem[S*sizeof(T)];
|
||||||
@ -376,7 +376,7 @@ class ArrayMem : public ARRAY<T>
|
|||||||
public:
|
public:
|
||||||
/// Generate array of logical and physical size asize
|
/// Generate array of logical and physical size asize
|
||||||
explicit ArrayMem(int asize = 0)
|
explicit ArrayMem(int asize = 0)
|
||||||
: ARRAY<T> (S, static_cast<T*> (static_cast<void*>(&mem[0])))
|
: Array<T> (S, static_cast<T*> (static_cast<void*>(&mem[0])))
|
||||||
{
|
{
|
||||||
this->size = asize;
|
this->size = asize;
|
||||||
if (asize > S)
|
if (asize > S)
|
||||||
@ -389,7 +389,7 @@ public:
|
|||||||
|
|
||||||
ArrayMem & operator= (const T & val)
|
ArrayMem & operator= (const T & val)
|
||||||
{
|
{
|
||||||
ARRAY<T>::operator= (val);
|
Array<T>::operator= (val);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -614,7 +614,7 @@ inline void BubbleSort (FlatArray<T> & data, FlatArray<S> & slave)
|
|||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void Intersection (const FlatArray<T> & in1, const FlatArray<T> & in2,
|
void Intersection (const FlatArray<T> & in1, const FlatArray<T> & in2,
|
||||||
ARRAY<T> & out)
|
Array<T> & out)
|
||||||
{
|
{
|
||||||
out.SetSize(0);
|
out.SetSize(0);
|
||||||
for(int i=0; i<in1.Size(); i++)
|
for(int i=0; i<in1.Size(); i++)
|
||||||
@ -623,7 +623,7 @@ void Intersection (const FlatArray<T> & in1, const FlatArray<T> & in2,
|
|||||||
}
|
}
|
||||||
template <class T>
|
template <class T>
|
||||||
void Intersection (const FlatArray<T> & in1, const FlatArray<T> & in2, const FlatArray<T> & in3,
|
void Intersection (const FlatArray<T> & in1, const FlatArray<T> & in2, const FlatArray<T> & in3,
|
||||||
ARRAY<T> & out)
|
Array<T> & out)
|
||||||
{
|
{
|
||||||
out.SetSize(0);
|
out.SetSize(0);
|
||||||
for(int i=0; i<in1.Size(); i++)
|
for(int i=0; i<in1.Size(); i++)
|
||||||
|
@ -155,7 +155,7 @@ template <int BASE = 1>
|
|||||||
class BitArrayChar
|
class BitArrayChar
|
||||||
{
|
{
|
||||||
///
|
///
|
||||||
ARRAY<char,BASE> data;
|
Array<char,BASE> data;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
|
@ -56,9 +56,9 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Flags :: SetFlag (const char * name, const ARRAY<char*> & val)
|
void Flags :: SetFlag (const char * name, const Array<char*> & val)
|
||||||
{
|
{
|
||||||
ARRAY<char*> * strarray = new ARRAY<char*>;
|
Array<char*> * strarray = new Array<char*>;
|
||||||
for (int i = 1; i <= val.Size(); i++)
|
for (int i = 1; i <= val.Size(); i++)
|
||||||
{
|
{
|
||||||
strarray->Append (new char[strlen(val.Get(i))+1]);
|
strarray->Append (new char[strlen(val.Get(i))+1]);
|
||||||
@ -67,9 +67,9 @@ namespace netgen
|
|||||||
strlistflags.Set (name, strarray);
|
strlistflags.Set (name, strarray);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Flags :: SetFlag (const char * name, const ARRAY<double> & val)
|
void Flags :: SetFlag (const char * name, const Array<double> & val)
|
||||||
{
|
{
|
||||||
ARRAY<double> * numarray = new ARRAY<double>;
|
Array<double> * numarray = new Array<double>;
|
||||||
for (int i = 1; i <= val.Size(); i++)
|
for (int i = 1; i <= val.Size(); i++)
|
||||||
numarray->Append (val.Get(i));
|
numarray->Append (val.Get(i));
|
||||||
numlistflags.Set (name, numarray);
|
numlistflags.Set (name, numarray);
|
||||||
@ -118,26 +118,26 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const ARRAY<char*> &
|
const Array<char*> &
|
||||||
Flags :: GetStringListFlag (const char * name) const
|
Flags :: GetStringListFlag (const char * name) const
|
||||||
{
|
{
|
||||||
if (strlistflags.Used (name))
|
if (strlistflags.Used (name))
|
||||||
return *strlistflags.Get(name);
|
return *strlistflags.Get(name);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
static ARRAY<char*> hstra(0);
|
static Array<char*> hstra(0);
|
||||||
return hstra;
|
return hstra;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const ARRAY<double> &
|
const Array<double> &
|
||||||
Flags ::GetNumListFlag (const char * name) const
|
Flags ::GetNumListFlag (const char * name) const
|
||||||
{
|
{
|
||||||
if (numlistflags.Used (name))
|
if (numlistflags.Used (name))
|
||||||
return *numlistflags.Get(name);
|
return *numlistflags.Get(name);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
static ARRAY<double> hnuma(0);
|
static Array<double> hnuma(0);
|
||||||
return hnuma;
|
return hnuma;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,9 +22,9 @@ class Flags
|
|||||||
///
|
///
|
||||||
SYMBOLTABLE<int> defflags;
|
SYMBOLTABLE<int> defflags;
|
||||||
///
|
///
|
||||||
SYMBOLTABLE<ARRAY<char*>*> strlistflags;
|
SYMBOLTABLE<Array<char*>*> strlistflags;
|
||||||
///
|
///
|
||||||
SYMBOLTABLE<ARRAY<double>*> numlistflags;
|
SYMBOLTABLE<Array<double>*> numlistflags;
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
Flags ();
|
Flags ();
|
||||||
@ -40,9 +40,9 @@ public:
|
|||||||
/// Sets boolean flag
|
/// Sets boolean flag
|
||||||
void SetFlag (const char * name);
|
void SetFlag (const char * name);
|
||||||
/// Sets string arary falg
|
/// Sets string arary falg
|
||||||
void SetFlag (const char * name, const ARRAY<char*> & val);
|
void SetFlag (const char * name, const Array<char*> & val);
|
||||||
/// Sets double array flag
|
/// Sets double array flag
|
||||||
void SetFlag (const char * name, const ARRAY<double> & val);
|
void SetFlag (const char * name, const Array<double> & val);
|
||||||
|
|
||||||
/// Save flags to file
|
/// Save flags to file
|
||||||
void SaveFlags (const char * filename) const;
|
void SaveFlags (const char * filename) const;
|
||||||
@ -64,9 +64,9 @@ public:
|
|||||||
/// Returns boolean flag
|
/// Returns boolean flag
|
||||||
bool GetDefineFlag (const char * name) const;
|
bool GetDefineFlag (const char * name) const;
|
||||||
/// Returns string list flag, empty array if not exist
|
/// Returns string list flag, empty array if not exist
|
||||||
const ARRAY<char*> & GetStringListFlag (const char * name) const;
|
const Array<char*> & GetStringListFlag (const char * name) const;
|
||||||
/// Returns num list flag, empty array if not exist
|
/// Returns num list flag, empty array if not exist
|
||||||
const ARRAY<double> & GetNumListFlag (const char * name) const;
|
const Array<double> & GetNumListFlag (const char * name) const;
|
||||||
|
|
||||||
|
|
||||||
/// Test, if string flag is defined
|
/// Test, if string flag is defined
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Abstract data type ARRAY
|
Abstract data type Array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ private:
|
|||||||
///
|
///
|
||||||
void * freelist;
|
void * freelist;
|
||||||
///
|
///
|
||||||
ARRAY<char*> bablocks;
|
Array<char*> bablocks;
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
BlockAllocator (unsigned asize, unsigned ablocks = 100);
|
BlockAllocator (unsigned asize, unsigned ablocks = 100);
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
*/
|
*/
|
||||||
class IndexSet
|
class IndexSet
|
||||||
{
|
{
|
||||||
ARRAY<int> set;
|
Array<int> set;
|
||||||
BitArray flags;
|
BitArray flags;
|
||||||
public:
|
public:
|
||||||
IndexSet (int maxind);
|
IndexSet (int maxind);
|
||||||
@ -38,7 +38,7 @@ public:
|
|||||||
void Del (int ind);
|
void Del (int ind);
|
||||||
void Clear ();
|
void Clear ();
|
||||||
|
|
||||||
const ARRAY<int> & Array() { return set; }
|
const Array<int> & Array() { return set; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
|
||||||
void Sort (const ARRAY<double> & values,
|
void Sort (const Array<double> & values,
|
||||||
ARRAY<int> & order)
|
Array<int> & order)
|
||||||
{
|
{
|
||||||
int n = values.Size();
|
int n = values.Size();
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -35,8 +35,8 @@ void Sort (const ARRAY<double> & values,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void QickSortRec (const ARRAY<double> & values,
|
void QickSortRec (const Array<double> & values,
|
||||||
ARRAY<int> & order,
|
Array<int> & order,
|
||||||
int left, int right)
|
int left, int right)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -62,8 +62,8 @@ void QickSortRec (const ARRAY<double> & values,
|
|||||||
if (i < right) QickSortRec (values, order, i, right);
|
if (i < right) QickSortRec (values, order, i, right);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QickSort (const ARRAY<double> & values,
|
void QickSort (const Array<double> & values,
|
||||||
ARRAY<int> & order)
|
Array<int> & order)
|
||||||
{
|
{
|
||||||
int i, n = values.Size();
|
int i, n = values.Size();
|
||||||
order.SetSize (n);
|
order.SetSize (n);
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
|
|
||||||
// order(i) is sorted index of element i
|
// order(i) is sorted index of element i
|
||||||
extern void Sort (const ARRAY<double> & values,
|
extern void Sort (const Array<double> & values,
|
||||||
ARRAY<int> & order);
|
Array<int> & order);
|
||||||
|
|
||||||
extern void QickSort (const ARRAY<double> & values,
|
extern void QickSort (const Array<double> & values,
|
||||||
ARRAY<int> & order);
|
Array<int> & order);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ inline void BubbleSort (int size, T * data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
inline void BubbleSort (ARRAY<T> & data)
|
inline void BubbleSort (Array<T> & data)
|
||||||
{
|
{
|
||||||
if(data.Size() > 0)
|
if(data.Size() > 0)
|
||||||
BubbleSort (data.Size(), &data[data.Begin()]);
|
BubbleSort (data.Size(), &data[data.Begin()]);
|
||||||
|
@ -16,20 +16,20 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
//using namespace netgen;
|
//using namespace netgen;
|
||||||
|
|
||||||
SPARSE_BIT_ARRAY_2D :: SPARSE_BIT_ARRAY_2D (int ah, int aw)
|
SPARSE_BIT_Array_2D :: SPARSE_BIT_Array_2D (int ah, int aw)
|
||||||
{
|
{
|
||||||
lines = NULL;
|
lines = NULL;
|
||||||
SetSize (ah, aw);
|
SetSize (ah, aw);
|
||||||
}
|
}
|
||||||
|
|
||||||
SPARSE_BIT_ARRAY_2D :: ~SPARSE_BIT_ARRAY_2D ()
|
SPARSE_BIT_Array_2D :: ~SPARSE_BIT_Array_2D ()
|
||||||
{
|
{
|
||||||
DeleteElements ();
|
DeleteElements ();
|
||||||
delete lines;
|
delete lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SPARSE_BIT_ARRAY_2D :: SetSize (int ah, int aw)
|
void SPARSE_BIT_Array_2D :: SetSize (int ah, int aw)
|
||||||
{
|
{
|
||||||
DeleteElements();
|
DeleteElements();
|
||||||
if (lines)
|
if (lines)
|
||||||
@ -58,13 +58,13 @@ namespace netgen
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
height = width = 0;
|
height = width = 0;
|
||||||
MyError ("SPARSE_ARRAY::SetSize: Out of memory");
|
MyError ("SPARSE_Array::SetSize: Out of memory");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void SPARSE_BIT_ARRAY_2D :: DeleteElements ()
|
void SPARSE_BIT_Array_2D :: DeleteElements ()
|
||||||
{
|
{
|
||||||
if (lines)
|
if (lines)
|
||||||
{
|
{
|
||||||
@ -82,7 +82,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int SPARSE_BIT_ARRAY_2D :: Test (int i, int j) const
|
int SPARSE_BIT_Array_2D :: Test (int i, int j) const
|
||||||
{
|
{
|
||||||
int k, max, *col;
|
int k, max, *col;
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void SPARSE_BIT_ARRAY_2D :: Set(int i, int j)
|
void SPARSE_BIT_Array_2D :: Set(int i, int j)
|
||||||
{
|
{
|
||||||
int k, max, *col;
|
int k, max, *col;
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MyError ("SPARSE_BIT_ARRAY::Set: Out of mem 1");
|
MyError ("SPARSE_BIT_Array::Set: Out of mem 1");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -149,7 +149,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MyError ("SPARSE_ARRAY::Set: Out of memory 2");
|
MyError ("SPARSE_Array::Set: Out of memory 2");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
class SPARSE_BIT_ARRAY_2D
|
class SPARSE_BIT_Array_2D
|
||||||
{
|
{
|
||||||
class linestruct { public: INDEX size; INDEX maxsize; INDEX * col; };
|
class linestruct { public: INDEX size; INDEX maxsize; INDEX * col; };
|
||||||
|
|
||||||
@ -24,9 +24,9 @@ class SPARSE_BIT_ARRAY_2D
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
///
|
///
|
||||||
SPARSE_BIT_ARRAY_2D (INDEX ah = 0, INDEX aw = 0);
|
SPARSE_BIT_Array_2D (INDEX ah = 0, INDEX aw = 0);
|
||||||
///
|
///
|
||||||
~SPARSE_BIT_ARRAY_2D ();
|
~SPARSE_BIT_Array_2D ();
|
||||||
|
|
||||||
///
|
///
|
||||||
void SetSize (INDEX ah, INDEX aw = 0);
|
void SetSize (INDEX ah, INDEX aw = 0);
|
||||||
|
@ -39,7 +39,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
///
|
///
|
||||||
ARRAY<T> elems;
|
Array<T> elems;
|
||||||
///
|
///
|
||||||
INDEX size;
|
INDEX size;
|
||||||
};
|
};
|
||||||
|
@ -16,7 +16,7 @@ class BASE_SYMBOLTABLE
|
|||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
/// identifiers
|
/// identifiers
|
||||||
ARRAY <char*> names;
|
Array <char*> names;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Constructor
|
/// Constructor
|
||||||
@ -41,7 +41,7 @@ class SYMBOLTABLE : public BASE_SYMBOLTABLE
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
/// Associated data
|
/// Associated data
|
||||||
ARRAY <T> data;
|
Array <T> data;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Creates a symboltable
|
/// Creates a symboltable
|
||||||
|
@ -25,7 +25,7 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
///
|
///
|
||||||
ARRAY<linestruct> data;
|
Array<linestruct> data;
|
||||||
char * oneblock;
|
char * oneblock;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -51,7 +51,7 @@ libgeom2d_la_LIBADD =
|
|||||||
am_libgeom2d_la_OBJECTS = genmesh2d.lo geom2dmesh.lo spline.lo \
|
am_libgeom2d_la_OBJECTS = genmesh2d.lo geom2dmesh.lo spline.lo \
|
||||||
splinegeometry.lo
|
splinegeometry.lo
|
||||||
libgeom2d_la_OBJECTS = $(am_libgeom2d_la_OBJECTS)
|
libgeom2d_la_OBJECTS = $(am_libgeom2d_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
@ -320,8 +320,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -333,8 +333,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -344,12 +344,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
|
||||||
// static ARRAY<Point<2> > points2;
|
// static Array<Point<2> > points2;
|
||||||
// static ARRAY<int> lp1, lp2;
|
// static Array<int> lp1, lp2;
|
||||||
|
|
||||||
|
|
||||||
extern void Optimize2d (Mesh & mesh, MeshingParameters & mp);
|
extern void Optimize2d (Mesh & mesh, MeshingParameters & mp);
|
||||||
@ -69,7 +69,7 @@ namespace netgen
|
|||||||
for (int i = 1; i <= maxdomnr; i++)
|
for (int i = 1; i <= maxdomnr; i++)
|
||||||
mesh->AddFaceDescriptor (FaceDescriptor (i, 0, 0, i));
|
mesh->AddFaceDescriptor (FaceDescriptor (i, 0, 0, i));
|
||||||
|
|
||||||
// set ARRAY<string*> bcnames...
|
// set Array<string*> bcnames...
|
||||||
// number of bcnames
|
// number of bcnames
|
||||||
int maxsegmentindex = 0;
|
int maxsegmentindex = 0;
|
||||||
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
|
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
|
||||||
@ -105,8 +105,8 @@ namespace netgen
|
|||||||
if (geometry.GetDomainTensorMeshing (domnr))
|
if (geometry.GetDomainTensorMeshing (domnr))
|
||||||
{ // tensor product mesh
|
{ // tensor product mesh
|
||||||
|
|
||||||
ARRAY<PointIndex, PointIndex::BASE> nextpi(bnp);
|
Array<PointIndex, PointIndex::BASE> nextpi(bnp);
|
||||||
ARRAY<int, PointIndex::BASE> si1(bnp), si2(bnp);
|
Array<int, PointIndex::BASE> si1(bnp), si2(bnp);
|
||||||
PointIndex firstpi;
|
PointIndex firstpi;
|
||||||
|
|
||||||
nextpi = -1;
|
nextpi = -1;
|
||||||
@ -145,7 +145,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ARRAY<PointIndex> pts ( (nex+1) * (ney+1) ); // x ... inner loop
|
Array<PointIndex> pts ( (nex+1) * (ney+1) ); // x ... inner loop
|
||||||
pts = -1;
|
pts = -1;
|
||||||
|
|
||||||
for (PointIndex pi = c1, i = 0; pi != c2; pi = nextpi[pi], i++)
|
for (PointIndex pi = c1, i = 0; pi != c2; pi = nextpi[pi], i++)
|
||||||
|
@ -282,7 +282,7 @@ namespace netgen
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
void CalcPartition (double l, double h, double r1, double r2,
|
void CalcPartition (double l, double h, double r1, double r2,
|
||||||
double ra, double elto0, ARRAY<double> & points)
|
double ra, double elto0, Array<double> & points)
|
||||||
{
|
{
|
||||||
int i, j, n, nel;
|
int i, j, n, nel;
|
||||||
double sum, t, dt, fun, fperel, oldf, f;
|
double sum, t, dt, fun, fperel, oldf, f;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
|
|
||||||
void CalcPartition (double l, double h, double r1, double r2,
|
void CalcPartition (double l, double h, double r1, double r2,
|
||||||
double ra, double elto0, ARRAY<double> & points);
|
double ra, double elto0, Array<double> & points);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Spline curves for 2D mesh generation
|
Spline curves for 2D mesh generation
|
||||||
@ -84,13 +84,13 @@ public:
|
|||||||
|
|
||||||
virtual void GetCoeff (Vector & coeffs) const = 0;
|
virtual void GetCoeff (Vector & coeffs) const = 0;
|
||||||
|
|
||||||
virtual void GetPoints (int n, ARRAY<Point<D> > & points);
|
virtual void GetPoints (int n, Array<Point<D> > & points);
|
||||||
|
|
||||||
/** calculates (2D) lineintersections:
|
/** calculates (2D) lineintersections:
|
||||||
for lines $$ a x + b y + c = 0 $$ the interecting points are calculated
|
for lines $$ a x + b y + c = 0 $$ the interecting points are calculated
|
||||||
and stored in points */
|
and stored in points */
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<D> > & points, const double eps) const
|
Array < Point<D> > & points, const double eps) const
|
||||||
{points.SetSize(0);}
|
{points.SetSize(0);}
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const = 0;
|
virtual double MaxCurvature(void) const = 0;
|
||||||
@ -100,7 +100,7 @@ public:
|
|||||||
virtual void Project (const Point<D> point, Point<D> & point_on_curve, double & t) const
|
virtual void Project (const Point<D> point, Point<D> & point_on_curve, double & t) const
|
||||||
{ cerr << "Project not implemented for spline base-class" << endl;}
|
{ cerr << "Project not implemented for spline base-class" << endl;}
|
||||||
|
|
||||||
virtual void GetRawData (ARRAY<double> & data) const
|
virtual void GetRawData (Array<double> & data) const
|
||||||
{ cerr << "GetRawData not implemented for spline base-class" << endl;}
|
{ cerr << "GetRawData not implemented for spline base-class" << endl;}
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -138,13 +138,13 @@ public:
|
|||||||
virtual string GetType(void) const {return "line";}
|
virtual string GetType(void) const {return "line";}
|
||||||
|
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<D> > & points, const double eps) const;
|
Array < Point<D> > & points, const double eps) const;
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const {return 0;}
|
virtual double MaxCurvature(void) const {return 0;}
|
||||||
|
|
||||||
virtual void Project (const Point<D> point, Point<D> & point_on_curve, double & t) const;
|
virtual void Project (const Point<D> point, Point<D> & point_on_curve, double & t) const;
|
||||||
|
|
||||||
virtual void GetRawData (ARRAY<double> & data) const;
|
virtual void GetRawData (Array<double> & data) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -184,13 +184,13 @@ public:
|
|||||||
const GeomPoint<D> & TangentPoint (void) const { return p2; }
|
const GeomPoint<D> & TangentPoint (void) const { return p2; }
|
||||||
|
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<D> > & points, const double eps) const;
|
Array < Point<D> > & points, const double eps) const;
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const;
|
virtual double MaxCurvature(void) const;
|
||||||
|
|
||||||
virtual void Project (const Point<D> point, Point<D> & point_on_curve, double & t) const;
|
virtual void Project (const Point<D> point, Point<D> & point_on_curve, double & t) const;
|
||||||
|
|
||||||
virtual void GetRawData (ARRAY<double> & data) const;
|
virtual void GetRawData (Array<double> & data) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -230,7 +230,7 @@ public:
|
|||||||
virtual string GetType(void) const {return "circle";}
|
virtual string GetType(void) const {return "circle";}
|
||||||
|
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<D> > & points, const double eps) const;
|
Array < Point<D> > & points, const double eps) const;
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const {return 1./radius;}
|
virtual double MaxCurvature(void) const {return 1./radius;}
|
||||||
};
|
};
|
||||||
@ -244,11 +244,11 @@ public:
|
|||||||
template<int D>
|
template<int D>
|
||||||
class DiscretePointsSeg : public SplineSeg<D>
|
class DiscretePointsSeg : public SplineSeg<D>
|
||||||
{
|
{
|
||||||
ARRAY<Point<D> > pts;
|
Array<Point<D> > pts;
|
||||||
GeomPoint<D> p1, p2;
|
GeomPoint<D> p1, p2;
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
DiscretePointsSeg (const ARRAY<Point<D> > & apts);
|
DiscretePointsSeg (const Array<Point<D> > & apts);
|
||||||
///
|
///
|
||||||
virtual ~DiscretePointsSeg ();
|
virtual ~DiscretePointsSeg ();
|
||||||
///
|
///
|
||||||
@ -302,7 +302,7 @@ void SplineSeg<D> :: Partition (double h, double elto0,
|
|||||||
double lold, dt, frac;
|
double lold, dt, frac;
|
||||||
int n = 100;
|
int n = 100;
|
||||||
Point<D> p, pold, mark, oldmark;
|
Point<D> p, pold, mark, oldmark;
|
||||||
ARRAY<double> curvepoints;
|
Array<double> curvepoints;
|
||||||
double edgelength, edgelengthold;
|
double edgelength, edgelengthold;
|
||||||
l = Length();
|
l = Length();
|
||||||
|
|
||||||
@ -323,7 +323,7 @@ void SplineSeg<D> :: Partition (double h, double elto0,
|
|||||||
lold = 0;
|
lold = 0;
|
||||||
oldmark = pold;
|
oldmark = pold;
|
||||||
edgelengthold = 0;
|
edgelengthold = 0;
|
||||||
ARRAY<int> locsearch;
|
Array<int> locsearch;
|
||||||
|
|
||||||
for (i = 1; i <= n; i++)
|
for (i = 1; i <= n; i++)
|
||||||
{
|
{
|
||||||
@ -401,7 +401,7 @@ void SplineSeg<D> :: Partition (double h, double elto0,
|
|||||||
|
|
||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
void SplineSeg<D> :: GetPoints (int n, ARRAY<Point<D> > & points)
|
void SplineSeg<D> :: GetPoints (int n, Array<Point<D> > & points)
|
||||||
{
|
{
|
||||||
points.SetSize (n);
|
points.SetSize (n);
|
||||||
if (n >= 2)
|
if (n >= 2)
|
||||||
@ -486,7 +486,7 @@ void LineSeg<D> :: GetCoeff (Vector & coeffs) const
|
|||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
void LineSeg<D> :: LineIntersections (const double a, const double b, const double c,
|
void LineSeg<D> :: LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<D> > & points, const double eps) const
|
Array < Point<D> > & points, const double eps) const
|
||||||
{
|
{
|
||||||
points.SetSize(0);
|
points.SetSize(0);
|
||||||
|
|
||||||
@ -519,7 +519,7 @@ void LineSeg<D> :: Project (const Point<D> point, Point<D> & point_on_curve, dou
|
|||||||
|
|
||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
void LineSeg<D> :: GetRawData (ARRAY<double> & data) const
|
void LineSeg<D> :: GetRawData (Array<double> & data) const
|
||||||
{
|
{
|
||||||
data.Append(2);
|
data.Append(2);
|
||||||
for(int i=0; i<D; i++)
|
for(int i=0; i<D; i++)
|
||||||
@ -825,7 +825,7 @@ double SplineSeg3<D> :: MaxCurvature(void) const
|
|||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
void SplineSeg3<D> :: LineIntersections (const double a, const double b, const double c,
|
void SplineSeg3<D> :: LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<D> > & points, const double eps) const
|
Array < Point<D> > & points, const double eps) const
|
||||||
{
|
{
|
||||||
points.SetSize(0);
|
points.SetSize(0);
|
||||||
|
|
||||||
@ -872,7 +872,7 @@ void SplineSeg3<D> :: LineIntersections (const double a, const double b, const d
|
|||||||
|
|
||||||
|
|
||||||
template < int D >
|
template < int D >
|
||||||
void SplineSeg3<D> :: GetRawData (ARRAY<double> & data) const
|
void SplineSeg3<D> :: GetRawData (Array<double> & data) const
|
||||||
{
|
{
|
||||||
data.Append(3);
|
data.Append(3);
|
||||||
for(int i=0; i<D; i++)
|
for(int i=0; i<D; i++)
|
||||||
@ -951,7 +951,7 @@ void CircleSeg<D> :: GetCoeff (Vector & coeff) const
|
|||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
void CircleSeg<D> :: LineIntersections (const double a, const double b, const double c,
|
void CircleSeg<D> :: LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<D> > & points, const double eps) const
|
Array < Point<D> > & points, const double eps) const
|
||||||
{
|
{
|
||||||
points.SetSize(0);
|
points.SetSize(0);
|
||||||
|
|
||||||
@ -971,7 +971,7 @@ void CircleSeg<D> :: LineIntersections (const double a, const double b, const do
|
|||||||
if(discr < 0)
|
if(discr < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ARRAY<double> t;
|
Array<double> t;
|
||||||
|
|
||||||
if(fabs(discr) < 1e-20)
|
if(fabs(discr) < 1e-20)
|
||||||
t.Append(-0.5*c2/c1);
|
t.Append(-0.5*c2/c1);
|
||||||
@ -996,7 +996,7 @@ void CircleSeg<D> :: LineIntersections (const double a, const double b, const do
|
|||||||
|
|
||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
DiscretePointsSeg<D> :: DiscretePointsSeg (const ARRAY<Point<D> > & apts)
|
DiscretePointsSeg<D> :: DiscretePointsSeg (const Array<Point<D> > & apts)
|
||||||
: pts (apts)
|
: pts (apts)
|
||||||
{
|
{
|
||||||
for(int i=0; i<D; i++)
|
for(int i=0; i<D; i++)
|
||||||
|
@ -85,13 +85,13 @@ public:
|
|||||||
|
|
||||||
virtual void GetCoeff (Vector & coeffs) const = 0;
|
virtual void GetCoeff (Vector & coeffs) const = 0;
|
||||||
|
|
||||||
virtual void GetPoints (int n, ARRAY<Point<2> > & points);
|
virtual void GetPoints (int n, Array<Point<2> > & points);
|
||||||
|
|
||||||
/** calculates lineintersections:
|
/** calculates lineintersections:
|
||||||
for lines $$ a x + b y + c = 0 $$ the interecting points are calculated
|
for lines $$ a x + b y + c = 0 $$ the interecting points are calculated
|
||||||
and stored in points */
|
and stored in points */
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<2> > & points, const double eps) const
|
Array < Point<2> > & points, const double eps) const
|
||||||
{points.SetSize(0);}
|
{points.SetSize(0);}
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const = 0;
|
virtual double MaxCurvature(void) const = 0;
|
||||||
@ -123,7 +123,7 @@ public:
|
|||||||
virtual string GetType(void) const {return "line";}
|
virtual string GetType(void) const {return "line";}
|
||||||
|
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<2> > & points, const double eps) const;
|
Array < Point<2> > & points, const double eps) const;
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const {return 0;}
|
virtual double MaxCurvature(void) const {return 0;}
|
||||||
};
|
};
|
||||||
@ -154,7 +154,7 @@ public:
|
|||||||
const GeomPoint2d & TangentPoint (void) const { return p2; }
|
const GeomPoint2d & TangentPoint (void) const { return p2; }
|
||||||
|
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<2> > & points, const double eps) const;
|
Array < Point<2> > & points, const double eps) const;
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const;
|
virtual double MaxCurvature(void) const;
|
||||||
};
|
};
|
||||||
@ -195,7 +195,7 @@ public:
|
|||||||
virtual string GetType(void) const {return "circle";}
|
virtual string GetType(void) const {return "circle";}
|
||||||
|
|
||||||
virtual void LineIntersections (const double a, const double b, const double c,
|
virtual void LineIntersections (const double a, const double b, const double c,
|
||||||
ARRAY < Point<2> > & points, const double eps) const;
|
Array < Point<2> > & points, const double eps) const;
|
||||||
|
|
||||||
virtual double MaxCurvature(void) const {return 1./radius;}
|
virtual double MaxCurvature(void) const {return 1./radius;}
|
||||||
};
|
};
|
||||||
@ -208,11 +208,11 @@ public:
|
|||||||
///
|
///
|
||||||
class DiscretePointsSegment : public SplineSegment
|
class DiscretePointsSegment : public SplineSegment
|
||||||
{
|
{
|
||||||
ARRAY<Point<2> > pts;
|
Array<Point<2> > pts;
|
||||||
GeomPoint2d p1, p2;
|
GeomPoint2d p1, p2;
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
DiscretePointsSegment (const ARRAY<Point<2> > & apts);
|
DiscretePointsSegment (const Array<Point<2> > & apts);
|
||||||
///
|
///
|
||||||
virtual ~DiscretePointsSegment ();
|
virtual ~DiscretePointsSegment ();
|
||||||
///
|
///
|
||||||
|
@ -28,8 +28,8 @@ void SplineGeometry<D> :: LoadDataV2 ( ifstream & infile )
|
|||||||
|
|
||||||
string keyword;
|
string keyword;
|
||||||
|
|
||||||
ARRAY < GeomPoint<D> > infilepoints (0);
|
Array < GeomPoint<D> > infilepoints (0);
|
||||||
ARRAY <int> pointnrs (0);
|
Array <int> pointnrs (0);
|
||||||
nump = 0;
|
nump = 0;
|
||||||
int numdomains = 0;
|
int numdomains = 0;
|
||||||
|
|
||||||
@ -193,7 +193,7 @@ void SplineGeometry<D> :: LoadDataV2 ( ifstream & infile )
|
|||||||
{
|
{
|
||||||
int npts;
|
int npts;
|
||||||
infile >> npts;
|
infile >> npts;
|
||||||
ARRAY< Point<D> > pts(npts);
|
Array< Point<D> > pts(npts);
|
||||||
for (int j = 0; j < npts; j++)
|
for (int j = 0; j < npts; j++)
|
||||||
for(int k=0; k<D; k++)
|
for(int k=0; k<D; k++)
|
||||||
infile >> pts[j](k);
|
infile >> pts[j](k);
|
||||||
@ -428,7 +428,7 @@ SplineGeometry<D> :: ~SplineGeometry()
|
|||||||
|
|
||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
int SplineGeometry<D> :: Load (const ARRAY<double> & raw_data, const int startpos)
|
int SplineGeometry<D> :: Load (const Array<double> & raw_data, const int startpos)
|
||||||
{
|
{
|
||||||
int pos = startpos;
|
int pos = startpos;
|
||||||
if(raw_data[pos] != D)
|
if(raw_data[pos] != D)
|
||||||
@ -441,7 +441,7 @@ int SplineGeometry<D> :: Load (const ARRAY<double> & raw_data, const int startpo
|
|||||||
splines.SetSize(int(raw_data[pos]));
|
splines.SetSize(int(raw_data[pos]));
|
||||||
pos++;
|
pos++;
|
||||||
|
|
||||||
ARRAY< Point<D> > pts(3);
|
Array< Point<D> > pts(3);
|
||||||
|
|
||||||
for(int i=0; i<splines.Size(); i++)
|
for(int i=0; i<splines.Size(); i++)
|
||||||
{
|
{
|
||||||
@ -479,7 +479,7 @@ int SplineGeometry<D> :: Load (const ARRAY<double> & raw_data, const int startpo
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
void SplineGeometry<D> :: GetRawData (ARRAY<double> & raw_data) const
|
void SplineGeometry<D> :: GetRawData (Array<double> & raw_data) const
|
||||||
{
|
{
|
||||||
raw_data.Append(D);
|
raw_data.Append(D);
|
||||||
raw_data.Append(elto0);
|
raw_data.Append(elto0);
|
||||||
@ -714,7 +714,7 @@ void SplineGeometry<D> :: LoadDataNew ( ifstream & infile )
|
|||||||
{
|
{
|
||||||
int npts;
|
int npts;
|
||||||
infile >> npts;
|
infile >> npts;
|
||||||
ARRAY< Point<D> > pts(npts);
|
Array< Point<D> > pts(npts);
|
||||||
for (int j = 0; j < npts; j++)
|
for (int j = 0; j < npts; j++)
|
||||||
for(int k=0; k<D; k++)
|
for(int k=0; k<D; k++)
|
||||||
infile >> pts[j](k);
|
infile >> pts[j](k);
|
||||||
@ -922,7 +922,7 @@ void SplineGeometry<D> :: LoadData ( ifstream & infile )
|
|||||||
{
|
{
|
||||||
int npts;
|
int npts;
|
||||||
infile >> npts;
|
infile >> npts;
|
||||||
ARRAY< Point<D> > pts(npts);
|
Array< Point<D> > pts(npts);
|
||||||
for (int j = 0; j < npts; j++)
|
for (int j = 0; j < npts; j++)
|
||||||
for(int k=0; k<D; k++)
|
for(int k=0; k<D; k++)
|
||||||
infile >> pts[j](k);
|
infile >> pts[j](k);
|
||||||
@ -1018,8 +1018,8 @@ void SplineGeometry<D> :: CopyEdgeMesh (int from, int to, Mesh & mesh, Point3dTr
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
ARRAY<int, PointIndex::BASE> mappoints (mesh.GetNP());
|
Array<int, PointIndex::BASE> mappoints (mesh.GetNP());
|
||||||
ARRAY<double, PointIndex::BASE> param (mesh.GetNP());
|
Array<double, PointIndex::BASE> param (mesh.GetNP());
|
||||||
mappoints = -1;
|
mappoints = -1;
|
||||||
param = 0;
|
param = 0;
|
||||||
|
|
||||||
@ -1112,7 +1112,7 @@ void SplineGeometry<D> :: GetBoundingBox (Box<D> & box) const
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<Point<D> > points;
|
Array<Point<D> > points;
|
||||||
for (int i = 0; i < splines.Size(); i++)
|
for (int i = 0; i < splines.Size(); i++)
|
||||||
{
|
{
|
||||||
splines[i]->GetPoints (20, points);
|
splines[i]->GetPoints (20, points);
|
||||||
@ -1192,7 +1192,7 @@ void SplineGeometry<D> :: AppendCircleSegment (const int n1, const int n2, const
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<int D>
|
template<int D>
|
||||||
void SplineGeometry<D> :: AppendDiscretePointsSegment (const ARRAY< Point<D> > & points, const int leftdomain, const int rightdomain,
|
void SplineGeometry<D> :: AppendDiscretePointsSegment (const Array< Point<D> > & points, const int leftdomain, const int rightdomain,
|
||||||
const int bc,
|
const int bc,
|
||||||
const double reffac, const bool hprefleft, const bool hprefright,
|
const double reffac, const bool hprefleft, const bool hprefright,
|
||||||
const int copyfrom)
|
const int copyfrom)
|
||||||
|
@ -21,11 +21,11 @@ in geom2d only 2D - Geometry classes (with material properties etc.)
|
|||||||
|
|
||||||
///
|
///
|
||||||
extern void LoadBoundarySplines (const char * filename,
|
extern void LoadBoundarySplines (const char * filename,
|
||||||
ARRAY < GeomPoint<2> > & geompoints,
|
Array < GeomPoint<2> > & geompoints,
|
||||||
ARRAY < SplineSeg<2>* > & splines,
|
Array < SplineSeg<2>* > & splines,
|
||||||
double & elto0);
|
double & elto0);
|
||||||
///
|
///
|
||||||
extern void PartitionBoundary (const ARRAY < SplineSeg<2>* > & splines,
|
extern void PartitionBoundary (const Array < SplineSeg<2>* > & splines,
|
||||||
double h, double elto0,
|
double h, double elto0,
|
||||||
Mesh & mesh2d);
|
Mesh & mesh2d);
|
||||||
|
|
||||||
@ -36,14 +36,14 @@ extern int printmessage_importance;
|
|||||||
template < int D >
|
template < int D >
|
||||||
class SplineGeometry
|
class SplineGeometry
|
||||||
{
|
{
|
||||||
ARRAY < GeomPoint<D> > geompoints;
|
Array < GeomPoint<D> > geompoints;
|
||||||
ARRAY < SplineSeg<D>* > splines;
|
Array < SplineSeg<D>* > splines;
|
||||||
double elto0;
|
double elto0;
|
||||||
ARRAY<char*> materials;
|
Array<char*> materials;
|
||||||
ARRAY<string*> bcnames;
|
Array<string*> bcnames;
|
||||||
ARRAY<double> maxh;
|
Array<double> maxh;
|
||||||
ARRAY<bool> quadmeshing;
|
Array<bool> quadmeshing;
|
||||||
ARRAY<bool> tensormeshing;
|
Array<bool> tensormeshing;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void AppendSegment(SplineSeg<D> * spline, const int leftdomain, const int rightdomain,
|
void AppendSegment(SplineSeg<D> * spline, const int leftdomain, const int rightdomain,
|
||||||
@ -54,7 +54,7 @@ private:
|
|||||||
public:
|
public:
|
||||||
~SplineGeometry();
|
~SplineGeometry();
|
||||||
|
|
||||||
int Load (const ARRAY<double> & raw_data, const int startpos = 0);
|
int Load (const Array<double> & raw_data, const int startpos = 0);
|
||||||
void Load (const char * filename);
|
void Load (const char * filename);
|
||||||
void CSGLoad (CSGScanner & scan);
|
void CSGLoad (CSGScanner & scan);
|
||||||
|
|
||||||
@ -64,11 +64,11 @@ public:
|
|||||||
|
|
||||||
void PartitionBoundary (double h, Mesh & mesh2d);
|
void PartitionBoundary (double h, Mesh & mesh2d);
|
||||||
|
|
||||||
void GetRawData (ARRAY<double> & raw_data) const;
|
void GetRawData (Array<double> & raw_data) const;
|
||||||
|
|
||||||
void CopyEdgeMesh (int from, int to, Mesh & mesh2d, Point3dTree & searchtree);
|
void CopyEdgeMesh (int from, int to, Mesh & mesh2d, Point3dTree & searchtree);
|
||||||
|
|
||||||
const ARRAY<SplineSeg<D>*> & GetSplines () const
|
const Array<SplineSeg<D>*> & GetSplines () const
|
||||||
{ return splines; }
|
{ return splines; }
|
||||||
|
|
||||||
int GetNSplines (void) const { return splines.Size(); }
|
int GetNSplines (void) const { return splines.Size(); }
|
||||||
@ -102,7 +102,7 @@ public:
|
|||||||
const double reffac = 1.,
|
const double reffac = 1.,
|
||||||
const bool hprefleft = false, const bool hprefright = false,
|
const bool hprefleft = false, const bool hprefright = false,
|
||||||
const int copyfrom = -1);
|
const int copyfrom = -1);
|
||||||
void AppendDiscretePointsSegment (const ARRAY< Point<D> > & points,
|
void AppendDiscretePointsSegment (const Array< Point<D> > & points,
|
||||||
const int leftdomain, const int rightdomain, const int bc = -1,
|
const int leftdomain, const int rightdomain, const int bc = -1,
|
||||||
const double reffac = 1.,
|
const double reffac = 1.,
|
||||||
const bool hprefleft = false, const bool hprefright = false,
|
const bool hprefleft = false, const bool hprefright = false,
|
||||||
|
@ -21,11 +21,11 @@ OLD IMPLEMENTATION, NOT USED ANYMORE!
|
|||||||
|
|
||||||
///
|
///
|
||||||
extern void LoadBoundarySplines (const char * filename,
|
extern void LoadBoundarySplines (const char * filename,
|
||||||
ARRAY<GeomPoint2d> & geompoints,
|
Array<GeomPoint2d> & geompoints,
|
||||||
ARRAY<SplineSegment*> & splines,
|
Array<SplineSegment*> & splines,
|
||||||
double & elto0);
|
double & elto0);
|
||||||
///
|
///
|
||||||
extern void PartitionBoundary (const ARRAY<SplineSegment*> & splines,
|
extern void PartitionBoundary (const Array<SplineSegment*> & splines,
|
||||||
double h, double elto0,
|
double h, double elto0,
|
||||||
Mesh & mesh2d);
|
Mesh & mesh2d);
|
||||||
|
|
||||||
@ -34,8 +34,8 @@ class CSGScanner;
|
|||||||
|
|
||||||
class SplineGeometry2d
|
class SplineGeometry2d
|
||||||
{
|
{
|
||||||
ARRAY<GeomPoint2d> geompoints;
|
Array<GeomPoint2d> geompoints;
|
||||||
ARRAY<SplineSegment*> splines;
|
Array<SplineSegment*> splines;
|
||||||
double elto0;
|
double elto0;
|
||||||
|
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ public:
|
|||||||
|
|
||||||
void CopyEdgeMesh (int from, int to, Mesh & mesh2d, Point3dTree & searchtree);
|
void CopyEdgeMesh (int from, int to, Mesh & mesh2d, Point3dTree & searchtree);
|
||||||
|
|
||||||
const ARRAY<SplineSegment*> & GetSplines () const
|
const Array<SplineSegment*> & GetSplines () const
|
||||||
{ return splines; }
|
{ return splines; }
|
||||||
|
|
||||||
int GetNSplines (void) const { return splines.Size(); }
|
int GetNSplines (void) const { return splines.Size(); }
|
||||||
@ -85,7 +85,7 @@ public:
|
|||||||
const double reffac = 1.,
|
const double reffac = 1.,
|
||||||
const bool hprefleft = false, const bool hprefright = false,
|
const bool hprefleft = false, const bool hprefright = false,
|
||||||
const int copyfrom = -1);
|
const int copyfrom = -1);
|
||||||
void AppendDiscretePointsSegment (const ARRAY< Point<2> > & points,
|
void AppendDiscretePointsSegment (const Array< Point<2> > & points,
|
||||||
const int leftdomain, const int rightdomain, const int bc = -1,
|
const int leftdomain, const int rightdomain, const int bc = -1,
|
||||||
const double reffac = 1.,
|
const double reffac = 1.,
|
||||||
const bool hprefleft = false, const bool hprefright = false,
|
const bool hprefleft = false, const bool hprefright = false,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -51,7 +51,7 @@ libgprim_la_LIBADD =
|
|||||||
am_libgprim_la_OBJECTS = adtree.lo geom2d.lo geom3d.lo geomfuncs.lo \
|
am_libgprim_la_OBJECTS = adtree.lo geom2d.lo geom3d.lo geomfuncs.lo \
|
||||||
geomtest3d.lo transform3d.lo
|
geomtest3d.lo transform3d.lo
|
||||||
libgprim_la_OBJECTS = $(am_libgprim_la_OBJECTS)
|
libgprim_la_OBJECTS = $(am_libgprim_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
@ -322,8 +322,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -335,8 +335,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -346,12 +346,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -206,7 +206,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ADTree :: GetMatch (ARRAY <int> & matches)
|
void ADTree :: GetMatch (Array <int> & matches)
|
||||||
{
|
{
|
||||||
int nodenr;
|
int nodenr;
|
||||||
|
|
||||||
@ -398,10 +398,10 @@ namespace netgen
|
|||||||
|
|
||||||
void ADTree3 :: GetIntersecting (const float * bmin,
|
void ADTree3 :: GetIntersecting (const float * bmin,
|
||||||
const float * bmax,
|
const float * bmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
static ARRAY<ADTreeNode3*> stack(1000);
|
static Array<ADTreeNode3*> stack(1000);
|
||||||
static ARRAY<int> stackdir(1000);
|
static Array<int> stackdir(1000);
|
||||||
ADTreeNode3 * node;
|
ADTreeNode3 * node;
|
||||||
int dir, stacks;
|
int dir, stacks;
|
||||||
|
|
||||||
@ -658,10 +658,10 @@ namespace netgen
|
|||||||
|
|
||||||
void ADTree3Div :: GetIntersecting (const float * bmin,
|
void ADTree3Div :: GetIntersecting (const float * bmin,
|
||||||
const float * bmax,
|
const float * bmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
static ARRAY<ADTreeNode3Div*> stack(1000);
|
static Array<ADTreeNode3Div*> stack(1000);
|
||||||
static ARRAY<int> stackdir(1000);
|
static Array<int> stackdir(1000);
|
||||||
ADTreeNode3Div * node;
|
ADTreeNode3Div * node;
|
||||||
int dir, i, stacks;
|
int dir, i, stacks;
|
||||||
|
|
||||||
@ -917,10 +917,10 @@ namespace netgen
|
|||||||
|
|
||||||
void ADTree3M :: GetIntersecting (const float * bmin,
|
void ADTree3M :: GetIntersecting (const float * bmin,
|
||||||
const float * bmax,
|
const float * bmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
static ARRAY<ADTreeNode3M*> stack(1000);
|
static Array<ADTreeNode3M*> stack(1000);
|
||||||
static ARRAY<int> stackdir(1000);
|
static Array<int> stackdir(1000);
|
||||||
ADTreeNode3M * node;
|
ADTreeNode3M * node;
|
||||||
int dir, i, stacks;
|
int dir, i, stacks;
|
||||||
|
|
||||||
@ -1163,9 +1163,9 @@ namespace netgen
|
|||||||
|
|
||||||
void ADTree3F :: GetIntersecting (const float * bmin,
|
void ADTree3F :: GetIntersecting (const float * bmin,
|
||||||
const float * bmax,
|
const float * bmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
static ARRAY<ADTreeNode3F*> stack(1000);
|
static Array<ADTreeNode3F*> stack(1000);
|
||||||
ADTreeNode3F * node;
|
ADTreeNode3F * node;
|
||||||
int dir, i, stacks;
|
int dir, i, stacks;
|
||||||
|
|
||||||
@ -1427,9 +1427,9 @@ namespace netgen
|
|||||||
|
|
||||||
void ADTree3FM :: GetIntersecting (const float * bmin,
|
void ADTree3FM :: GetIntersecting (const float * bmin,
|
||||||
const float * bmax,
|
const float * bmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
static ARRAY<ADTreeNode3FM*> stack(1000);
|
static Array<ADTreeNode3FM*> stack(1000);
|
||||||
ADTreeNode3FM * node;
|
ADTreeNode3FM * node;
|
||||||
int dir, i, stacks;
|
int dir, i, stacks;
|
||||||
|
|
||||||
@ -1700,9 +1700,9 @@ namespace netgen
|
|||||||
|
|
||||||
void ADTree6 :: GetIntersecting (const float * bmin,
|
void ADTree6 :: GetIntersecting (const float * bmin,
|
||||||
const float * bmax,
|
const float * bmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
static ARRAY<inttn6> stack(10000);
|
static Array<inttn6> stack(10000);
|
||||||
|
|
||||||
stack.SetSize (10000);
|
stack.SetSize (10000);
|
||||||
pis.SetSize(0);
|
pis.SetSize(0);
|
||||||
@ -1959,9 +1959,9 @@ namespace netgen
|
|||||||
|
|
||||||
void ADTree6F :: GetIntersecting (const float * bmin,
|
void ADTree6F :: GetIntersecting (const float * bmin,
|
||||||
const float * bmax,
|
const float * bmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
static ARRAY<ADTreeNode6F*> stack(1000);
|
static Array<ADTreeNode6F*> stack(1000);
|
||||||
ADTreeNode6F * node;
|
ADTreeNode6F * node;
|
||||||
int dir, i, stacks;
|
int dir, i, stacks;
|
||||||
|
|
||||||
@ -2093,7 +2093,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Point3dTree :: GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
void Point3dTree :: GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
float pmi[3], pma[3];
|
float pmi[3], pma[3];
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
@ -2145,7 +2145,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Box3dTree ::GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
void Box3dTree ::GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
||||||
ARRAY<int> & pis) const
|
Array<int> & pis) const
|
||||||
{
|
{
|
||||||
float tpmin[6];
|
float tpmin[6];
|
||||||
float tpmax[6];
|
float tpmax[6];
|
||||||
|
@ -49,11 +49,11 @@ class ADTree
|
|||||||
int dim;
|
int dim;
|
||||||
ADTreeNode * root;
|
ADTreeNode * root;
|
||||||
float *cmin, *cmax;
|
float *cmin, *cmax;
|
||||||
ARRAY<ADTreeNode*> ela;
|
Array<ADTreeNode*> ela;
|
||||||
const ADTreeCriterion * criterion;
|
const ADTreeCriterion * criterion;
|
||||||
|
|
||||||
ARRAY<ADTreeNode*> stack;
|
Array<ADTreeNode*> stack;
|
||||||
ARRAY<int> stackdir;
|
Array<int> stackdir;
|
||||||
int stackindex;
|
int stackindex;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -63,11 +63,11 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
// void GetIntersecting (const float * bmin, const float * bmax,
|
// void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
// ARRAY<int> & pis) const;
|
// Array<int> & pis) const;
|
||||||
void SetCriterion (ADTreeCriterion & acriterion);
|
void SetCriterion (ADTreeCriterion & acriterion);
|
||||||
void Reset ();
|
void Reset ();
|
||||||
int Next ();
|
int Next ();
|
||||||
void GetMatch (ARRAY<int> & matches);
|
void GetMatch (Array<int> & matches);
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ class ADTree3
|
|||||||
{
|
{
|
||||||
ADTreeNode3 * root;
|
ADTreeNode3 * root;
|
||||||
float cmin[3], cmax[3];
|
float cmin[3], cmax[3];
|
||||||
ARRAY<ADTreeNode3*> ela;
|
Array<ADTreeNode3*> ela;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ADTree3 (const float * acmin,
|
ADTree3 (const float * acmin,
|
||||||
@ -112,7 +112,7 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
void GetIntersecting (const float * bmin, const float * bmax,
|
void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ class ADTree3Div
|
|||||||
{
|
{
|
||||||
ADTreeNode3Div * root;
|
ADTreeNode3Div * root;
|
||||||
float cmin[3], cmax[3];
|
float cmin[3], cmax[3];
|
||||||
ARRAY<ADTreeNode3Div*> ela;
|
Array<ADTreeNode3Div*> ela;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ADTree3Div (const float * acmin,
|
ADTree3Div (const float * acmin,
|
||||||
@ -162,7 +162,7 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
void GetIntersecting (const float * bmin, const float * bmax,
|
void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ class ADTree3M
|
|||||||
{
|
{
|
||||||
ADTreeNode3M * root;
|
ADTreeNode3M * root;
|
||||||
float cmin[3], cmax[3];
|
float cmin[3], cmax[3];
|
||||||
ARRAY<ADTreeNode3M*> ela;
|
Array<ADTreeNode3M*> ela;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ADTree3M (const float * acmin,
|
ADTree3M (const float * acmin,
|
||||||
@ -211,7 +211,7 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
void GetIntersecting (const float * bmin, const float * bmax,
|
void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -251,7 +251,7 @@ class ADTree3F
|
|||||||
{
|
{
|
||||||
ADTreeNode3F * root;
|
ADTreeNode3F * root;
|
||||||
float cmin[3], cmax[3];
|
float cmin[3], cmax[3];
|
||||||
ARRAY<ADTreeNode3F*> ela;
|
Array<ADTreeNode3F*> ela;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ADTree3F (const float * acmin,
|
ADTree3F (const float * acmin,
|
||||||
@ -260,7 +260,7 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
void GetIntersecting (const float * bmin, const float * bmax,
|
void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -298,7 +298,7 @@ class ADTree3FM
|
|||||||
{
|
{
|
||||||
ADTreeNode3FM * root;
|
ADTreeNode3FM * root;
|
||||||
float cmin[3], cmax[3];
|
float cmin[3], cmax[3];
|
||||||
ARRAY<ADTreeNode3FM*> ela;
|
Array<ADTreeNode3FM*> ela;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ADTree3FM (const float * acmin,
|
ADTree3FM (const float * acmin,
|
||||||
@ -307,7 +307,7 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
void GetIntersecting (const float * bmin, const float * bmax,
|
void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -349,7 +349,7 @@ class ADTree6
|
|||||||
{
|
{
|
||||||
ADTreeNode6 * root;
|
ADTreeNode6 * root;
|
||||||
float cmin[6], cmax[6];
|
float cmin[6], cmax[6];
|
||||||
ARRAY<ADTreeNode6*> ela;
|
Array<ADTreeNode6*> ela;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ADTree6 (const float * acmin,
|
ADTree6 (const float * acmin,
|
||||||
@ -358,7 +358,7 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
void GetIntersecting (const float * bmin, const float * bmax,
|
void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -407,7 +407,7 @@ class ADTree6F
|
|||||||
{
|
{
|
||||||
ADTreeNode6F * root;
|
ADTreeNode6F * root;
|
||||||
float cmin[6], cmax[6];
|
float cmin[6], cmax[6];
|
||||||
ARRAY<ADTreeNode6F*> ela;
|
Array<ADTreeNode6F*> ela;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ADTree6F (const float * acmin,
|
ADTree6F (const float * acmin,
|
||||||
@ -416,7 +416,7 @@ public:
|
|||||||
|
|
||||||
void Insert (const float * p, int pi);
|
void Insert (const float * p, int pi);
|
||||||
void GetIntersecting (const float * bmin, const float * bmax,
|
void GetIntersecting (const float * bmin, const float * bmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
void DeleteElement (int pi);
|
void DeleteElement (int pi);
|
||||||
|
|
||||||
@ -453,7 +453,7 @@ public:
|
|||||||
void DeleteElement (int pi)
|
void DeleteElement (int pi)
|
||||||
{ tree->DeleteElement(pi); }
|
{ tree->DeleteElement(pi); }
|
||||||
void GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
void GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
const ADTree3 & Tree() const { return *tree; };
|
const ADTree3 & Tree() const { return *tree; };
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -474,7 +474,7 @@ public:
|
|||||||
void DeleteElement (int pi)
|
void DeleteElement (int pi)
|
||||||
{ tree->DeleteElement(pi); }
|
{ tree->DeleteElement(pi); }
|
||||||
void GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
void GetIntersecting (const Point3d & pmin, const Point3d & pmax,
|
||||||
ARRAY<int> & pis) const;
|
Array<int> & pis) const;
|
||||||
|
|
||||||
const ADTree6 & Tree() const { return *tree; };
|
const ADTree6 & Tree() const { return *tree; };
|
||||||
};
|
};
|
||||||
|
@ -612,7 +612,7 @@ public:
|
|||||||
class Polygon2d
|
class Polygon2d
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
ARRAY<Point2d> points;
|
Array<Point2d> points;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Polygon2d ();
|
Polygon2d ();
|
||||||
|
@ -698,8 +698,8 @@ void referencetransform :: ToPlain (const Point3d & p, Point3d & pp) const
|
|||||||
pp.Z() = (ez_h * v);
|
pp.Z() = (ez_h * v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void referencetransform :: ToPlain (const ARRAY<Point3d> & p,
|
void referencetransform :: ToPlain (const Array<Point3d> & p,
|
||||||
ARRAY<Point3d> & pp) const
|
Array<Point3d> & pp) const
|
||||||
{
|
{
|
||||||
Vec3d v;
|
Vec3d v;
|
||||||
int i;
|
int i;
|
||||||
|
@ -723,7 +723,7 @@ public:
|
|||||||
///
|
///
|
||||||
void ToPlain (const Point3d & p, Point3d & pp) const;
|
void ToPlain (const Point3d & p, Point3d & pp) const;
|
||||||
///
|
///
|
||||||
void ToPlain (const ARRAY<Point3d> & p, ARRAY<Point3d> & pp) const;
|
void ToPlain (const Array<Point3d> & p, Array<Point3d> & pp) const;
|
||||||
///
|
///
|
||||||
void FromPlain (const Point3d & pp, Point3d & p) const;
|
void FromPlain (const Point3d & pp, Point3d & p) const;
|
||||||
};
|
};
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -284,8 +284,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -297,8 +297,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -308,12 +308,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -54,7 +54,7 @@ am_libinterface_la_OBJECTS = read_fnf_mesh.lo readtetmesh.lo \
|
|||||||
writejcm.lo writepermas.lo writetecplot.lo writetet.lo \
|
writejcm.lo writepermas.lo writetecplot.lo writetet.lo \
|
||||||
writetochnog.lo writeuser.lo wuchemnitz.lo
|
writetochnog.lo writeuser.lo wuchemnitz.lo
|
||||||
libinterface_la_OBJECTS = $(am_libinterface_la_OBJECTS)
|
libinterface_la_OBJECTS = $(am_libinterface_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
@ -340,8 +340,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -353,8 +353,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -364,12 +364,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -53,7 +53,7 @@ namespace netgen
|
|||||||
string name;
|
string name;
|
||||||
string placement;
|
string placement;
|
||||||
string valuetype;
|
string valuetype;
|
||||||
ARRAY<double> places;
|
Array<double> places;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ namespace netgen
|
|||||||
|
|
||||||
else if (token == "MATERIALS")
|
else if (token == "MATERIALS")
|
||||||
{
|
{
|
||||||
ARRAY<double> young_modulus, poisson_ratio, mass_density;
|
Array<double> young_modulus, poisson_ratio, mass_density;
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
@ -246,7 +246,7 @@ namespace netgen
|
|||||||
string propid;
|
string propid;
|
||||||
sbuf >> elnr >> def >> ch;
|
sbuf >> elnr >> def >> ch;
|
||||||
sbuf >> typid >> matid >> propid;
|
sbuf >> typid >> matid >> propid;
|
||||||
ARRAY<int> pnums;
|
Array<int> pnums;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
int pn;
|
int pn;
|
||||||
@ -287,7 +287,7 @@ namespace netgen
|
|||||||
sbuf >> nr >> kw >> ch;
|
sbuf >> nr >> kw >> ch;
|
||||||
if (kw == "NODES")
|
if (kw == "NODES")
|
||||||
{
|
{
|
||||||
ARRAY<int> enums;
|
Array<int> enums;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
int en;
|
int en;
|
||||||
@ -311,7 +311,7 @@ namespace netgen
|
|||||||
sbuf >> nr >> kw >> ch;
|
sbuf >> nr >> kw >> ch;
|
||||||
if (kw == "FACES")
|
if (kw == "FACES")
|
||||||
{
|
{
|
||||||
ARRAY<int> fnums;
|
Array<int> fnums;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
int fn;
|
int fn;
|
||||||
@ -354,7 +354,7 @@ namespace netgen
|
|||||||
|
|
||||||
else if (token == "LOADS")
|
else if (token == "LOADS")
|
||||||
{
|
{
|
||||||
ARRAY<LoadType*> loadtypes;
|
Array<LoadType*> loadtypes;
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
@ -49,17 +49,17 @@ namespace netgen
|
|||||||
Point3d p;
|
Point3d p;
|
||||||
int numObj3D,numObj2D,numObj1D,numObj0D;
|
int numObj3D,numObj2D,numObj1D,numObj0D;
|
||||||
bool nullstarted;
|
bool nullstarted;
|
||||||
ARRAY<int> eldom;
|
Array<int> eldom;
|
||||||
int minId3D,minId2D;
|
int minId3D,minId2D;
|
||||||
int maxId3D(-1), maxId2D(-1), maxId1D(-1), maxId0D(-1);
|
int maxId3D(-1), maxId2D(-1), maxId1D(-1), maxId0D(-1);
|
||||||
ARRAY<ARRAY<int> *> segmentdata;
|
Array<Array<int> *> segmentdata;
|
||||||
ARRAY<Element2d* > tris;
|
Array<Element2d* > tris;
|
||||||
|
|
||||||
ARRAY<int> userdata_int; // just save data for 1:1 output
|
Array<int> userdata_int; // just save data for 1:1 output
|
||||||
ARRAY<double> userdata_double;
|
Array<double> userdata_double;
|
||||||
ARRAY<int> point_pids;
|
Array<int> point_pids;
|
||||||
ARRAY<int> tetfacedata;
|
Array<int> tetfacedata;
|
||||||
ARRAY<int> uid_to_group_3D, uid_to_group_2D, uid_to_group_1D, uid_to_group_0D;
|
Array<int> uid_to_group_3D, uid_to_group_2D, uid_to_group_1D, uid_to_group_0D;
|
||||||
|
|
||||||
while(!done)
|
while(!done)
|
||||||
{
|
{
|
||||||
@ -226,7 +226,7 @@ namespace netgen
|
|||||||
segmentdata.SetSize(nedges);
|
segmentdata.SetSize(nedges);
|
||||||
for(int i=0; i<nedges; i++)
|
for(int i=0; i<nedges; i++)
|
||||||
{
|
{
|
||||||
segmentdata[i] = new ARRAY<int>(7);
|
segmentdata[i] = new Array<int>(7);
|
||||||
*segmentdata[i] = -1;
|
*segmentdata[i] = -1;
|
||||||
in >> dummyint;
|
in >> dummyint;
|
||||||
in >> (*segmentdata[i])[0] >> (*segmentdata[i])[1];
|
in >> (*segmentdata[i])[0] >> (*segmentdata[i])[1];
|
||||||
@ -350,8 +350,8 @@ namespace netgen
|
|||||||
for(int i=0; i<nperiodicmasterfaces; i++)
|
for(int i=0; i<nperiodicmasterfaces; i++)
|
||||||
{
|
{
|
||||||
int tri1,tri2,transl;
|
int tri1,tri2,transl;
|
||||||
ARRAY<PointIndex> nodes1(3),nodes2(3);
|
Array<PointIndex> nodes1(3),nodes2(3);
|
||||||
ARRAY<double> sortval1(3),sortval2(3);
|
Array<double> sortval1(3),sortval2(3);
|
||||||
in >> tri1 >> tri2 >> transl;
|
in >> tri1 >> tri2 >> transl;
|
||||||
|
|
||||||
if(transl > maxtransl)
|
if(transl > maxtransl)
|
||||||
@ -455,7 +455,7 @@ namespace netgen
|
|||||||
cout << endl;
|
cout << endl;
|
||||||
|
|
||||||
|
|
||||||
// ARRAY<int> indextodescriptor(maxId2D+1);
|
// Array<int> indextodescriptor(maxId2D+1);
|
||||||
|
|
||||||
// for(int i=1; i<=mesh.GetNFD(); i++)
|
// for(int i=1; i<=mesh.GetNFD(); i++)
|
||||||
// indextodescriptor[mesh.GetFaceDescriptor(i).SurfNr()] = i;
|
// indextodescriptor[mesh.GetFaceDescriptor(i).SurfNr()] = i;
|
||||||
@ -538,7 +538,7 @@ namespace netgen
|
|||||||
case 27:
|
case 27:
|
||||||
// Object2D GroupID, #Faces <immediately followed by> FaceID List
|
// Object2D GroupID, #Faces <immediately followed by> FaceID List
|
||||||
{
|
{
|
||||||
ARRAY<int> ports;
|
Array<int> ports;
|
||||||
//int totnum = 0;
|
//int totnum = 0;
|
||||||
uid_to_group_2D.SetSize(maxId2D+1);
|
uid_to_group_2D.SetSize(maxId2D+1);
|
||||||
uid_to_group_2D = -1;
|
uid_to_group_2D = -1;
|
||||||
@ -665,7 +665,7 @@ namespace netgen
|
|||||||
mesh.SetUserData("TETmesh:uid_to_group_0D",uid_to_group_0D);
|
mesh.SetUserData("TETmesh:uid_to_group_0D",uid_to_group_0D);
|
||||||
|
|
||||||
|
|
||||||
ARRAY<SurfaceElementIndex> surfindices(tris.Size());
|
Array<SurfaceElementIndex> surfindices(tris.Size());
|
||||||
surfindices = -1;
|
surfindices = -1;
|
||||||
|
|
||||||
for(int i=0; i<tris.Size(); i++)
|
for(int i=0; i<tris.Size(); i++)
|
||||||
@ -740,7 +740,7 @@ namespace netgen
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ARRAY<int> indextodescriptor(maxId2D+1);
|
// Array<int> indextodescriptor(maxId2D+1);
|
||||||
|
|
||||||
// for(int i=1; i<=mesh.GetNFD(); i++)
|
// for(int i=1; i<=mesh.GetNFD(); i++)
|
||||||
// indextodescriptor[mesh.GetFaceDescriptor(i).SurfNr()] = i;
|
// indextodescriptor[mesh.GetFaceDescriptor(i).SurfNr()] = i;
|
||||||
|
@ -305,7 +305,7 @@ namespace netgen
|
|||||||
int num, bcprop;
|
int num, bcprop;
|
||||||
ifstream inpkt (pktfile.c_str());
|
ifstream inpkt (pktfile.c_str());
|
||||||
inpkt >> np;
|
inpkt >> np;
|
||||||
ARRAY<double> values(np);
|
Array<double> values(np);
|
||||||
for (i = 1; i <= np; i++)
|
for (i = 1; i <= np; i++)
|
||||||
{
|
{
|
||||||
Point3d p(0,0,0);
|
Point3d p(0,0,0);
|
||||||
|
@ -139,7 +139,7 @@ void WriteAbaqusFormat (const Mesh & mesh,
|
|||||||
|
|
||||||
int masternode(0);
|
int masternode(0);
|
||||||
|
|
||||||
ARRAY<INDEX_2> pairs;
|
Array<INDEX_2> pairs;
|
||||||
BitArray master(np), help(np);
|
BitArray master(np), help(np);
|
||||||
master.Set();
|
master.Set();
|
||||||
for (i = 1; i <= 3; i++)
|
for (i = 1; i <= 3; i++)
|
||||||
@ -158,7 +158,7 @@ void WriteAbaqusFormat (const Mesh & mesh,
|
|||||||
|
|
||||||
cout << "masternode = " << masternode << " = "
|
cout << "masternode = " << masternode << " = "
|
||||||
<< mesh.Point(masternode) << endl;
|
<< mesh.Point(masternode) << endl;
|
||||||
ARRAY<int> slaves(3);
|
Array<int> slaves(3);
|
||||||
for (i = 1; i <= 3; i++)
|
for (i = 1; i <= 3; i++)
|
||||||
{
|
{
|
||||||
mesh.GetIdentifications().GetPairs (i, pairs);
|
mesh.GetIdentifications().GetPairs (i, pairs);
|
||||||
|
@ -37,8 +37,8 @@ void WriteDiffPackFormat (const Mesh & mesh,
|
|||||||
int np = mesh.GetNP();
|
int np = mesh.GetNP();
|
||||||
int ne = mesh.GetNE();
|
int ne = mesh.GetNE();
|
||||||
int nse = mesh.GetNSE();
|
int nse = mesh.GetNSE();
|
||||||
ARRAY <int> BIname;
|
Array <int> BIname;
|
||||||
ARRAY <int> BCsinpoint;
|
Array <int> BCsinpoint;
|
||||||
int i, j, k, l;
|
int i, j, k, l;
|
||||||
|
|
||||||
|
|
||||||
@ -186,8 +186,8 @@ void WriteDiffPackFormat (const Mesh & mesh,
|
|||||||
int np = mesh.GetNP();
|
int np = mesh.GetNP();
|
||||||
//int ne = mesh.GetNE();
|
//int ne = mesh.GetNE();
|
||||||
int nse = mesh.GetNSE();
|
int nse = mesh.GetNSE();
|
||||||
ARRAY <int> BIname;
|
Array <int> BIname;
|
||||||
ARRAY <int> BCsinpoint;
|
Array <int> BCsinpoint;
|
||||||
int i, j, k, l;
|
int i, j, k, l;
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,9 +65,9 @@ void WriteFluentFormat (const Mesh & mesh,
|
|||||||
|
|
||||||
Element2d face, face2;
|
Element2d face, face2;
|
||||||
int i2, j2;
|
int i2, j2;
|
||||||
ARRAY<INDEX_3> surfaceelp;
|
Array<INDEX_3> surfaceelp;
|
||||||
ARRAY<int> surfaceeli;
|
Array<int> surfaceeli;
|
||||||
ARRAY<int> locels;
|
Array<int> locels;
|
||||||
|
|
||||||
//no cells=no tets
|
//no cells=no tets
|
||||||
//no faces=2*tets
|
//no faces=2*tets
|
||||||
|
@ -33,7 +33,7 @@ void WriteJCMFormat (const Mesh & mesh,
|
|||||||
int np = mesh.GetNP();
|
int np = mesh.GetNP();
|
||||||
|
|
||||||
// Identic points
|
// Identic points
|
||||||
ARRAY<int,1> identmap1, identmap2, identmap3;
|
Array<int,1> identmap1, identmap2, identmap3;
|
||||||
mesh.GetIdentifications().GetMap(1, identmap1);
|
mesh.GetIdentifications().GetMap(1, identmap1);
|
||||||
mesh.GetIdentifications().GetMap(2, identmap2);
|
mesh.GetIdentifications().GetMap(2, identmap2);
|
||||||
mesh.GetIdentifications().GetMap(3, identmap3);
|
mesh.GetIdentifications().GetMap(3, identmap3);
|
||||||
@ -95,7 +95,7 @@ void WriteJCMFormat (const Mesh & mesh,
|
|||||||
int nbquad = 0;
|
int nbquad = 0;
|
||||||
// array with 1 if point on any tetra, 0 else
|
// array with 1 if point on any tetra, 0 else
|
||||||
// this is needed in order to arrange the prism points in the right order
|
// this is needed in order to arrange the prism points in the right order
|
||||||
ARRAY<int,1> pointsOnTetras;
|
Array<int,1> pointsOnTetras;
|
||||||
pointsOnTetras.SetSize (mesh.GetNP());
|
pointsOnTetras.SetSize (mesh.GetNP());
|
||||||
pointsOnTetras = 0;
|
pointsOnTetras = 0;
|
||||||
for (i = 1; i <= ne; i++)
|
for (i = 1; i <= ne; i++)
|
||||||
|
@ -27,7 +27,7 @@ void WriteTecPlotFormat (const Mesh & mesh,
|
|||||||
INDEX ne = mesh.GetNE();
|
INDEX ne = mesh.GetNE();
|
||||||
INDEX nse = mesh.GetNSE();
|
INDEX nse = mesh.GetNSE();
|
||||||
|
|
||||||
ARRAY<int> sn(np);
|
Array<int> sn(np);
|
||||||
ofstream outfile(filename.c_str());
|
ofstream outfile(filename.c_str());
|
||||||
|
|
||||||
outfile << "TITLE=\" " << filename << "\"" << endl;
|
outfile << "TITLE=\" " << filename << "\"" << endl;
|
||||||
|
@ -23,16 +23,16 @@ namespace netgen
|
|||||||
cout << "starting .tet export to file " << filename << endl;
|
cout << "starting .tet export to file " << filename << endl;
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> point_ids,edge_ids,face_ids;
|
Array<int> point_ids,edge_ids,face_ids;
|
||||||
ARRAY<int> elnum(mesh.GetNE());
|
Array<int> elnum(mesh.GetNE());
|
||||||
elnum = -1;
|
elnum = -1;
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> userdata_int;
|
Array<int> userdata_int;
|
||||||
ARRAY<double> userdata_double;
|
Array<double> userdata_double;
|
||||||
ARRAY<int> ports;
|
Array<int> ports;
|
||||||
|
|
||||||
ARRAY<int> uid_to_group_3D, uid_to_group_2D, uid_to_group_1D, uid_to_group_0D;
|
Array<int> uid_to_group_3D, uid_to_group_2D, uid_to_group_1D, uid_to_group_0D;
|
||||||
|
|
||||||
int pos_int = 0;
|
int pos_int = 0;
|
||||||
int pos_double = 0;
|
int pos_double = 0;
|
||||||
@ -98,9 +98,9 @@ namespace netgen
|
|||||||
INDEX_2_CLOSED_HASHTABLE<int> edgenumbers(6*mesh.GetNE()+3*mesh.GetNSE());;
|
INDEX_2_CLOSED_HASHTABLE<int> edgenumbers(6*mesh.GetNE()+3*mesh.GetNSE());;
|
||||||
INDEX_3_CLOSED_HASHTABLE<int> facenumbers(4*mesh.GetNE()+mesh.GetNSE());
|
INDEX_3_CLOSED_HASHTABLE<int> facenumbers(4*mesh.GetNE()+mesh.GetNSE());
|
||||||
|
|
||||||
ARRAY<INDEX_2> edge2node;
|
Array<INDEX_2> edge2node;
|
||||||
ARRAY<INDEX_3> face2edge;
|
Array<INDEX_3> face2edge;
|
||||||
ARRAY<INDEX_4> element2face;
|
Array<INDEX_4> element2face;
|
||||||
|
|
||||||
int numelems(0),numfaces(0),numedges(0),numnodes(0);
|
int numelems(0),numfaces(0),numedges(0),numnodes(0);
|
||||||
|
|
||||||
@ -285,7 +285,7 @@ namespace netgen
|
|||||||
int numObj0D,numObj1D,numObj2D,numObj3D;
|
int numObj0D,numObj1D,numObj2D,numObj3D;
|
||||||
int numports = ports.Size();
|
int numports = ports.Size();
|
||||||
|
|
||||||
ARRAY<int> nodenum(point_ids.Size()+1);
|
Array<int> nodenum(point_ids.Size()+1);
|
||||||
|
|
||||||
nodenum = -1;
|
nodenum = -1;
|
||||||
|
|
||||||
@ -367,18 +367,18 @@ namespace netgen
|
|||||||
uidpid = "UID";
|
uidpid = "UID";
|
||||||
|
|
||||||
|
|
||||||
ARRAY< ARRAY<int,PointIndex::BASE>* > idmaps;
|
Array< Array<int,PointIndex::BASE>* > idmaps;
|
||||||
for(int i=1; i<=mesh.GetIdentifications().GetMaxNr(); i++)
|
for(int i=1; i<=mesh.GetIdentifications().GetMaxNr(); i++)
|
||||||
{
|
{
|
||||||
if(mesh.GetIdentifications().GetType(i) == Identifications::PERIODIC)
|
if(mesh.GetIdentifications().GetType(i) == Identifications::PERIODIC)
|
||||||
{
|
{
|
||||||
idmaps.Append(new ARRAY<int,PointIndex::BASE>);
|
idmaps.Append(new Array<int,PointIndex::BASE>);
|
||||||
mesh.GetIdentifications().GetMap(i,*idmaps.Last(),true);
|
mesh.GetIdentifications().GetMap(i,*idmaps.Last(),true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<int> id_num,id_type;
|
Array<int> id_num,id_type;
|
||||||
ARRAY< ARRAY<int> *> id_groups;
|
Array< Array<int> *> id_groups;
|
||||||
|
|
||||||
|
|
||||||
// sst 2008-03-12: Write problem class...
|
// sst 2008-03-12: Write problem class...
|
||||||
@ -449,7 +449,7 @@ namespace netgen
|
|||||||
if(nodenum[i] == -1)
|
if(nodenum[i] == -1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ARRAY<int> group;
|
Array<int> group;
|
||||||
group.Append(i);
|
group.Append(i);
|
||||||
for(int j=0; j<idmaps.Size(); j++)
|
for(int j=0; j<idmaps.Size(); j++)
|
||||||
{
|
{
|
||||||
@ -466,7 +466,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
if(group.Size() > 1)
|
if(group.Size() > 1)
|
||||||
{
|
{
|
||||||
id_groups.Append(new ARRAY<int>(group));
|
id_groups.Append(new Array<int>(group));
|
||||||
if(group.Size() == 2)
|
if(group.Size() == 2)
|
||||||
{
|
{
|
||||||
id_type[i] = 1;
|
id_type[i] = 1;
|
||||||
@ -590,18 +590,18 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ARRAY< ARRAY<int>* > vertex_to_edge(mesh.GetNP()+1);
|
Array< Array<int>* > vertex_to_edge(mesh.GetNP()+1);
|
||||||
for(int i=0; i<=mesh.GetNP(); i++)
|
for(int i=0; i<=mesh.GetNP(); i++)
|
||||||
vertex_to_edge[i] = new ARRAY<int>;
|
vertex_to_edge[i] = new Array<int>;
|
||||||
|
|
||||||
ARRAY< ARRAY<int,PointIndex::BASE>* > idmaps_edge(idmaps.Size());
|
Array< Array<int,PointIndex::BASE>* > idmaps_edge(idmaps.Size());
|
||||||
for(int i=0; i<idmaps_edge.Size(); i++)
|
for(int i=0; i<idmaps_edge.Size(); i++)
|
||||||
{
|
{
|
||||||
idmaps_edge[i] = new ARRAY<int,PointIndex::BASE>(numedges);
|
idmaps_edge[i] = new Array<int,PointIndex::BASE>(numedges);
|
||||||
(*idmaps_edge[i]) = 0;
|
(*idmaps_edge[i]) = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<int> possible;
|
Array<int> possible;
|
||||||
for(int i=0; i<edge2node.Size(); i++)
|
for(int i=0; i<edge2node.Size(); i++)
|
||||||
{
|
{
|
||||||
const INDEX_2 & v = edge2node[i];
|
const INDEX_2 & v = edge2node[i];
|
||||||
@ -649,7 +649,7 @@ namespace netgen
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> group;
|
Array<int> group;
|
||||||
group.Append(i);
|
group.Append(i);
|
||||||
for(int j=0; j<idmaps_edge.Size(); j++)
|
for(int j=0; j<idmaps_edge.Size(); j++)
|
||||||
{
|
{
|
||||||
@ -667,7 +667,7 @@ namespace netgen
|
|||||||
if(group.Size() > 1)
|
if(group.Size() > 1)
|
||||||
{
|
{
|
||||||
id_num[i] = 1;
|
id_num[i] = 1;
|
||||||
id_groups.Append(new ARRAY<int>(group));
|
id_groups.Append(new Array<int>(group));
|
||||||
if(group.Size() == 2)
|
if(group.Size() == 2)
|
||||||
{
|
{
|
||||||
id_type[i] = 1;
|
id_type[i] = 1;
|
||||||
@ -701,7 +701,7 @@ namespace netgen
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> group;
|
Array<int> group;
|
||||||
group.Append(i);
|
group.Append(i);
|
||||||
for(int j=0; j<idmaps_edge.Size(); j++)
|
for(int j=0; j<idmaps_edge.Size(); j++)
|
||||||
{
|
{
|
||||||
@ -719,7 +719,7 @@ namespace netgen
|
|||||||
if(group.Size() > 1)
|
if(group.Size() > 1)
|
||||||
{
|
{
|
||||||
id_num[i] = 1;
|
id_num[i] = 1;
|
||||||
id_groups.Append(new ARRAY<int>(group));
|
id_groups.Append(new Array<int>(group));
|
||||||
if(group.Size() == 2)
|
if(group.Size() == 2)
|
||||||
{
|
{
|
||||||
id_type[i] = 1;
|
id_type[i] = 1;
|
||||||
@ -805,9 +805,9 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ARRAY< ARRAY<int>* > edge_to_face(numedges+1);
|
Array< Array<int>* > edge_to_face(numedges+1);
|
||||||
for(int i=0; i<edge_to_face.Size(); i++)
|
for(int i=0; i<edge_to_face.Size(); i++)
|
||||||
edge_to_face[i] = new ARRAY<int>;
|
edge_to_face[i] = new Array<int>;
|
||||||
|
|
||||||
|
|
||||||
for(int i=0; i<idmaps.Size(); i++)
|
for(int i=0; i<idmaps.Size(); i++)
|
||||||
@ -864,7 +864,7 @@ namespace netgen
|
|||||||
if(id_num[i] != 0)
|
if(id_num[i] != 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ARRAY<int> group;
|
Array<int> group;
|
||||||
group.Append(i);
|
group.Append(i);
|
||||||
for(int j=0; j<idmaps.Size(); j++)
|
for(int j=0; j<idmaps.Size(); j++)
|
||||||
{
|
{
|
||||||
@ -882,7 +882,7 @@ namespace netgen
|
|||||||
if(group.Size() > 1)
|
if(group.Size() > 1)
|
||||||
{
|
{
|
||||||
id_num[i] = -1;
|
id_num[i] = -1;
|
||||||
id_groups.Append(new ARRAY<int>(group));
|
id_groups.Append(new Array<int>(group));
|
||||||
if(group.Size() == 2)
|
if(group.Size() == 2)
|
||||||
n2++;
|
n2++;
|
||||||
else
|
else
|
||||||
@ -981,7 +981,7 @@ namespace netgen
|
|||||||
<< endl;
|
<< endl;
|
||||||
|
|
||||||
|
|
||||||
ARRAY< ARRAY<int> * > groups;
|
Array< Array<int> * > groups;
|
||||||
|
|
||||||
int maxg = -1;
|
int maxg = -1;
|
||||||
for(int i = 0; i<uid_to_group_3D.Size(); i++)
|
for(int i = 0; i<uid_to_group_3D.Size(); i++)
|
||||||
@ -999,7 +999,7 @@ namespace netgen
|
|||||||
|
|
||||||
groups.SetSize(maxg+1);
|
groups.SetSize(maxg+1);
|
||||||
for(int i=0; i<groups.Size(); i++)
|
for(int i=0; i<groups.Size(); i++)
|
||||||
groups[i] = new ARRAY<int>;
|
groups[i] = new Array<int>;
|
||||||
|
|
||||||
for(ElementIndex i=0; i<mesh.GetNE(); i++)
|
for(ElementIndex i=0; i<mesh.GetNE(); i++)
|
||||||
if(uid_to_group_3D[mesh[i].GetIndex()] >= 0)
|
if(uid_to_group_3D[mesh[i].GetIndex()] >= 0)
|
||||||
|
@ -15,7 +15,7 @@ namespace netgen
|
|||||||
#include "writeuser.hpp"
|
#include "writeuser.hpp"
|
||||||
|
|
||||||
|
|
||||||
void RegisterUserFormats (ARRAY<const char*> & names)
|
void RegisterUserFormats (Array<const char*> & names)
|
||||||
{
|
{
|
||||||
const char *types[] =
|
const char *types[] =
|
||||||
{
|
{
|
||||||
@ -631,7 +631,7 @@ void WriteEdgeElementFormat (const Mesh & mesh,
|
|||||||
|
|
||||||
int inverttets = mparam.inverttets;
|
int inverttets = mparam.inverttets;
|
||||||
int invertsurf = mparam.inverttrigs;
|
int invertsurf = mparam.inverttrigs;
|
||||||
ARRAY<int> edges;
|
Array<int> edges;
|
||||||
|
|
||||||
ofstream outfile (filename.c_str());
|
ofstream outfile (filename.c_str());
|
||||||
|
|
||||||
@ -788,7 +788,7 @@ void WriteFile (int typ,
|
|||||||
INDEX_2_HASHTABLE<int> edgeht(mesh.GetNP());
|
INDEX_2_HASHTABLE<int> edgeht(mesh.GetNP());
|
||||||
|
|
||||||
// list of edges
|
// list of edges
|
||||||
ARRAY<INDEX_2> edgelist;
|
Array<INDEX_2> edgelist;
|
||||||
|
|
||||||
// edge (point) on boundary ?
|
// edge (point) on boundary ?
|
||||||
BitArray bedge, bpoint(mesh.GetNP());
|
BitArray bedge, bpoint(mesh.GetNP());
|
||||||
|
@ -127,7 +127,7 @@ void WriteDolfinFormat (const Mesh & mesh,
|
|||||||
const string & filename);
|
const string & filename);
|
||||||
|
|
||||||
|
|
||||||
extern void RegisterUserFormats (ARRAY<const char*> & names);
|
extern void RegisterUserFormats (Array<const char*> & names);
|
||||||
|
|
||||||
extern bool WriteUserFormat (const string & format,
|
extern bool WriteUserFormat (const string & format,
|
||||||
const Mesh & mesh,
|
const Mesh & mesh,
|
||||||
|
@ -50,12 +50,12 @@ class EDGE
|
|||||||
int p1, p2;
|
int p1, p2;
|
||||||
};
|
};
|
||||||
|
|
||||||
static ARRAY<POINT3D> points;
|
static Array<POINT3D> points;
|
||||||
static ARRAY<VOLELEMENT> volelements;
|
static Array<VOLELEMENT> volelements;
|
||||||
static ARRAY<SURFELEMENT> surfelements;
|
static Array<SURFELEMENT> surfelements;
|
||||||
|
|
||||||
static ARRAY<FACE> faces;
|
static Array<FACE> faces;
|
||||||
static ARRAY<EDGE> edges;
|
static Array<EDGE> edges;
|
||||||
|
|
||||||
|
|
||||||
void ReadFile (char * filename)
|
void ReadFile (char * filename)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -53,7 +53,7 @@ libla_la_OBJECTS = $(am_libla_la_OBJECTS)
|
|||||||
libla_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
libla_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||||
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
||||||
$(CXXFLAGS) $(libla_la_LDFLAGS) $(LDFLAGS) -o $@
|
$(CXXFLAGS) $(libla_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
@ -320,8 +320,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -333,8 +333,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -344,12 +344,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -456,7 +456,7 @@ void CalcInverse (const DenseMatrix & m1, DenseMatrix & m2)
|
|||||||
double max, hr;
|
double max, hr;
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> p(n); // pivot-permutation
|
Array<int> p(n); // pivot-permutation
|
||||||
Vector hv(n);
|
Vector hv(n);
|
||||||
|
|
||||||
|
|
||||||
@ -1213,7 +1213,7 @@ double DenseMatrix :: EvaluateBilinearform (const Vector & hx) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DenseMatrix :: MultElementMatrix (const ARRAY<int> & pnum,
|
void DenseMatrix :: MultElementMatrix (const Array<int> & pnum,
|
||||||
const Vector & hx, Vector & hy)
|
const Vector & hx, Vector & hy)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -1239,7 +1239,7 @@ void DenseMatrix :: MultElementMatrix (const ARRAY<int> & pnum,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DenseMatrix :: MultTransElementMatrix (const ARRAY<int> & pnum,
|
void DenseMatrix :: MultTransElementMatrix (const Array<int> & pnum,
|
||||||
const Vector & hx, Vector & hy)
|
const Vector & hx, Vector & hy)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
@ -81,7 +81,7 @@ BaseVector :: Copy () const
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void BaseVector :: GetElementVector (const ARRAY<INDEX> & pnum,
|
void BaseVector :: GetElementVector (const Array<INDEX> & pnum,
|
||||||
BaseVector & elvec) const
|
BaseVector & elvec) const
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -89,7 +89,7 @@ void BaseVector :: GetElementVector (const ARRAY<INDEX> & pnum,
|
|||||||
elvec(i) = (*this)(pnum.Get(i));
|
elvec(i) = (*this)(pnum.Get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
void BaseVector :: SetElementVector (const ARRAY<INDEX> & pnum,
|
void BaseVector :: SetElementVector (const Array<INDEX> & pnum,
|
||||||
const BaseVector & elvec)
|
const BaseVector & elvec)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -98,7 +98,7 @@ void BaseVector :: SetElementVector (const ARRAY<INDEX> & pnum,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BaseVector :: AddElementVector (const ARRAY<INDEX> & pnum,
|
void BaseVector :: AddElementVector (const Array<INDEX> & pnum,
|
||||||
const BaseVector & elvec)
|
const BaseVector & elvec)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -176,8 +176,8 @@ double Vector :: shit = 0;
|
|||||||
class clVecpool
|
class clVecpool
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ARRAY<double *> vecs;
|
Array<double *> vecs;
|
||||||
ARRAY<INDEX> veclens;
|
Array<INDEX> veclens;
|
||||||
|
|
||||||
~clVecpool();
|
~clVecpool();
|
||||||
};
|
};
|
||||||
@ -755,7 +755,7 @@ void Vector :: Swap (BaseVector & v2)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Vector :: GetElementVector (const ARRAY<INDEX> & pnum,
|
void Vector :: GetElementVector (const Array<INDEX> & pnum,
|
||||||
BaseVector & elvec) const
|
BaseVector & elvec) const
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -764,7 +764,7 @@ void Vector :: GetElementVector (const ARRAY<INDEX> & pnum,
|
|||||||
helvec.Elem(i) = Get(pnum.Get(i));
|
helvec.Elem(i) = Get(pnum.Get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Vector :: SetElementVector (const ARRAY<INDEX> & pnum,
|
void Vector :: SetElementVector (const Array<INDEX> & pnum,
|
||||||
const BaseVector & elvec)
|
const BaseVector & elvec)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -774,7 +774,7 @@ void Vector :: SetElementVector (const ARRAY<INDEX> & pnum,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Vector :: AddElementVector (const ARRAY<INDEX> & pnum,
|
void Vector :: AddElementVector (const Array<INDEX> & pnum,
|
||||||
const BaseVector & elvec)
|
const BaseVector & elvec)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Makefile.in generated by automake 1.10.1 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
@ -59,7 +59,7 @@ am_libmesh_la_OBJECTS = adfront2.lo adfront3.lo bisect.lo \
|
|||||||
smoothing2.lo smoothing3.lo specials.lo tetrarls.lo \
|
smoothing2.lo smoothing3.lo specials.lo tetrarls.lo \
|
||||||
topology.lo triarls.lo validate.lo zrefine.lo
|
topology.lo triarls.lo validate.lo zrefine.lo
|
||||||
libmesh_la_OBJECTS = $(am_libmesh_la_OBJECTS)
|
libmesh_la_OBJECTS = $(am_libmesh_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
@ -383,8 +383,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
mkid -fID $$unique
|
mkid -fID $$unique
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
|
|
||||||
@ -396,8 +396,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
test -n "$$unique" || unique=$$empty_fix; \
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
@ -407,12 +407,13 @@ ctags: CTAGS
|
|||||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||||
$(TAGS_FILES) $(LISP)
|
$(TAGS_FILES) $(LISP)
|
||||||
tags=; \
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | \
|
done | \
|
||||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
END { for (i in files) print i; }'`; \
|
||||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
$$tags $$unique
|
$$tags $$unique
|
||||||
|
@ -62,7 +62,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
void AdFront2 :: GetPoints (ARRAY<Point<3> > & apoints) const
|
void AdFront2 :: GetPoints (Array<Point<3> > & apoints) const
|
||||||
{
|
{
|
||||||
apoints.Append (points);
|
apoints.Append (points);
|
||||||
// for (int i = 0; i < points.Size(); i++)
|
// for (int i = 0; i < points.Size(); i++)
|
||||||
@ -280,11 +280,11 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
int AdFront2 :: GetLocals (int baselineindex,
|
int AdFront2 :: GetLocals (int baselineindex,
|
||||||
ARRAY<Point3d> & locpoints,
|
Array<Point3d> & locpoints,
|
||||||
ARRAY<MultiPointGeomInfo> & pgeominfo,
|
Array<MultiPointGeomInfo> & pgeominfo,
|
||||||
ARRAY<INDEX_2> & loclines, // local index
|
Array<INDEX_2> & loclines, // local index
|
||||||
ARRAY<INDEX> & pindex,
|
Array<INDEX> & pindex,
|
||||||
ARRAY<INDEX> & lindex,
|
Array<INDEX> & lindex,
|
||||||
double xh)
|
double xh)
|
||||||
{
|
{
|
||||||
// baselineindex += 1-lines.Begin();
|
// baselineindex += 1-lines.Begin();
|
||||||
@ -298,9 +298,9 @@ namespace netgen
|
|||||||
loclines.Append(lines[baselineindex].L());
|
loclines.Append(lines[baselineindex].L());
|
||||||
lindex.Append(baselineindex); // +1-lines.Begin());
|
lindex.Append(baselineindex); // +1-lines.Begin());
|
||||||
|
|
||||||
static ARRAY<int> nearlines;
|
static Array<int> nearlines;
|
||||||
nearlines.SetSize(0);
|
nearlines.SetSize(0);
|
||||||
static ARRAY<int> nearpoints;
|
static Array<int> nearpoints;
|
||||||
nearpoints.SetSize(0);
|
nearpoints.SetSize(0);
|
||||||
|
|
||||||
linesearchtree.GetIntersecting (p0 - Vec3d(xh, xh, xh),
|
linesearchtree.GetIntersecting (p0 - Vec3d(xh, xh, xh),
|
||||||
@ -322,7 +322,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static ARRAY<int> invpindex;
|
static Array<int> invpindex;
|
||||||
invpindex.SetSize (points.Size());
|
invpindex.SetSize (points.Size());
|
||||||
// invpindex = -1;
|
// invpindex = -1;
|
||||||
for (int i = 0; i < nearpoints.Size(); i++)
|
for (int i = 0; i < nearpoints.Size(); i++)
|
||||||
|
@ -165,16 +165,16 @@ class AdFront2
|
|||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
ARRAY<FrontPoint2> points; /// front points
|
Array<FrontPoint2> points; /// front points
|
||||||
ARRAY<FrontLine> lines; /// front lines
|
Array<FrontLine> lines; /// front lines
|
||||||
|
|
||||||
Box3d boundingbox;
|
Box3d boundingbox;
|
||||||
Box3dTree linesearchtree; /// search tree for lines
|
Box3dTree linesearchtree; /// search tree for lines
|
||||||
Point3dTree pointsearchtree; /// search tree for points
|
Point3dTree pointsearchtree; /// search tree for points
|
||||||
Point3dTree cpointsearchtree; /// search tree for cone points (not used ???)
|
Point3dTree cpointsearchtree; /// search tree for cone points (not used ???)
|
||||||
|
|
||||||
ARRAY<int> delpointl; /// list of deleted front points
|
Array<int> delpointl; /// list of deleted front points
|
||||||
ARRAY<int> dellinel; /// list of deleted front lines
|
Array<int> dellinel; /// list of deleted front lines
|
||||||
|
|
||||||
int nfl; /// number of front lines;
|
int nfl; /// number of front lines;
|
||||||
INDEX_2_HASHTABLE<int> * allflines; /// all front lines ever have been
|
INDEX_2_HASHTABLE<int> * allflines; /// all front lines ever have been
|
||||||
@ -191,7 +191,7 @@ public:
|
|||||||
~AdFront2 ();
|
~AdFront2 ();
|
||||||
|
|
||||||
///
|
///
|
||||||
// void GetPoints (ARRAY<Point<3> > & apoints) const;
|
// void GetPoints (Array<Point<3> > & apoints) const;
|
||||||
///
|
///
|
||||||
void Print (ostream & ost) const;
|
void Print (ostream & ost) const;
|
||||||
|
|
||||||
@ -210,11 +210,11 @@ public:
|
|||||||
|
|
||||||
///
|
///
|
||||||
int GetLocals (int baseline,
|
int GetLocals (int baseline,
|
||||||
ARRAY<Point3d> & locpoints,
|
Array<Point3d> & locpoints,
|
||||||
ARRAY<MultiPointGeomInfo> & pgeominfo,
|
Array<MultiPointGeomInfo> & pgeominfo,
|
||||||
ARRAY<INDEX_2> & loclines, // local index
|
Array<INDEX_2> & loclines, // local index
|
||||||
ARRAY<int> & pindex,
|
Array<int> & pindex,
|
||||||
ARRAY<int> & lindex,
|
Array<int> & lindex,
|
||||||
double xh);
|
double xh);
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -84,7 +84,7 @@ AdFront3 :: ~AdFront3 ()
|
|||||||
delete connectedpairs;
|
delete connectedpairs;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdFront3 :: GetPoints (ARRAY<Point<3> > & apoints) const
|
void AdFront3 :: GetPoints (Array<Point<3> > & apoints) const
|
||||||
{
|
{
|
||||||
for (PointIndex pi = PointIndex::BASE;
|
for (PointIndex pi = PointIndex::BASE;
|
||||||
pi < points.Size()+PointIndex::BASE; pi++)
|
pi < points.Size()+PointIndex::BASE; pi++)
|
||||||
@ -266,7 +266,7 @@ void AdFront3 :: CreateTrees ()
|
|||||||
|
|
||||||
|
|
||||||
void AdFront3 :: GetIntersectingFaces (const Point<3> & pmin, const Point<3> & pmax,
|
void AdFront3 :: GetIntersectingFaces (const Point<3> & pmin, const Point<3> & pmax,
|
||||||
ARRAY<int> & ifaces) const
|
Array<int> & ifaces) const
|
||||||
{
|
{
|
||||||
facetree -> GetIntersecting (pmin, pmax, ifaces);
|
facetree -> GetIntersecting (pmin, pmax, ifaces);
|
||||||
}
|
}
|
||||||
@ -357,7 +357,7 @@ void AdFront3 :: RebuildInternalTables ()
|
|||||||
if (usecl.Test(i))
|
if (usecl.Test(i))
|
||||||
cntcl++;
|
cntcl++;
|
||||||
|
|
||||||
ARRAY<double, PointIndex::BASE> clvol (np);
|
Array<double, PointIndex::BASE> clvol (np);
|
||||||
clvol = 0.0;
|
clvol = 0.0;
|
||||||
|
|
||||||
for (int i = 1; i <= faces.Size(); i++)
|
for (int i = 1; i <= faces.Size(); i++)
|
||||||
@ -486,10 +486,10 @@ int AdFront3 :: SelectBaseElement ()
|
|||||||
|
|
||||||
|
|
||||||
int AdFront3 :: GetLocals (int fstind,
|
int AdFront3 :: GetLocals (int fstind,
|
||||||
ARRAY<Point3d > & locpoints,
|
Array<Point3d > & locpoints,
|
||||||
ARRAY<MiniElement2d> & locfaces, // local index
|
Array<MiniElement2d> & locfaces, // local index
|
||||||
ARRAY<PointIndex> & pindex,
|
Array<PointIndex> & pindex,
|
||||||
ARRAY<INDEX> & findex,
|
Array<INDEX> & findex,
|
||||||
INDEX_2_HASHTABLE<int> & getconnectedpairs,
|
INDEX_2_HASHTABLE<int> & getconnectedpairs,
|
||||||
float xh,
|
float xh,
|
||||||
float relh,
|
float relh,
|
||||||
@ -511,11 +511,11 @@ int AdFront3 :: GetLocals (int fstind,
|
|||||||
INDEX pi;
|
INDEX pi;
|
||||||
Point3d midp, p0;
|
Point3d midp, p0;
|
||||||
|
|
||||||
static ARRAY<int, PointIndex::BASE> invpindex;
|
static Array<int, PointIndex::BASE> invpindex;
|
||||||
|
|
||||||
static ARRAY<MiniElement2d> locfaces2; //all local faces in radius xh
|
static Array<MiniElement2d> locfaces2; //all local faces in radius xh
|
||||||
static ARRAY<int> locfaces3; // all faces in outer radius relh
|
static Array<int> locfaces3; // all faces in outer radius relh
|
||||||
static ARRAY<INDEX> findex2;
|
static Array<INDEX> findex2;
|
||||||
|
|
||||||
locfaces2.SetSize(0);
|
locfaces2.SetSize(0);
|
||||||
locfaces3.SetSize(0);
|
locfaces3.SetSize(0);
|
||||||
@ -658,12 +658,12 @@ int AdFront3 :: GetLocals (int fstind,
|
|||||||
|
|
||||||
// returns all points connected with fi
|
// returns all points connected with fi
|
||||||
void AdFront3 :: GetGroup (int fi,
|
void AdFront3 :: GetGroup (int fi,
|
||||||
ARRAY<MeshPoint> & grouppoints,
|
Array<MeshPoint> & grouppoints,
|
||||||
ARRAY<MiniElement2d> & groupelements,
|
Array<MiniElement2d> & groupelements,
|
||||||
ARRAY<PointIndex> & pindex,
|
Array<PointIndex> & pindex,
|
||||||
ARRAY<INDEX> & findex) const
|
Array<INDEX> & findex) const
|
||||||
{
|
{
|
||||||
static ARRAY<char> pingroup;
|
static Array<char> pingroup;
|
||||||
int i, j, changed;
|
int i, j, changed;
|
||||||
|
|
||||||
pingroup.SetSize(points.Size());
|
pingroup.SetSize(points.Size());
|
||||||
@ -699,7 +699,7 @@ void AdFront3 :: GetGroup (int fi,
|
|||||||
while (changed);
|
while (changed);
|
||||||
|
|
||||||
|
|
||||||
static ARRAY<int> invpindex;
|
static Array<int> invpindex;
|
||||||
invpindex.SetSize (points.Size());
|
invpindex.SetSize (points.Size());
|
||||||
|
|
||||||
|
|
||||||
@ -825,7 +825,7 @@ bool AdFront3 :: Inside (const Point<3> & p) const
|
|||||||
|
|
||||||
|
|
||||||
int AdFront3 :: SameSide (const Point<3> & lp1, const Point<3> & lp2,
|
int AdFront3 :: SameSide (const Point<3> & lp1, const Point<3> & lp2,
|
||||||
const ARRAY<int> * testfaces) const
|
const Array<int> * testfaces) const
|
||||||
{
|
{
|
||||||
int i, ii, cnt;
|
int i, ii, cnt;
|
||||||
|
|
||||||
@ -841,7 +841,7 @@ int AdFront3 :: SameSide (const Point<3> & lp1, const Point<3> & lp2,
|
|||||||
pmin.SetToMin (lp2);
|
pmin.SetToMin (lp2);
|
||||||
pmax.SetToMax (lp2);
|
pmax.SetToMax (lp2);
|
||||||
|
|
||||||
static ARRAY<int> aprif;
|
static Array<int> aprif;
|
||||||
aprif.SetSize(0);
|
aprif.SetSize(0);
|
||||||
|
|
||||||
if (!testfaces)
|
if (!testfaces)
|
||||||
|
@ -176,11 +176,11 @@ public:
|
|||||||
class AdFront3
|
class AdFront3
|
||||||
{
|
{
|
||||||
///
|
///
|
||||||
ARRAY<FrontPoint3, PointIndex::BASE> points;
|
Array<FrontPoint3, PointIndex::BASE> points;
|
||||||
///
|
///
|
||||||
ARRAY<FrontFace> faces;
|
Array<FrontFace> faces;
|
||||||
///
|
///
|
||||||
ARRAY<PointIndex> delpointl;
|
Array<PointIndex> delpointl;
|
||||||
|
|
||||||
/// which points are connected to pi ?
|
/// which points are connected to pi ?
|
||||||
TABLE<int, PointIndex::BASE> * connectedpairs;
|
TABLE<int, PointIndex::BASE> * connectedpairs;
|
||||||
@ -218,7 +218,7 @@ public:
|
|||||||
///
|
///
|
||||||
~AdFront3 ();
|
~AdFront3 ();
|
||||||
///
|
///
|
||||||
void GetPoints (ARRAY<Point<3> > & apoints) const;
|
void GetPoints (Array<Point<3> > & apoints) const;
|
||||||
///
|
///
|
||||||
int GetNP() const
|
int GetNP() const
|
||||||
{ return points.Size(); }
|
{ return points.Size(); }
|
||||||
@ -251,17 +251,17 @@ public:
|
|||||||
|
|
||||||
///
|
///
|
||||||
void GetIntersectingFaces (const Point<3> & pmin, const Point<3> & pmax,
|
void GetIntersectingFaces (const Point<3> & pmin, const Point<3> & pmax,
|
||||||
ARRAY<int> & ifaces) const;
|
Array<int> & ifaces) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
void GetFaceBoundingBox (int i, Box3d & box) const;
|
void GetFaceBoundingBox (int i, Box3d & box) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
int GetLocals (int baseelement,
|
int GetLocals (int baseelement,
|
||||||
ARRAY<Point3d > & locpoints,
|
Array<Point3d > & locpoints,
|
||||||
ARRAY<MiniElement2d> & locfaces, // local index
|
Array<MiniElement2d> & locfaces, // local index
|
||||||
ARRAY<PointIndex> & pindex,
|
Array<PointIndex> & pindex,
|
||||||
ARRAY<INDEX> & findex,
|
Array<INDEX> & findex,
|
||||||
INDEX_2_HASHTABLE<int> & connectedpairs,
|
INDEX_2_HASHTABLE<int> & connectedpairs,
|
||||||
float xh,
|
float xh,
|
||||||
float relh,
|
float relh,
|
||||||
@ -269,10 +269,10 @@ public:
|
|||||||
|
|
||||||
///
|
///
|
||||||
void GetGroup (int fi,
|
void GetGroup (int fi,
|
||||||
ARRAY<MeshPoint> & grouppoints,
|
Array<MeshPoint> & grouppoints,
|
||||||
ARRAY<MiniElement2d> & groupelements,
|
Array<MiniElement2d> & groupelements,
|
||||||
ARRAY<PointIndex> & pindex,
|
Array<PointIndex> & pindex,
|
||||||
ARRAY<INDEX> & findex
|
Array<INDEX> & findex
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -298,7 +298,7 @@ public:
|
|||||||
bool Inside (const Point<3> & p) const;
|
bool Inside (const Point<3> & p) const;
|
||||||
/// both points on same side ?
|
/// both points on same side ?
|
||||||
int SameSide (const Point<3> & lp1, const Point<3> & lp2,
|
int SameSide (const Point<3> & lp1, const Point<3> & lp2,
|
||||||
const ARRAY<int> * testfaces = NULL) const;
|
const Array<int> * testfaces = NULL) const;
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -291,7 +291,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
int BTSortEdges (const Mesh & mesh,
|
int BTSortEdges (const Mesh & mesh,
|
||||||
const ARRAY< ARRAY<int,PointIndex::BASE>* > & idmaps,
|
const Array< Array<int,PointIndex::BASE>* > & idmaps,
|
||||||
INDEX_2_CLOSED_HASHTABLE<int> & edgenumber)
|
INDEX_2_CLOSED_HASHTABLE<int> & edgenumber)
|
||||||
{
|
{
|
||||||
PrintMessage(4,"sorting ... ");
|
PrintMessage(4,"sorting ... ");
|
||||||
@ -301,8 +301,8 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
// new, fast version
|
// new, fast version
|
||||||
|
|
||||||
ARRAY<INDEX_2> edges;
|
Array<INDEX_2> edges;
|
||||||
ARRAY<int> eclasses;
|
Array<int> eclasses;
|
||||||
|
|
||||||
int i, j, k;
|
int i, j, k;
|
||||||
int cntedges = 0;
|
int cntedges = 0;
|
||||||
@ -569,7 +569,7 @@ namespace netgen
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
// compute classlength:
|
// compute classlength:
|
||||||
ARRAY<double> edgelength(cntedges);
|
Array<double> edgelength(cntedges);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
for (i = 1; i <= cntedges; i++)
|
for (i = 1; i <= cntedges; i++)
|
||||||
@ -660,7 +660,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
// sort edges:
|
// sort edges:
|
||||||
ARRAY<int> sorted(cntedges);
|
Array<int> sorted(cntedges);
|
||||||
|
|
||||||
QickSort (edgelength, sorted);
|
QickSort (edgelength, sorted);
|
||||||
|
|
||||||
@ -957,7 +957,7 @@ namespace netgen
|
|||||||
|
|
||||||
bool BTDefineMarkedId(const Element2d & el,
|
bool BTDefineMarkedId(const Element2d & el,
|
||||||
INDEX_2_CLOSED_HASHTABLE<int> & edgenumber,
|
INDEX_2_CLOSED_HASHTABLE<int> & edgenumber,
|
||||||
const ARRAY<int,PointIndex::BASE> & idmap,
|
const Array<int,PointIndex::BASE> & idmap,
|
||||||
MarkedIdentification & mi)
|
MarkedIdentification & mi)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -1385,7 +1385,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void BTBisectIdentification (const MarkedIdentification & oldid,
|
void BTBisectIdentification (const MarkedIdentification & oldid,
|
||||||
ARRAY<int> & newp,
|
Array<int> & newp,
|
||||||
MarkedIdentification & newid1,
|
MarkedIdentification & newid1,
|
||||||
MarkedIdentification & newid2)
|
MarkedIdentification & newid2)
|
||||||
{
|
{
|
||||||
@ -1619,10 +1619,10 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
|
|
||||||
ARRAY< ARRAY<int,PointIndex::BASE>* > idmaps;
|
Array< Array<int,PointIndex::BASE>* > idmaps;
|
||||||
for(i=1; i<=mesh.GetIdentifications().GetMaxNr(); i++)
|
for(i=1; i<=mesh.GetIdentifications().GetMaxNr(); i++)
|
||||||
{
|
{
|
||||||
idmaps.Append(new ARRAY<int,PointIndex::BASE>);
|
idmaps.Append(new Array<int,PointIndex::BASE>);
|
||||||
mesh.GetIdentifications().GetMap(i,*idmaps.Last());
|
mesh.GetIdentifications().GetMap(i,*idmaps.Last());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1827,7 +1827,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void ConnectToNodeRec (int node, int tonode,
|
void ConnectToNodeRec (int node, int tonode,
|
||||||
const TABLE<int> & conto, ARRAY<int> & connecttonode)
|
const TABLE<int> & conto, Array<int> & connecttonode)
|
||||||
{
|
{
|
||||||
int i, n2;
|
int i, n2;
|
||||||
// (*testout) << "connect " << node << " to " << tonode << endl;
|
// (*testout) << "connect " << node << " to " << tonode << endl;
|
||||||
@ -1936,7 +1936,7 @@ namespace netgen
|
|||||||
|
|
||||||
void BisectTetsCopyMesh (Mesh & mesh, const class CSGeometry *,
|
void BisectTetsCopyMesh (Mesh & mesh, const class CSGeometry *,
|
||||||
BisectionOptions & opt,
|
BisectionOptions & opt,
|
||||||
const ARRAY< ARRAY<int,PointIndex::BASE>* > & idmaps,
|
const Array< Array<int,PointIndex::BASE>* > & idmaps,
|
||||||
const string & refinfofile)
|
const string & refinfofile)
|
||||||
{
|
{
|
||||||
mtets.SetName ("bisection, tets");
|
mtets.SetName ("bisection, tets");
|
||||||
@ -2151,24 +2151,24 @@ namespace netgen
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
void UpdateEdgeMarks2(Mesh & mesh,
|
void UpdateEdgeMarks2(Mesh & mesh,
|
||||||
const ARRAY< ARRAY<int,PointIndex::BASE>* > & idmaps)
|
const Array< Array<int,PointIndex::BASE>* > & idmaps)
|
||||||
{
|
{
|
||||||
ARRAY< ARRAY<MarkedTet>*,PointIndex::BASE > mtets_old(mesh.GetNP());
|
Array< Array<MarkedTet>*,PointIndex::BASE > mtets_old(mesh.GetNP());
|
||||||
ARRAY< ARRAY<MarkedPrism>*,PointIndex::BASE > mprisms_old(mesh.GetNP());
|
Array< Array<MarkedPrism>*,PointIndex::BASE > mprisms_old(mesh.GetNP());
|
||||||
ARRAY< ARRAY<MarkedIdentification>*,PointIndex::BASE > mids_old(mesh.GetNP());
|
Array< Array<MarkedIdentification>*,PointIndex::BASE > mids_old(mesh.GetNP());
|
||||||
ARRAY< ARRAY<MarkedTri>*,PointIndex::BASE > mtris_old(mesh.GetNP());
|
Array< Array<MarkedTri>*,PointIndex::BASE > mtris_old(mesh.GetNP());
|
||||||
ARRAY< ARRAY<MarkedQuad>*,PointIndex::BASE > mquads_old(mesh.GetNP());
|
Array< Array<MarkedQuad>*,PointIndex::BASE > mquads_old(mesh.GetNP());
|
||||||
|
|
||||||
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
||||||
mtets_old[i] = new ARRAY<MarkedTet>;
|
mtets_old[i] = new Array<MarkedTet>;
|
||||||
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
||||||
mprisms_old[i] = new ARRAY<MarkedPrism>;
|
mprisms_old[i] = new Array<MarkedPrism>;
|
||||||
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
||||||
mids_old[i] = new ARRAY<MarkedIdentification>;
|
mids_old[i] = new Array<MarkedIdentification>;
|
||||||
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
||||||
mtris_old[i] = new ARRAY<MarkedTri>;
|
mtris_old[i] = new Array<MarkedTri>;
|
||||||
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
for(int i=PointIndex::BASE; i<mesh.GetNP()+PointIndex::BASE; i++)
|
||||||
mquads_old[i] = new ARRAY<MarkedQuad>;
|
mquads_old[i] = new Array<MarkedQuad>;
|
||||||
|
|
||||||
for(int i=0; i<mtets.Size(); i++)
|
for(int i=0; i<mtets.Size(); i++)
|
||||||
mtets_old[mtets[i].pnums[0]]->Append(mtets[i]);
|
mtets_old[mtets[i].pnums[0]]->Append(mtets[i]);
|
||||||
@ -2404,11 +2404,11 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void UpdateEdgeMarks (Mesh & mesh,
|
void UpdateEdgeMarks (Mesh & mesh,
|
||||||
const ARRAY< ARRAY<int,PointIndex::BASE>* > & idmaps)
|
const Array< Array<int,PointIndex::BASE>* > & idmaps)
|
||||||
//const ARRAY < ARRAY<Element>* > & elements_before,
|
//const Array < Array<Element>* > & elements_before,
|
||||||
//const ARRAY < ARRAY<int>* > & markedelts_num,
|
//const Array < Array<int>* > & markedelts_num,
|
||||||
// const ARRAY < ARRAY<Element2d>* > & surfelements_before,
|
// const Array < Array<Element2d>* > & surfelements_before,
|
||||||
// const ARRAY < ARRAY<int>* > & markedsurfelts_num)
|
// const Array < Array<int>* > & markedsurfelts_num)
|
||||||
{
|
{
|
||||||
T_MTETS mtets_old; mtets_old.Copy(mtets);
|
T_MTETS mtets_old; mtets_old.Copy(mtets);
|
||||||
T_MPRISMS mprisms_old; mprisms_old.Copy(mprisms);
|
T_MPRISMS mprisms_old; mprisms_old.Copy(mprisms);
|
||||||
@ -2627,7 +2627,7 @@ namespace netgen
|
|||||||
|
|
||||||
void Refinement :: Bisect (Mesh & mesh,
|
void Refinement :: Bisect (Mesh & mesh,
|
||||||
BisectionOptions & opt,
|
BisectionOptions & opt,
|
||||||
ARRAY<double> * quality_loss)
|
Array<double> * quality_loss)
|
||||||
{
|
{
|
||||||
PrintMessage(1,"Mesh bisection");
|
PrintMessage(1,"Mesh bisection");
|
||||||
PushStatus("Mesh bisection");
|
PushStatus("Mesh bisection");
|
||||||
@ -2638,12 +2638,12 @@ namespace netgen
|
|||||||
LocalizeEdgePoints(mesh);
|
LocalizeEdgePoints(mesh);
|
||||||
delete loct;
|
delete loct;
|
||||||
|
|
||||||
ARRAY< ARRAY<int,PointIndex::BASE>* > idmaps;
|
Array< Array<int,PointIndex::BASE>* > idmaps;
|
||||||
for(int i=1; i<=mesh.GetIdentifications().GetMaxNr(); i++)
|
for(int i=1; i<=mesh.GetIdentifications().GetMaxNr(); i++)
|
||||||
{
|
{
|
||||||
if(mesh.GetIdentifications().GetType(i) == Identifications::PERIODIC)
|
if(mesh.GetIdentifications().GetType(i) == Identifications::PERIODIC)
|
||||||
{
|
{
|
||||||
idmaps.Append(new ARRAY<int,PointIndex::BASE>);
|
idmaps.Append(new Array<int,PointIndex::BASE>);
|
||||||
mesh.GetIdentifications().GetMap(i,*idmaps.Last(),true);
|
mesh.GetIdentifications().GetMap(i,*idmaps.Last(),true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2727,7 +2727,7 @@ namespace netgen
|
|||||||
/*
|
/*
|
||||||
#ifndef SABINE //Nachbarelemente mit ordx,ordy,ordz
|
#ifndef SABINE //Nachbarelemente mit ordx,ordy,ordz
|
||||||
|
|
||||||
ARRAY<int,PointIndex::BASE> v_order (mesh.GetNP());
|
Array<int,PointIndex::BASE> v_order (mesh.GetNP());
|
||||||
v_order = 0;
|
v_order = 0;
|
||||||
|
|
||||||
for (ElementIndex ei = 0; ei < ne; ei++)
|
for (ElementIndex ei = 0; ei < ne; ei++)
|
||||||
@ -3103,7 +3103,7 @@ namespace netgen
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// vertices with 2 different bnds
|
// vertices with 2 different bnds
|
||||||
ARRAY<int> bndind(np);
|
Array<int> bndind(np);
|
||||||
bndind = 0;
|
bndind = 0;
|
||||||
for (i = 1; i <= mesh.GetNSeg(); i++)
|
for (i = 1; i <= mesh.GetNSeg(); i++)
|
||||||
{
|
{
|
||||||
@ -3275,11 +3275,11 @@ namespace netgen
|
|||||||
if (mids.Elem(i).marked)
|
if (mids.Elem(i).marked)
|
||||||
{
|
{
|
||||||
MarkedIdentification oldid,newid1,newid2;
|
MarkedIdentification oldid,newid1,newid2;
|
||||||
ARRAY<int> newp;
|
Array<int> newp;
|
||||||
|
|
||||||
oldid = mids.Get(i);
|
oldid = mids.Get(i);
|
||||||
|
|
||||||
ARRAY<INDEX_2> edges;
|
Array<INDEX_2> edges;
|
||||||
edges.Append(INDEX_2(oldid.pnums[oldid.markededge],
|
edges.Append(INDEX_2(oldid.pnums[oldid.markededge],
|
||||||
oldid.pnums[(oldid.markededge+1)%oldid.np]));
|
oldid.pnums[(oldid.markededge+1)%oldid.np]));
|
||||||
edges.Append(INDEX_2(oldid.pnums[oldid.markededge + oldid.np],
|
edges.Append(INDEX_2(oldid.pnums[oldid.markededge + oldid.np],
|
||||||
@ -3535,7 +3535,7 @@ namespace netgen
|
|||||||
if (opt.refine_hp)
|
if (opt.refine_hp)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
ARRAY<int> v_order (mesh.GetNP());
|
Array<int> v_order (mesh.GetNP());
|
||||||
v_order = 0;
|
v_order = 0;
|
||||||
if (mesh.GetDimension() == 3)
|
if (mesh.GetDimension() == 3)
|
||||||
{
|
{
|
||||||
@ -3781,7 +3781,7 @@ namespace netgen
|
|||||||
// update identification tables
|
// update identification tables
|
||||||
for (i = 1; i <= mesh.GetIdentifications().GetMaxNr(); i++)
|
for (i = 1; i <= mesh.GetIdentifications().GetMaxNr(); i++)
|
||||||
{
|
{
|
||||||
ARRAY<int,PointIndex::BASE> identmap;
|
Array<int,PointIndex::BASE> identmap;
|
||||||
|
|
||||||
mesh.GetIdentifications().GetMap (i, identmap);
|
mesh.GetIdentifications().GetMap (i, identmap);
|
||||||
|
|
||||||
@ -3859,8 +3859,8 @@ namespace netgen
|
|||||||
NgProfiler::RegionTimer * regt(NULL);
|
NgProfiler::RegionTimer * regt(NULL);
|
||||||
regt = new NgProfiler::RegionTimer(reptimer);
|
regt = new NgProfiler::RegionTimer(reptimer);
|
||||||
|
|
||||||
ARRAY<ElementIndex> bad_elts;
|
Array<ElementIndex> bad_elts;
|
||||||
ARRAY<double> pure_badness;
|
Array<double> pure_badness;
|
||||||
|
|
||||||
if(do_repair || quality_loss != NULL)
|
if(do_repair || quality_loss != NULL)
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ public:
|
|||||||
virtual ~Refinement ();
|
virtual ~Refinement ();
|
||||||
|
|
||||||
void Refine (Mesh & mesh);
|
void Refine (Mesh & mesh);
|
||||||
void Bisect (Mesh & mesh, class BisectionOptions & opt, ARRAY<double> * quality_loss = NULL);
|
void Bisect (Mesh & mesh, class BisectionOptions & opt, Array<double> * quality_loss = NULL);
|
||||||
void MakeSecondOrder (Mesh & mesh);
|
void MakeSecondOrder (Mesh & mesh);
|
||||||
|
|
||||||
virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,
|
virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,
|
||||||
@ -81,7 +81,7 @@ public:
|
|||||||
|
|
||||||
void ValidateSecondOrder (Mesh & mesh);
|
void ValidateSecondOrder (Mesh & mesh);
|
||||||
void ValidateRefinedMesh (Mesh & mesh,
|
void ValidateRefinedMesh (Mesh & mesh,
|
||||||
ARRAY<INDEX_2> & parents);
|
Array<INDEX_2> & parents);
|
||||||
|
|
||||||
MeshOptimize2d * Get2dOptimizer(void)
|
MeshOptimize2d * Get2dOptimizer(void)
|
||||||
{
|
{
|
||||||
|
@ -20,7 +20,7 @@ void InsertVirtualBoundaryLayer (Mesh & mesh)
|
|||||||
cout << "Trigs: " << mesh.GetNSE() << endl;
|
cout << "Trigs: " << mesh.GetNSE() << endl;
|
||||||
|
|
||||||
BitArray bndnodes(np);
|
BitArray bndnodes(np);
|
||||||
ARRAY<int> mapto(np);
|
Array<int> mapto(np);
|
||||||
|
|
||||||
bndnodes.Clear();
|
bndnodes.Clear();
|
||||||
for (i = 1; i <= mesh.GetNSeg(); i++)
|
for (i = 1; i <= mesh.GetNSeg(); i++)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint)
|
||||||
{
|
{
|
||||||
int ep1(0), ep2(0), ep3(0), ep4(0), cp1(0), cp2(0), cp3(0), cp4(0), fp1, fp2, fp3, fp4;
|
int ep1(0), ep2(0), ep3(0), ep4(0), cp1(0), cp2(0), cp3(0), cp4(0), fp1, fp2, fp3, fp4;
|
||||||
int isedge1(0), isedge2(0), isedge3(0), isedge4(0), isedge5(0), isedge6(0);
|
int isedge1(0), isedge2(0), isedge3(0), isedge4(0), isedge5(0), isedge6(0);
|
||||||
@ -424,7 +424,7 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
|
|
||||||
HPREF_ELEMENT_TYPE ClassifyPrism(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifyPrism(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint)
|
||||||
{
|
{
|
||||||
|
|
||||||
HPREF_ELEMENT_TYPE type = HP_NONE;
|
HPREF_ELEMENT_TYPE type = HP_NONE;
|
||||||
@ -659,7 +659,7 @@ HPREF_ELEMENT_TYPE ClassifyPrism(HPRefElement & el, INDEX_2_HASHTABLE<int> & edg
|
|||||||
// #ifdef SABINE
|
// #ifdef SABINE
|
||||||
HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint, int dim, const FaceDescriptor & fd)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint, int dim, const FaceDescriptor & fd)
|
||||||
|
|
||||||
{
|
{
|
||||||
HPREF_ELEMENT_TYPE type = HP_NONE;
|
HPREF_ELEMENT_TYPE type = HP_NONE;
|
||||||
@ -868,7 +868,7 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
|
|||||||
#ifdef HPREF_OLD
|
#ifdef HPREF_OLD
|
||||||
HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint, int dim, const FaceDescriptor & fd)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint, int dim, const FaceDescriptor & fd)
|
||||||
{
|
{
|
||||||
HPREF_ELEMENT_TYPE type = HP_NONE;
|
HPREF_ELEMENT_TYPE type = HP_NONE;
|
||||||
|
|
||||||
@ -1129,7 +1129,7 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
|
|||||||
#endif
|
#endif
|
||||||
HPREF_ELEMENT_TYPE ClassifyQuad(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifyQuad(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint, int dim, const FaceDescriptor & fd)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint, int dim, const FaceDescriptor & fd)
|
||||||
{
|
{
|
||||||
HPREF_ELEMENT_TYPE type = HP_NONE;
|
HPREF_ELEMENT_TYPE type = HP_NONE;
|
||||||
|
|
||||||
@ -1472,7 +1472,7 @@ HPREF_ELEMENT_TYPE ClassifyQuad(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
|
|||||||
|
|
||||||
HPREF_ELEMENT_TYPE ClassifyHex(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifyHex(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint)
|
||||||
{
|
{
|
||||||
HPREF_ELEMENT_TYPE type = HP_NONE;
|
HPREF_ELEMENT_TYPE type = HP_NONE;
|
||||||
|
|
||||||
@ -1572,7 +1572,7 @@ HPREF_ELEMENT_TYPE ClassifyHex(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
|
|
||||||
HPREF_ELEMENT_TYPE ClassifySegm(HPRefElement & hpel, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifySegm(HPRefElement & hpel, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint)
|
||||||
{
|
{
|
||||||
|
|
||||||
int cp1 = cornerpoint.Test (hpel[0]);
|
int cp1 = cornerpoint.Test (hpel[0]);
|
||||||
@ -1615,7 +1615,7 @@ HPREF_ELEMENT_TYPE ClassifySegm(HPRefElement & hpel, INDEX_2_HASHTABLE<int> & ed
|
|||||||
|
|
||||||
HPREF_ELEMENT_TYPE ClassifyPyramid(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
HPREF_ELEMENT_TYPE ClassifyPyramid(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HASHTABLE<int> & edgepoint_dom,
|
||||||
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
|
||||||
INDEX_2_HASHTABLE<int> & surf_edges, ARRAY<int, PointIndex::BASE> & facepoint)
|
INDEX_2_HASHTABLE<int> & surf_edges, Array<int, PointIndex::BASE> & facepoint)
|
||||||
{
|
{
|
||||||
HPREF_ELEMENT_TYPE type = HP_NONE;
|
HPREF_ELEMENT_TYPE type = HP_NONE;
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ void AnisotropicClusters :: Update()
|
|||||||
|
|
||||||
cluster_reps.SetSize (nv+ned+nfa+ne);
|
cluster_reps.SetSize (nv+ned+nfa+ne);
|
||||||
|
|
||||||
ARRAY<int> nnums, ednums, fanums;
|
Array<int> nnums, ednums, fanums;
|
||||||
int changed;
|
int changed;
|
||||||
|
|
||||||
for (i = 1; i <= cluster_reps.Size(); i++)
|
for (i = 1; i <= cluster_reps.Size(); i++)
|
||||||
|
@ -21,7 +21,7 @@ class AnisotropicClusters
|
|||||||
int nv, ned, nfa, ne;
|
int nv, ned, nfa, ne;
|
||||||
|
|
||||||
// connected nodes, nodes = vertices, edges, faces, elements
|
// connected nodes, nodes = vertices, edges, faces, elements
|
||||||
ARRAY<int> cluster_reps;
|
Array<int> cluster_reps;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AnisotropicClusters (const Mesh & amesh);
|
AnisotropicClusters (const Mesh & amesh);
|
||||||
|
@ -12,7 +12,7 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void ComputeGaussRule (int n, ARRAY<double> & xi, ARRAY<double> & wi)
|
static void ComputeGaussRule (int n, Array<double> & xi, Array<double> & wi)
|
||||||
{
|
{
|
||||||
xi.SetSize (n);
|
xi.SetSize (n);
|
||||||
wi.SetSize (n);
|
wi.SetSize (n);
|
||||||
@ -451,7 +451,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
|
|
||||||
rational = arational;
|
rational = arational;
|
||||||
|
|
||||||
ARRAY<int> edgenrs;
|
Array<int> edgenrs;
|
||||||
|
|
||||||
edgeorder.SetSize (top.GetNEdges());
|
edgeorder.SetSize (top.GetNEdges());
|
||||||
faceorder.SetSize (top.GetNFaces());
|
faceorder.SetSize (top.GetNFaces());
|
||||||
@ -531,7 +531,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<double> xi, weight;
|
Array<double> xi, weight;
|
||||||
|
|
||||||
ComputeGaussRule (aorder+4, xi, weight); // on (0,1)
|
ComputeGaussRule (aorder+4, xi, weight); // on (0,1)
|
||||||
|
|
||||||
@ -1025,7 +1025,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
|
|
||||||
|
|
||||||
Vector shapes, dshapes;
|
Vector shapes, dshapes;
|
||||||
ARRAY<Vec<3> > coefs;
|
Array<Vec<3> > coefs;
|
||||||
|
|
||||||
SegmentInfo info;
|
SegmentInfo info;
|
||||||
info.elnr = elnr;
|
info.elnr = elnr;
|
||||||
@ -1145,7 +1145,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CurvedElements ::
|
void CurvedElements ::
|
||||||
GetCoefficients (SegmentInfo & info, ARRAY<Vec<3> > & coefs) const
|
GetCoefficients (SegmentInfo & info, Array<Vec<3> > & coefs) const
|
||||||
{
|
{
|
||||||
const Segment & el = mesh[info.elnr];
|
const Segment & el = mesh[info.elnr];
|
||||||
|
|
||||||
@ -1270,7 +1270,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
|
|
||||||
Vector shapes;
|
Vector shapes;
|
||||||
DenseMatrix dshapes;
|
DenseMatrix dshapes;
|
||||||
ARRAY<Vec<3> > coefs;
|
Array<Vec<3> > coefs;
|
||||||
|
|
||||||
const Element2d & el = mesh[elnr];
|
const Element2d & el = mesh[elnr];
|
||||||
ELEMENT_TYPE type = el.GetType();
|
ELEMENT_TYPE type = el.GetType();
|
||||||
@ -1752,7 +1752,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
|
|
||||||
|
|
||||||
void CurvedElements ::
|
void CurvedElements ::
|
||||||
GetCoefficients (SurfaceElementInfo & info, ARRAY<Vec<3> > & coefs) const
|
GetCoefficients (SurfaceElementInfo & info, Array<Vec<3> > & coefs) const
|
||||||
{
|
{
|
||||||
const Element2d & el = mesh[info.elnr];
|
const Element2d & el = mesh[info.elnr];
|
||||||
coefs.SetSize (info.ndof);
|
coefs.SetSize (info.ndof);
|
||||||
@ -2716,17 +2716,17 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
|
|
||||||
|
|
||||||
void CurvedElements ::
|
void CurvedElements ::
|
||||||
CalcMultiPointSegmentTransformation (ARRAY<double> * xi, SegmentIndex segnr,
|
CalcMultiPointSegmentTransformation (Array<double> * xi, SegmentIndex segnr,
|
||||||
ARRAY<Point<3> > * x,
|
Array<Point<3> > * x,
|
||||||
ARRAY<Vec<3> > * dxdxi)
|
Array<Vec<3> > * dxdxi)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CurvedElements ::
|
void CurvedElements ::
|
||||||
CalcMultiPointSurfaceTransformation (ARRAY< Point<2> > * xi, SurfaceElementIndex elnr,
|
CalcMultiPointSurfaceTransformation (Array< Point<2> > * xi, SurfaceElementIndex elnr,
|
||||||
ARRAY< Point<3> > * x,
|
Array< Point<3> > * x,
|
||||||
ARRAY< Mat<3,2> > * dxdxi)
|
Array< Mat<3,2> > * dxdxi)
|
||||||
{
|
{
|
||||||
if (mesh.coarsemesh)
|
if (mesh.coarsemesh)
|
||||||
{
|
{
|
||||||
@ -2787,7 +2787,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
|
|
||||||
Vector shapes;
|
Vector shapes;
|
||||||
DenseMatrix dshapes;
|
DenseMatrix dshapes;
|
||||||
ARRAY<Vec<3> > coefs;
|
Array<Vec<3> > coefs;
|
||||||
|
|
||||||
|
|
||||||
const Element2d & el = mesh[elnr];
|
const Element2d & el = mesh[elnr];
|
||||||
@ -2859,9 +2859,9 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CurvedElements ::
|
void CurvedElements ::
|
||||||
CalcMultiPointElementTransformation (ARRAY< Point<3> > * xi, ElementIndex elnr,
|
CalcMultiPointElementTransformation (Array< Point<3> > * xi, ElementIndex elnr,
|
||||||
ARRAY< Point<3> > * x,
|
Array< Point<3> > * x,
|
||||||
ARRAY< Mat<3,3> > * dxdxi)
|
Array< Mat<3,3> > * dxdxi)
|
||||||
{
|
{
|
||||||
if (mesh.coarsemesh)
|
if (mesh.coarsemesh)
|
||||||
{
|
{
|
||||||
@ -2953,7 +2953,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
// info.ndof += facecoeffsindex[info.facenr+1] - facecoeffsindex[info.facenr];
|
// info.ndof += facecoeffsindex[info.facenr+1] - facecoeffsindex[info.facenr];
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<Vec<3> > coefs(info.ndof);
|
Array<Vec<3> > coefs(info.ndof);
|
||||||
GetCoefficients (info, &coefs[0]);
|
GetCoefficients (info, &coefs[0]);
|
||||||
if (x)
|
if (x)
|
||||||
{
|
{
|
||||||
@ -3110,7 +3110,7 @@ inline void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta,
|
|||||||
// info.ndof += facecoeffsindex[info.facenr+1] - facecoeffsindex[info.facenr];
|
// info.ndof += facecoeffsindex[info.facenr+1] - facecoeffsindex[info.facenr];
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<Vec<3> > coefs(info.ndof);
|
Array<Vec<3> > coefs(info.ndof);
|
||||||
GetCoefficients (info, &coefs[0]);
|
GetCoefficients (info, &coefs[0]);
|
||||||
if (x)
|
if (x)
|
||||||
{
|
{
|
||||||
|
@ -18,16 +18,16 @@ class CurvedElements
|
|||||||
{
|
{
|
||||||
const Mesh & mesh;
|
const Mesh & mesh;
|
||||||
|
|
||||||
ARRAY<int> edgeorder;
|
Array<int> edgeorder;
|
||||||
ARRAY<int> faceorder;
|
Array<int> faceorder;
|
||||||
|
|
||||||
ARRAY<int> edgecoeffsindex;
|
Array<int> edgecoeffsindex;
|
||||||
ARRAY<int> facecoeffsindex;
|
Array<int> facecoeffsindex;
|
||||||
|
|
||||||
ARRAY< Vec<3> > edgecoeffs;
|
Array< Vec<3> > edgecoeffs;
|
||||||
ARRAY< Vec<3> > facecoeffs;
|
Array< Vec<3> > facecoeffs;
|
||||||
|
|
||||||
ARRAY< double > edgeweight; // for rational 2nd order splines
|
Array< double > edgeweight; // for rational 2nd order splines
|
||||||
|
|
||||||
int order;
|
int order;
|
||||||
bool rational;
|
bool rational;
|
||||||
@ -115,17 +115,17 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void CalcMultiPointSegmentTransformation (ARRAY<double> * xi, SegmentIndex segnr,
|
void CalcMultiPointSegmentTransformation (Array<double> * xi, SegmentIndex segnr,
|
||||||
ARRAY<Point<3> > * x,
|
Array<Point<3> > * x,
|
||||||
ARRAY<Vec<3> > * dxdxi);
|
Array<Vec<3> > * dxdxi);
|
||||||
|
|
||||||
void CalcMultiPointSurfaceTransformation (ARRAY< Point<2> > * xi, SurfaceElementIndex elnr,
|
void CalcMultiPointSurfaceTransformation (Array< Point<2> > * xi, SurfaceElementIndex elnr,
|
||||||
ARRAY< Point<3> > * x,
|
Array< Point<3> > * x,
|
||||||
ARRAY< Mat<3,2> > * dxdxi);
|
Array< Mat<3,2> > * dxdxi);
|
||||||
|
|
||||||
void CalcMultiPointElementTransformation (ARRAY< Point<3> > * xi, ElementIndex elnr,
|
void CalcMultiPointElementTransformation (Array< Point<3> > * xi, ElementIndex elnr,
|
||||||
ARRAY< Point<3> > * x,
|
Array< Point<3> > * x,
|
||||||
ARRAY< Mat<3,3> > * dxdxi);
|
Array< Mat<3,3> > * dxdxi);
|
||||||
|
|
||||||
void CalcMultiPointElementTransformation (ElementIndex elnr, int n,
|
void CalcMultiPointElementTransformation (ElementIndex elnr, int n,
|
||||||
const double * xi, int sxi,
|
const double * xi, int sxi,
|
||||||
@ -163,7 +163,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
void CalcElementShapes (SegmentInfo & elnr, double xi, Vector & shapes) const;
|
void CalcElementShapes (SegmentInfo & elnr, double xi, Vector & shapes) const;
|
||||||
void GetCoefficients (SegmentInfo & elnr, ARRAY<Vec<3> > & coefs) const;
|
void GetCoefficients (SegmentInfo & elnr, Array<Vec<3> > & coefs) const;
|
||||||
void CalcElementDShapes (SegmentInfo & elnr, double xi, Vector & dshapes) const;
|
void CalcElementDShapes (SegmentInfo & elnr, double xi, Vector & dshapes) const;
|
||||||
|
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
void CalcElementShapes (SurfaceElementInfo & elinfo, const Point<2> & xi, Vector & shapes) const;
|
void CalcElementShapes (SurfaceElementInfo & elinfo, const Point<2> & xi, Vector & shapes) const;
|
||||||
void GetCoefficients (SurfaceElementInfo & elinfo, ARRAY<Vec<3> > & coefs) const;
|
void GetCoefficients (SurfaceElementInfo & elinfo, Array<Vec<3> > & coefs) const;
|
||||||
void CalcElementDShapes (SurfaceElementInfo & elinfo, const Point<2> & xi, DenseMatrix & dshapes) const;
|
void CalcElementDShapes (SurfaceElementInfo & elinfo, const Point<2> & xi, DenseMatrix & dshapes) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -112,12 +112,12 @@ namespace netgen
|
|||||||
INDEX_3_CLOSED_HASHTABLE<int> faces;
|
INDEX_3_CLOSED_HASHTABLE<int> faces;
|
||||||
|
|
||||||
//
|
//
|
||||||
ARRAY<DelaunayTet> & tets;
|
Array<DelaunayTet> & tets;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// estimated number of points
|
// estimated number of points
|
||||||
MeshNB (ARRAY<DelaunayTet> & atets, int np)
|
MeshNB (Array<DelaunayTet> & atets, int np)
|
||||||
: faces(200), tets(atets)
|
: faces(200), tets(atets)
|
||||||
{ ; }
|
{ ; }
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ namespace netgen
|
|||||||
*/
|
*/
|
||||||
class SphereList
|
class SphereList
|
||||||
{
|
{
|
||||||
ARRAY<int> links;
|
Array<int> links;
|
||||||
public:
|
public:
|
||||||
SphereList ()
|
SphereList ()
|
||||||
{ ; }
|
{ ; }
|
||||||
@ -210,11 +210,11 @@ namespace netgen
|
|||||||
links.Elem (toi) = eli;
|
links.Elem (toi) = eli;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetList (int eli, ARRAY<int> & linked) const;
|
void GetList (int eli, Array<int> & linked) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void SphereList :: GetList (int eli, ARRAY<int> & linked) const
|
void SphereList :: GetList (int eli, Array<int> & linked) const
|
||||||
{
|
{
|
||||||
linked.SetSize (0);
|
linked.SetSize (0);
|
||||||
int pi = eli;
|
int pi = eli;
|
||||||
@ -244,13 +244,13 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void AddDelaunayPoint (PointIndex newpi, const Point3d & newp,
|
void AddDelaunayPoint (PointIndex newpi, const Point3d & newp,
|
||||||
ARRAY<DelaunayTet> & tempels,
|
Array<DelaunayTet> & tempels,
|
||||||
Mesh & mesh,
|
Mesh & mesh,
|
||||||
Box3dTree & tettree,
|
Box3dTree & tettree,
|
||||||
MeshNB & meshnb,
|
MeshNB & meshnb,
|
||||||
ARRAY<Point<3> > & centers, ARRAY<double> & radi2,
|
Array<Point<3> > & centers, Array<double> & radi2,
|
||||||
ARRAY<int> & connected, ARRAY<int> & treesearch,
|
Array<int> & connected, Array<int> & treesearch,
|
||||||
ARRAY<int> & freelist, SphereList & list,
|
Array<int> & freelist, SphereList & list,
|
||||||
IndexSet & insphere, IndexSet & closesphere)
|
IndexSet & insphere, IndexSet & closesphere)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -446,7 +446,7 @@ namespace netgen
|
|||||||
} // while (changed)
|
} // while (changed)
|
||||||
|
|
||||||
// (*testout) << "newels: " << endl;
|
// (*testout) << "newels: " << endl;
|
||||||
ARRAY<Element> newels;
|
Array<Element> newels;
|
||||||
|
|
||||||
Element2d face(TRIG);
|
Element2d face(TRIG);
|
||||||
|
|
||||||
@ -602,14 +602,14 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
void Delaunay1 (Mesh & mesh, const MeshingParameters & mp, AdFront3 * adfront,
|
void Delaunay1 (Mesh & mesh, const MeshingParameters & mp, AdFront3 * adfront,
|
||||||
ARRAY<DelaunayTet> & tempels,
|
Array<DelaunayTet> & tempels,
|
||||||
int oldnp, DelaunayTet & startel, Point3d & pmin, Point3d & pmax)
|
int oldnp, DelaunayTet & startel, Point3d & pmin, Point3d & pmax)
|
||||||
{
|
{
|
||||||
int i, j, k;
|
int i, j, k;
|
||||||
const Point<3> * pp[4];
|
const Point<3> * pp[4];
|
||||||
|
|
||||||
ARRAY<Point<3> > centers;
|
Array<Point<3> > centers;
|
||||||
ARRAY<double> radi2;
|
Array<double> radi2;
|
||||||
|
|
||||||
Point3d tpmin, tpmax;
|
Point3d tpmin, tpmax;
|
||||||
|
|
||||||
@ -676,7 +676,7 @@ namespace netgen
|
|||||||
usep.Set (mesh.LockedPoints()[i]);
|
usep.Set (mesh.LockedPoints()[i]);
|
||||||
|
|
||||||
|
|
||||||
ARRAY<int> freelist;
|
Array<int> freelist;
|
||||||
|
|
||||||
|
|
||||||
int cntp = 0;
|
int cntp = 0;
|
||||||
@ -693,7 +693,7 @@ namespace netgen
|
|||||||
tempels.Append (startel);
|
tempels.Append (startel);
|
||||||
meshnb.Add (1);
|
meshnb.Add (1);
|
||||||
list.AddElement (1);
|
list.AddElement (1);
|
||||||
ARRAY<int> connected, treesearch;
|
Array<int> connected, treesearch;
|
||||||
|
|
||||||
|
|
||||||
tpmin = tpmax = mesh.Point(startel[0]);
|
tpmin = tpmax = mesh.Point(startel[0]);
|
||||||
@ -726,7 +726,7 @@ namespace netgen
|
|||||||
|
|
||||||
// "random" reordering of points (speeds a factor 3 - 5 !!!)
|
// "random" reordering of points (speeds a factor 3 - 5 !!!)
|
||||||
|
|
||||||
ARRAY<int> mixed(np);
|
Array<int> mixed(np);
|
||||||
int prims[] = { 11, 13, 17, 19, 23, 29, 31, 37 };
|
int prims[] = { 11, 13, 17, 19, 23, 29, 31, 37 };
|
||||||
int prim;
|
int prim;
|
||||||
|
|
||||||
@ -799,7 +799,7 @@ namespace netgen
|
|||||||
PushStatus ("Delaunay meshing");
|
PushStatus ("Delaunay meshing");
|
||||||
|
|
||||||
|
|
||||||
ARRAY<DelaunayTet> tempels;
|
Array<DelaunayTet> tempels;
|
||||||
Point3d pmin, pmax;
|
Point3d pmin, pmax;
|
||||||
|
|
||||||
DelaunayTet startel;
|
DelaunayTet startel;
|
||||||
@ -959,7 +959,7 @@ namespace netgen
|
|||||||
// find surface triangles which are no face of any tet
|
// find surface triangles which are no face of any tet
|
||||||
|
|
||||||
INDEX_3_HASHTABLE<int> openeltab(mesh.GetNOpenElements()+3);
|
INDEX_3_HASHTABLE<int> openeltab(mesh.GetNOpenElements()+3);
|
||||||
ARRAY<int> openels;
|
Array<int> openels;
|
||||||
for (int i = 1; i <= mesh.GetNOpenElements(); i++)
|
for (int i = 1; i <= mesh.GetNOpenElements(); i++)
|
||||||
{
|
{
|
||||||
const Element2d & tri = mesh.OpenElement(i);
|
const Element2d & tri = mesh.OpenElement(i);
|
||||||
@ -1147,7 +1147,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ARRAY<int> neartrias;
|
Array<int> neartrias;
|
||||||
for (int i = 1; i <= tempels.Size(); i++)
|
for (int i = 1; i <= tempels.Size(); i++)
|
||||||
{
|
{
|
||||||
const Point<3> *pp[4];
|
const Point<3> *pp[4];
|
||||||
@ -1407,7 +1407,7 @@ namespace netgen
|
|||||||
BitArray inner(ne), outer(ne);
|
BitArray inner(ne), outer(ne);
|
||||||
inner.Clear();
|
inner.Clear();
|
||||||
outer.Clear();
|
outer.Clear();
|
||||||
ARRAY<int> elstack;
|
Array<int> elstack;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
int starti = 0;
|
int starti = 0;
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
inline void Minimize (const ARRAY<Vec3d> & a,
|
inline void Minimize (const Array<Vec3d> & a,
|
||||||
const ARRAY<double> & c,
|
const Array<double> & c,
|
||||||
int * act,
|
int * act,
|
||||||
Vec<3> & x, double & f,
|
Vec<3> & x, double & f,
|
||||||
int * sol)
|
int * sol)
|
||||||
@ -67,16 +67,16 @@ inline void Minimize (const ARRAY<Vec3d> & a,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
template <typename POINTARRAY, typename FACEARRAY>
|
template <typename POINTArray, typename FACEArray>
|
||||||
inline int FindInnerPoint (POINTARRAY & points,
|
inline int FindInnerPoint (POINTArray & points,
|
||||||
FACEARRAY & faces,
|
FACEArray & faces,
|
||||||
Point3d & p)
|
Point3d & p)
|
||||||
{
|
{
|
||||||
static int timer = NgProfiler::CreateTimer ("FindInnerPoint");
|
static int timer = NgProfiler::CreateTimer ("FindInnerPoint");
|
||||||
NgProfiler::RegionTimer reg (timer);
|
NgProfiler::RegionTimer reg (timer);
|
||||||
|
|
||||||
ARRAY<Vec3d> a;
|
Array<Vec3d> a;
|
||||||
ARRAY<double> c;
|
Array<double> c;
|
||||||
Mat<3> m, inv;
|
Mat<3> m, inv;
|
||||||
Vec<3> rs, x, center;
|
Vec<3> rs, x, center;
|
||||||
double f;
|
double f;
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
// find inner point
|
// find inner point
|
||||||
|
|
||||||
template <typename POINTARRAY, typename FACEARRAY>
|
template <typename POINTArray, typename FACEArray>
|
||||||
inline int FindInnerPoint2 (POINTARRAY & points,
|
inline int FindInnerPoint2 (POINTArray & points,
|
||||||
FACEARRAY & faces,
|
FACEArray & faces,
|
||||||
Point3d & p)
|
Point3d & p)
|
||||||
{
|
{
|
||||||
static int timer = NgProfiler::CreateTimer ("FindInnerPoint2");
|
static int timer = NgProfiler::CreateTimer ("FindInnerPoint2");
|
||||||
NgProfiler::RegionTimer reg (timer);
|
NgProfiler::RegionTimer reg (timer);
|
||||||
|
|
||||||
ARRAY<Vec3d> a;
|
Array<Vec3d> a;
|
||||||
ARRAY<double> c;
|
Array<double> c;
|
||||||
Mat<3> m, inv;
|
Mat<3> m, inv;
|
||||||
Vec<3> rs, x, pmin;
|
Vec<3> rs, x, pmin;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeomSearch3d :: Init (ARRAY <FrontPoint3,PointIndex::BASE> *pointsi, ARRAY <FrontFace> *facesi)
|
void GeomSearch3d :: Init (Array <FrontPoint3,PointIndex::BASE> *pointsi, Array <FrontFace> *facesi)
|
||||||
{
|
{
|
||||||
points = pointsi;
|
points = pointsi;
|
||||||
faces = facesi;
|
faces = facesi;
|
||||||
@ -120,7 +120,7 @@ namespace netgen
|
|||||||
for (k = 1; k <= size.i3; k++)
|
for (k = 1; k <= size.i3; k++)
|
||||||
{
|
{
|
||||||
INDEX ind=i+(j-1)*size.i1+(k-1)*size.i2*size.i1;
|
INDEX ind=i+(j-1)*size.i1+(k-1)*size.i2*size.i1;
|
||||||
hashtable.Elem(ind) = new ARRAY <int> ();
|
hashtable.Elem(ind) = new Array <int> ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -175,7 +175,7 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeomSearch3d :: GetLocals(ARRAY<MiniElement2d> & locfaces, ARRAY<INDEX> & findex,
|
void GeomSearch3d :: GetLocals(Array<MiniElement2d> & locfaces, Array<INDEX> & findex,
|
||||||
INDEX fstind, const Point3d& p0, double xh)
|
INDEX fstind, const Point3d& p0, double xh)
|
||||||
{
|
{
|
||||||
hashcount++;
|
hashcount++;
|
||||||
@ -212,7 +212,7 @@ namespace netgen
|
|||||||
INDEX ind=ix+(iy-1)*size.i1+(iz-1)*size.i2*size.i1;
|
INDEX ind=ix+(iy-1)*size.i1+(iz-1)*size.i2*size.i1;
|
||||||
|
|
||||||
//go through all elements in one hash area
|
//go through all elements in one hash area
|
||||||
const ARRAY <int> & area = *hashtable.Elem(ind);
|
const Array <int> & area = *hashtable.Elem(ind);
|
||||||
for (k = 1; k <= area.Size(); k++)
|
for (k = 1; k <= area.Size(); k++)
|
||||||
{
|
{
|
||||||
cnt2++;
|
cnt2++;
|
||||||
|
@ -22,7 +22,7 @@ public:
|
|||||||
virtual ~GeomSearch3d();
|
virtual ~GeomSearch3d();
|
||||||
|
|
||||||
///
|
///
|
||||||
void Init (ARRAY <FrontPoint3,PointIndex::BASE> *pointsi, ARRAY <FrontFace> *facesi);
|
void Init (Array <FrontPoint3,PointIndex::BASE> *pointsi, Array <FrontFace> *facesi);
|
||||||
|
|
||||||
///get elements max extension
|
///get elements max extension
|
||||||
void ElemMaxExt(Point3d& minp, Point3d& maxp, const MiniElement2d& elem);
|
void ElemMaxExt(Point3d& minp, Point3d& maxp, const MiniElement2d& elem);
|
||||||
@ -41,15 +41,15 @@ public:
|
|||||||
void AddElem(const MiniElement2d& elem, INDEX elemnum);
|
void AddElem(const MiniElement2d& elem, INDEX elemnum);
|
||||||
|
|
||||||
///GetLocal faces in sphere with radius xh and middlepoint p
|
///GetLocal faces in sphere with radius xh and middlepoint p
|
||||||
void GetLocals(ARRAY<MiniElement2d> & locfaces, ARRAY<INDEX> & findex,
|
void GetLocals(Array<MiniElement2d> & locfaces, Array<INDEX> & findex,
|
||||||
INDEX fstind, const Point3d& p0, double xh);
|
INDEX fstind, const Point3d& p0, double xh);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
ARRAY <FrontFace> *faces; // Pointers to Arrays in Adfront
|
Array <FrontFace> *faces; // Pointers to Arrays in Adfront
|
||||||
ARRAY <FrontPoint3,PointIndex::BASE> *points;
|
Array <FrontPoint3,PointIndex::BASE> *points;
|
||||||
|
|
||||||
ARRAY <ARRAY <int>*> hashtable;
|
Array <Array <int>*> hashtable;
|
||||||
|
|
||||||
Point3d minext; //extension of Hashdomain
|
Point3d minext; //extension of Hashdomain
|
||||||
Point3d maxext;
|
Point3d maxext;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user