deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40:00+00:00
|
#include <deal.II/grid/tria_accessor.h>
Public Types | |
using | AccessorData = void |
Public Member Functions | |
TriaAccessor (const Triangulation< dim, spacedim > *tria, const unsigned int vertex_index) | |
TriaAccessor (const Triangulation< dim, spacedim > *tria=nullptr, const int level=0, const int index=0, const AccessorData *=nullptr) | |
template<int structdim2, int dim2, int spacedim2> | |
TriaAccessor (const TriaAccessor< structdim2, dim2, spacedim2 > &) | |
template<int structdim2, int dim2, int spacedim2> | |
TriaAccessor (const InvalidAccessor< structdim2, dim2, spacedim2 > &) | |
IteratorState::IteratorStates | state () const |
int | index () const |
const Triangulation< dim, spacedim > & | get_triangulation () const |
bool | used () const |
Advancement of iterators | |
void | operator++ () |
void | operator-- () |
bool | operator== (const TriaAccessor &) const |
bool | operator!= (const TriaAccessor &) const |
Geometric information about an object | |
double | diameter () const |
double | extent_in_direction (const unsigned int axis) const |
Point< spacedim > | center (const bool respect_manifold=false, const bool interpolate_from_surrounding=false) const |
double | measure () const |
Static Public Member Functions | |
static int | level () |
Orientation of sub-objects | |
static unsigned char | combined_face_orientation (const unsigned int face) |
Always return 0. | |
static bool | face_orientation (const unsigned int face) |
Always return false. | |
static bool | face_flip (const unsigned int face) |
Always return false. | |
static bool | face_rotation (const unsigned int face) |
Always return false. | |
static bool | line_orientation (const unsigned int line) |
Always return false. | |
Accessing children | |
static bool | has_children () |
static unsigned int | n_children () |
static unsigned int | n_active_descendants () |
static unsigned int | max_refinement_depth () |
static unsigned int | child_iterator_to_index (const TriaIterator< TriaAccessor< 0, dim, spacedim > > &) |
Return an invalid unsigned integer. | |
static TriaIterator< TriaAccessor< 0, dim, spacedim > > | child (const unsigned int) |
Return an invalid object. | |
static TriaIterator< TriaAccessor< 0, dim, spacedim > > | isotropic_child (const unsigned int) |
Return an invalid object. | |
static RefinementCase< 0 > | refinement_case () |
static int | child_index (const unsigned int i) |
Returns -1. | |
static int | isotropic_child_index (const unsigned int i) |
Returns -1. | |
Static Public Attributes | |
static constexpr unsigned int | space_dimension = spacedim |
static constexpr unsigned int | dimension = dim |
static const unsigned int | structure_dimension = 0 |
Protected Member Functions | |
void | copy_from (const TriaAccessor &) |
bool | operator< (const TriaAccessor &other) const |
Protected Attributes | |
const Triangulation< dim, spacedim > * | tria |
unsigned int | global_vertex_index |
Friends | |
template<typename Accessor > | |
class | TriaRawIterator |
template<typename Accessor > | |
class | TriaIterator |
template<typename Accessor > | |
class | TriaActiveIterator |
Accessing sub-objects | |
unsigned int | vertex_index (const unsigned int i=0) const |
Point< spacedim > & | vertex (const unsigned int i=0) const |
static typename::internal::TriangulationImplementation::Iterators< dim, spacedim >::line_iterator | line (const unsigned int) |
static unsigned int | line_index (const unsigned int i) |
static typename::internal::TriangulationImplementation::Iterators< dim, spacedim >::quad_iterator | quad (const unsigned int i) |
static unsigned int | quad_index (const unsigned int i) |
This class is a specialization of TriaAccessor<structdim, dim, spacedim>
for the case that structdim
is zero. This class represents vertices in a triangulation of dimensionality dim
(i.e. 1 for a triangulation of lines, 2 for a triangulation of quads, and 3 for a triangulation of hexes) that is embedded in a space of dimensionality spacedim
(for spacedim==dim
the triangulation represents a domain in \({\mathbb R}^\text{dim}\), for spacedim>dim
the triangulation is of a manifold embedded in a higher dimensional space).
There is a further specialization of this class for the case that dim
equals one, i.e., for vertices of a one-dimensional triangulation, since in that case vertices are also faces.
Definition at line 1907 of file tria_accessor.h.
using TriaAccessor< 0, dim, spacedim >::AccessorData = void |
Pointer to internal data.
Definition at line 1934 of file tria_accessor.h.
TriaAccessor< 0, dim, spacedim >::TriaAccessor | ( | const Triangulation< dim, spacedim > * | tria, |
const unsigned int | vertex_index | ||
) |
Constructor. The second argument is the global index of the vertex we point to.
TriaAccessor< 0, dim, spacedim >::TriaAccessor | ( | const Triangulation< dim, spacedim > * | tria = nullptr , |
const int | level = 0 , |
||
const int | index = 0 , |
||
const AccessorData * | = nullptr |
||
) |
Constructor. This constructor exists in order to maintain interface compatibility with the other accessor classes. index
can be used to set the global index of the vertex we point to.
TriaAccessor< 0, dim, spacedim >::TriaAccessor | ( | const TriaAccessor< structdim2, dim2, spacedim2 > & | ) |
Constructor. Should never be called and thus produces an error.
TriaAccessor< 0, dim, spacedim >::TriaAccessor | ( | const InvalidAccessor< structdim2, dim2, spacedim2 > & | ) |
Constructor. Should never be called and thus produces an error.
IteratorState::IteratorStates TriaAccessor< 0, dim, spacedim >::state | ( | ) | const |
Return the state of the iterator.
|
static |
Level of this object. Vertices have no level, so this function always returns zero.
int TriaAccessor< 0, dim, spacedim >::index | ( | ) | const |
Index of this object. Returns the global index of the vertex this object points to.
const Triangulation< dim, spacedim > & TriaAccessor< 0, dim, spacedim >::get_triangulation | ( | ) | const |
Return a reference to the triangulation which the object pointed to by this class belongs to.
void TriaAccessor< 0, dim, spacedim >::operator++ | ( | ) |
This operator advances the iterator to the next element.
void TriaAccessor< 0, dim, spacedim >::operator-- | ( | ) |
This operator moves the iterator to the previous element.
bool TriaAccessor< 0, dim, spacedim >::operator== | ( | const TriaAccessor< 0, dim, spacedim > & | ) | const |
Compare for equality.
bool TriaAccessor< 0, dim, spacedim >::operator!= | ( | const TriaAccessor< 0, dim, spacedim > & | ) | const |
Compare for inequality.
unsigned int TriaAccessor< 0, dim, spacedim >::vertex_index | ( | const unsigned int | i = 0 | ) | const |
Return the global index of i-th vertex of the current object. If i
is zero, this returns the index of the current point to which this object refers. Otherwise, it throws an exception.
Note that the returned value is only the index of the geometrical vertex. It has nothing to do with possible degrees of freedom associated with it. For this, see the DoFAccessor::vertex_dof_index
functions.
Point< spacedim > & TriaAccessor< 0, dim, spacedim >::vertex | ( | const unsigned int | i = 0 | ) | const |
Return a reference to the ith
vertex. If i is zero, this returns a reference to the current point to which this object refers. Otherwise, it throws an exception.
|
static |
Pointer to the ith
line bounding this object. Will point to an invalid object.
|
static |
Line index of the ith
line bounding this object. Throws an exception.
|
static |
Pointer to the ith
quad bounding this object.
|
static |
Quad index of the ith
quad bounding this object. Throws an exception.
double TriaAccessor< 0, dim, spacedim >::diameter | ( | ) | const |
Diameter of the object. This function always returns zero.
double TriaAccessor< 0, dim, spacedim >::extent_in_direction | ( | const unsigned int | axis | ) | const |
Length of an object in the direction of the given axis, specified in the local coordinate system. See the documentation of GeometryInfo for the meaning and enumeration of the local axes.
This function always returns zero.
Point< spacedim > TriaAccessor< 0, dim, spacedim >::center | ( | const bool | respect_manifold = false , |
const bool | interpolate_from_surrounding = false |
||
) | const |
Return the center of this object, which of course coincides with the location of the vertex this object refers to. The parameters respect_manifold
and interpolate_from_surrounding
are not used. They are there to provide the same interface as TriaAccessor<structdim,dim,spacedim>
.
double TriaAccessor< 0, dim, spacedim >::measure | ( | ) | const |
Compute the dim-dimensional measure of the object. For a dim-dimensional cell in dim-dimensional space, this equals its volume. On the other hand, for a 2d cell in 3d space, or if the current object pointed to is a 2d face of a 3d cell in 3d space, then the function computes the area the object occupies. For a one-dimensional object, return its length. For a zero-dimensional object, return zero.
|
static |
Test whether the object has children. Always false.
|
static |
Return the number of immediate children of this object. This is always zero.
|
static |
Compute and return the number of active descendants of this objects. Always zero.
|
static |
Return the number of times that this object is refined. Always 0.
|
static |
Return an invalid unsigned integer.
|
static |
Return an invalid object.
|
static |
Return an invalid object.
|
static |
Always return no refinement.
|
static |
Returns -1.
|
static |
Returns -1.
bool TriaAccessor< 0, dim, spacedim >::used | ( | ) | const |
Return whether the vertex pointed to here is used.
|
protected |
Copy operator. Since this is only called from iterators, do not return anything, since the iterator will return itself.
This method is protected, since it is only to be called from the iterator class.
|
protected |
Comparison operator for accessors. This operator is used when comparing iterators into objects of a triangulation, for example when putting them into a std::map
.
This operator simply compares the global index of the vertex the current object points to.
Definition at line 2293 of file tria_accessor.h.
Definition at line 2295 of file tria_accessor.h.
Definition at line 2297 of file tria_accessor.h.
|
staticconstexpr |
Dimension of the space the object represented by this accessor lives in. For example, if this accessor represents a quad that is part of a two-dimensional surface in four-dimensional space, then this value is four.
Definition at line 1915 of file tria_accessor.h.
|
staticconstexpr |
Dimensionality of the object that the thing represented by this accessor is part of. For example, if this accessor represents a line that is part of a hexahedron, then this value will be three.
Definition at line 1922 of file tria_accessor.h.
|
static |
Dimensionality of the current object represented by this accessor. For example, if it is line (irrespective of whether it is part of a quad or hex, and what dimension we are in), then this value equals 1.
Definition at line 1929 of file tria_accessor.h.
|
protected |
Pointer to the triangulation we operate on.
Definition at line 2284 of file tria_accessor.h.
|
protected |
The global vertex index of the vertex this object corresponds to.
Definition at line 2289 of file tria_accessor.h.