43 #ifndef EQPOTGRAPH_HPP
44 #define EQPOTGRAPH_HPP 1
63 Line(
double _x1,
double _y1,
double _x2,
double _y2 ) {
70 double &operator[](
int i ) {
return( x[i] ); }
71 const double &operator[](
int i )
const {
return( x[i] ); }
78 EqPotLines(
double pot ) : pot(pot) {}
86 std::vector<double> _eqlines_manual;
88 std::vector<EqPotLines *> _lines;
96 bool eqline_exists(
double pot1,
signed char sol1,
97 double pot2,
signed char sol2,
99 void build_data(
void );
139 virtual void plot( cairo_t *cairo,
const Coordmapper *cm,
const double range[4] );
145 virtual void plot_sample( cairo_t *cairo,
double x,
double y,
double width,
double height );
152 virtual void get_bbox(
double bbox[4] );
virtual void plot_sample(cairo_t *cairo, double x, double y, double width, double height)
Plot sample for legend.
EqPotGraph(const ScalarField &epot, const Geometry &g)
Constructor for equipotential line plot.
view_e
View types.
Definition: graph3d.hpp:53
Equipotential line plot.
Definition: eqpotgraph.hpp:58
Geometry defining class.
Definition: geometry.hpp:131
Linear-linear 2D coordinate mapper.
Definition: coordmapper.hpp:119
Abstract base class for geometry slice plots.
Definition: graph3d.hpp:78
virtual void get_bbox(double bbox[4])
Get bounding box of drawable.
virtual ~EqPotGraph()
Destructor,.
Base for three dimensional plottable graphs.
void set_eqlines_auto(size_t N)
Set N automatic equipotential lines to be plotted between minimum potential and maximum potentials...
void disable_cache(void)
Disable internal cache.
Color class for plotting.
Definition: color.hpp:53
virtual void plot(cairo_t *cairo, const Coordmapper *cm, const double range[4])
Plot graph with cairo.
Scalar field class.
Definition: scalarfield.hpp:70
void set_eqlines_manual(const std::vector< double > &pot)
Add manual equipotential lines to be plotted at specified potentials.