Public Member Functions | Protected Attributes
Graph3D Class Reference

Abstract base class for geometry slice plots. More...

#include <graph3d.hpp>

Inheritance diagram for Graph3D:
Graph EqPotGraph FieldGraph MeshGraph ParticleGraph SolidGraph

List of all members.

Public Member Functions

 Graph3D ()
 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

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.

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 ( ) [inline]

Constructor.

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, ParticleGraph, FieldGraph, SolidGraph, and MeshGraph.

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, ParticleGraph, FieldGraph, SolidGraph, and MeshGraph.

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, ParticleGraph, FieldGraph, SolidGraph, and MeshGraph.

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.

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: