Example shows function display with matplotlib.
Example shows function display with matplotlib.
#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_matplotlib_function)
{
boost::shared_ptr<boost::test_tools::output_test_stream>
output = retrievePattern ("visualization-matplotlib-function");
Matplotlib matplotlib = Matplotlib::make_matplotlib ();
Square square;
Circle circle;
Poly poly;
(*output)
<< (matplotlib
<<
comment (
"Hello, world (complex)!")
<<
plot (square, intervalS)
<<
plot (circle, intervalC)
<<
plot (poly, intervalP)
);
std::cout << output->str () << std::endl;
BOOST_CHECK (output->match_pattern ());
}
BOOST_AUTO_TEST_SUITE_END ()
ROBOPTIM_DLLAPI Command comment(const char *)
Make a Gnuplot comment.
Definition: gnuplot-commands.cc:68
Command plot(const GenericFunction< T > &f, discreteInterval_t interval)
Plot a 1D function with Gnuplot.
Definition: gnuplot-function.hh:62
Function::discreteInterval_t discreteInterval_t
Import discrete interval type from function.
Definition: matplotlib-function.hh:38
defined(EIGEN_RUNTIME_NO_MALLOC) && !defined(ROBOPTIM_DO_NOT_CHECK_ALLOCATION)
Definition: alloc.hh:33
Graphical visualization.
Definition: visualization/fwd.hh:26
Matplotlib rendering.
Definition: visualization/fwd.hh:53
Define an abstract mathematical function ( ).
Definition: function.hh:161
matplotlib script
Definition: matplotlib.hh:51