MacroWriter.h 1.67 KB
Newer Older
1 2 3 4 5 6 7
/******************************************************************************
 *
 * AMDiS - Adaptive multidimensional simulations
 *
 * Copyright (C) 2013 Dresden University of Technology. All Rights Reserved.
 * Web: https://fusionforge.zih.tu-dresden.de/projects/amdis
 *
8
 * Authors:
9 10 11 12 13 14 15 16 17
 * Simon Vey, Thomas Witkowski, Andreas Naumann, Simon Praetorius, et al.
 *
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 *
 * This file is part of AMDiS
 *
 * See also license.opensource.txt in the distribution.
18
 *
19
 ******************************************************************************/
20 21


22 23 24 25 26 27 28 29

/** \file MacroWriter.h */

#ifndef AMDIS_MACROWRITER_H
#define AMDIS_MACROWRITER_H

#include <list>
#include <vector>
Thomas Witkowski's avatar
Thomas Witkowski committed
30
#include "AMDiS_fwd.h"
31 32 33 34 35 36 37 38 39
#include "VertexInfo.h"
#include "ElementInfo.h"
#include "DataCollector.h"
#include "FixVec.h"
#include "Boundary.h"
#include "Projection.h"
#include "Flag.h"
#include "Mesh.h"

40
namespace AMDiS { namespace io {
41

42
  /**
43 44 45 46 47 48
   * \ingroup Output
   *
   * \brief
   * Writes the current leaf elements of a mesh as macro triangulation to
   * a text file. Pure static class.
   */
49
  struct MacroWriter
50
  {
51
    /// Writes the leaf elements of a Mesh as a macro triangulation to a file.
52
    static int writeMacro(DataCollector<> *dc,
53
			  std::string name,
54 55 56
			  double time = 0.0,
			  int level = -1,
			  Flag traverseFlag = Mesh::CALL_LEAF_EL,
57
			  bool (*writeElem)(ElInfo*) = NULL);
58

59
    /// Init \ref periodicFile for the next macro to be written.
60
    static void writePeriodicFile(DataCollector<> *dc, std::string filename);
61
  };
62

63
} } // end namespace io, AMDiS
64 65

#endif