16#ifndef dealii_data_out_stack_h
17#define dealii_data_out_stack_h
36template <
int dim,
int spacedim>
43template <
int dim,
int spacedim = dim,
typename DoFHandlerType =
void>
48template <
int dim,
int spacedim,
typename DoFHandlerType>
133template <
int dim,
int spacedim>
137 static_assert(dim < 3,
138 "Because this class stacks data into the (dim+1)st "
139 "dimension to create graphical output, it only works for "
141 static_assert(dim == spacedim,
142 "This class is not implemented for dim != spacedim.");
148 static constexpr int patch_dim = dim + 1;
149 static constexpr int patch_spacedim = spacedim + 1;
179 new_parameter_value(
const double parameter_value,
180 const double parameter_step);
201 declare_data_vector(
const std::string &name,
const VectorType vector_type);
215 declare_data_vector(
const std::vector<std::string> &name,
238 template <
typename number>
240 add_data_vector(
const Vector<number> &vec,
const std::string &name);
260 template <
typename number>
263 const std::vector<std::string> &names);
281 build_patches(
const unsigned int n_subdivisions = 0);
290 finish_parameter_value();
297 memory_consumption()
const;
303 ExcVectorNotDeclared,
305 <<
"The data vector for which the first component has the name " << arg1
306 <<
" has not been added before.");
311 "You cannot start a new time/parameter step before calling "
312 "finish_parameter_value() on the previous step.");
318 "You cannot declare additional vectors after already calling "
319 "build_patches(). All data vectors need to be declared "
320 "before you call this function the first time.");
326 <<
"You tried to declare a component of a data vector with "
327 <<
"the name <" << arg1
328 <<
">, but that name is already used.");
353 std::vector<::DataOutBase::Patch<patch_dim, patch_spacedim>>
patches;
376 memory_consumption()
const;
397 get_patches()
const override;
404 virtual std::vector<std::string>
405 get_dataset_names()
const override;
SmartPointer< const DoFHandler< dim, spacedim >, DataOutStack< dim, spacedim, void > > dof_handler
std::vector< DataVector > cell_data
std::vector< DataVector > dof_data
std::vector<::DataOutBase::Patch< patch_dim, patch_spacedim > > patches
virtual ~DataOutStack() override=default
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclExceptionMsg(Exception, defaulttext)
#define DeclException1(Exception1, type1, outsequence)
std::vector< std::string > names