LehrFEM++
1.0.0
A simple Finite Element Library for teaching
Loading...
Searching...
No Matches
write_tikz.h
1
/***************************************************************************
2
* LehrFEM++ - A simple C++ finite element libray for teaching
3
* Developed from 2018 at the Seminar of Applied Mathematics of ETH Zurich,
4
* lead developers Dr. R. Casagrande and Prof. R. Hiptmair
5
***************************************************************************/
6
7
#ifndef WRITE_TIKZ_H
8
#define WRITE_TIKZ_H
9
10
#include <lf/mesh/mesh.h>
11
12
#include <string>
13
#include <vector>
14
15
#include "lf/mesh/hybrid2d/hybrid2d.h"
16
17
namespace
lf::io
{
18
24
enum class
TikzOutputCtrl
:
unsigned
int
{
25
RenderCells
= 1,
26
CellNumbering
= 2,
27
VerticeNumbering
= 4,
28
NodeNumbering
= 8,
29
EdgeNumbering
= 16,
30
ArrowTips
= 32,
31
WithPreamble
= 64
32
};
33
34
TikzOutputCtrl
operator|
(
const
TikzOutputCtrl
&lhs,
const
TikzOutputCtrl
&rhs);
35
TikzOutputCtrl
operator&
(
const
TikzOutputCtrl
&lhs,
const
TikzOutputCtrl
&rhs);
36
130
bool
writeTikZ
(
const
lf::mesh::Mesh
&
mesh
,
const
std::string &filename,
131
std::function<
bool
(
const
lf::mesh::Entity
&)> &&selector,
132
TikzOutputCtrl
output_ctrl =
TikzOutputCtrl::RenderCells
);
133
141
bool
writeTikZ
(
const
lf::mesh::Mesh
&
mesh
,
const
std::string &filename,
142
TikzOutputCtrl
output_ctrl =
TikzOutputCtrl::RenderCells
);
143
144
}
// namespace lf::io
145
146
#endif
// WRITE_TIKZ_H
lf::mesh::Entity
Interface class representing a topological entity in a cellular complex
Definition
entity.h:42
lf::mesh::Mesh
Abstract interface for objects representing a single mesh.
Definition
mesh_interface.h:73
lf::io
Mesh input (from file) and output (in various formats) facilities.
Definition
gmsh_file_v2.cc:35
lf::io::TikzOutputCtrl
TikzOutputCtrl
Enum flags: TikzOutputCtrl for output control of mesh drawn in TikZ.
Definition
write_tikz.h:24
lf::io::TikzOutputCtrl::CellNumbering
@ CellNumbering
Definition
write_tikz.h:26
lf::io::TikzOutputCtrl::WithPreamble
@ WithPreamble
Definition
write_tikz.h:31
lf::io::TikzOutputCtrl::ArrowTips
@ ArrowTips
Definition
write_tikz.h:30
lf::io::TikzOutputCtrl::VerticeNumbering
@ VerticeNumbering
Definition
write_tikz.h:27
lf::io::TikzOutputCtrl::RenderCells
@ RenderCells
Definition
write_tikz.h:25
lf::io::TikzOutputCtrl::EdgeNumbering
@ EdgeNumbering
Definition
write_tikz.h:29
lf::io::TikzOutputCtrl::NodeNumbering
@ NodeNumbering
Definition
write_tikz.h:28
lf::io::writeTikZ
bool writeTikZ(const lf::mesh::Mesh &mesh, const std::string &filename, std::function< bool(const lf::mesh::Entity &)> &&selector, TikzOutputCtrl output_ctrl)
Writes mesh to file in TikZ Graphics format. File as input in LaTeX will draw the mesh.
Definition
write_tikz.cc:24
lf::io::operator&
TikzOutputCtrl operator&(const TikzOutputCtrl &lhs, const TikzOutputCtrl &rhs)
Definition
write_tikz.cc:18
lf::io::operator|
TikzOutputCtrl operator|(const TikzOutputCtrl &lhs, const TikzOutputCtrl &rhs)
Definition
write_tikz.cc:13
lf::mesh
Defines a set of interface classes that define a mesh manager and provides mesh-related tools that bu...
Definition
entity.cc:5
lib
lf
io
write_tikz.h
Generated by
1.13.2