20 #ifndef LIBMESH_POSTSCRIPT_IO_H 21 #define LIBMESH_POSTSCRIPT_IO_H 24 #include "libmesh/libmesh_common.h" 25 #include "libmesh/mesh_output.h" 27 #include "libmesh/point.h" 70 virtual void write (
const std::string &)
override;
152 #endif // LIBMESH_POSTSCRIPT_IO_H const MeshBase & mesh() const
void plot_linear_elem(const Elem *elem)
Draws an element with straight lines.
virtual ~PostscriptIO()
Destructor.
std::ofstream _out
Output file stream which will be opened when the file name is known.
Point _offset
Amount to add to every (x,y) point to place it in Postscript coordinates.
void _compute_edge_bezier_coeffs(const Elem *elem)
Given a quadratic edge Elem which lies in the x-y plane, computes the Bezier coefficients.
This class implements writing 2D meshes in Postscript.
This is the base class from which all geometric element types are derived.
This class defines an abstract interface for Mesh output.
The libMesh namespace provides an interface to certain functionality in the library.
Point _current_point
A point object used for temporary calculations.
static const float _bezier_transform[3][3]
Coefficients of the transformation from physical-space edge coordinates to Bezier basis coefficients...
This is the MeshBase class.
Real shade_value
Controls greyscale shading of cells.
PostscriptIO(const MeshBase &mesh)
Constructor.
Real line_width
Control the thickness of the lines used.
Real _scale
Amount by which to stretch each point to place it in Postscript coordinates.
std::vector< Point > _bezier_coeffs
Vector containing 3 points corresponding to Bezier coefficients, as computed by _compute_edge_bezier_...
std::ostringstream _cell_string
Drawing style-independent data for a single cell.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void write(const std::string &) override
This method implements writing a mesh to a specified file.
void plot_quadratic_elem(const Elem *elem)
Draws an element with Bezier curves.
A Point defines a location in LIBMESH_DIM dimensional Real space.