13 #ifndef piecewise_polygon_creator_test_suite_hpp
14 #define piecewise_polygon_creator_test_suite_hpp
28 template<
typename data__>
81 std::cout <<
"figure(" << figno <<
");" << std::endl;
84 std::cout <<
"cp_x=[";
85 for (pp=0; pp<ns; ++pp)
89 for (i=0; i<=bez.degree(); ++i)
91 std::cout << bez.get_control_point(i).x();
97 std::cout << std::endl;
99 std::cout <<
"];" << std::endl;
101 std::cout <<
"cp_y=[";
102 for (pp=0; pp<ns; ++pp)
106 for (i=0; i<=bez.degree(); ++i)
108 std::cout << bez.get_control_point(i).y();
114 std::cout << std::endl;
116 std::cout <<
"];" << std::endl;
118 std::cout <<
"cp_z=[";
119 for (pp=0; pp<ns; ++pp)
123 for (i=0; i<=bez.degree(); ++i)
125 std::cout << bez.get_control_point(i).z();
131 std::cout << std::endl;
133 std::cout <<
"];" << std::endl;
136 std::vector<data__> t(129);
137 for (i=0; i<static_cast<index_type>(t.size()); ++i)
139 t[i]=tmin+(tmax-tmin)*static_cast<data__>(i)/(t.size()-1);
143 std::cout <<
"surf_x=[";
144 for (i=0; i<static_cast<index_type>(t.size()); ++i)
146 std::cout << pc.
f(t[i]).x();
147 if (i<static_cast<index_type>(t.size()-1))
150 std::cout <<
"];" << std::endl;
152 std::cout <<
"surf_y=[";
153 for (i=0; i<static_cast<index_type>(t.size()); ++i)
155 std::cout << pc.
f(t[i]).y();
156 if (i<static_cast<index_type>(t.size()-1))
159 std::cout <<
"];" << std::endl;
161 std::cout <<
"surf_z=[";
162 for (i=0; i<static_cast<index_type>(t.size()); ++i)
164 std::cout << pc.
f(t[i]).z();
165 if (i<static_cast<index_type>(t.size()-1))
168 std::cout <<
"];" << std::endl;
170 std::cout <<
"setenv('GNUTERM', 'x11');" << std::endl;
171 std::cout <<
"plot3(surf_x, surf_y, surf_z, '-k');" << std::endl;
172 std::cout <<
"hold on;" << std::endl;
173 std::cout <<
"plot3(cp_x', cp_y', cp_z', '-ok', 'MarkerFaceColor', [0 0 0]);" << std::endl;
174 std::cout <<
"hold off;" << std::endl;
181 piecewise_curve_type pc;
182 polygon_creator_type poly_creator(3);
183 data_type dt0(3), dt1(2), dt2(3), t0(-1), dt;
184 point_type p0, p1, p2, ptemp;
202 TEST_ASSERT(p0==ptemp);
204 TEST_ASSERT(p1==ptemp);
206 TEST_ASSERT(p2==ptemp);
209 TEST_ASSERT(poly_creator.
get_t0()==t0);
211 TEST_ASSERT(dt==dt0);
213 TEST_ASSERT(dt==dt1);
215 TEST_ASSERT(dt==dt2);
218 TEST_ASSERT(poly_creator.
create(pc));
223 piecewise_curve_type pc;
224 polygon_creator_type poly_creator(3);
226 point_type p0, p1, p2, ptemp;
238 TEST_ASSERT(p0==ptemp);
240 TEST_ASSERT(p1==ptemp);
242 TEST_ASSERT(p2==ptemp);
245 TEST_ASSERT(poly_creator.
get_t0()==0);
254 TEST_ASSERT(poly_creator.
create(pc));
262 piecewise_curve_type pc;
263 polygon_creator_type poly_creator(4);
264 data_type dt0(3), dt1(2), dt2(3), dt3(2), t0(-1), dt;
265 point_type p0, p1, p2, p3, ptemp;
286 TEST_ASSERT(p0==ptemp);
288 TEST_ASSERT(p1==ptemp);
290 TEST_ASSERT(p2==ptemp);
292 TEST_ASSERT(p3==ptemp);
295 TEST_ASSERT(poly_creator.
get_t0()==t0);
297 TEST_ASSERT(dt==dt0);
299 TEST_ASSERT(dt==dt1);
301 TEST_ASSERT(dt==dt2);
303 TEST_ASSERT(dt==dt3);
306 TEST_ASSERT(poly_creator.
create(pc));
314 piecewise_curve_type pc;
315 polygon_creator_type poly_creator(4);
317 point_type p0, p1, p2, p3, ptemp;
331 TEST_ASSERT(p0==ptemp);
333 TEST_ASSERT(p1==ptemp);
335 TEST_ASSERT(p2==ptemp);
337 TEST_ASSERT(p3==ptemp);
340 TEST_ASSERT(poly_creator.
get_t0()==0);
351 TEST_ASSERT(poly_creator.
create(pc));
void set_segment_dt(const data_type &dtt, const index_type &i)
Definition: piecewise_creator_base.hpp:64
piecewise_polygon_creator_test_suite()
Definition: piecewise_polygon_creator_test_suite.hpp:63
eli::geom::curve::piecewise< eli::geom::curve::bezier, data__, 3 > piecewise_curve_type
Definition: piecewise_polygon_creator_test_suite.hpp:32
tol__ tolerance_type
Definition: piecewise.hpp:278
data__ data_type
Definition: piecewise.hpp:276
data_type get_parameter_min() const
Definition: piecewise.hpp:366
Definition: piecewise_polygon_creator.hpp:31
curve_type::index_type index_type
Definition: piecewise.hpp:271
index_type number_segments() const
Definition: piecewise.hpp:419
Definition: piecewise.hpp:244
eli::geom::curve::piecewise_polygon_creator< data__, 3, tolerance_type > polygon_creator_type
Definition: piecewise_polygon_creator_test_suite.hpp:38
void create_box_test()
Definition: piecewise_polygon_creator_test_suite.hpp:258
curve__< data__, dim__, tol__ > curve_type
Definition: piecewise.hpp:270
void AddTests(const float &)
Definition: piecewise_polygon_creator_test_suite.hpp:43
~piecewise_polygon_creator_test_suite()
Definition: piecewise_polygon_creator_test_suite.hpp:67
Definition: piecewise_polygon_creator_test_suite.hpp:29
piecewise_curve_type::index_type index_type
Definition: piecewise_polygon_creator_test_suite.hpp:36
tolerance_type tol
Definition: piecewise_polygon_creator_test_suite.hpp:40
void set_corner(const point_type &c, const index_type &i)
Definition: piecewise_polygon_creator.hpp:46
data_type get_segment_dt(const index_type &i) const
Definition: piecewise_creator_base.hpp:78
void AddTests(const long double &)
Definition: piecewise_polygon_creator_test_suite.hpp:55
piecewise_curve_type::point_type point_type
Definition: piecewise_polygon_creator_test_suite.hpp:34
void AddTests(const double &)
Definition: piecewise_polygon_creator_test_suite.hpp:49
data_type get_parameter_max() const
Definition: piecewise.hpp:374
piecewise_curve_type::tolerance_type tolerance_type
Definition: piecewise_polygon_creator_test_suite.hpp:37
piecewise_curve_type::data_type data_type
Definition: piecewise_polygon_creator_test_suite.hpp:35
void octave_print(int figno, const piecewise_curve_type &pc) const
Definition: piecewise_polygon_creator_test_suite.hpp:72
point_type get_corner(const index_type &i) const
Definition: piecewise_polygon_creator.hpp:53
piecewise_curve_type::curve_type curve_type
Definition: piecewise_polygon_creator_test_suite.hpp:33
point_type f(const data_type &t) const
Definition: piecewise.hpp:1732
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
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_polygon_creator.hpp:63
void create_triangle_test()
Definition: piecewise_polygon_creator_test_suite.hpp:177