Example shows function display with Gnuplot.
Example shows function display with Gnuplot.
#include "shared-tests/fixture.hh"
#include <iostream>
{
explicit Square ()
{
}
void impl_compute (result_ref result,
const_argument_ref argument) const
{
result[0] = argument[0] * argument[0];
}
};
{
explicit Circle (double r = 1.)
:
Function (1, 2,
"{sin (x) * r; cos (x) * r}"),
r_ (r)
{
}
void impl_compute (result_ref result,
const_argument_ref argument) const
{
result[0] = sin (argument[0]) * r_;
result[1] = cos (argument[0]) * r_;
}
double r_;
};
{
explicit Poly ()
{
}
void impl_compute (result_ref result,
const_argument_ref argument) const
{
result[0] = argument[0] * argument[0] * argument[0];
result[1] = result[0] * argument[0];
}
};
BOOST_FIXTURE_TEST_SUITE (core, TestSuiteConfiguration)
BOOST_AUTO_TEST_CASE (visualization_gnuplot_function)
{
boost::shared_ptr<boost::test_tools::output_test_stream>
output = retrievePattern ("visualization-gnuplot-function");
Gnuplot gnuplot = Gnuplot::make_interactive_gnuplot ();
Square square;
Circle circle;
Poly poly;
(*output)
<< (gnuplot
<<
comment (
"Hello, world (complex)!")
<<
set (
"multiplot layout 3,1")
<<
plot (square, intervalS)
<<
plot (poly, intervalP)
);
std::cout << output->str () << std::endl;
BOOST_CHECK (output->match_pattern ());
}
BOOST_AUTO_TEST_SUITE_END ()
Command plot_xy(const GenericFunction< T > &f, discreteInterval_t interval)
Plot a 2D function with Gnuplot.
Definition: gnuplot-function.hh:122
ROBOPTIM_DLLAPI Command comment(const char *)
Make a Gnuplot comment.
Definition: gnuplot-commands.cc:68
Function::discreteInterval_t discreteInterval_t
Import discrete interval type from function.
Definition: gnuplot-function.hh:37
ROBOPTIM_DLLAPI Command unset(const char *var)
Make a Gnuplot unset command.
Definition: gnuplot-commands.cc:106
Command plot(const GenericFunction< T > &f, discreteInterval_t interval)
Plot a 1D function with Gnuplot.
Definition: gnuplot-function.hh:62
ROBOPTIM_DLLAPI Command set(const char *var, const char *val="")
Make a Gnuplot set command.
Definition: gnuplot-commands.cc:84
defined(EIGEN_RUNTIME_NO_MALLOC) && !defined(ROBOPTIM_DO_NOT_CHECK_ALLOCATION)
Definition: alloc.hh:33
Graphical visualization.
Definition: visualization/fwd.hh:26
Gnuplot rendering.
Definition: visualization/fwd.hh:30
Define an abstract mathematical function ( ).
Definition: function.hh:161
Gnuplot script.
Definition: gnuplot.hh:50