Graph3D Class Reference
Abstract base class for geometry slice plots. More...
#include <graph3d.hpp>

Public Member Functions | |
Graph3D (const Mesh &mesh) | |
Constructor. | |
virtual | ~Graph3D () |
Virtual destructor. | |
virtual void | plot (cairo_t *cairo, const Coordmapper *cm, const double range[4])=0 |
Plot graph with cairo. | |
virtual void | plot_sample (cairo_t *cairo, double x, double y, double width, double height)=0 |
Plot sample for legend. | |
virtual void | get_bbox (double bbox[4])=0 |
Get bounding box of drawable. | |
void | set_view (view_e view, int level) |
Set the view of 3D drawable. | |
Protected Attributes | |
const Mesh & | _mesh |
Mesh of simulation. | |
view_e | _view |
Geometry view direction. | |
int | _vb [3] |
Coordinate index for first, second and third axes. | |
int | _level |
Level of slice in mesh units. | |
double | _level_si |
Level in meters. |
Detailed Description
Abstract base class for geometry slice plots.
Implementation of Graph. Used in Frame type plots.
Provides functionality to select a slice of geometry along axes at any mesh level in any direction. The direction is selected with view and level in integer (mesh count) level. Provides the child class with permutated coordinate indexes. The first coordinate (index vb[0]) will be used for the horizontal axis of the plot, the second coordinate (index vb[1]) for the vertical axis and the third coordinate (index vb[2]) for the level. In three dimensions all the views are possible. In two dimensions, only VIEW_XY and VIEW_YX are possible. Here there is no separate redial index, Y is used instead.
Constructor & Destructor Documentation
Graph3D::Graph3D | ( | const Mesh & | mesh | ) | [inline] |
Constructor.
Constructor for 3D graph in a simulation volume defined by mesh.
virtual Graph3D::~Graph3D | ( | ) | [inline, virtual] |
Virtual destructor.
Member Function Documentation
virtual void Graph3D::get_bbox | ( | double | bbox[4] | ) | [pure virtual] |
Get bounding box of drawable.
Returns the bounding box of the drawable in array bbox in order xmin, ymin, xmax, ymax.
Implements Graph.
Implemented in EqPotGraph, MeshGraph, ParticleGraph, and SolidGraph.
virtual void Graph3D::plot | ( | cairo_t * | cairo, | |
const Coordmapper * | cm, | |||
const double | range[4] | |||
) | [pure virtual] |
Plot graph with cairo.
Plot the graph using cairo and coordinate mapper cm. The visible range of plot is given in array range in order xmin, ymin, xmax, ymax. The graph should be able to handle any range values. Also min > max.
Called by Frame during drawing.
Implements Graph.
Implemented in EqPotGraph, MeshGraph, ParticleGraph, and SolidGraph.
virtual void Graph3D::plot_sample | ( | cairo_t * | cairo, | |
double | x, | |||
double | y, | |||
double | width, | |||
double | height | |||
) | [pure virtual] |
Plot sample for legend.
Plot graph sample for legend at cairo coordinates (x,y).
Implements Graph.
Implemented in EqPotGraph, MeshGraph, ParticleGraph, and SolidGraph.
void Graph3D::set_view | ( | view_e | view, | |
int | level | |||
) | [inline] |
Set the view of 3D drawable.
Sets view direction to view and the view level to level.
Member Data Documentation
int Graph3D::_level [protected] |
Level of slice in mesh units.
double Graph3D::_level_si [protected] |
Level in meters.
const Mesh& Graph3D::_mesh [protected] |
Mesh of simulation.
int Graph3D::_vb[3] [protected] |
Coordinate index for first, second and third axes.
view_e Graph3D::_view [protected] |
Geometry view direction.
The documentation for this class was generated from the following file: