Reference documentation for deal.II version 9.0.0
data_out.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 1999 - 2018 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE at
12 // the top level of the deal.II distribution.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_data_out_h
17 #define dealii_data_out_h
18 
19 
20 
21 #include <deal.II/base/config.h>
22 #include <deal.II/numerics/data_out_dof_data.h>
23 
24 #include <memory>
25 
26 DEAL_II_NAMESPACE_OPEN
27 
28 namespace internal
29 {
30  namespace DataOutImplementation
31  {
37  template <int dim, int spacedim>
38  struct ParallelData : public ParallelDataBase<dim,spacedim>
39  {
40  ParallelData (const unsigned int n_datasets,
41  const unsigned int n_subdivisions,
42  const std::vector<unsigned int> &n_postprocessor_outputs,
43  const Mapping<dim,spacedim> &mapping,
44  const std::vector<std::shared_ptr<::hp::FECollection<dim,spacedim> > > &finite_elements,
45  const UpdateFlags update_flags,
46  const std::vector<std::vector<unsigned int> > &cell_to_patch_index_map);
47 
48  std::vector<Point<spacedim> > patch_evaluation_points;
49 
50  const std::vector<std::vector<unsigned int> > *cell_to_patch_index_map;
51  };
52  }
53 }
54 
55 
56 
155 template <int dim, typename DoFHandlerType=DoFHandler<dim> >
156 class DataOut : public DataOut_DoFData<DoFHandlerType, DoFHandlerType::dimension, DoFHandlerType::space_dimension>
157 {
158 public:
166  active_cell_iterator;
167 
182  {
192 
202 
210  };
211 
252  virtual void build_patches (const unsigned int n_subdivisions = 0);
253 
286  const unsigned int n_subdivisions = 0,
287  const CurvedCellRegion curved_region = curved_boundary);
288 
294  virtual cell_iterator first_cell ();
295 
307  virtual cell_iterator next_cell (const cell_iterator &cell);
308 
309 private:
310 
317 
324 
334  void build_one_patch
335  (const std::pair<cell_iterator, unsigned int> *cell_and_index,
337  const unsigned int n_subdivisions,
338  const CurvedCellRegion curved_cell_region);
339 };
340 
341 
342 
343 DEAL_II_NAMESPACE_CLOSE
344 
345 #endif
void build_one_patch(const std::pair< cell_iterator, unsigned int > *cell_and_index, internal::DataOutImplementation::ParallelData< DoFHandlerType::dimension, DoFHandlerType::space_dimension > &scratch_data, const unsigned int n_subdivisions, const CurvedCellRegion curved_cell_region)
Definition: data_out.cc:66
virtual cell_iterator next_cell(const cell_iterator &cell)
Definition: data_out.cc:549
virtual void build_patches(const unsigned int n_subdivisions=0)
Definition: data_out.cc:370
virtual cell_iterator first_locally_owned_cell()
Definition: data_out.cc:563
UpdateFlags
Abstract base class for mapping classes.
Definition: dof_tools.h:46
virtual cell_iterator first_cell()
Definition: data_out.cc:539
DataOut_DoFData< DoFHandlerType, DoFHandlerType::dimension, DoFHandlerType::space_dimension >::cell_iterator cell_iterator
Definition: data_out.h:164
virtual cell_iterator next_locally_owned_cell(const cell_iterator &cell)
Definition: data_out.cc:583