Rather than just referring to the type as 'InternalDataBase', use
'typename Mapping<dim,spacedim>::InternalDataBase'. The purpose is
so that we use the same signature in the base and derived classes,
since otherwise doxygen gets confused, doesn't recognize the functions
in the derived classes as implementing the interface of the base
class, and doesn't copy the documentation :-(
This patch simply moves the InternalDataBase, get_*_data() and fill_fe_*_values()
members of the derived mapping classes into a doxygen group. No changes in
functionality. No changes in text either.
Also remove the documentation from these functions in derived classes
as doxygen properly copies the documentation from the corresponding
functions in the base class. This makes sure we only have to document
in one place and avoids things getting out of synch.
They do not compile because the shared triangulation without MPI
can't be constructed with the same constructor taking an MPI_Comm
as is used in these tests.
The current path leads to a failure on my system when calling
'ninja setup_tests':
FAILED: cd /node/bangerth/trunk/build/tests/sharedtria && /w/bangerth/share/software/cmake-2.8.12.2/bin/cmake -GNinja -DDEAL_II_DIR=/node/bangerth/trunk/build -UDIFF_DIR -UNUMDIFF_DIR -UTEST_PICKUP_REGEX -UTEST_TIME_LIMIT /node/bangerth/trunk/dealii/tests/sharedtria > /dev/null
CMake Error at CMakeLists.txt:2 (INCLUDE):
include could not find load file:
../tests/setup_testsubproject.cmake
CMake Error at CMakeLists.txt:4 (INCLUDE):
include called with wrong number of arguments. Include only takes one
file.
Fix this by providing the same path as in the tests/distributed
directory.
These two functions computed something that, in essence, is only important
for the internal implementation of the mapping classes. It should thus
not be part of the public interface of these classes. Consequently,
remove them and replace them by the only thing that is of interest,
namely to compute transitive closure of the set of flags one needs to
compute -- as now done using the requires_update_flags() function.
The all-headers/distributed/tria_base.h.debug testcase failed because the
compiler is missing a forward declaration of parallel::Triangulation. Provide
this.
#1343 copied an *old* version of the code in .cc and .templates.h
files into the .h files, thereby undoing a significant portion of
the work of Hamed Maien in #1322. This restores this by using the
correct code and should thereby fix the ~700 testsuite failures that
#1343 introduced.
For each function recognized in a .cc file, this yields a nice
'Definition in line 1234 of file abcd.cc' mark with the documentation
of the function, both line and file being clickable so that people can
follow the link and actually see the source code.
#1343 did not compile for me, which is easily fixed by #including another
header file. Also fix a whole bunch of warnings that were introduced by #1343.
Finally, mark a comment in a way so that it doesn't get picked up by doxygen.
These are a bit obscure and of questionable value. In particular,
these are functions that can't quite decide whether they would
belong into the VectorWithElementAccess category, or into the
VectorSpaceVector category. Thus, nuke them.
This is the exact equivalent to #1337 (commit 04430b5) but
for MappingFEField. The logic there seems to simply have been
copied from MappingQ1, so this was easy (and passes the testsuite).
There is not really a need for MappingQ1 to do anything special on the
first cell -- it can already compute everything that would be update_once
at the time of calling get_data(). Do this, and then only use the
update_each flags in fill_fe_values.
Remove uses of Mapping::IDB::current_update_flags().
This is the first step towards addressing #1305: MappingCartesian doesn't
actually pre-compute anything at all (update_once is empty), so what
current_update_flags() returns is always equal to update_each. I want to
move to a place where we never use current_update_flags() and in the
fill_fe_*_values() functions only reference update_each. This is simple
for this class, because the two are the same. So replace all occurrences of
current_update_flags() by update_each.
The TrilinosWrappers::VectorBase class declared its own version of
ExcGhostsPresent that hid the class we already declare globally in
exceptions.h, and thereby led to a situation where we output less
information than is available. This also led to some confusion as
evidenced by a recent mail on the mailing list.
Fix this by removing the extraneous class. Also augment the error
message of the existing class.
It turns out that all of the non-is_first_cell/clear_first_cell() member
variables of Mapping::InternalDataBase are only referenced in Mapping
member functions that are unused throughout the rest of the library.
While they were public, they took an internal object as argument, so
were almost certainly not used anywhere by anyone. Consequently,
zap the fields and the functions that use them.
FE_PolyFace had a lot of functions in the header file that are
declared in the base class and implemented in some of the derived
finite element classes, but commented out in the current one.
Remove those -- there is no value leaving cruft in the header
file.