23#include <deal.II/grid/tria_iterator.templates.h>
33template <
int structdim,
int dim,
int spacedim,
bool level_dof_access>
37template <
int structdim,
int dim,
int spacedim,
bool level_dof_access>
45template <
int structdim,
int dim,
int spacedim>
53 ExcMessage(
"You are attempting an illegal conversion between "
54 "iterator/accessor types. The constructor you call "
55 "only exists to make certain template constructs "
56 "easier to write as dimension independent code but "
57 "the conversion is not valid in the current context."));
62template <
int structdim,
int dim,
int spacedim>
69 ExcMessage(
"You are attempting an illegal conversion between "
70 "iterator/accessor types. The constructor you call "
71 "only exists to make certain template constructs "
72 "easier to write as dimension independent code but "
73 "the conversion is not valid in the current context."));
78template <
int structdim,
int dim,
int spacedim>
82 const unsigned int)
const
90template <
int structdim,
int dim,
int spacedim>
95 const unsigned int)
const
106template <
int dim,
int spacedim,
bool lda>
110 Assert(
static_cast<unsigned int>(this->present_level) <
111 this->dof_handler->object_dof_indices.size(),
114 Assert(this->dof_handler !=
nullptr,
typename BaseClass::ExcInvalidObject());
116 internal::DoFCellAccessorImplementation::Implementation::
117 update_cell_dof_indices_cache(*
this);
122template <
int dim,
int spacedim,
bool lda>
125 const std::vector<types::global_dof_index> &local_dof_indices)
127 Assert(
static_cast<unsigned int>(this->present_level) <
128 this->dof_handler->object_dof_indices.size(),
131 Assert(this->dof_handler !=
nullptr,
typename BaseClass::ExcInvalidObject());
133 internal::DoFAccessorImplementation::Implementation::
134 template set_dof_indices<dim, spacedim, lda, dim>(*
this,
136 this->active_fe_index());
141template <
int dim,
int spacedim,
bool lda>
144 const unsigned int face,
145 const unsigned int subface)
const
155template <
int dim,
int spacedim,
bool lda>
158 const unsigned int face,
159 const unsigned int subface)
const
170template <
int dim,
int spacedim,
bool lda>
173 const unsigned int face)
const
183template <
int dim,
int spacedim,
bool lda>
186 const unsigned int face)
const
198#include "dof_accessor.inst"
TriaIterator< CellAccessor< dim, spacedim > > periodic_neighbor(const unsigned int i) const
TriaIterator< CellAccessor< dim, spacedim > > neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
TriaIterator< CellAccessor< dim, spacedim > > periodic_neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
TriaIterator< CellAccessor< dim, spacedim > > neighbor_or_periodic_neighbor(const unsigned int i) const
TriaIterator< DoFCellAccessor< dimension_, space_dimension_, level_dof_access > > periodic_neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
void update_cell_dof_indices_cache() const
TriaIterator< DoFCellAccessor< dimension_, space_dimension_, level_dof_access > > neighbor_or_periodic_neighbor(const unsigned int i) const
TriaIterator< DoFCellAccessor< dimension_, space_dimension_, level_dof_access > > periodic_neighbor(const unsigned int i) const
void set_dof_indices(const std::vector< types::global_dof_index > &dof_indices)
TriaIterator< DoFCellAccessor< dimension_, space_dimension_, level_dof_access > > neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
DoFInvalidAccessor(const Triangulation< dim, spacedim > *parent=0, const int level=-1, const int index=-1, const AccessorData *local_data=0)
types::global_dof_index dof_index(const unsigned int i, const unsigned int fe_index=DoFHandler< dim, spacedim >::default_fe_index) const
typename InvalidAccessor< structdim, dim, spacedim >::AccessorData AccessorData
void set_dof_index(const unsigned int i, const types::global_dof_index index, const unsigned int fe_index=DoFHandler< dim, spacedim >::invalid_fe_index) const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcInternalError()
static ::ExceptionBase & ExcMessage(std::string arg1)