]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Restore backward-compatibility for #6816 6830/head
authorDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Sat, 23 Jun 2018 17:08:18 +0000 (19:08 +0200)
committerDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Sat, 23 Jun 2018 17:56:18 +0000 (19:56 +0200)
include/deal.II/base/data_out_base.h
source/base/data_out_base.cc
source/base/data_out_base.inst.in

index a823976bd81420209f361630223990e23dbfc1c7..6db6b620be7b96b38f5ce382a06f63f4cbaa3343 100644 (file)
@@ -1583,6 +1583,20 @@ namespace DataOutBase
     hdf5
   };
 
+  /**
+   * Write the given list of patches to the output stream in OpenDX format.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_dx(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &            nonscalar_data_ranges,
+    const DXFlags &flags,
+    std::ostream & out);
 
   /**
    * Write the given list of patches to the output stream in OpenDX format.
@@ -1601,6 +1615,38 @@ namespace DataOutBase
     const DXFlags &flags,
     std::ostream & out);
 
+  /**
+   * Write the given list of patches to the output stream in eps format.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int spacedim>
+  DEAL_II_DEPRECATED void
+  write_eps(
+    const std::vector<Patch<2, spacedim>> &patches,
+    const std::vector<std::string> &       data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const EpsFlags &flags,
+    std::ostream &  out);
+
+  /**
+   * This is the same function as above except for domains that are not two-
+   * dimensional. This function is not implemented (and will throw an error if
+   * called) but is declared to allow for dimension-independent programs.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_eps(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const EpsFlags &flags,
+    std::ostream &  out);
+
   /**
    * Write the given list of patches to the output stream in eps format.
    *
@@ -1659,6 +1705,23 @@ namespace DataOutBase
     const EpsFlags &flags,
     std::ostream &  out);
 
+  /**
+   * This is the same function as above except for domains that are not two-
+   * dimensional. This function is not implemented (and will throw an error if
+   * called) but is declared to allow for dimension-independent programs.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_eps(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const EpsFlags &flags,
+    std::ostream &  out);
+
   /**
    * This is the same function as above except for domains that are not two-
    * dimensional. This function is not implemented (and will throw an error if
@@ -1678,6 +1741,20 @@ namespace DataOutBase
     const EpsFlags &flags,
     std::ostream &  out);
 
+  /**
+   * Write the given list of patches to the output stream in GMV format.
+   *
+   *@deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_gmv(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const GmvFlags &flags,
+    std::ostream &  out);
 
   /**
    * Write the given list of patches to the output stream in GMV format.
@@ -1702,6 +1779,21 @@ namespace DataOutBase
     const GmvFlags &flags,
     std::ostream &  out);
 
+  /**
+   * Write the given list of patches to the output stream in gnuplot format.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_gnuplot(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &                 nonscalar_data_ranges,
+    const GnuplotFlags &flags,
+    std::ostream &      out);
+
   /**
    * Write the given list of patches to the output stream in gnuplot format.
    * Visualization of two-dimensional data can then be achieved by starting
@@ -1772,6 +1864,22 @@ namespace DataOutBase
     const GnuplotFlags &flags,
     std::ostream &      out);
 
+  /**
+   * Write the given list of patches to the output stream for the Povray
+   * raytracer.
+   *
+   *@deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_povray(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &                nonscalar_data_ranges,
+    const PovrayFlags &flags,
+    std::ostream &     out);
+
   /**
    * Write the given list of patches to the output stream for the Povray
    * raytracer.
@@ -1831,6 +1939,24 @@ namespace DataOutBase
     const PovrayFlags &flags,
     std::ostream &     out);
 
+  /**
+   * Write the given list of patches to the output stream in Tecplot ASCII
+   * format (FEBLOCK).
+   *
+   * For more information consult the Tecplot Users and Reference manuals.
+   *
+   *  @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_tecplot(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &                 nonscalar_data_ranges,
+    const TecplotFlags &flags,
+    std::ostream &      out);
+
   /**
    * Write the given list of patches to the output stream in Tecplot ASCII
    * format (FEBLOCK).
@@ -1851,6 +1977,22 @@ namespace DataOutBase
     const TecplotFlags &flags,
     std::ostream &      out);
 
+  /**
+   * Write the given list of patches to the output stream in Tecplot binary
+   * format.
+   *
+   * @deprecated Use the version suing DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_tecplot_binary(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &                 nonscalar_data_ranges,
+    const TecplotFlags &flags,
+    std::ostream &      out);
+
   /**
    * Write the given list of patches to the output stream in Tecplot binary
    * format.
@@ -1884,6 +2026,22 @@ namespace DataOutBase
     const TecplotFlags &flags,
     std::ostream &      out);
 
+  /**
+   * Write the given list of patches to the output stream in UCD format
+   * described in the AVS developer's guide (now AVS).
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_ucd(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const UcdFlags &flags,
+    std::ostream &  out);
+
   /**
    * Write the given list of patches to the output stream in UCD format
    * described in the AVS developer's guide (now AVS). Due to limitations in
@@ -1912,6 +2070,23 @@ namespace DataOutBase
     const UcdFlags &flags,
     std::ostream &  out);
 
+  /**
+   * Write the given list of patches to the output stream in VTK format. The
+   * data is written in the traditional VTK format as opposed to the XML-based
+   * format that write_vtu() produces.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_vtk(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const VtkFlags &flags,
+    std::ostream &  out);
+
   /**
    * Write the given list of patches to the output stream in VTK format. The
    * data is written in the traditional VTK format as opposed to the XML-based
@@ -1945,6 +2120,22 @@ namespace DataOutBase
     const VtkFlags &flags,
     std::ostream &  out);
 
+  /**
+   * Write the given list of patches to the output stream in VTU format. The
+   * data is written in the XML-based VTK format as opposed to the traditional
+   * format that write_vtk() produces.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_vtu(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const VtkFlags &flags,
+    std::ostream &  out);
 
   /**
    * Write the given list of patches to the output stream in VTU format. The
@@ -2000,6 +2191,24 @@ namespace DataOutBase
   void
   write_vtu_footer(std::ostream &out);
 
+  /**
+   * This function writes the main part for the xml based vtu file format. This
+   * routine is used internally together with
+   * DataOutInterface::write_vtu_header() and
+   * DataOutInterface::write_vtu_footer() by DataOutBase::write_vtu().
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_vtu_main(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const VtkFlags &flags,
+    std::ostream &  out);
+
   /**
    * This function writes the main part for the xml based vtu file format. This
    * routine is used internally together with
@@ -2020,6 +2229,25 @@ namespace DataOutBase
     const VtkFlags &flags,
     std::ostream &  out);
 
+  /**
+   * Some visualization programs, such as ParaView, can read several separate
+   * VTU files that all form part of the same simulation, in order to
+   * parallelize visualization. In that case, you need a
+   * <code>.pvtu</code> file that describes which VTU files (written, for
+   * example, through the DataOutInterface::write_vtu() function) form a group.
+   * The current function can generate such a master record.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  DEAL_II_DEPRECATED
+  void
+  write_pvtu_record(
+    std::ostream &                  out,
+    const std::vector<std::string> &piece_names,
+    const std::vector<std::string> &data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &nonscalar_data_ranges);
+
   /**
    * Some visualization programs, such as ParaView, can read several separate
    * VTU files that all form part of the same simulation, in order to
@@ -2213,6 +2441,21 @@ namespace DataOutBase
     const std::vector<std::pair<double, std::vector<std::string>>>
       &times_and_piece_names);
 
+  /**
+   * Write the given list of patches to the output stream in SVG format.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int spacedim>
+  DEAL_II_DEPRECATED void
+  write_svg(
+    const std::vector<Patch<2, spacedim>> &patches,
+    const std::vector<std::string> &       data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const SvgFlags &flags,
+    std::ostream &  out);
+
   /**
    * Write the given list of patches to the output stream in SVG format.
    *
@@ -2247,6 +2490,27 @@ namespace DataOutBase
     const SvgFlags &flags,
     std::ostream &  out);
 
+  /**
+   * Write the given list of patches to the output stream in deal.II
+   * intermediate format. This is not a format understood by any other
+   * graphics program, but is rather a direct dump of the intermediate
+   * internal format used by deal.II. This internal format is generated by the
+   * various classes that can generate output using the DataOutBase class, for
+   * example from a finite element solution, and is then converted in the
+   * present class to the final graphics format.
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_deal_II_intermediate(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &                              nonscalar_data_ranges,
+    const Deal_II_IntermediateFlags &flags,
+    std::ostream &                   out);
+
   /**
    * Write the given list of patches to the output stream in deal.II
    * intermediate format. This is not a format understood by any other
@@ -2325,6 +2589,23 @@ namespace DataOutBase
                       const std::string &solution_filename,
                       MPI_Comm           comm);
 
+  /**
+   * DataOutFilter is an intermediate data format that reduces the amount of
+   * data that will be written to files. The object filled by this function
+   * can then later be used again to write data in a concrete file format;
+   * see, for example, DataOutBase::write_hdf5_parallel().
+   *
+   * @deprecated Use the version using DataComponentInterpretation instead.
+   */
+  template <int dim, int spacedim>
+  DEAL_II_DEPRECATED void
+  write_filtered_data(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &            nonscalar_data_ranges,
+    DataOutFilter &filtered_data);
+
   /**
    * DataOutFilter is an intermediate data format that reduces the amount of
    * data that will be written to files. The object filled by this function
@@ -2911,6 +3192,17 @@ protected:
   virtual std::vector<std::string>
   get_dataset_names() const = 0;
 
+  /**
+   * This functions returns information about how the individual components of
+   * output files that consist of more than one data set are to be
+   * interpreted.
+   *
+   * @deprecated Use get_nonscalar_data_ranges instead.
+   */
+  DEAL_II_DEPRECATED
+  virtual std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+  get_vector_data_ranges() const;
+
   /**
    * This functions returns information about how the individual components of
    * output files that consist of more than one data set are to be
index 87d6acce5025c46fe9e875b5822ce61a53178166..c1b3a3aef0256fe9bc77b65666bc31a0e00bcb65 100644 (file)
@@ -2757,6 +2757,29 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_ucd(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const UcdFlags &flags,
+    std::ostream &  out)
+  {
+    write_ucd(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_ucd(
@@ -2848,6 +2871,30 @@ namespace DataOutBase
   }
 
 
+
+  template <int dim, int spacedim>
+  void
+  write_dx(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const DXFlags &flags,
+    std::ostream & out)
+  {
+    write_dx(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_dx(
@@ -3134,6 +3181,29 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_gnuplot(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const GnuplotFlags &flags,
+    std::ostream &      out)
+  {
+    write_gnuplot(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_gnuplot(
@@ -3348,6 +3418,29 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_povray(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const PovrayFlags &flags,
+    std::ostream &     out)
+  {
+    write_povray(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_povray(
@@ -3681,6 +3774,21 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_eps(
+    const std::vector<Patch<dim, spacedim>> & /*patches*/,
+    const std::vector<std::string> & /*data_names*/,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const EpsFlags & /*flags*/,
+    std::ostream & /*out*/)
+  {
+    // not implemented, see the documentation of the function
+    AssertThrow(dim == 2, ExcNotImplemented());
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_eps(
@@ -3699,6 +3807,30 @@ namespace DataOutBase
   }
 
 
+
+  template <int spacedim>
+  void
+  write_eps(
+    const std::vector<Patch<2, spacedim>> &patches,
+    const std::vector<std::string> &       data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const EpsFlags &flags,
+    std::ostream &  out)
+  {
+    write_eps(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int spacedim>
   void
   write_eps(
@@ -4030,6 +4162,29 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_gmv(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const GmvFlags &flags,
+    std::ostream &  out)
+  {
+    write_gmv(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_gmv(
@@ -4167,6 +4322,29 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_tecplot(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const TecplotFlags &flags,
+    std::ostream &      out)
+  {
+    write_tecplot(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_tecplot(
@@ -4398,6 +4576,42 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_tecplot_binary(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &                 nonscalar_data_ranges,
+    const TecplotFlags &flags,
+    std::ostream &      out)
+  {
+    const unsigned int size = nonscalar_data_ranges.size();
+    std::vector<
+      std::tuple<unsigned int,
+                 unsigned int,
+                 std::string,
+                 DataComponentInterpretation::DataComponentInterpretation>>
+      new_nonscalar_data_ranges(size);
+    for (unsigned int i = 0; i < size; ++i)
+      {
+        new_nonscalar_data_ranges[i] =
+          std::tuple<unsigned int,
+                     unsigned int,
+                     std::string,
+                     DataComponentInterpretation::DataComponentInterpretation>(
+            std::get<0>(nonscalar_data_ranges[i]),
+            std::get<1>(nonscalar_data_ranges[i]),
+            std::get<2>(nonscalar_data_ranges[i]),
+            DataComponentInterpretation::component_is_part_of_vector);
+      }
+
+    write_tecplot_binary(
+      patches, data_names, new_nonscalar_data_ranges, flags, out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_tecplot_binary(
@@ -4728,6 +4942,41 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_vtk(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const VtkFlags &flags,
+    std::ostream &  out)
+  {
+    const unsigned int size = nonscalar_data_ranges.size();
+    std::vector<
+      std::tuple<unsigned int,
+                 unsigned int,
+                 std::string,
+                 DataComponentInterpretation::DataComponentInterpretation>>
+      new_nonscalar_data_ranges(size);
+    for (unsigned int i = 0; i < size; ++i)
+      {
+        new_nonscalar_data_ranges[i] =
+          std::tuple<unsigned int,
+                     unsigned int,
+                     std::string,
+                     DataComponentInterpretation::DataComponentInterpretation>(
+            std::get<0>(nonscalar_data_ranges[i]),
+            std::get<1>(nonscalar_data_ranges[i]),
+            std::get<2>(nonscalar_data_ranges[i]),
+            DataComponentInterpretation::component_is_part_of_vector);
+      }
+
+    write_vtk(patches, data_names, new_nonscalar_data_ranges, flags, out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_vtk(
@@ -5016,6 +5265,25 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_vtu(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const VtkFlags &flags,
+    std::ostream &  out)
+  {
+    write_vtu_header(out, flags);
+    write_vtu_main(patches, data_names, nonscalar_data_ranges, flags, out);
+    write_vtu_footer(out);
+
+    out << std::flush;
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_vtu(
@@ -5038,6 +5306,42 @@ namespace DataOutBase
   }
 
 
+
+  template <int dim, int spacedim>
+  void
+  write_vtu_main(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &             nonscalar_data_ranges,
+    const VtkFlags &flags,
+    std::ostream &  out)
+  {
+    const unsigned int size = nonscalar_data_ranges.size();
+    std::vector<
+      std::tuple<unsigned int,
+                 unsigned int,
+                 std::string,
+                 DataComponentInterpretation::DataComponentInterpretation>>
+      new_nonscalar_data_ranges(size);
+    for (unsigned int i = 0; i < size; ++i)
+      {
+        new_nonscalar_data_ranges[i] =
+          std::tuple<unsigned int,
+                     unsigned int,
+                     std::string,
+                     DataComponentInterpretation::DataComponentInterpretation>(
+            std::get<0>(nonscalar_data_ranges[i]),
+            std::get<1>(nonscalar_data_ranges[i]),
+            std::get<2>(nonscalar_data_ranges[i]),
+            DataComponentInterpretation::component_is_part_of_vector);
+      }
+
+    write_vtu_main(patches, data_names, new_nonscalar_data_ranges, flags, out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_vtu_main(
@@ -5364,6 +5668,39 @@ namespace DataOutBase
 
 
 
+  void
+  write_pvtu_record(
+    std::ostream &                  out,
+    const std::vector<std::string> &piece_names,
+    const std::vector<std::string> &data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &nonscalar_data_ranges)
+  {
+    const unsigned int size = nonscalar_data_ranges.size();
+    std::vector<
+      std::tuple<unsigned int,
+                 unsigned int,
+                 std::string,
+                 DataComponentInterpretation::DataComponentInterpretation>>
+      new_nonscalar_data_ranges(size);
+    for (unsigned int i = 0; i < size; ++i)
+      {
+        new_nonscalar_data_ranges[i] =
+          std::tuple<unsigned int,
+                     unsigned int,
+                     std::string,
+                     DataComponentInterpretation::DataComponentInterpretation>(
+            std::get<0>(nonscalar_data_ranges[i]),
+            std::get<1>(nonscalar_data_ranges[i]),
+            std::get<2>(nonscalar_data_ranges[i]),
+            DataComponentInterpretation::component_is_part_of_vector);
+      }
+
+    write_pvtu_record(out, piece_names, data_names, new_nonscalar_data_ranges);
+  }
+
+
+
   void
   write_pvtu_record(
     std::ostream &                  out,
@@ -5580,6 +5917,20 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_svg(
+    const std::vector<Patch<dim, spacedim>> &,
+    const std::vector<std::string> &,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &,
+    const SvgFlags &,
+    std::ostream &)
+  {
+    Assert(false, ExcNotImplemented());
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_svg(
@@ -5596,6 +5947,32 @@ namespace DataOutBase
     Assert(false, ExcNotImplemented());
   }
 
+
+
+  template <int spacedim>
+  void
+  write_svg(
+    const std::vector<Patch<2, spacedim>> &patches,
+    const std::vector<std::string> &       data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>> &
+    /*nonscalar_data_ranges*/,
+    const SvgFlags &flags,
+    std::ostream &  out)
+  {
+    write_svg(
+      patches,
+      data_names,
+      std::vector<
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>>{},
+      flags,
+      out);
+  }
+
+
+
   template <int spacedim>
   void
   write_svg(
@@ -6586,6 +6963,42 @@ namespace DataOutBase
 
 
 
+  template <int dim, int spacedim>
+  void
+  write_deal_II_intermediate(
+    const std::vector<Patch<dim, spacedim>> &patches,
+    const std::vector<std::string> &         data_names,
+    const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+      &                              nonscalar_data_ranges,
+    const Deal_II_IntermediateFlags &flags,
+    std::ostream &                   out)
+  {
+    const unsigned int size = nonscalar_data_ranges.size();
+    std::vector<
+      std::tuple<unsigned int,
+                 unsigned int,
+                 std::string,
+                 DataComponentInterpretation::DataComponentInterpretation>>
+      new_nonscalar_data_ranges(size);
+    for (unsigned int i = 0; i < size; ++i)
+      {
+        new_nonscalar_data_ranges[i] =
+          std::tuple<unsigned int,
+                     unsigned int,
+                     std::string,
+                     DataComponentInterpretation::DataComponentInterpretation>(
+            std::get<0>(nonscalar_data_ranges[i]),
+            std::get<1>(nonscalar_data_ranges[i]),
+            std::get<2>(nonscalar_data_ranges[i]),
+            DataComponentInterpretation::component_is_part_of_vector);
+      }
+
+    write_deal_II_intermediate(
+      patches, data_names, new_nonscalar_data_ranges, flags, out);
+  }
+
+
+
   template <int dim, int spacedim>
   void
   write_deal_II_intermediate(
@@ -7066,6 +7479,8 @@ DataOutInterface<dim, spacedim>::write_filtered_data(
                                    filtered_data);
 }
 
+
+
 template <int dim, int spacedim>
 void
 DataOutBase::write_filtered_data(
@@ -7078,6 +7493,43 @@ DataOutBase::write_filtered_data(
                DataComponentInterpretation::DataComponentInterpretation>>
     &                         nonscalar_data_ranges,
   DataOutBase::DataOutFilter &filtered_data)
+{
+  const unsigned int size = nonscalar_data_ranges.size();
+  std::vector<
+    std::tuple<unsigned int,
+               unsigned int,
+               std::string,
+               DataComponentInterpretation::DataComponentInterpretation>>
+    new_nonscalar_data_ranges(size);
+  for (unsigned int i = 0; i < size; ++i)
+    {
+      new_nonscalar_data_ranges[i] =
+        std::tuple<unsigned int,
+                   unsigned int,
+                   std::string,
+                   DataComponentInterpretation::DataComponentInterpretation>(
+          std::get<0>(nonscalar_data_ranges[i]),
+          std::get<1>(nonscalar_data_ranges[i]),
+          std::get<2>(nonscalar_data_ranges[i]),
+          DataComponentInterpretation::component_is_part_of_vector);
+    }
+
+  DataOutBase::write_filtered_data(patches,
+                                   data_names,
+                                   new_nonscalar_data_ranges,
+                                   filtered_data);
+}
+
+
+
+template <int dim, int spacedim>
+void
+DataOutBase::write_filtered_data(
+  const std::vector<Patch<dim, spacedim>> &patches,
+  const std::vector<std::string> &         data_names,
+  const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+    &                         nonscalar_data_ranges,
+  DataOutBase::DataOutFilter &filtered_data)
 {
   const unsigned int n_data_sets = data_names.size();
   unsigned int       n_node, n_cell;
@@ -7844,6 +8296,29 @@ DataOutInterface<dim, spacedim>::get_nonscalar_data_ranges() const
 }
 
 
+
+template <int dim, int spacedim>
+std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+DataOutInterface<dim, spacedim>::get_vector_data_ranges() const
+{
+  const auto &nonscalar_data_ranges = get_nonscalar_data_ranges();
+
+  const unsigned int size = nonscalar_data_ranges.size();
+  std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+    vector_data_ranges(size);
+  for (unsigned int i = 0; i < size; ++i)
+    {
+      vector_data_ranges[i] =
+        std::tuple<unsigned int, unsigned int, std::string>(
+          std::get<0>(nonscalar_data_ranges[i]),
+          std::get<1>(nonscalar_data_ranges[i]),
+          std::get<2>(nonscalar_data_ranges[i]));
+    }
+  return vector_data_ranges;
+}
+
+
+
 template <int dim, int spacedim>
 void
 DataOutInterface<dim, spacedim>::validate_dataset_names() const
index 9d5b79ce5a80ae5a5ae4f07cd439559970caf0e1..6edd3eb2898d191f1e0c0366b1d60577c7b85cbe 100644 (file)
@@ -34,6 +34,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
       operator>>(std::istream &                                     in,
                  Patch<deal_II_dimension, deal_II_space_dimension> &patch);
 
+      template void
+      write_vtk(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &             nonscalar_data_ranges,
+        const VtkFlags &flags,
+        std::ostream &  out);
+
       template void
       write_vtk(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -48,6 +58,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const VtkFlags &flags,
         std::ostream &  out);
 
+      template void
+      write_vtu(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &             nonscalar_data_ranges,
+        const VtkFlags &flags,
+        std::ostream &  out);
+
       template void
       write_vtu(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -62,6 +82,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const VtkFlags &flags,
         std::ostream &  out);
 
+      template void
+      write_ucd(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &             nonscalar_data_ranges,
+        const UcdFlags &flags,
+        std::ostream &  out);
+
       template void
       write_ucd(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -76,6 +106,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const UcdFlags &flags,
         std::ostream &  out);
 
+      template void
+      write_dx(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &            nonscalar_data_ranges,
+        const DXFlags &flags,
+        std::ostream & out);
+
       template void
       write_dx(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -90,6 +130,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const DXFlags &flags,
         std::ostream & out);
 
+      template void
+      write_gnuplot(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &                 nonscalar_data_ranges,
+        const GnuplotFlags &flags,
+        std::ostream &      out);
+
       template void
       write_gnuplot(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -104,6 +154,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const GnuplotFlags &flags,
         std::ostream &      out);
 
+      template void
+      write_povray(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &                nonscalar_data_ranges,
+        const PovrayFlags &flags,
+        std::ostream &     out);
+
       template void
       write_povray(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -118,6 +178,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const PovrayFlags &flags,
         std::ostream &     out);
 
+      template void
+      write_eps(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &             nonscalar_data_ranges,
+        const EpsFlags &flags,
+        std::ostream &  out);
+
       template void
       write_eps(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -132,6 +202,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const EpsFlags &flags,
         std::ostream &  out);
 
+      template void
+      write_gmv(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &             nonscalar_data_ranges,
+        const GmvFlags &flags,
+        std::ostream &  out);
+
       template void
       write_gmv(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -146,6 +226,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const GmvFlags &flags,
         std::ostream &  out);
 
+      template void
+      write_tecplot(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &                 nonscalar_data_ranges,
+        const TecplotFlags &flags,
+        std::ostream &      out);
+
       template void
       write_tecplot(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -160,6 +250,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const TecplotFlags &flags,
         std::ostream &      out);
 
+      template void
+      write_tecplot_binary(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &                 nonscalar_data_ranges,
+        const TecplotFlags &flags,
+        std::ostream &      out);
+
       template void
       write_tecplot_binary(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -175,6 +275,16 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         std::ostream &      out);
 
 #  if deal_II_space_dimension > 1
+      template void
+      write_svg(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &             nonscalar_data_ranges,
+        const SvgFlags &flags,
+        std::ostream &  out);
+
       template void
       write_svg(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -189,6 +299,17 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const SvgFlags &flags,
         std::ostream &  out);
 #  endif
+
+      template void
+      write_deal_II_intermediate(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
+          &                             patches,
+        const std::vector<std::string> &data_names,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &                              nonscalar_data_ranges,
+        const Deal_II_IntermediateFlags &flags,
+        std::ostream &                   out);
+
       template void
       write_deal_II_intermediate(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>>
@@ -211,6 +332,14 @@ for (deal_II_dimension : OUTPUT_DIMENSIONS;
         const std::string &  filename,
         MPI_Comm             comm);
 
+      template void
+      write_filtered_data(
+        const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>> &,
+        const std::vector<std::string> &,
+        const std::vector<std::tuple<unsigned int, unsigned int, std::string>>
+          &,
+        DataOutBase::DataOutFilter &);
+
       template void
       write_filtered_data(
         const std::vector<Patch<deal_II_dimension, deal_II_space_dimension>> &,

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.