Reference documentation for deal.II version Git b8493d4166 20190519 17:48:39 +0200

#include <deal.II/grid/grid_out.h>
Public Types  
enum  OutputFormat { none, dx, gnuplot, eps, ucd, xfig, msh, svg, mathgl, vtk, vtu } 
Public Member Functions  
GridOut ()  
template<int dim, int spacedim>  
void  write_dx (const Triangulation< dim, spacedim > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_gnuplot (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const 
template<int dim, int spacedim>  
void  write_msh (const Triangulation< dim, spacedim > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_ucd (const Triangulation< dim, spacedim > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_eps (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const 
template<int dim, int spacedim>  
void  write_xfig (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const 
void  write_svg (const Triangulation< 2, 2 > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_svg (const Triangulation< dim, spacedim > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_mathgl (const Triangulation< dim, spacedim > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_vtk (const Triangulation< dim, spacedim > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_vtu (const Triangulation< dim, spacedim > &tria, std::ostream &out) const 
template<int dim, int spacedim>  
void  write_mesh_per_processor_as_vtu (const Triangulation< dim, spacedim > &tria, const std::string &filename_without_extension, const bool view_levels=false, const bool include_artificial=false) const 
template<int dim, int spacedim>  
void  write (const Triangulation< dim, spacedim > &tria, std::ostream &out, const OutputFormat output_format, const Mapping< dim, spacedim > *mapping=nullptr) const 
template<int dim, int spacedim>  
void  write (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const 
void  set_flags (const GridOutFlags::DX &flags) 
void  set_flags (const GridOutFlags::Msh &flags) 
void  set_flags (const GridOutFlags::Ucd &flags) 
void  set_flags (const GridOutFlags::Gnuplot &flags) 
void  set_flags (const GridOutFlags::Eps< 1 > &flags) 
void  set_flags (const GridOutFlags::Eps< 2 > &flags) 
void  set_flags (const GridOutFlags::Eps< 3 > &flags) 
void  set_flags (const GridOutFlags::XFig &flags) 
void  set_flags (const GridOutFlags::Svg &flags) 
void  set_flags (const GridOutFlags::MathGL &flags) 
void  set_flags (const GridOutFlags::Vtk &flags) 
void  set_flags (const GridOutFlags::Vtu &flags) 
std::string  default_suffix () const 
void  parse_parameters (ParameterHandler ¶m) 
std::size_t  memory_consumption () const 
Static Public Member Functions  
static std::string  default_suffix (const OutputFormat output_format) 
static OutputFormat  parse_output_format (const std::string &format_name) 
static std::string  get_output_format_names () 
static void  declare_parameters (ParameterHandler ¶m) 
static ::ExceptionBase &  ExcInvalidState () 
Private Member Functions  
template<int dim, int spacedim>  
unsigned int  write_msh_faces (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_msh_faces (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_msh_faces (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const 
template<int dim, int spacedim>  
unsigned int  write_msh_lines (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_msh_lines (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_msh_lines (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_msh_lines (const Triangulation< 2, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_msh_lines (const Triangulation< 2, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const 
template<int dim, int spacedim>  
unsigned int  write_ucd_faces (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_ucd_faces (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_ucd_faces (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const 
template<int dim, int spacedim>  
unsigned int  write_ucd_lines (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_ucd_lines (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_ucd_lines (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_ucd_lines (const Triangulation< 2, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const 
unsigned int  write_ucd_lines (const Triangulation< 2, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const 
template<int dim, int spacedim>  
unsigned int  n_boundary_faces (const Triangulation< dim, spacedim > &tria) const 
unsigned int  n_boundary_faces (const Triangulation< 1, 1 > &tria) const 
unsigned int  n_boundary_faces (const Triangulation< 1, 2 > &tria) const 
template<int dim, int spacedim>  
unsigned int  n_boundary_lines (const Triangulation< dim, spacedim > &tria) const 
unsigned int  n_boundary_lines (const Triangulation< 1, 1 > &tria) const 
unsigned int  n_boundary_lines (const Triangulation< 1, 2 > &tria) const 
unsigned int  n_boundary_lines (const Triangulation< 2, 2 > &tria) const 
unsigned int  n_boundary_lines (const Triangulation< 2, 3 > &tria) const 
Static Private Member Functions  
static Point< 2 >  svg_project_point (Point< 3 > point, Point< 3 > camera_position, Point< 3 > camera_direction, Point< 3 > camera_horizontal, float camera_focus) 
This class provides a means to output a triangulation to a file in different formats. See the enum GridOut::OutputFormat for a list of formats and the corresponding output function names.
Usage is simple: either you use the direct form
if you know which format you want to have, or if you want the format to be a runtime parameter, you can write
The function get_output_format_names()
provides a list of possible names of output formats in a string that is understandable by the ParameterHandler class.
Note that here, we have created an unnamed object of type GridOut and called one of its write_*
functions. This looks like as if the respective function could really be made static
. This was not done in order to allow for parameters to be passed to the different output functions in a way compatible with the scheme of allowing the right output format to be selected at runtime through the generic write
function.
In order to explain this, consider each function had one or more additional parameters giving the details of output, for example position of the spectator for 3d meshed, line thicknesses, etc. While this would allow each output function any flexibility it needs, it would not allow us to use the generic function write
which is given a parameter determining the output format, since it is impractical to give it a list of parameters for each and every output format supported which it may then pass on to the respective output function.
Rather, we have chosen to let each object of this class GridOut have a set of parameters for each supported output format. These are collected in structures GridOutFlags::Eps(), GridOutFlags::Gnuplot(), etc declared in the GridOutFlags namespace, and you can set your preferred flags like this:
The respective output function then use the soset flags. By default, they are set to reasonable values as described above and in the documentation of the different flags structures. Resetting the flags can be done by calling grid_out.set_flags (GridOutFlags::Ucd());
, since the default constructor of each of the flags structures sets the parameters to their initial values.
The advantage of this approach is that it is possible to change the flags of one or more output formats according to your needs and later use the generic write
function; the actual output function then called will use the flags as set before.
Note that some of the structures describing the flags of the different output formats are empty since the respective format does not support any flags. The structure and the set_flags
function are provided anyway. Note also that some of the structures may differ between the dimensions supported by this class; they then have a template parameter, as usual.
Definition at line 907 of file grid_out.h.
Declaration of a name for each of the different output formats. These are used by the generic output function write() to determine the actual output format.
Enumerator  

none  Do nothing in write() 
dx  write() calls write_dx() 
gnuplot  write() calls write_gnuplot() 
eps  write() calls write_eps() 
ucd  write() calls write_ucd() 
xfig  write() calls write_xfig() 
msh  write() calls write_msh() 
svg  write() calls write_svg() 
mathgl  write() calls write_mathgl() 
vtk  write() calls write_vtk() 
vtu  write() calls write_vtu() 
Definition at line 915 of file grid_out.h.
GridOut::GridOut  (  ) 
Constructor.
Definition at line 481 of file grid_out.cc.
void GridOut::write_dx  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out  
)  const 
Write triangulation in OpenDX format.
Cells or faces are written together with their level and their material id or boundary indicator, resp.
Not implemented for the codimension one case.
Definition at line 797 of file grid_out.cc.
void GridOut::write_gnuplot  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out,  
const Mapping< dim, spacedim > *  mapping = nullptr 

)  const 
Write the triangulation in the gnuplot format.
In GNUPLOT format, each cell is written as a sequence of its confining lines. Apart from the coordinates of the line's end points, the level and the material of the cell are appended to each line of output. Therefore, if you let GNUPLOT draw a 2d grid as a 3d plot, you will see more refined cells being raised against cells with less refinement. Also, if you draw a cut through a 3d grid, you can extrude the refinement level in the direction orthogonal to the cut plane. The same can be done with the material id, which is plotted after the level.
A more useful application of this feature is the following: if you use the GNUPLOT command (for a 2d grid here)
* splot [:][:][2.5:3.5] "grid_file.gnuplot" * *
then the whole x and yrange will be plotted, i.e. the whole grid, but only those lines with a zvalue between 2.5 and 3.5. Since the zvalues were chosen to be the level to which a cell belongs, this results in a plot of those cells only that belong to level 3 in this example. This way, it is easy to produce plots of the different levels of grid.
mapping
is a pointer to a mapping used for the transformation of cells at the boundary. If zero, then use standard Q1 mapping.
Names and values of additional flags controlling the output can be found in the documentation of the GridOutFlags::Gnuplot class, which also describes some caveats for the codimension one case.
Definition at line 4221 of file grid_out.cc.
void GridOut::write_msh  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out  
)  const 
Write the triangulation in the msh format.
Msh is the format used by Gmsh and it is described in the Gmsh user's guide. Besides the usual output of the grid only, you can decide through additional flags (see below, and the documentation of the GridOutFlags::Msh() class) whether boundary faces with nonzero boundary indicator shall be written to the file explicitly. This is useful, if you want to reread the grid later on, since deal.II
sets the boundary indicator to zero by default; therefore, to obtain the same triangulation as before, you have to specify faces with differing boundary indicators explicitly, which is done by this flag.
Names and values of further flags controlling the output can be found in the documentation of the GridOutFlags::Msh() class.
Works also in the codimension one case.
Definition at line 1044 of file grid_out.cc.
void GridOut::write_ucd  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out  
)  const 
Write the triangulation in the ucd format.
UCD (unstructured cell data) is the format used by AVS and some other programs. It is described in the AVS developer's guide. Besides the usual output of the grid only, you can decide through additional flags (see below, and the documentation of the GridOutFlags::Ucd() class) whether boundary faces with nonzero boundary indicator shall be written to the file explicitly. This is useful, if you want to reread the grid later on, since deal.II
sets the boundary indicator to zero by default; therefore, to obtain the same triangulation as before, you have to specify faces with differing boundary indicators explicitly, which is done by this flag.
Names and values of further flags controlling the output can be found in the documentation of the GridOutFlags::Ucd() class.
Works also for the codimension one case.
Definition at line 1191 of file grid_out.cc.
void GridOut::write_eps  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out,  
const Mapping< dim, spacedim > *  mapping = nullptr 

)  const 
Write the triangulation in the encapsulated postscript format.
In this format, each line of the triangulation is written separately. We scale the picture such that either xvalues or yvalues range between zero and a fixed size. The other axis is scaled by the same factor. Which axis is taken to compute the scale and the size of the box it shall fit into is determined by the output flags (see below, and the documentation of the GridOutFlags::Eps() class).
The bounding box is close to the triangulation on all four sides, without an extra frame. The line width is chosen to be 0.5 by default, but can be changed. The line width is to be compared with the extension of the picture, of which the default is 300.
The flag color_lines_on_user_flag
allows to draw lines with the user_flag
set to be drawn in red. The colors black and red are defined as b
and r
in the preamble of the output file and can be changed there according to need.
mapping
is a pointer to a mapping used for the transformation of cells at the boundary. If zero, then use standard Q1 mapping.
Names and values of additional flags controlling the output can be found in the documentation of the GridOutFlags::Eps() class. Especially the viewpoint for three dimensional grids is of importance here.
Not implemented for the codimension one case.
Definition at line 4755 of file grid_out.cc.
void GridOut::write_xfig  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out,  
const Mapping< dim, spacedim > *  mapping = nullptr 

)  const 
Write twodimensional XFigfile.
This function writes all grid cells as polygons and optionally boundary lines. Several parameters can be adjusted by the XFigFlags control object.
If levels are coded to depth, the complete grid hierarchy is plotted with fine cells before their parents. This way, levels can be switched on and off in xfig by selecting levels.
Polygons are either at depth 900level or at 900+material_id
, depending on the flag level_depth
. Accordingly, boundary edges are at depth 800level or at 800+boundary_id
. Therefore, boundary edges are always in front of cells.
Not implemented for the codimension one case.
Definition at line 1316 of file grid_out.cc.
void GridOut::write_svg  (  const Triangulation< 2, 2 > &  tria, 
std::ostream &  out  
)  const 
Write the triangulation in the SVG format.
SVG (Scalable Vector Graphics) is an XMLbased vector image format developed and maintained by the World Wide Web Consortium (W3C). This function conforms to the latest specification SVG 1.1, released on August 16, 2011.
The cells of the triangulation are written as polygons with additional lines at the boundary of the triangulation. A coloring of the cells is further possible in order to visualize a certain property of the cells such as their level or material id. A colorbar can be drawn to encode the chosen coloring. Moreover, a cell label can be added, showing level index, etc.
Definition at line 1530 of file grid_out.cc.
void GridOut::write_svg  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out  
)  const 
Declaration of the same function as above for all other dimensions and space dimensions. This function is not currently implemented and is only declared to exist to support dimension independent programming.
Definition at line 1522 of file grid_out.cc.
void GridOut::write_mathgl  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out  
)  const 
Write triangulation in MathGL script format. To interpret this file a version of MathGL>=2.0.0 is required.
To get a handle on the resultant MathGL script within a graphical environment an interpreter is needed. A suggestion to start with is mglview
, which is bundled with MathGL. mglview
can interpret and display smalltomedium MathGL scripts in a graphical window and enables conversion to other formats such as EPS, PNG, JPG, SVG, as well as view/display animations. Some minor editing, such as modifying the lighting or alpha channels, can also be done.
Definition at line 2721 of file grid_out.cc.
void GridOut::write_vtk  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out  
)  const 
Write triangulation in VTK format. This function writes a UNSTRUCTURED_GRID file, that contains the following VTK cell types: VTK_HEXAHEDRON, VTK_QUAD, and VTK_LINE, depending on the template dimension.
In three dimensions, this function writes a file that contains
In two dimensions:
In one dimension
The output file will contain two CELL_DATA sections, MaterialID
and ManifoldID
, recording for each VTK cell type the material or boundary id, and the manifold. See the VTK file format documentation for an explanation of the generated output.
The companion GridIn::read_vtk function can be used to read VTK files generated with this method.
Definition at line 2994 of file grid_out.cc.
void GridOut::write_vtu  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out  
)  const 
Write triangulation in VTU format.
Due to the way this function writes data to the output stream, the resulting output files correspond to a faithful representation of the mesh in that all cells are visible for visualization. However, the data is not in a format that allows reading this file in again through the GridIn class. This is because every vertex of the mesh is duplicated as many times as there are adjacent cells. In other words, every cell has its own, separate set of vertices that are at the same location as the vertices of other cells, but are separately numbered. If such a file is read in through the GridIn class, then that will result in a mesh that has the correct cells and vertex locations, but because the vertices are logically separate (though at the same locations) all cells are unconnected and have no neighbors across faces.
Definition at line 3157 of file grid_out.cc.
void GridOut::write_mesh_per_processor_as_vtu  (  const Triangulation< dim, spacedim > &  tria, 
const std::string &  filename_without_extension,  
const bool  view_levels = false , 

const bool  include_artificial = false 

)  const 
Write triangulation in VTU format for each processor, and add a .pvtu file for visualization in Visit or Paraview that describes the collection of VTU files as all part of the same simulation. The output is in the form filename_without_extension.proc000*.vtu
where * is 0,1,...,n_proc1 and filename_without_extension.pvtu
. The input view_levels
can be set as true to view each level of a multilevel method. The input include_artificial
can be set as true to view the artificial cells for each processor. Each .vtu and .pvtu file will have the attributes subdomain, level_subdomain, level, and proc_writing. The level value can be used to separate the image into the view of the grid on each level of a multilevel method and the proc_writing value can be used to separate the image into each processor's owned and ghost cells. This is accomplished by applying the "warp by scalar" filter in paraview to each of the values. After opening the .pvtu file of a mesh where the input view_levels
is set to true, select the "warp by scalar" filter. For the "Scalars" input select proc_writing
and for the "Normal" input enter in 1 0 0, then click Apply. Next select the "warp by
scalar" filter again. For the "Scalars" input select level
and for the "Normal" input enter in 0 1 0, then click Apply. This will give you the following image.
If the view_levels
remains at false, thereby only giving the mesh for the active level, it is enough to separate the image into the views written by different processors. This is shown in the following image where the include_artificial
input is set as true.
Note: Depending on the size of the mesh you may need to increase the "Scale Factor" input so that each piece does not overlap.
Definition at line 3187 of file grid_out.cc.
void GridOut::write  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out,  
const OutputFormat  output_format,  
const Mapping< dim, spacedim > *  mapping = nullptr 

)  const 
Write grid to out
according to the given data format. This function simply calls the appropriate write_*
function.
Definition at line 4765 of file grid_out.cc.
void GridOut::write  (  const Triangulation< dim, spacedim > &  tria, 
std::ostream &  out,  
const Mapping< dim, spacedim > *  mapping = nullptr 

)  const 
Write mesh in default format set by ParameterHandler.
Definition at line 4822 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::DX &  flags  ) 
Set flags for DX output
Definition at line 487 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Msh &  flags  ) 
Set flags for Gmsh output
Definition at line 495 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Ucd &  flags  ) 
Set flags for UCD output
Definition at line 502 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Gnuplot &  flags  ) 
Set flags for GNUPLOT output
Definition at line 510 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Eps< 1 > &  flags  ) 
Set flags for EPS output of a onedimensional triangulation
Definition at line 518 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Eps< 2 > &  flags  ) 
Set flags for EPS output of a twodimensional triangulation
Definition at line 526 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Eps< 3 > &  flags  ) 
Set flags for EPS output of a threedimensional triangulation
Definition at line 534 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::XFig &  flags  ) 
Set flags for EPS output of a threedimensional triangulation
Definition at line 542 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Svg &  flags  ) 
Set flags for SVG output
Definition at line 549 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::MathGL &  flags  ) 
Set flags for MathGL output
Definition at line 556 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Vtk &  flags  ) 
Set flags for VTK output
Definition at line 562 of file grid_out.cc.
void GridOut::set_flags  (  const GridOutFlags::Vtu &  flags  ) 
Set flags for VTU output
Definition at line 568 of file grid_out.cc.

static 
Provide a function that can tell us which suffix a given output format usually has. For example, it defines the following mappings:
OpenDX:
.dx
gnuplot:
.gnuplot
ucd:
.inp
eps:
.eps
. Similar mappings are provided for all implemented formats.
Since this function does not need data from this object, it is static and can thus be called without creating an object of this class.
Definition at line 574 of file grid_out.cc.
std::string GridOut::default_suffix  (  )  const 
Default suffix for the default output format selected through ParameterHandler.
Definition at line 609 of file grid_out.cc.

static 
Return the OutputFormat
value corresponding to the given string. If the string does not match any known format, an exception is thrown.
Since this function does not need data from this object, it is static and can thus be called without creating an object of this class. Its main purpose is to allow a program to use any implemented output format without the need to extend the program's parser each time a new format is implemented.
To get a list of presently available format names, e.g. to give it to the ParameterHandler class, use the function get_output_format_names().
Definition at line 617 of file grid_out.cc.

static 
Return a list of implemented output formats. The different names are separated by vertical bar signs (`'
) as used by the ParameterHandler classes.
Definition at line 660 of file grid_out.cc.

static 
Declare parameters in ParameterHandler.
Definition at line 667 of file grid_out.cc.
void GridOut::parse_parameters  (  ParameterHandler &  param  ) 
Parse parameters of ParameterHandler.
Definition at line 716 of file grid_out.cc.
std::size_t GridOut::memory_consumption  (  )  const 
Determine an estimate for the memory consumption (in bytes) of this object.
Definition at line 762 of file grid_out.cc.

private 
Write the grid information about faces to out
. Only those faces are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary faces.
Since, in Gmsh, geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Gmsh will not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_msh
function, since it needs special treatment for the case dim==1
, in which case the face iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1
. Bad luck.
Definition at line 3492 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 3421 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 3430 of file grid_out.cc.

private 
Write the grid information about lines to out
. Only those lines are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary faces.
Since, in Gmsh, geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Gmsh will not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_msh
function, since it needs special treatment for the case dim==1
and dim==2
, in which case the edge iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1/2
. Bad luck.
Definition at line 3536 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 3447 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 3455 of file grid_out.cc.

private 
Declaration of the specialization of above function for 2d. Does nothing.

private 
Declaration of the specialization of above function for 2d, 3sd. Does nothing.
Definition at line 3481 of file grid_out.cc.

private 
Write the grid information about faces to out
. Only those faces are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary faces.
Since (in the UCD format) geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Visualization programs may not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_ucd
function, since it needs special treatment for the case dim==1
, in which case the face iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1
. Bad luck.
Definition at line 3657 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 3588 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 3596 of file grid_out.cc.

private 
Write the grid information about lines to out
. Only those lines are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary lines.
Since (in the UCD format) geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Visualization programs may not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_ucd
function, since it needs special treatment for the case dim==1/2
, in which case the edge iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1/2
. Bad luck.
Definition at line 3700 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 3612 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 3620 of file grid_out.cc.

private 
Declaration of the specialization of above function for 2d. Does nothing.

private 
Declaration of the specialization of above function for 2d, 3sd. Does nothing.
Definition at line 3646 of file grid_out.cc.

staticprivate 
This function projects a threedimensional point (Point<3> point) onto a twodimensional image plane, specified by the position of the camera viewing system (Point<3> camera_position), camera direction (Point<3> camera_position), camera horizontal (Point<3> camera_horizontal, necessary for the correct alignment of the later images), and the focus of the camera (float camera_focus).
For SVG output of grids.
Definition at line 3748 of file grid_out.cc.

private 
Return the number of faces in the triangulation which have a boundary indicator not equal to zero. Only these faces are explicitly printed in the write_*
functions; all faces with indicator numbers::internal_face_boundary_id are interior ones and an indicator with value zero for faces at the boundary are considered default.
This function always returns an empty list in one dimension.
The reason for this function is the same as for write_ucd_faces(). See there for more information.
Definition at line 3369 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d. Simply returns zero.

private 
Declaration of the specialization of above function for 1d, 2sd. Simply returns zero.
Definition at line 3330 of file grid_out.cc.

private 
Return the number of lines in the triangulation which have a boundary indicator not equal to zero. Only these lines are explicitly printed in the write_*
functions; all lines with indicator numbers::internal_face_boundary_id are interior ones and an indicator with value zero for faces at the boundary are considered default.
This function always returns an empty list in one and two dimensions.
The reason for this function is the same as for write_ucd_faces(). See there for more information.
Definition at line 3386 of file grid_out.cc.

private 
Declaration of the specialization of above function for 1d. Simply returns zero.

private 
Declaration of the specialization of above function for 1d, 2sd. Simply returns zero.
Definition at line 3336 of file grid_out.cc.

private 
Declaration of the specialization of above function for 2d. Simply returns zero.
Definition at line 3354 of file grid_out.cc.

private 
Declaration of the specialization of above function for 2d, 3sd. Simply returns zero.
Definition at line 3360 of file grid_out.cc.

private 
The default output format, set by a ParameterHandler.
Definition at line 1416 of file grid_out.h.

private 
Flags for OpenDX output.
Definition at line 1421 of file grid_out.h.

private 
Flags for Gmsh output. Can be changed by using the set_flags(const GridOutFlags::Msh&) function.
Definition at line 1427 of file grid_out.h.

private 
Flags for UCD output. Can be changed by using the set_flags(const GridOutFlags::Ucd&) function.
Definition at line 1433 of file grid_out.h.

private 
Flags to be used upon output of GNUPLOT data. Can be changed by using the set_flags(const GridOutFlags::Gnuplot&) function.
Definition at line 1439 of file grid_out.h.

private 
Flags to be used upon output of EPS data in one space dimension. Can be changed by using the set_flags(const GridOutFlags::Eps<1>&) function.
Definition at line 1445 of file grid_out.h.

private 
Flags to be used upon output of EPS data in two space dimensions. Can be changed by using the set_flags
function.
Definition at line 1451 of file grid_out.h.

private 
Flags to be used upon output of EPS data in three space dimensions. Can be changed by using the set_flags
function.
Definition at line 1457 of file grid_out.h.

private 
Flags used for XFig output.
Definition at line 1462 of file grid_out.h.

private 
Flags used for Svg output.
Definition at line 1467 of file grid_out.h.

private 
Flags for MathGL output.
Definition at line 1472 of file grid_out.h.

private 
Flags for VTK output.
Definition at line 1477 of file grid_out.h.

private 
Flags for VTU output.
Definition at line 1482 of file grid_out.h.