deal.II version GIT relicensing1989gd7a2c90e4e 20241014 01:50:00+00:00

#include <deal.II/base/data_out_base.h>
Public Member Functions  
Patch ()  
bool  operator== (const Patch &patch) const 
std::size_t  memory_consumption () const 
void  swap (Patch< dim, spacedim > &other_patch) noexcept 
Static Public Member Functions  
static ::ExceptionBase &  ExcInvalidCombinationOfDimensions (int arg1, int arg2) 
Public Attributes  
std::array< Point< spacedim >, GeometryInfo< dim >::vertices_per_cell >  vertices 
std::array< unsigned int, GeometryInfo< dim >::faces_per_cell >  neighbors 
unsigned int  patch_index 
unsigned int  n_subdivisions 
Table< 2, float >  data 
bool  points_are_available 
ReferenceCell  reference_cell 
Static Public Attributes  
static const unsigned int  space_dim = spacedim 
static const unsigned int  no_neighbor = numbers::invalid_unsigned_int 
Data structure describing a patch of data in dim
space dimensions.
A patch consists of the following data:
See the general documentation of the DataOutBase class for more information on its contents and purposes. In the case of two dimensions, the next picture is an example of n_subdivisions
= 4 because the number of (sub)cells within each patch is equal to 2^{dim}
.
Definition at line 255 of file data_out_base.h.
DataOutBase::Patch< dim, spacedim >::Patch  (  ) 
Default constructor. Sets n_subdivisions to one, points_are_available to false, and patch_index to no_neighbor.
Definition at line 1774 of file data_out_base.cc.
bool DataOutBase::Patch< dim, spacedim >::operator==  (  const Patch< dim, spacedim > &  patch  )  const 
Compare the present patch for equality with another one. This is used in a few of the automated tests in our testsuite.
Definition at line 1793 of file data_out_base.cc.
std::size_t DataOutBase::Patch< dim, spacedim >::memory_consumption  (  )  const 
Return an estimate for the memory consumption, in bytes, of this object. This is not exact (but will usually be close) because calculating the memory usage of trees (e.g., std::map
) is difficult.
Definition at line 1835 of file data_out_base.cc.

noexcept 
Swap the current object's contents with those of the given argument.
Definition at line 1852 of file data_out_base.cc.

static 
Make the spacedim
template parameter available.
Definition at line 260 of file data_out_base.h.
std::array<Point<spacedim>, GeometryInfo<dim>::vertices_per_cell> DataOutBase::Patch< dim, spacedim >::vertices 
Corner points of a patch. Interior points are computed by a multilinear transformation of the unit cell to the cell specified by these corner points, if points_are_available==false
.
On the other hand, if points_are_available==true
, then the coordinates of the points at which output is to be generated is attached in additional rows to the data
table.
The order of points is the same as for cells in the triangulation.
Definition at line 279 of file data_out_base.h.
std::array<unsigned int, GeometryInfo<dim>::faces_per_cell> DataOutBase::Patch< dim, spacedim >::neighbors 
Patch indices of neighbors of the current patch. This is made available for the OpenDX format that requires neighbor information for advanced output.
Definition at line 291 of file data_out_base.h.
unsigned int DataOutBase::Patch< dim, spacedim >::patch_index 
Number of this patch. Since we are not sure patches are always handled in the same order, we better store this.
Definition at line 297 of file data_out_base.h.
unsigned int DataOutBase::Patch< dim, spacedim >::n_subdivisions 
Number of subdivisions with which this patch is to be written. 1
means no subdivision, 2
means bisection, 3
trisection, etc.
Definition at line 304 of file data_out_base.h.
Table<2, float> DataOutBase::Patch< dim, spacedim >::data 
Data vectors. The format is as follows: data(i,.)
denotes the data belonging to the i
th data vector. data.n_cols()
therefore equals the number of output points; this number is (subdivisions+1)^{dim}
. data.n_rows()
equals the number of data vectors. For the current purpose, a data vector equals one scalar, even if multiple scalars may later be interpreted as vectors.
Within each column, data(.,j)
are the data values at the output point j
, where j
denotes the usual lexicographic ordering in deal.II. This is also the order of points as provided by the QIterated
class when used with the QTrapezoid
class as subquadrature.
Since the number of data vectors is usually the same for all patches to be printed, data.size()
should yield the same value for all patches provided. The exception are patches for which points_are_available are set, where the actual coordinates of the point are appended to the 'data' field, see the documentation of the points_are_available flag.
Definition at line 327 of file data_out_base.h.
bool DataOutBase::Patch< dim, spacedim >::points_are_available 
A flag indicating whether the coordinates of the interior patch points (assuming that the patch is supposed to be subdivided further) are appended to the data
table (true
) or not (false
). The latter is the default and in this case the locations of the points interior to this patch are computed by (bi, tri)linear interpolation from the vertices of the patch.
This option exists since patch points may be evaluated using a Mapping (rather than by a linear interpolation) and therefore have to be stored in the Patch structure.
Definition at line 341 of file data_out_base.h.
ReferenceCell DataOutBase::Patch< dim, spacedim >::reference_cell 
Referencecell type of the underlying cell of this patch.
Definition at line 346 of file data_out_base.h.

static 
Value to be used if this patch has no neighbor on one side.
Definition at line 379 of file data_out_base.h.