Reference documentation for deal.II version 8.4.1
data_out.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 1999 - 2016 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 <deal.II/base/std_cxx11/shared_ptr.h>
25 
26 DEAL_II_NAMESPACE_OPEN
27 
28 template <int, int> class FEValuesBase;
29 
30 namespace internal
31 {
32  namespace DataOut
33  {
39  template <int dim, int spacedim>
40  struct ParallelData : public ParallelDataBase<dim,spacedim>
41  {
42  ParallelData (const unsigned int n_datasets,
43  const unsigned int n_subdivisions,
44  const std::vector<unsigned int> &n_postprocessor_outputs,
45  const Mapping<dim,spacedim> &mapping,
46  const std::vector<std_cxx11::shared_ptr<::hp::FECollection<dim,spacedim> > > &finite_elements,
47  const UpdateFlags update_flags,
48  const std::vector<std::vector<unsigned int> > &cell_to_patch_index_map);
49 
50  std::vector<Point<spacedim> > patch_evaluation_points;
51 
52  const std::vector<std::vector<unsigned int> > *cell_to_patch_index_map;
53  };
54  }
55 }
56 
57 
58 
157 template <int dim, typename DoFHandlerType=DoFHandler<dim> >
158 class DataOut : public DataOut_DoFData<DoFHandlerType, DoFHandlerType::dimension, DoFHandlerType::space_dimension>
159 {
160 public:
168  active_cell_iterator;
169 
175  {
176  no_curved_cells,
177  curved_boundary,
178  curved_inner_cells
179  };
180 
221  virtual void build_patches (const unsigned int n_subdivisions = 0);
222 
249  const unsigned int n_subdivisions = 0,
250  const CurvedCellRegion curved_region = curved_boundary);
251 
257  virtual cell_iterator first_cell ();
258 
270  virtual cell_iterator next_cell (const cell_iterator &cell);
271 
272 private:
273 
280 
287 
297  void build_one_patch
298  (const std::pair<cell_iterator, unsigned int> *cell_and_index,
300  const unsigned int n_subdivisions,
301  const CurvedCellRegion curved_cell_region,
303 };
304 
305 
306 
307 DEAL_II_NAMESPACE_CLOSE
308 
309 #endif
void build_one_patch(const std::pair< cell_iterator, unsigned int > *cell_and_index, internal::DataOut::ParallelData< DoFHandlerType::dimension, DoFHandlerType::space_dimension > &scratch_data, const unsigned int n_subdivisions, const CurvedCellRegion curved_cell_region, std::vector< DataOutBase::Patch< DoFHandlerType::dimension, DoFHandlerType::space_dimension > > &patches)
Definition: data_out.cc:66
virtual cell_iterator next_cell(const cell_iterator &cell)
Definition: data_out.cc:490
virtual void build_patches(const unsigned int n_subdivisions=0)
Definition: data_out.cc:315
virtual cell_iterator first_locally_owned_cell()
Definition: data_out.cc:504
UpdateFlags
Abstract base class for mapping classes.
Definition: dof_tools.h:52
virtual cell_iterator first_cell()
Definition: data_out.cc:480
DataOut_DoFData< DoFHandlerType, DoFHandlerType::dimension, DoFHandlerType::space_dimension >::cell_iterator cell_iterator
Definition: data_out.h:166
virtual cell_iterator next_locally_owned_cell(const cell_iterator &cell)
Definition: data_out.cc:524