This is an automated email from the git hooks/post-receive script. gert-guest pushed a commit to branch master in repository mia.
commit 41e89c12c57269dc14f6c4f8bc5134c733bd33c6 Author: Gert Wollny <[email protected]> Date: Mon Oct 26 12:20:20 2015 +0100 Add some patches to correct build failures --- debian/changelog | 2 + debian/patches/02_remove_double_instaciation.patch | 42 +++++ debian/patches/03_correct_imagedraw_tests.patch | 199 +++++++++++++++++++++ debian/patches/series | 2 + mia/3d/datafield.cc | 4 - mia/3d/imagedraw.cc | 8 +- mia/3d/test_imagedraw.cc | 72 ++++---- mia/3d/vectorfield.cc | 5 +- 8 files changed, 288 insertions(+), 46 deletions(-) diff --git a/debian/changelog b/debian/changelog index b6d2c12..88354b3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ mia (2.2.6-1) unstable; urgency=medium * New upstream version * Remove patch 02_doxygen_use_svg.. because it was applied upstream + * Add patch 02 to correct build on armhf + * Add patch 03 to correct tests that fail on arm64 and ppc64el -- Gert Wollny <[email protected]> Sun, 25 Oct 2015 17:36:59 +0100 diff --git a/debian/patches/02_remove_double_instaciation.patch b/debian/patches/02_remove_double_instaciation.patch new file mode 100644 index 0000000..2013e3c --- /dev/null +++ b/debian/patches/02_remove_double_instaciation.patch @@ -0,0 +1,42 @@ +commit d6b79233c2a921d6dc796fe876fd9a2c8f986977 +Author: Gert Wollny <[email protected]> +Date: Mon Oct 26 11:25:26 2015 +0100 + + remove duplicate instanciation of 3DVector field templates + +diff --git a/mia/3d/datafield.cc b/mia/3d/datafield.cc +index e92d95d..beef397 100644 +--- a/mia/3d/datafield.cc ++++ b/mia/3d/datafield.cc +@@ -97,10 +97,6 @@ INSTANCIATE(unsigned char ); + INSTANCIATE(signed char); + INSTANCIATE(bool); + +-INSTANCIATE(C3DFVector) +-INSTANCIATE(C3DDVector) +- +- + DEFINE_TYPE_DESCR2(C3DBounds, "3dbounds"); + DEFINE_TYPE_DESCR2(C3DFVector, "3dfvector"); + +diff --git a/mia/3d/vectorfield.cc b/mia/3d/vectorfield.cc +index f082531..269d3e0 100644 +--- a/mia/3d/vectorfield.cc ++++ b/mia/3d/vectorfield.cc +@@ -56,13 +56,14 @@ EXPORT_3D C3DFVectorfield& operator += (C3DFVectorfield& a, const C3DFVectorfiel + return a; + } + +-#define INSTANCIATE(TYPE) \ +- template class T3DDatafield<TYPE>; \ ++#define INSTANCIATE(TYPE) \ ++ template class T3DDatafield<TYPE>; \ + template class range3d_iterator<T3DDatafield<TYPE>::iterator>; \ + template class range3d_iterator<T3DDatafield<TYPE>::const_iterator>; \ + template class range3d_iterator_with_boundary_flag<T3DDatafield<TYPE>::iterator>; \ + template class range3d_iterator_with_boundary_flag<T3DDatafield<TYPE>::const_iterator>; + ++ + #define INSTANCIATE2D(TYPE) \ + template class EXPORT_3D T2DDatafield<TYPE>; \ + template class range2d_iterator<T2DDatafield<TYPE>::iterator>; \ diff --git a/debian/patches/03_correct_imagedraw_tests.patch b/debian/patches/03_correct_imagedraw_tests.patch new file mode 100644 index 0000000..9e77909 --- /dev/null +++ b/debian/patches/03_correct_imagedraw_tests.patch @@ -0,0 +1,199 @@ + +Author: Gert Wollny <[email protected]> +Date: Mon Oct 26 11:48:29 2015 +0100 + + correct test to really draw lines + +diff --git a/mia/3d/test_imagedraw.cc b/mia/3d/test_imagedraw.cc +index 982da53..253189f 100644 +--- a/mia/3d/test_imagedraw.cc ++++ b/mia/3d/test_imagedraw.cc +@@ -317,18 +317,18 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends_dx_is_zero, SimpleB + } + + +-BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends_dN_is_zero_and_N_outside, SimpleBitImageDrawFixture ) ++BOOST_FIXTURE_TEST_CASE( test_draw_line_dN_is_zero_and_N_outside, SimpleBitImageDrawFixture ) + { + // x outside and parallel + output.draw_line(C3DFVector(-1,-6, 5), C3DFVector(-1,14,9)); +- output.draw_line(C3DFVector(30,6, 5), C3DFVector(30,6,5)); ++ output.draw_line(C3DFVector(30,-3, 2), C3DFVector(30,6,5)); + + // y outside and parallel + output.draw_line(C3DFVector(1,-6, 5), C3DFVector(1,-6,9)); + output.draw_line(C3DFVector(1, 40, 5), C3DFVector(1,40,9)); + + // z outside and parallel +- output.draw_line(C3DFVector(1,6, -5), C3DFVector(1,6,-5)); ++ output.draw_line(C3DFVector(1,6, -5), C3DFVector(8,7,-5)); + output.draw_line(C3DFVector(1,6, 22), C3DFVector(1,14,22)); + + auto& img = output.get_image(); + +diff --git a/mia/3d/imagedraw.cc b/mia/3d/imagedraw.cc +index de1e578..d662bc0 100644 +--- a/mia/3d/imagedraw.cc ++++ b/mia/3d/imagedraw.cc +@@ -29,7 +29,7 @@ NS_MIA_BEGIN + using std::max; + using std::min; + using std::swap; +-using std::fabs; ++using std::fabs; + + C3DDrawBox::C3DDrawBox(const C3DBounds& size, const C3DFVector& origin, const C3DFVector& spacing): + m_size(size), +@@ -43,9 +43,9 @@ C3DDrawBox::C3DDrawBox(const C3DBounds& size, const C3DFVector& origin, const C3 + void C3DDrawBox::draw_point(const C3DFVector& p) + { + +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + + cvdebug() << "about to draw " << ip << " from " << p << "\n"; + if (ip < m_size) +diff --git a/mia/3d/test_imagedraw.cc b/mia/3d/test_imagedraw.cc +index e5d963a..982da53 100644 +--- a/mia/3d/test_imagedraw.cc ++++ b/mia/3d/test_imagedraw.cc +@@ -59,8 +59,6 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_point_outside, SimpleBitImageDrawFixtu + output.draw_point(C3DFVector(1,11,6)); + output.draw_point(C3DFVector(1,5,12)); + +- +- + auto& img = output.get_image(); + + +@@ -128,9 +126,9 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_line_z_pivot, SimpleBitImageDrawFixtur + + C3DFVector p(0,0,0); + for (int k = 0; k < 24; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + pixels.insert(ip); + } +@@ -161,9 +159,9 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_line_pivot_x, SimpleBitImageDrawFixtur + + C3DFVector p(0.1,4.2,5.3); + for (int k = 0; k < 22; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + pixels.insert(ip); + } +@@ -194,9 +192,9 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_line_pivot_y, SimpleBitImageDrawFixtur + + C3DFVector p(4,0.1,5.2); + for (int k = 0; k < 22; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + pixels.insert(ip); + } +@@ -226,13 +224,15 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_x_outside_ends, SimpleBitImageDraw + C3DFVector dir(0.5, 0.3, 0.1f); + + C3DFVector p(-4,2,5); +- for (int k = 0; k < 42; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); +- cvdebug() << "test about to draw " << ip << " from " << p << "\n"; +- if (ip.x < img.get_size().x) +- pixels.insert(ip); ++ for (int k = 0; k < 40; ++k, p += dir) { ++ if (p.x >= 0 || p.x < img.get_size().x) { ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); ++ cvdebug() << "test about to draw " << ip << " from " << p << "\n"; ++ if (ip.x < img.get_size().x) ++ pixels.insert(ip); ++ } + } + + cvdebug() << "Expect " << pixels.size() << " pixels to be set\n"; +@@ -263,9 +263,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends, SimpleBitImageDraw + + C3DFVector p(4,-6,5); + for (int k = 0; k < 42; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + if (ip.y < img.get_size().y) + pixels.insert(ip); +@@ -298,9 +298,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends_dx_is_zero, SimpleB + + C3DFVector p(4,-6,5); + for (int k = 0; k < 42; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + if (ip.y < img.get_size().y) + pixels.insert(ip); +@@ -360,9 +360,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_z_outside_ends, SimpleBitImageDraw + + C3DFVector p(5.5, 6.5, 0); + for (int k = 0; k < 41 && p.z < 12; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + if (ip.z < img.get_size().z) + pixels.insert(ip); +@@ -395,9 +395,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_x_outside_ends_dz_is_zero, SimpleB + + C3DFVector p(-4,2,5); + for (int k = 0; k < 42; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + if (ip.x < img.get_size().x) + pixels.insert(ip); +@@ -430,9 +430,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_z_outside_ends_dy_is_zero, SimpleB + + C3DFVector p(5.5, 4, 0); + for (int k = 0; k < 41 && p.z < 12; ++k, p += dir) { +- C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), +- static_cast<unsigned>(floor(p.y + 0.5)), +- static_cast<unsigned>(floor(p.z + 0.5))); ++ C3DBounds ip(static_cast<unsigned>(roundf(p.x)), ++ static_cast<unsigned>(roundf(p.y)), ++ static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + if (ip.z < img.get_size().z) + pixels.insert(ip); diff --git a/debian/patches/series b/debian/patches/series index 8526e67..7d28881 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,3 @@ 01_disable-treeview-for-jquery-compatibility.patch +02_remove_double_instaciation.patch +03_correct_imagedraw_tests.patch diff --git a/mia/3d/datafield.cc b/mia/3d/datafield.cc index e92d95d..beef397 100644 --- a/mia/3d/datafield.cc +++ b/mia/3d/datafield.cc @@ -97,10 +97,6 @@ INSTANCIATE(unsigned char ); INSTANCIATE(signed char); INSTANCIATE(bool); -INSTANCIATE(C3DFVector) -INSTANCIATE(C3DDVector) - - DEFINE_TYPE_DESCR2(C3DBounds, "3dbounds"); DEFINE_TYPE_DESCR2(C3DFVector, "3dfvector"); diff --git a/mia/3d/imagedraw.cc b/mia/3d/imagedraw.cc index de1e578..d662bc0 100644 --- a/mia/3d/imagedraw.cc +++ b/mia/3d/imagedraw.cc @@ -29,7 +29,7 @@ NS_MIA_BEGIN using std::max; using std::min; using std::swap; -using std::fabs; +using std::fabs; C3DDrawBox::C3DDrawBox(const C3DBounds& size, const C3DFVector& origin, const C3DFVector& spacing): m_size(size), @@ -43,9 +43,9 @@ C3DDrawBox::C3DDrawBox(const C3DBounds& size, const C3DFVector& origin, const C3 void C3DDrawBox::draw_point(const C3DFVector& p) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "about to draw " << ip << " from " << p << "\n"; if (ip < m_size) diff --git a/mia/3d/test_imagedraw.cc b/mia/3d/test_imagedraw.cc index e5d963a..253189f 100644 --- a/mia/3d/test_imagedraw.cc +++ b/mia/3d/test_imagedraw.cc @@ -59,8 +59,6 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_point_outside, SimpleBitImageDrawFixtu output.draw_point(C3DFVector(1,11,6)); output.draw_point(C3DFVector(1,5,12)); - - auto& img = output.get_image(); @@ -128,9 +126,9 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_line_z_pivot, SimpleBitImageDrawFixtur C3DFVector p(0,0,0); for (int k = 0; k < 24; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; pixels.insert(ip); } @@ -161,9 +159,9 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_line_pivot_x, SimpleBitImageDrawFixtur C3DFVector p(0.1,4.2,5.3); for (int k = 0; k < 22; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; pixels.insert(ip); } @@ -194,9 +192,9 @@ BOOST_FIXTURE_TEST_CASE( test_simple_draw_line_pivot_y, SimpleBitImageDrawFixtur C3DFVector p(4,0.1,5.2); for (int k = 0; k < 22; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; pixels.insert(ip); } @@ -226,13 +224,15 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_x_outside_ends, SimpleBitImageDraw C3DFVector dir(0.5, 0.3, 0.1f); C3DFVector p(-4,2,5); - for (int k = 0; k < 42; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); - cvdebug() << "test about to draw " << ip << " from " << p << "\n"; - if (ip.x < img.get_size().x) - pixels.insert(ip); + for (int k = 0; k < 40; ++k, p += dir) { + if (p.x >= 0 || p.x < img.get_size().x) { + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); + cvdebug() << "test about to draw " << ip << " from " << p << "\n"; + if (ip.x < img.get_size().x) + pixels.insert(ip); + } } cvdebug() << "Expect " << pixels.size() << " pixels to be set\n"; @@ -263,9 +263,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends, SimpleBitImageDraw C3DFVector p(4,-6,5); for (int k = 0; k < 42; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; if (ip.y < img.get_size().y) pixels.insert(ip); @@ -298,9 +298,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends_dx_is_zero, SimpleB C3DFVector p(4,-6,5); for (int k = 0; k < 42; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; if (ip.y < img.get_size().y) pixels.insert(ip); @@ -317,18 +317,18 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends_dx_is_zero, SimpleB } -BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_y_outside_ends_dN_is_zero_and_N_outside, SimpleBitImageDrawFixture ) +BOOST_FIXTURE_TEST_CASE( test_draw_line_dN_is_zero_and_N_outside, SimpleBitImageDrawFixture ) { // x outside and parallel output.draw_line(C3DFVector(-1,-6, 5), C3DFVector(-1,14,9)); - output.draw_line(C3DFVector(30,6, 5), C3DFVector(30,6,5)); + output.draw_line(C3DFVector(30,-3, 2), C3DFVector(30,6,5)); // y outside and parallel output.draw_line(C3DFVector(1,-6, 5), C3DFVector(1,-6,9)); output.draw_line(C3DFVector(1, 40, 5), C3DFVector(1,40,9)); // z outside and parallel - output.draw_line(C3DFVector(1,6, -5), C3DFVector(1,6,-5)); + output.draw_line(C3DFVector(1,6, -5), C3DFVector(8,7,-5)); output.draw_line(C3DFVector(1,6, 22), C3DFVector(1,14,22)); auto& img = output.get_image(); @@ -360,9 +360,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_z_outside_ends, SimpleBitImageDraw C3DFVector p(5.5, 6.5, 0); for (int k = 0; k < 41 && p.z < 12; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; if (ip.z < img.get_size().z) pixels.insert(ip); @@ -395,9 +395,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_x_outside_ends_dz_is_zero, SimpleB C3DFVector p(-4,2,5); for (int k = 0; k < 42; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; if (ip.x < img.get_size().x) pixels.insert(ip); @@ -430,9 +430,9 @@ BOOST_FIXTURE_TEST_CASE( test_draw_line_pivot_z_outside_ends_dy_is_zero, SimpleB C3DFVector p(5.5, 4, 0); for (int k = 0; k < 41 && p.z < 12; ++k, p += dir) { - C3DBounds ip(static_cast<unsigned>(floor(p.x + 0.5)), - static_cast<unsigned>(floor(p.y + 0.5)), - static_cast<unsigned>(floor(p.z + 0.5))); + C3DBounds ip(static_cast<unsigned>(roundf(p.x)), + static_cast<unsigned>(roundf(p.y)), + static_cast<unsigned>(roundf(p.z))); cvdebug() << "test about to draw " << ip << " from " << p << "\n"; if (ip.z < img.get_size().z) pixels.insert(ip); diff --git a/mia/3d/vectorfield.cc b/mia/3d/vectorfield.cc index f082531..269d3e0 100644 --- a/mia/3d/vectorfield.cc +++ b/mia/3d/vectorfield.cc @@ -56,13 +56,14 @@ EXPORT_3D C3DFVectorfield& operator += (C3DFVectorfield& a, const C3DFVectorfiel return a; } -#define INSTANCIATE(TYPE) \ - template class T3DDatafield<TYPE>; \ +#define INSTANCIATE(TYPE) \ + template class T3DDatafield<TYPE>; \ template class range3d_iterator<T3DDatafield<TYPE>::iterator>; \ template class range3d_iterator<T3DDatafield<TYPE>::const_iterator>; \ template class range3d_iterator_with_boundary_flag<T3DDatafield<TYPE>::iterator>; \ template class range3d_iterator_with_boundary_flag<T3DDatafield<TYPE>::const_iterator>; + #define INSTANCIATE2D(TYPE) \ template class EXPORT_3D T2DDatafield<TYPE>; \ template class range2d_iterator<T2DDatafield<TYPE>::iterator>; \ -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/mia.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
