13 #ifndef piecewise_point_creator_test_suite_hpp
14 #define piecewise_point_creator_test_suite_hpp
28 template<
typename data__>
78 std::cout <<
"figure(" << figno <<
");" << std::endl;
81 std::cout <<
"cp_x=[";
82 for (pp=0; pp<ns; ++pp)
86 for (i=0; i<=bez.degree(); ++i)
88 std::cout << bez.get_control_point(i).x();
94 std::cout << std::endl;
96 std::cout <<
"];" << std::endl;
98 std::cout <<
"cp_y=[";
99 for (pp=0; pp<ns; ++pp)
103 for (i=0; i<=bez.degree(); ++i)
105 std::cout << bez.get_control_point(i).y();
111 std::cout << std::endl;
113 std::cout <<
"];" << std::endl;
115 std::cout <<
"cp_z=[";
116 for (pp=0; pp<ns; ++pp)
120 for (i=0; i<=bez.degree(); ++i)
122 std::cout << bez.get_control_point(i).z();
128 std::cout << std::endl;
130 std::cout <<
"];" << std::endl;
133 std::vector<data__> t(129);
134 for (i=0; i<static_cast<index_type>(t.size()); ++i)
136 t[i]=tmin+(tmax-tmin)*static_cast<data__>(i)/(t.size()-1);
140 std::cout <<
"surf_x=[";
141 for (i=0; i<static_cast<index_type>(t.size()); ++i)
143 std::cout << pc.
f(t[i]).x();
144 if (i<static_cast<index_type>(t.size()-1))
147 std::cout <<
"];" << std::endl;
149 std::cout <<
"surf_y=[";
150 for (i=0; i<static_cast<index_type>(t.size()); ++i)
152 std::cout << pc.
f(t[i]).y();
153 if (i<static_cast<index_type>(t.size()-1))
156 std::cout <<
"];" << std::endl;
158 std::cout <<
"surf_z=[";
159 for (i=0; i<static_cast<index_type>(t.size()); ++i)
161 std::cout << pc.
f(t[i]).z();
162 if (i<static_cast<index_type>(t.size()-1))
165 std::cout <<
"];" << std::endl;
167 std::cout <<
"setenv('GNUTERM', 'x11');" << std::endl;
168 std::cout <<
"plot3(surf_x, surf_y, surf_z, '-k');" << std::endl;
169 std::cout <<
"hold on;" << std::endl;
170 std::cout <<
"plot3(cp_x', cp_y', cp_z', '-ok', 'MarkerFaceColor', [0 0 0]);" << std::endl;
171 std::cout <<
"hold off;" << std::endl;
178 piecewise_curve_type pc;
179 point_creator_type pt_creator(4);
180 data_type dt0(3), dt1(2), dt2(3), dt3(2), t0(-1), dt;
181 point_type p0, ptemp;
196 TEST_ASSERT(p0==ptemp);
199 TEST_ASSERT(pt_creator.
get_t0()==t0);
201 TEST_ASSERT(dt==dt0);
203 TEST_ASSERT(dt==dt1);
205 TEST_ASSERT(dt==dt2);
207 TEST_ASSERT(dt==dt3);
210 TEST_ASSERT(pt_creator.
create(pc));
215 piecewise_curve_type pc;
216 point_creator_type pt_creator(4);
218 point_type p0, ptemp;
226 TEST_ASSERT(p0==ptemp);
229 TEST_ASSERT(pt_creator.
get_t0()==0);
240 TEST_ASSERT(pt_creator.
create(pc));
void create_point_test()
Definition: piecewise_point_creator_test_suite.hpp:174
Definition: piecewise_point_creator_test_suite.hpp:29
void set_segment_dt(const data_type &dtt, const index_type &i)
Definition: piecewise_creator_base.hpp:64
void AddTests(const double &)
Definition: piecewise_point_creator_test_suite.hpp:48
void AddTests(const long double &)
Definition: piecewise_point_creator_test_suite.hpp:53
tol__ tolerance_type
Definition: piecewise.hpp:278
piecewise_curve_type::data_type data_type
Definition: piecewise_point_creator_test_suite.hpp:35
data__ data_type
Definition: piecewise.hpp:276
data_type get_parameter_min() const
Definition: piecewise.hpp:366
curve_type::index_type index_type
Definition: piecewise.hpp:271
index_type number_segments() const
Definition: piecewise.hpp:419
~piecewise_point_creator_test_suite()
Definition: piecewise_point_creator_test_suite.hpp:64
Definition: piecewise.hpp:244
piecewise_curve_type::tolerance_type tolerance_type
Definition: piecewise_point_creator_test_suite.hpp:37
eli::geom::curve::piecewise_point_creator< data__, 3, tolerance_type > point_creator_type
Definition: piecewise_point_creator_test_suite.hpp:38
curve__< data__, dim__, tol__ > curve_type
Definition: piecewise.hpp:270
void octave_print(int figno, const piecewise_curve_type &pc) const
Definition: piecewise_point_creator_test_suite.hpp:69
piecewise_curve_type::curve_type curve_type
Definition: piecewise_point_creator_test_suite.hpp:33
tolerance_type tol
Definition: piecewise_point_creator_test_suite.hpp:40
data_type get_segment_dt(const index_type &i) const
Definition: piecewise_creator_base.hpp:78
void set_point(const point_type &p)
Definition: piecewise_point_creator.hpp:46
data_type get_parameter_max() const
Definition: piecewise.hpp:374
piecewise_curve_type::index_type index_type
Definition: piecewise_point_creator_test_suite.hpp:36
point_type get_point() const
Definition: piecewise_point_creator.hpp:50
eli::geom::curve::piecewise< eli::geom::curve::bezier, data__, 3 > piecewise_curve_type
Definition: piecewise_point_creator_test_suite.hpp:32
point_type f(const data_type &t) const
Definition: piecewise.hpp:1732
piecewise_point_creator_test_suite()
Definition: piecewise_point_creator_test_suite.hpp:60
error_code get(curve_type &curve, const index_type &index) const
Definition: piecewise.hpp:729
data_type get_t0() const
Definition: piecewise_creator_base.hpp:62
void AddTests(const float &)
Definition: piecewise_point_creator_test_suite.hpp:43
curve_type::point_type point_type
Definition: piecewise.hpp:272
void set_t0(const data_type &tt0)
Definition: piecewise_creator_base.hpp:61
virtual bool create(piecewise< bezier, data_type, dim__, tolerance_type > &pc) const
Definition: piecewise_point_creator.hpp:55
Definition: piecewise_point_creator.hpp:31
piecewise_curve_type::point_type point_type
Definition: piecewise_point_creator_test_suite.hpp:34