From c63867bd67a289d0d95f7d3e422e9d8b3ee18cc8 Mon Sep 17 00:00:00 2001 From: NicolaCovallero <nicolacovallero92@gmail.com> Date: Fri, 19 Feb 2016 15:01:58 +0100 Subject: [PATCH] Fixed Doc --- trunk/bin/tabletop_object_detection_test | Bin 119120 -> 123200 bytes .../build/CMakeFiles/doc.dir/depend.internal | 3 + trunk/build/CMakeFiles/doc.dir/depend.make | 3 + .../CXX.includecache | 3774 +++++++++++++++++ .../tabletop_object_detection_test.o | Bin 170520 -> 170640 bytes trunk/doc/html/annotated.html | 65 + trunk/doc/html/bc_s.png | Bin 0 -> 676 bytes trunk/doc/html/bdwn.png | Bin 0 -> 147 bytes .../classTableTop__Object__Detection.html | 406 ++ trunk/doc/html/classes.html | 69 + trunk/doc/html/closed.png | Bin 0 -> 132 bytes .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 68 + .../dir_e931c1a3f0014e624d0645a271726ad2.html | 61 + trunk/doc/html/doxygen.css | 1366 ++++++ trunk/doc/html/doxygen.png | Bin 0 -> 3779 bytes trunk/doc/html/dynsections.js | 104 + trunk/doc/html/examples.html | 55 + trunk/doc/html/files.html | 65 + trunk/doc/html/ftv2blank.png | Bin 0 -> 86 bytes trunk/doc/html/ftv2cl.png | Bin 0 -> 453 bytes trunk/doc/html/ftv2doc.png | Bin 0 -> 746 bytes trunk/doc/html/ftv2folderclosed.png | Bin 0 -> 616 bytes trunk/doc/html/ftv2folderopen.png | Bin 0 -> 597 bytes trunk/doc/html/ftv2lastnode.png | Bin 0 -> 86 bytes trunk/doc/html/ftv2link.png | Bin 0 -> 746 bytes trunk/doc/html/ftv2mlastnode.png | Bin 0 -> 246 bytes trunk/doc/html/ftv2mnode.png | Bin 0 -> 246 bytes trunk/doc/html/ftv2mo.png | Bin 0 -> 403 bytes trunk/doc/html/ftv2node.png | Bin 0 -> 86 bytes trunk/doc/html/ftv2ns.png | Bin 0 -> 388 bytes trunk/doc/html/ftv2plastnode.png | Bin 0 -> 229 bytes trunk/doc/html/ftv2pnode.png | Bin 0 -> 229 bytes trunk/doc/html/ftv2splitbar.png | Bin 0 -> 314 bytes trunk/doc/html/ftv2vertline.png | Bin 0 -> 86 bytes trunk/doc/html/functions.html | 217 + trunk/doc/html/functions_func.html | 108 + trunk/doc/html/functions_vars.html | 105 + trunk/doc/html/graph_legend.html | 115 + trunk/doc/html/graph_legend.md5 | 1 + trunk/doc/html/graph_legend.png | Bin 0 -> 16239 bytes trunk/doc/html/index.html | 122 + trunk/doc/html/nav_f.png | Bin 0 -> 153 bytes trunk/doc/html/nav_g.png | Bin 0 -> 95 bytes trunk/doc/html/nav_h.png | Bin 0 -> 98 bytes trunk/doc/html/open.png | Bin 0 -> 123 bytes trunk/doc/html/structObject.html | 77 + ...bleTop__object__detection__parameters.html | 337 ++ trunk/doc/html/sync_off.png | Bin 0 -> 853 bytes trunk/doc/html/sync_on.png | Bin 0 -> 845 bytes trunk/doc/html/tab_a.png | Bin 0 -> 142 bytes trunk/doc/html/tab_b.png | Bin 0 -> 169 bytes trunk/doc/html/tab_h.png | Bin 0 -> 177 bytes trunk/doc/html/tab_s.png | Bin 0 -> 184 bytes ...object_segmentation_test_8cpp-example.html | 59 + ...bletop__object__detection_8cpp_source.html | 710 ++++ ...tabletop__object__detection_8h_source.html | 286 ++ ...__object__detection__test_8cpp_source.html | 291 ++ trunk/doc/html/tabs.css | 60 + trunk/doc/main.dox | 6 + .../tabletop_object_detection_test.cpp | 5 +- 60 files changed, 8535 insertions(+), 3 deletions(-) create mode 100644 trunk/build/CMakeFiles/doc.dir/depend.internal create mode 100644 trunk/build/CMakeFiles/doc.dir/depend.make create mode 100644 trunk/doc/html/annotated.html create mode 100644 trunk/doc/html/bc_s.png create mode 100644 trunk/doc/html/bdwn.png create mode 100644 trunk/doc/html/classTableTop__Object__Detection.html create mode 100644 trunk/doc/html/classes.html create mode 100644 trunk/doc/html/closed.png create mode 100644 trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html create mode 100644 trunk/doc/html/doxygen.css create mode 100644 trunk/doc/html/doxygen.png create mode 100644 trunk/doc/html/dynsections.js create mode 100644 trunk/doc/html/examples.html create mode 100644 trunk/doc/html/files.html create mode 100644 trunk/doc/html/ftv2blank.png create mode 100644 trunk/doc/html/ftv2cl.png create mode 100644 trunk/doc/html/ftv2doc.png create mode 100644 trunk/doc/html/ftv2folderclosed.png create mode 100644 trunk/doc/html/ftv2folderopen.png create mode 100644 trunk/doc/html/ftv2lastnode.png create mode 100644 trunk/doc/html/ftv2link.png create mode 100644 trunk/doc/html/ftv2mlastnode.png create mode 100644 trunk/doc/html/ftv2mnode.png create mode 100644 trunk/doc/html/ftv2mo.png create mode 100644 trunk/doc/html/ftv2node.png create mode 100644 trunk/doc/html/ftv2ns.png create mode 100644 trunk/doc/html/ftv2plastnode.png create mode 100644 trunk/doc/html/ftv2pnode.png create mode 100644 trunk/doc/html/ftv2splitbar.png create mode 100644 trunk/doc/html/ftv2vertline.png create mode 100644 trunk/doc/html/functions.html create mode 100644 trunk/doc/html/functions_func.html create mode 100644 trunk/doc/html/functions_vars.html create mode 100644 trunk/doc/html/graph_legend.html create mode 100644 trunk/doc/html/graph_legend.md5 create mode 100644 trunk/doc/html/graph_legend.png create mode 100644 trunk/doc/html/index.html create mode 100644 trunk/doc/html/nav_f.png create mode 100644 trunk/doc/html/nav_g.png create mode 100644 trunk/doc/html/nav_h.png create mode 100644 trunk/doc/html/open.png create mode 100644 trunk/doc/html/structObject.html create mode 100644 trunk/doc/html/structtableTop__object__detection__parameters.html create mode 100644 trunk/doc/html/sync_off.png create mode 100644 trunk/doc/html/sync_on.png create mode 100644 trunk/doc/html/tab_a.png create mode 100644 trunk/doc/html/tab_b.png create mode 100644 trunk/doc/html/tab_h.png create mode 100644 trunk/doc/html/tab_s.png create mode 100644 trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html create mode 100644 trunk/doc/html/tabletop__object__detection_8cpp_source.html create mode 100644 trunk/doc/html/tabletop__object__detection_8h_source.html create mode 100644 trunk/doc/html/tabletop__object__detection__test_8cpp_source.html create mode 100644 trunk/doc/html/tabs.css diff --git a/trunk/bin/tabletop_object_detection_test b/trunk/bin/tabletop_object_detection_test index b054cbf78166ec0dac7a3241136dc00ae9eb1549..7c1426968a655633b504979b40336864783bb6cf 100755 GIT binary patch delta 36333 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 S-QsypPwctnm1=#h^Zx)%A8FYD delta 36007 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 diff --git a/trunk/build/CMakeFiles/doc.dir/depend.internal b/trunk/build/CMakeFiles/doc.dir/depend.internal new file mode 100644 index 0000000..38eae05 --- /dev/null +++ b/trunk/build/CMakeFiles/doc.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/trunk/build/CMakeFiles/doc.dir/depend.make b/trunk/build/CMakeFiles/doc.dir/depend.make new file mode 100644 index 0000000..38eae05 --- /dev/null +++ b/trunk/build/CMakeFiles/doc.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + diff --git a/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/CXX.includecache b/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/CXX.includecache index b84d7a1..f5ac996 100644 --- a/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/CXX.includecache +++ b/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/CXX.includecache @@ -6,3 +6,3777 @@ #IncludeRegexTransform: +../src/./tabletop_object_detection.h +pcl/console/parse.h +- +pcl/point_cloud.h +- +pcl/point_types.h +- +pcl/io/pcd_io.h +- +pcl/visualization/pcl_visualizer.h +- +pcl/segmentation/supervoxel_clustering.h +- +iostream +- +pcl/ModelCoefficients.h +- +pcl/io/pcd_io.h +- +pcl/sample_consensus/method_types.h +- +pcl/sample_consensus/model_types.h +- +pcl/segmentation/sac_segmentation.h +- +pcl/filters/extract_indices.h +- +pcl/segmentation/lccp_segmentation.h +- +vtkPolyLine.h +- +pcl/sample_consensus/method_types.h +- +pcl/sample_consensus/model_types.h +- +pcl/segmentation/sac_segmentation.h +- +pcl/filters/extract_indices.h +- +pcl/surface/convex_hull.h +- +pcl/segmentation/extract_polygonal_prism_data.h +- + +/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/examples/tabletop_object_detection_test.cpp +tabletop_object_detection.h +/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/examples/tabletop_object_detection.h +pcl/visualization/pcl_visualizer.h +- +opencv2/imgproc/imgproc.hpp +/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/examples/opencv2/imgproc/imgproc.hpp +opencv2/highgui/highgui.hpp +/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/examples/opencv2/highgui/highgui.hpp +opencv2/core/core.hpp +/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/examples/opencv2/core/core.hpp +pcl/kdtree/kdtree_flann.h +- + +/usr/include/eigen3/Eigen/Cholesky +Core +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +src/misc/Solve.h +/usr/include/eigen3/Eigen/src/misc/Solve.h +src/Cholesky/LLT.h +/usr/include/eigen3/Eigen/src/Cholesky/LLT.h +src/Cholesky/LDLT.h +/usr/include/eigen3/Eigen/src/Cholesky/LDLT.h +src/Cholesky/LLT_MKL.h +/usr/include/eigen3/Eigen/src/Cholesky/LLT_MKL.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +src/Core/util/Macros.h +/usr/include/eigen3/Eigen/src/Core/util/Macros.h +complex +- +src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/Core/util/MKL_support.h +malloc.h +- +immintrin.h +- +emmintrin.h +- +xmmintrin.h +- +pmmintrin.h +- +tmmintrin.h +- +smmintrin.h +- +nmmintrin.h +- +altivec.h +- +arm_neon.h +- +omp.h +- +cerrno +- +cstddef +- +cstdlib +- +cmath +- +cassert +- +functional +- +iosfwd +- +cstring +- +string +- +limits +- +climits +- +algorithm +- +iostream +- +intrin.h +- +new +- +src/Core/util/Constants.h +/usr/include/eigen3/Eigen/src/Core/util/Constants.h +src/Core/util/ForwardDeclarations.h +/usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +src/Core/util/Meta.h +/usr/include/eigen3/Eigen/src/Core/util/Meta.h +src/Core/util/StaticAssert.h +/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h +src/Core/util/XprHelper.h +/usr/include/eigen3/Eigen/src/Core/util/XprHelper.h +src/Core/util/Memory.h +/usr/include/eigen3/Eigen/src/Core/util/Memory.h +src/Core/NumTraits.h +/usr/include/eigen3/Eigen/src/Core/NumTraits.h +src/Core/MathFunctions.h +/usr/include/eigen3/Eigen/src/Core/MathFunctions.h +src/Core/GenericPacketMath.h +/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h +src/Core/arch/SSE/PacketMath.h +/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +src/Core/arch/SSE/MathFunctions.h +/usr/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +src/Core/arch/SSE/Complex.h +/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +src/Core/arch/AltiVec/PacketMath.h +/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +src/Core/arch/AltiVec/Complex.h +/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +src/Core/arch/NEON/PacketMath.h +/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +src/Core/arch/NEON/Complex.h +/usr/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +src/Core/arch/Default/Settings.h +/usr/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +src/Core/Functors.h +/usr/include/eigen3/Eigen/src/Core/Functors.h +src/Core/DenseCoeffsBase.h +/usr/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +src/Core/DenseBase.h +/usr/include/eigen3/Eigen/src/Core/DenseBase.h +src/Core/MatrixBase.h +/usr/include/eigen3/Eigen/src/Core/MatrixBase.h +src/Core/EigenBase.h +/usr/include/eigen3/Eigen/src/Core/EigenBase.h +src/Core/Assign.h +/usr/include/eigen3/Eigen/src/Core/Assign.h +src/Core/util/BlasUtil.h +/usr/include/eigen3/Eigen/src/Core/util/BlasUtil.h +src/Core/DenseStorage.h +/usr/include/eigen3/Eigen/src/Core/DenseStorage.h +src/Core/NestByValue.h +/usr/include/eigen3/Eigen/src/Core/NestByValue.h +src/Core/ForceAlignedAccess.h +/usr/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +src/Core/ReturnByValue.h +/usr/include/eigen3/Eigen/src/Core/ReturnByValue.h +src/Core/NoAlias.h +/usr/include/eigen3/Eigen/src/Core/NoAlias.h +src/Core/PlainObjectBase.h +/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h +src/Core/Matrix.h +/usr/include/eigen3/Eigen/src/Core/Matrix.h +src/Core/Array.h +/usr/include/eigen3/Eigen/src/Core/Array.h +src/Core/CwiseBinaryOp.h +/usr/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +src/Core/CwiseUnaryOp.h +/usr/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +src/Core/CwiseNullaryOp.h +/usr/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +src/Core/CwiseUnaryView.h +/usr/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +src/Core/SelfCwiseBinaryOp.h +/usr/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +src/Core/Dot.h +/usr/include/eigen3/Eigen/src/Core/Dot.h +src/Core/StableNorm.h +/usr/include/eigen3/Eigen/src/Core/StableNorm.h +src/Core/MapBase.h +/usr/include/eigen3/Eigen/src/Core/MapBase.h +src/Core/Stride.h +/usr/include/eigen3/Eigen/src/Core/Stride.h +src/Core/Map.h +/usr/include/eigen3/Eigen/src/Core/Map.h +src/Core/Block.h +/usr/include/eigen3/Eigen/src/Core/Block.h +src/Core/VectorBlock.h +/usr/include/eigen3/Eigen/src/Core/VectorBlock.h +src/Core/Ref.h +/usr/include/eigen3/Eigen/src/Core/Ref.h +src/Core/Transpose.h +/usr/include/eigen3/Eigen/src/Core/Transpose.h +src/Core/DiagonalMatrix.h +/usr/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +src/Core/Diagonal.h +/usr/include/eigen3/Eigen/src/Core/Diagonal.h +src/Core/DiagonalProduct.h +/usr/include/eigen3/Eigen/src/Core/DiagonalProduct.h +src/Core/PermutationMatrix.h +/usr/include/eigen3/Eigen/src/Core/PermutationMatrix.h +src/Core/Transpositions.h +/usr/include/eigen3/Eigen/src/Core/Transpositions.h +src/Core/Redux.h +/usr/include/eigen3/Eigen/src/Core/Redux.h +src/Core/Visitor.h +/usr/include/eigen3/Eigen/src/Core/Visitor.h +src/Core/Fuzzy.h +/usr/include/eigen3/Eigen/src/Core/Fuzzy.h +src/Core/IO.h +/usr/include/eigen3/Eigen/src/Core/IO.h +src/Core/Swap.h +/usr/include/eigen3/Eigen/src/Core/Swap.h +src/Core/CommaInitializer.h +/usr/include/eigen3/Eigen/src/Core/CommaInitializer.h +src/Core/Flagged.h +/usr/include/eigen3/Eigen/src/Core/Flagged.h +src/Core/ProductBase.h +/usr/include/eigen3/Eigen/src/Core/ProductBase.h +src/Core/GeneralProduct.h +/usr/include/eigen3/Eigen/src/Core/GeneralProduct.h +src/Core/TriangularMatrix.h +/usr/include/eigen3/Eigen/src/Core/TriangularMatrix.h +src/Core/SelfAdjointView.h +/usr/include/eigen3/Eigen/src/Core/SelfAdjointView.h +src/Core/products/GeneralBlockPanelKernel.h +/usr/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +src/Core/products/Parallelizer.h +/usr/include/eigen3/Eigen/src/Core/products/Parallelizer.h +src/Core/products/CoeffBasedProduct.h +/usr/include/eigen3/Eigen/src/Core/products/CoeffBasedProduct.h +src/Core/products/GeneralMatrixVector.h +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +src/Core/products/GeneralMatrixMatrix.h +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +src/Core/SolveTriangular.h +/usr/include/eigen3/Eigen/src/Core/SolveTriangular.h +src/Core/products/GeneralMatrixMatrixTriangular.h +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +src/Core/products/SelfadjointMatrixVector.h +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +src/Core/products/SelfadjointMatrixMatrix.h +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +src/Core/products/SelfadjointProduct.h +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +src/Core/products/SelfadjointRank2Update.h +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +src/Core/products/TriangularMatrixVector.h +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +src/Core/products/TriangularMatrixMatrix.h +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +src/Core/products/TriangularSolverMatrix.h +/usr/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +src/Core/products/TriangularSolverVector.h +/usr/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +src/Core/BandMatrix.h +/usr/include/eigen3/Eigen/src/Core/BandMatrix.h +src/Core/CoreIterators.h +/usr/include/eigen3/Eigen/src/Core/CoreIterators.h +src/Core/BooleanRedux.h +/usr/include/eigen3/Eigen/src/Core/BooleanRedux.h +src/Core/Select.h +/usr/include/eigen3/Eigen/src/Core/Select.h +src/Core/VectorwiseOp.h +/usr/include/eigen3/Eigen/src/Core/VectorwiseOp.h +src/Core/Random.h +/usr/include/eigen3/Eigen/src/Core/Random.h +src/Core/Replicate.h +/usr/include/eigen3/Eigen/src/Core/Replicate.h +src/Core/Reverse.h +/usr/include/eigen3/Eigen/src/Core/Reverse.h +src/Core/ArrayBase.h +/usr/include/eigen3/Eigen/src/Core/ArrayBase.h +src/Core/ArrayWrapper.h +/usr/include/eigen3/Eigen/src/Core/ArrayWrapper.h +src/Core/products/GeneralMatrixMatrix_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h +src/Core/products/GeneralMatrixVector_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_MKL.h +src/Core/products/GeneralMatrixMatrixTriangular_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h +src/Core/products/SelfadjointMatrixMatrix_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h +src/Core/products/SelfadjointMatrixVector_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h +src/Core/products/TriangularMatrixMatrix_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h +src/Core/products/TriangularMatrixVector_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_MKL.h +src/Core/products/TriangularSolverMatrix_MKL.h +/usr/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h +src/Core/Assign_MKL.h +/usr/include/eigen3/Eigen/src/Core/Assign_MKL.h +src/Core/GlobalFunctions.h +/usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +Eigen2Support +/usr/include/eigen3/Eigen/Eigen2Support + +/usr/include/eigen3/Eigen/Dense +Core +/usr/include/eigen3/Eigen/Core +LU +/usr/include/eigen3/Eigen/LU +Cholesky +/usr/include/eigen3/Eigen/Cholesky +QR +/usr/include/eigen3/Eigen/QR +SVD +/usr/include/eigen3/Eigen/SVD +Geometry +/usr/include/eigen3/Eigen/Geometry +Eigenvalues +/usr/include/eigen3/Eigen/Eigenvalues + +/usr/include/eigen3/Eigen/Eigen2Support +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +src/Eigen2Support/Macros.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Macros.h +src/Eigen2Support/Memory.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Memory.h +src/Eigen2Support/Meta.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Meta.h +src/Eigen2Support/Lazy.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Lazy.h +src/Eigen2Support/Cwise.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Cwise.h +src/Eigen2Support/CwiseOperators.h +/usr/include/eigen3/Eigen/src/Eigen2Support/CwiseOperators.h +src/Eigen2Support/TriangularSolver.h +/usr/include/eigen3/Eigen/src/Eigen2Support/TriangularSolver.h +src/Eigen2Support/Block.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Block.h +src/Eigen2Support/VectorBlock.h +/usr/include/eigen3/Eigen/src/Eigen2Support/VectorBlock.h +src/Eigen2Support/Minor.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Minor.h +src/Eigen2Support/MathFunctions.h +/usr/include/eigen3/Eigen/src/Eigen2Support/MathFunctions.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +iostream +- + +/usr/include/eigen3/Eigen/Eigenvalues +Core +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +Cholesky +/usr/include/eigen3/Eigen/Cholesky +Jacobi +/usr/include/eigen3/Eigen/Jacobi +Householder +/usr/include/eigen3/Eigen/Householder +LU +/usr/include/eigen3/Eigen/LU +Geometry +/usr/include/eigen3/Eigen/Geometry +src/Eigenvalues/Tridiagonalization.h +/usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +src/Eigenvalues/RealSchur.h +/usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +src/Eigenvalues/EigenSolver.h +/usr/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +src/Eigenvalues/SelfAdjointEigenSolver.h +/usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +/usr/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +src/Eigenvalues/HessenbergDecomposition.h +/usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +src/Eigenvalues/ComplexSchur.h +/usr/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +src/Eigenvalues/ComplexEigenSolver.h +/usr/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +src/Eigenvalues/RealQZ.h +/usr/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +src/Eigenvalues/GeneralizedEigenSolver.h +/usr/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +src/Eigenvalues/MatrixBaseEigenvalues.h +/usr/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +src/Eigenvalues/RealSchur_MKL.h +/usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur_MKL.h +src/Eigenvalues/ComplexSchur_MKL.h +/usr/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_MKL.h +src/Eigenvalues/SelfAdjointEigenSolver_MKL.h +/usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/Geometry +Core +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +SVD +/usr/include/eigen3/Eigen/SVD +LU +/usr/include/eigen3/Eigen/LU +limits +- +src/Geometry/OrthoMethods.h +/usr/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +src/Geometry/EulerAngles.h +/usr/include/eigen3/Eigen/src/Geometry/EulerAngles.h +src/Geometry/Homogeneous.h +/usr/include/eigen3/Eigen/src/Geometry/Homogeneous.h +src/Geometry/RotationBase.h +/usr/include/eigen3/Eigen/src/Geometry/RotationBase.h +src/Geometry/Rotation2D.h +/usr/include/eigen3/Eigen/src/Geometry/Rotation2D.h +src/Geometry/Quaternion.h +/usr/include/eigen3/Eigen/src/Geometry/Quaternion.h +src/Geometry/AngleAxis.h +/usr/include/eigen3/Eigen/src/Geometry/AngleAxis.h +src/Geometry/Transform.h +/usr/include/eigen3/Eigen/src/Geometry/Transform.h +src/Geometry/Translation.h +/usr/include/eigen3/Eigen/src/Geometry/Translation.h +src/Geometry/Scaling.h +/usr/include/eigen3/Eigen/src/Geometry/Scaling.h +src/Geometry/Hyperplane.h +/usr/include/eigen3/Eigen/src/Geometry/Hyperplane.h +src/Geometry/ParametrizedLine.h +/usr/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +src/Geometry/AlignedBox.h +/usr/include/eigen3/Eigen/src/Geometry/AlignedBox.h +src/Geometry/Umeyama.h +/usr/include/eigen3/Eigen/src/Geometry/Umeyama.h +src/Geometry/arch/Geometry_SSE.h +/usr/include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h +src/Eigen2Support/Geometry/All.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/All.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/Householder +Core +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +src/Householder/Householder.h +/usr/include/eigen3/Eigen/src/Householder/Householder.h +src/Householder/HouseholderSequence.h +/usr/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +src/Householder/BlockHouseholder.h +/usr/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/Jacobi +Core +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +src/Jacobi/Jacobi.h +/usr/include/eigen3/Eigen/src/Jacobi/Jacobi.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/LU +Core +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +src/misc/Solve.h +/usr/include/eigen3/Eigen/src/misc/Solve.h +src/misc/Kernel.h +/usr/include/eigen3/Eigen/src/misc/Kernel.h +src/misc/Image.h +/usr/include/eigen3/Eigen/src/misc/Image.h +src/LU/FullPivLU.h +/usr/include/eigen3/Eigen/src/LU/FullPivLU.h +src/LU/PartialPivLU.h +/usr/include/eigen3/Eigen/src/LU/PartialPivLU.h +src/LU/PartialPivLU_MKL.h +/usr/include/eigen3/Eigen/src/LU/PartialPivLU_MKL.h +src/LU/Determinant.h +/usr/include/eigen3/Eigen/src/LU/Determinant.h +src/LU/Inverse.h +/usr/include/eigen3/Eigen/src/LU/Inverse.h +src/LU/arch/Inverse_SSE.h +/usr/include/eigen3/Eigen/src/LU/arch/Inverse_SSE.h +src/Eigen2Support/LU.h +/usr/include/eigen3/Eigen/src/Eigen2Support/LU.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/QR +Core +/usr/include/eigen3/Eigen/Core +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +Cholesky +/usr/include/eigen3/Eigen/Cholesky +Jacobi +/usr/include/eigen3/Eigen/Jacobi +Householder +/usr/include/eigen3/Eigen/Householder +src/misc/Solve.h +/usr/include/eigen3/Eigen/src/misc/Solve.h +src/QR/HouseholderQR.h +/usr/include/eigen3/Eigen/src/QR/HouseholderQR.h +src/QR/FullPivHouseholderQR.h +/usr/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +src/QR/ColPivHouseholderQR.h +/usr/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +src/QR/HouseholderQR_MKL.h +/usr/include/eigen3/Eigen/src/QR/HouseholderQR_MKL.h +src/QR/ColPivHouseholderQR_MKL.h +/usr/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_MKL.h +src/Eigen2Support/QR.h +/usr/include/eigen3/Eigen/src/Eigen2Support/QR.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +Eigenvalues +/usr/include/eigen3/Eigen/Eigenvalues + +/usr/include/eigen3/Eigen/SVD +QR +/usr/include/eigen3/Eigen/QR +Householder +/usr/include/eigen3/Eigen/Householder +Jacobi +/usr/include/eigen3/Eigen/Jacobi +src/Core/util/DisableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +src/misc/Solve.h +/usr/include/eigen3/Eigen/src/misc/Solve.h +src/SVD/JacobiSVD.h +/usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h +src/SVD/JacobiSVD_MKL.h +/usr/include/eigen3/Eigen/src/SVD/JacobiSVD_MKL.h +src/SVD/UpperBidiagonalization.h +/usr/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +src/Eigen2Support/SVD.h +/usr/include/eigen3/Eigen/src/Eigen2Support/SVD.h +src/Core/util/ReenableStupidWarnings.h +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/StdVector +Core +/usr/include/eigen3/Eigen/Core +vector +- +src/StlSupport/StdVector.h +/usr/include/eigen3/Eigen/src/StlSupport/StdVector.h + +/usr/include/eigen3/Eigen/src/Cholesky/LDLT.h + +/usr/include/eigen3/Eigen/src/Cholesky/LLT.h + +/usr/include/eigen3/Eigen/src/Cholesky/LLT_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/Cholesky/Eigen/src/Core/util/MKL_support.h +iostream +- + +/usr/include/eigen3/Eigen/src/Core/Array.h + +/usr/include/eigen3/Eigen/src/Core/ArrayBase.h +../plugins/CommonCwiseUnaryOps.h +/usr/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +../plugins/MatrixCwiseUnaryOps.h +/usr/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +../plugins/ArrayCwiseUnaryOps.h +/usr/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +../plugins/CommonCwiseBinaryOps.h +/usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +../plugins/MatrixCwiseBinaryOps.h +/usr/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +../plugins/ArrayCwiseBinaryOps.h +/usr/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h + +/usr/include/eigen3/Eigen/src/Core/ArrayWrapper.h + +/usr/include/eigen3/Eigen/src/Core/Assign.h + +/usr/include/eigen3/Eigen/src/Core/Assign_MKL.h + +/usr/include/eigen3/Eigen/src/Core/BandMatrix.h + +/usr/include/eigen3/Eigen/src/Core/Block.h + +/usr/include/eigen3/Eigen/src/Core/BooleanRedux.h + +/usr/include/eigen3/Eigen/src/Core/CommaInitializer.h + +/usr/include/eigen3/Eigen/src/Core/CoreIterators.h + +/usr/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h + +/usr/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h + +/usr/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h + +/usr/include/eigen3/Eigen/src/Core/CwiseUnaryView.h + +/usr/include/eigen3/Eigen/src/Core/DenseBase.h +../plugins/BlockMethods.h +/usr/include/eigen3/Eigen/src/plugins/BlockMethods.h + +/usr/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h + +/usr/include/eigen3/Eigen/src/Core/DenseStorage.h + +/usr/include/eigen3/Eigen/src/Core/Diagonal.h + +/usr/include/eigen3/Eigen/src/Core/DiagonalMatrix.h + +/usr/include/eigen3/Eigen/src/Core/DiagonalProduct.h + +/usr/include/eigen3/Eigen/src/Core/Dot.h + +/usr/include/eigen3/Eigen/src/Core/EigenBase.h + +/usr/include/eigen3/Eigen/src/Core/Flagged.h + +/usr/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h + +/usr/include/eigen3/Eigen/src/Core/Functors.h + +/usr/include/eigen3/Eigen/src/Core/Fuzzy.h + +/usr/include/eigen3/Eigen/src/Core/GeneralProduct.h + +/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h + +/usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h + +/usr/include/eigen3/Eigen/src/Core/IO.h + +/usr/include/eigen3/Eigen/src/Core/Map.h + +/usr/include/eigen3/Eigen/src/Core/MapBase.h + +/usr/include/eigen3/Eigen/src/Core/MathFunctions.h + +/usr/include/eigen3/Eigen/src/Core/Matrix.h + +/usr/include/eigen3/Eigen/src/Core/MatrixBase.h +../plugins/CommonCwiseUnaryOps.h +/usr/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +../plugins/CommonCwiseBinaryOps.h +/usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +../plugins/MatrixCwiseUnaryOps.h +/usr/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +../plugins/MatrixCwiseBinaryOps.h +/usr/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h + +/usr/include/eigen3/Eigen/src/Core/NestByValue.h + +/usr/include/eigen3/Eigen/src/Core/NoAlias.h + +/usr/include/eigen3/Eigen/src/Core/NumTraits.h + +/usr/include/eigen3/Eigen/src/Core/PermutationMatrix.h + +/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h + +/usr/include/eigen3/Eigen/src/Core/ProductBase.h + +/usr/include/eigen3/Eigen/src/Core/Random.h + +/usr/include/eigen3/Eigen/src/Core/Redux.h + +/usr/include/eigen3/Eigen/src/Core/Ref.h + +/usr/include/eigen3/Eigen/src/Core/Replicate.h + +/usr/include/eigen3/Eigen/src/Core/ReturnByValue.h + +/usr/include/eigen3/Eigen/src/Core/Reverse.h + +/usr/include/eigen3/Eigen/src/Core/Select.h + +/usr/include/eigen3/Eigen/src/Core/SelfAdjointView.h + +/usr/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h + +/usr/include/eigen3/Eigen/src/Core/SolveTriangular.h + +/usr/include/eigen3/Eigen/src/Core/StableNorm.h + +/usr/include/eigen3/Eigen/src/Core/Stride.h + +/usr/include/eigen3/Eigen/src/Core/Swap.h + +/usr/include/eigen3/Eigen/src/Core/Transpose.h + +/usr/include/eigen3/Eigen/src/Core/Transpositions.h + +/usr/include/eigen3/Eigen/src/Core/TriangularMatrix.h + +/usr/include/eigen3/Eigen/src/Core/VectorBlock.h + +/usr/include/eigen3/Eigen/src/Core/VectorwiseOp.h + +/usr/include/eigen3/Eigen/src/Core/Visitor.h + +/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h + +/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h + +/usr/include/eigen3/Eigen/src/Core/arch/Default/Settings.h + +/usr/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h + +/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h + +/usr/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h + +/usr/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h + +/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h + +/usr/include/eigen3/Eigen/src/Core/products/CoeffBasedProduct.h + +/usr/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h + +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h + +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h + +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h + +/usr/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/Parallelizer.h + +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h + +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h + +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h + +/usr/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h + +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h + +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h + +/usr/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h + +/usr/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h + +/usr/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h + +/usr/include/eigen3/Eigen/src/Core/util/BlasUtil.h + +/usr/include/eigen3/Eigen/src/Core/util/Constants.h + +/usr/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h + +/usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h + +/usr/include/eigen3/Eigen/src/Core/util/MKL_support.h +mkl.h +- +mkl_lapacke.h +- + +/usr/include/eigen3/Eigen/src/Core/util/Macros.h +cstdlib +- +iostream +- + +/usr/include/eigen3/Eigen/src/Core/util/Memory.h +unistd.h +- + +/usr/include/eigen3/Eigen/src/Core/util/Meta.h + +/usr/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + +/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h + +/usr/include/eigen3/Eigen/src/Core/util/XprHelper.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Block.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Cwise.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/CwiseOperators.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/AlignedBox.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/All.h +limits +- +RotationBase.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/RotationBase.h +Rotation2D.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Rotation2D.h +Quaternion.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Quaternion.h +AngleAxis.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/AngleAxis.h +Transform.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Transform.h +Translation.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Translation.h +Scaling.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Scaling.h +AlignedBox.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/AlignedBox.h +Hyperplane.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Hyperplane.h +ParametrizedLine.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h +RotationBase.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/RotationBase.h +Rotation2D.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Rotation2D.h +Quaternion.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Quaternion.h +AngleAxis.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/AngleAxis.h +Transform.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Transform.h +Translation.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Translation.h +Scaling.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Scaling.h +AlignedBox.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/AlignedBox.h +Hyperplane.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Hyperplane.h +ParametrizedLine.h +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/AngleAxis.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Hyperplane.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Quaternion.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Rotation2D.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/RotationBase.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Scaling.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Transform.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Geometry/Translation.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/LU.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Lazy.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Macros.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/MathFunctions.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Memory.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Meta.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/Minor.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/QR.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/SVD.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/TriangularSolver.h + +/usr/include/eigen3/Eigen/src/Eigen2Support/VectorBlock.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/./ComplexSchur.h +./HessenbergDecomposition.h +/usr/include/eigen3/Eigen/src/Eigenvalues/././HessenbergDecomposition.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/./HessenbergDecomposition.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/./RealQZ.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/./RealSchur.h +./HessenbergDecomposition.h +/usr/include/eigen3/Eigen/src/Eigenvalues/././HessenbergDecomposition.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/./Tridiagonalization.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +./ComplexSchur.h +/usr/include/eigen3/Eigen/src/Eigenvalues/./ComplexSchur.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +./HessenbergDecomposition.h +/usr/include/eigen3/Eigen/src/Eigenvalues/./HessenbergDecomposition.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/Eigenvalues/Eigen/src/Core/util/MKL_support.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +./RealSchur.h +/usr/include/eigen3/Eigen/src/Eigenvalues/./RealSchur.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +./RealQZ.h +/usr/include/eigen3/Eigen/src/Eigenvalues/./RealQZ.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +./Tridiagonalization.h +/usr/include/eigen3/Eigen/src/Eigenvalues/./Tridiagonalization.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +./HessenbergDecomposition.h +/usr/include/eigen3/Eigen/src/Eigenvalues/./HessenbergDecomposition.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/RealSchur_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/Eigenvalues/Eigen/src/Core/util/MKL_support.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +./Tridiagonalization.h +/usr/include/eigen3/Eigen/src/Eigenvalues/./Tridiagonalization.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/Eigenvalues/Eigen/src/Core/util/MKL_support.h + +/usr/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h + +/usr/include/eigen3/Eigen/src/Geometry/AlignedBox.h + +/usr/include/eigen3/Eigen/src/Geometry/AngleAxis.h + +/usr/include/eigen3/Eigen/src/Geometry/EulerAngles.h + +/usr/include/eigen3/Eigen/src/Geometry/Homogeneous.h + +/usr/include/eigen3/Eigen/src/Geometry/Hyperplane.h + +/usr/include/eigen3/Eigen/src/Geometry/OrthoMethods.h + +/usr/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h + +/usr/include/eigen3/Eigen/src/Geometry/Quaternion.h + +/usr/include/eigen3/Eigen/src/Geometry/Rotation2D.h + +/usr/include/eigen3/Eigen/src/Geometry/RotationBase.h + +/usr/include/eigen3/Eigen/src/Geometry/Scaling.h + +/usr/include/eigen3/Eigen/src/Geometry/Transform.h + +/usr/include/eigen3/Eigen/src/Geometry/Translation.h + +/usr/include/eigen3/Eigen/src/Geometry/Umeyama.h + +/usr/include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h + +/usr/include/eigen3/Eigen/src/Householder/BlockHouseholder.h + +/usr/include/eigen3/Eigen/src/Householder/Householder.h + +/usr/include/eigen3/Eigen/src/Householder/HouseholderSequence.h + +/usr/include/eigen3/Eigen/src/Jacobi/Jacobi.h + +/usr/include/eigen3/Eigen/src/LU/Determinant.h + +/usr/include/eigen3/Eigen/src/LU/FullPivLU.h + +/usr/include/eigen3/Eigen/src/LU/Inverse.h + +/usr/include/eigen3/Eigen/src/LU/PartialPivLU.h + +/usr/include/eigen3/Eigen/src/LU/PartialPivLU_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/LU/Eigen/src/Core/util/MKL_support.h + +/usr/include/eigen3/Eigen/src/LU/arch/Inverse_SSE.h + +/usr/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h + +/usr/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/QR/Eigen/src/Core/util/MKL_support.h + +/usr/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h + +/usr/include/eigen3/Eigen/src/QR/HouseholderQR.h + +/usr/include/eigen3/Eigen/src/QR/HouseholderQR_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/QR/Eigen/src/Core/util/MKL_support.h + +/usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h + +/usr/include/eigen3/Eigen/src/SVD/JacobiSVD_MKL.h +Eigen/src/Core/util/MKL_support.h +/usr/include/eigen3/Eigen/src/SVD/Eigen/src/Core/util/MKL_support.h + +/usr/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h + +/usr/include/eigen3/Eigen/src/StlSupport/StdVector.h +Eigen/src/StlSupport/details.h +/usr/include/eigen3/Eigen/src/StlSupport/Eigen/src/StlSupport/details.h + +/usr/include/eigen3/Eigen/src/StlSupport/details.h + +/usr/include/eigen3/Eigen/src/misc/Image.h + +/usr/include/eigen3/Eigen/src/misc/Kernel.h + +/usr/include/eigen3/Eigen/src/misc/Solve.h + +/usr/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h + +/usr/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h + +/usr/include/eigen3/Eigen/src/plugins/BlockMethods.h + +/usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h + +/usr/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h + +/usr/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h + +/usr/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h + +/usr/include/eigen3/unsupported/Eigen/NonLinearOptimization +vector +- +Eigen/Core +- +Eigen/Jacobi +- +Eigen/QR +- +unsupported/Eigen/NumericalDiff +- +src/NonLinearOptimization/qrsolv.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +src/NonLinearOptimization/r1updt.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +src/NonLinearOptimization/r1mpyq.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +src/NonLinearOptimization/rwupdt.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +src/NonLinearOptimization/fdjac1.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +src/NonLinearOptimization/lmpar.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +src/NonLinearOptimization/dogleg.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +src/NonLinearOptimization/covar.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +src/NonLinearOptimization/chkder.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +src/NonLinearOptimization/HybridNonLinearSolver.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +src/NonLinearOptimization/LevenbergMarquardt.h +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h + +/usr/include/eigen3/unsupported/Eigen/NumericalDiff +Eigen/Core +- +src/NumericalDiff/NumericalDiff.h +/usr/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h + +/usr/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h + +/usr/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h + +/usr/include/vtk-5.8/vtkABI.h + +/usr/include/vtk-5.8/vtkAbstractArray.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtkVariant.h +/usr/include/vtk-5.8/vtkVariant.h + +/usr/include/vtk-5.8/vtkAbstractMapper.h +vtkAlgorithm.h +/usr/include/vtk-5.8/vtkAlgorithm.h + +/usr/include/vtk-5.8/vtkAbstractMapper3D.h +vtkAbstractMapper.h +/usr/include/vtk-5.8/vtkAbstractMapper.h + +/usr/include/vtk-5.8/vtkActor.h +vtkProp3D.h +/usr/include/vtk-5.8/vtkProp3D.h + +/usr/include/vtk-5.8/vtkActor2D.h +vtkProp.h +/usr/include/vtk-5.8/vtkProp.h +vtkCoordinate.h +/usr/include/vtk-5.8/vtkCoordinate.h + +/usr/include/vtk-5.8/vtkActorCollection.h +vtkPropCollection.h +/usr/include/vtk-5.8/vtkPropCollection.h +vtkActor.h +/usr/include/vtk-5.8/vtkActor.h + +/usr/include/vtk-5.8/vtkAlgorithm.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkAlgorithmOutput.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkAppendPolyData.h +vtkPolyDataAlgorithm.h +/usr/include/vtk-5.8/vtkPolyDataAlgorithm.h + +/usr/include/vtk-5.8/vtkArrayIterator.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkArrayIteratorTemplate.h +vtkArrayIterator.h +/usr/include/vtk-5.8/vtkArrayIterator.h +vtkArrayIteratorTemplateImplicit.txx +/usr/include/vtk-5.8/vtkArrayIteratorTemplateImplicit.txx + +/usr/include/vtk-5.8/vtkArrayIteratorTemplate.txx +vtkArrayIteratorTemplate.h +/usr/include/vtk-5.8/vtkArrayIteratorTemplate.h +vtkAbstractArray.h +/usr/include/vtk-5.8/vtkAbstractArray.h +vtkObjectFactory.h +/usr/include/vtk-5.8/vtkObjectFactory.h + +/usr/include/vtk-5.8/vtkArrayIteratorTemplateImplicit.txx +vtkArrayIteratorTemplate.txx +/usr/include/vtk-5.8/vtkArrayIteratorTemplate.txx + +/usr/include/vtk-5.8/vtkCell.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtkIdList.h +/usr/include/vtk-5.8/vtkIdList.h +vtkCellType.h +/usr/include/vtk-5.8/vtkCellType.h + +/usr/include/vtk-5.8/vtkCellArray.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtkIdTypeArray.h +/usr/include/vtk-5.8/vtkIdTypeArray.h +vtkCell.h +/usr/include/vtk-5.8/vtkCell.h + +/usr/include/vtk-5.8/vtkCellData.h +vtkDataSetAttributes.h +/usr/include/vtk-5.8/vtkDataSetAttributes.h + +/usr/include/vtk-5.8/vtkCellLinks.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkCellType.h + +/usr/include/vtk-5.8/vtkCellTypes.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtkIntArray.h +/usr/include/vtk-5.8/vtkIntArray.h +vtkUnsignedCharArray.h +/usr/include/vtk-5.8/vtkUnsignedCharArray.h +vtkCellType.h +/usr/include/vtk-5.8/vtkCellType.h + +/usr/include/vtk-5.8/vtkCollection.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkCommand.h +vtkObjectBase.h +/usr/include/vtk-5.8/vtkObjectBase.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkCommonInformationKeyManager.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h +vtkDebugLeaksManager.h +/usr/include/vtk-5.8/vtkDebugLeaksManager.h + +/usr/include/vtk-5.8/vtkConfigure.h + +/usr/include/vtk-5.8/vtkCoordinate.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkDataArray.h +vtkAbstractArray.h +/usr/include/vtk-5.8/vtkAbstractArray.h + +/usr/include/vtk-5.8/vtkDataArrayTemplate.h +vtkDataArray.h +/usr/include/vtk-5.8/vtkDataArray.h +vtkDataArrayTemplateImplicit.txx +/usr/include/vtk-5.8/vtkDataArrayTemplateImplicit.txx + +/usr/include/vtk-5.8/vtkDataArrayTemplate.txx +vtkDataArrayTemplate.h +/usr/include/vtk-5.8/vtkDataArrayTemplate.h +vtkArrayIteratorTemplate.h +/usr/include/vtk-5.8/vtkArrayIteratorTemplate.h +vtkIdList.h +/usr/include/vtk-5.8/vtkIdList.h +vtkInformation.h +/usr/include/vtk-5.8/vtkInformation.h +vtkInformationDoubleVectorKey.h +/usr/include/vtk-5.8/vtkInformationDoubleVectorKey.h +vtkInformationInformationVectorKey.h +/usr/include/vtk-5.8/vtkInformationInformationVectorKey.h +vtkInformationVector.h +/usr/include/vtk-5.8/vtkInformationVector.h +vtkSortDataArray.h +/usr/include/vtk-5.8/vtkSortDataArray.h +vtkTypeTraits.h +/usr/include/vtk-5.8/vtkTypeTraits.h +vtkstd/new +- +vtkstd/exception +- +vtkstd/utility +- +vtkstd/algorithm +- +vtkstd/map +- + +/usr/include/vtk-5.8/vtkDataArrayTemplateImplicit.txx +vtkDataArrayTemplate.txx +/usr/include/vtk-5.8/vtkDataArrayTemplate.txx + +/usr/include/vtk-5.8/vtkDataObject.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkDataSet.h +vtkDataObject.h +/usr/include/vtk-5.8/vtkDataObject.h + +/usr/include/vtk-5.8/vtkDataSetAttributes.h +vtkFieldData.h +/usr/include/vtk-5.8/vtkFieldData.h + +/usr/include/vtk-5.8/vtkDataSetMapper.h +vtkMapper.h +/usr/include/vtk-5.8/vtkMapper.h + +/usr/include/vtk-5.8/vtkDataSetSurfaceFilter.h +vtkPolyDataAlgorithm.h +/usr/include/vtk-5.8/vtkPolyDataAlgorithm.h + +/usr/include/vtk-5.8/vtkDebugLeaksManager.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h + +/usr/include/vtk-5.8/vtkFieldData.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtkAbstractArray.h +/usr/include/vtk-5.8/vtkAbstractArray.h +vtkDataArray.h +/usr/include/vtk-5.8/vtkDataArray.h + +/usr/include/vtk-5.8/vtkFloatArray.h +vtkDataArray.h +/usr/include/vtk-5.8/vtkDataArray.h +vtkDataArrayTemplate.h +/usr/include/vtk-5.8/vtkDataArrayTemplate.h + +/usr/include/vtk-5.8/vtkFollower.h +vtkActor.h +/usr/include/vtk-5.8/vtkActor.h + +/usr/include/vtk-5.8/vtkIOStream.h +vtkConfigure.h +/usr/include/vtk-5.8/vtkConfigure.h +vtkWin32Header.h +/usr/include/vtk-5.8/vtkWin32Header.h +iostream +- +fstream +- +iomanip +- +vtkWinCE.h +/usr/include/vtk-5.8/vtkWinCE.h +iostream.h +- +iomanip.h +- +fstream.h +- +strstream +- +strstrea.h +- +strstream.h +- + +/usr/include/vtk-5.8/vtkIOStreamFwd.h +vtkConfigure.h +/usr/include/vtk-5.8/vtkConfigure.h +iosfwd +- +iosfwd.h +- + +/usr/include/vtk-5.8/vtkIdList.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkIdTypeArray.h +vtkDataArray.h +/usr/include/vtk-5.8/vtkDataArray.h +vtkDataArrayTemplate.h +/usr/include/vtk-5.8/vtkDataArrayTemplate.h + +/usr/include/vtk-5.8/vtkImageAlgorithm.h +vtkAlgorithm.h +/usr/include/vtk-5.8/vtkAlgorithm.h + +/usr/include/vtk-5.8/vtkIndent.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h + +/usr/include/vtk-5.8/vtkInformation.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkInformationDoubleVectorKey.h +vtkInformationKey.h +/usr/include/vtk-5.8/vtkInformationKey.h +vtkCommonInformationKeyManager.h +/usr/include/vtk-5.8/vtkCommonInformationKeyManager.h + +/usr/include/vtk-5.8/vtkInformationInformationVectorKey.h +vtkInformationKey.h +/usr/include/vtk-5.8/vtkInformationKey.h +vtkCommonInformationKeyManager.h +/usr/include/vtk-5.8/vtkCommonInformationKeyManager.h + +/usr/include/vtk-5.8/vtkInformationKey.h +vtkObjectBase.h +/usr/include/vtk-5.8/vtkObjectBase.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkInformationVector.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkIntArray.h +vtkDataArray.h +/usr/include/vtk-5.8/vtkDataArray.h +vtkDataArrayTemplate.h +/usr/include/vtk-5.8/vtkDataArrayTemplate.h + +/usr/include/vtk-5.8/vtkInteractorObserver.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkInteractorStyle.h +vtkInteractorObserver.h +/usr/include/vtk-5.8/vtkInteractorObserver.h + +/usr/include/vtk-5.8/vtkInteractorStyleRubberBandPick.h +vtkInteractorStyleTrackballCamera.h +/usr/include/vtk-5.8/vtkInteractorStyleTrackballCamera.h + +/usr/include/vtk-5.8/vtkInteractorStyleTrackballCamera.h +vtkInteractorStyle.h +/usr/include/vtk-5.8/vtkInteractorStyle.h + +/usr/include/vtk-5.8/vtkLODActor.h +vtkActor.h +/usr/include/vtk-5.8/vtkActor.h + +/usr/include/vtk-5.8/vtkLeaderActor2D.h +vtkActor2D.h +/usr/include/vtk-5.8/vtkActor2D.h + +/usr/include/vtk-5.8/vtkLineSource.h +vtkPolyDataAlgorithm.h +/usr/include/vtk-5.8/vtkPolyDataAlgorithm.h + +/usr/include/vtk-5.8/vtkMapper.h +vtkAbstractMapper3D.h +/usr/include/vtk-5.8/vtkAbstractMapper3D.h +vtkScalarsToColors.h +/usr/include/vtk-5.8/vtkScalarsToColors.h + +/usr/include/vtk-5.8/vtkMath.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtkPolynomialSolversUnivariate.h +/usr/include/vtk-5.8/vtkPolynomialSolversUnivariate.h +assert.h +- + +/usr/include/vtk-5.8/vtkMatrix4x4.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkOStrStreamWrapper.h + +/usr/include/vtk-5.8/vtkOStreamWrapper.h + +/usr/include/vtk-5.8/vtkObject.h +vtkObjectBase.h +/usr/include/vtk-5.8/vtkObjectBase.h +vtkSetGet.h +/usr/include/vtk-5.8/vtkSetGet.h +vtkTimeStamp.h +/usr/include/vtk-5.8/vtkTimeStamp.h +vtkWeakPointerBase.h +/usr/include/vtk-5.8/vtkWeakPointerBase.h + +/usr/include/vtk-5.8/vtkObjectBase.h +vtkIndent.h +/usr/include/vtk-5.8/vtkIndent.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h + +/usr/include/vtk-5.8/vtkObjectFactory.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkPointData.h +vtkDataSetAttributes.h +/usr/include/vtk-5.8/vtkDataSetAttributes.h + +/usr/include/vtk-5.8/vtkPointSet.h +vtkDataSet.h +/usr/include/vtk-5.8/vtkDataSet.h +vtkPoints.h +/usr/include/vtk-5.8/vtkPoints.h + +/usr/include/vtk-5.8/vtkPoints.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtkDataArray.h +/usr/include/vtk-5.8/vtkDataArray.h + +/usr/include/vtk-5.8/vtkPolyData.h +vtkPointSet.h +/usr/include/vtk-5.8/vtkPointSet.h +vtkCellTypes.h +/usr/include/vtk-5.8/vtkCellTypes.h +vtkCellLinks.h +/usr/include/vtk-5.8/vtkCellLinks.h + +/usr/include/vtk-5.8/vtkPolyDataAlgorithm.h +vtkAlgorithm.h +/usr/include/vtk-5.8/vtkAlgorithm.h +vtkPolyData.h +/usr/include/vtk-5.8/vtkPolyData.h + +/usr/include/vtk-5.8/vtkPolyDataMapper.h +vtkMapper.h +/usr/include/vtk-5.8/vtkMapper.h +vtkTexture.h +/usr/include/vtk-5.8/vtkTexture.h + +/usr/include/vtk-5.8/vtkPolyLine.h +vtkCell.h +/usr/include/vtk-5.8/vtkCell.h + +/usr/include/vtk-5.8/vtkPolygon.h +vtkCell.h +/usr/include/vtk-5.8/vtkCell.h + +/usr/include/vtk-5.8/vtkPolynomialSolversUnivariate.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkProp.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkProp3D.h +vtkProp.h +/usr/include/vtk-5.8/vtkProp.h + +/usr/include/vtk-5.8/vtkPropCollection.h +vtkCollection.h +/usr/include/vtk-5.8/vtkCollection.h +vtkProp.h +/usr/include/vtk-5.8/vtkProp.h + +/usr/include/vtk-5.8/vtkProperty.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkProperty2D.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkRenderer.h +vtkViewport.h +/usr/include/vtk-5.8/vtkViewport.h +vtkVolumeCollection.h +/usr/include/vtk-5.8/vtkVolumeCollection.h +vtkActorCollection.h +/usr/include/vtk-5.8/vtkActorCollection.h + +/usr/include/vtk-5.8/vtkRendererCollection.h +vtkCollection.h +/usr/include/vtk-5.8/vtkCollection.h +vtkRenderer.h +/usr/include/vtk-5.8/vtkRenderer.h + +/usr/include/vtk-5.8/vtkScalarsToColors.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkSetGet.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h +math.h +- + +/usr/include/vtk-5.8/vtkSmartPointer.h +vtkSmartPointerBase.h +/usr/include/vtk-5.8/vtkSmartPointerBase.h + +/usr/include/vtk-5.8/vtkSmartPointerBase.h +vtkObjectBase.h +/usr/include/vtk-5.8/vtkObjectBase.h + +/usr/include/vtk-5.8/vtkSortDataArray.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkSphereSource.h +vtkPolyDataAlgorithm.h +/usr/include/vtk-5.8/vtkPolyDataAlgorithm.h + +/usr/include/vtk-5.8/vtkStdString.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h +vtkstd/string +- + +/usr/include/vtk-5.8/vtkSystemIncludes.h +vtkWin32Header.h +/usr/include/vtk-5.8/vtkWin32Header.h +vtkIOStreamFwd.h +/usr/include/vtk-5.8/vtkIOStreamFwd.h +vtkIOStream.h +/usr/include/vtk-5.8/vtkIOStream.h +vtkType.h +/usr/include/vtk-5.8/vtkType.h +vtkOStreamWrapper.h +/usr/include/vtk-5.8/vtkOStreamWrapper.h +vtkOStrStreamWrapper.h +/usr/include/vtk-5.8/vtkOStrStreamWrapper.h +stdio.h +- +stdlib.h +- +string.h +- +mem.h +- +search.h +- + +/usr/include/vtk-5.8/vtkTextProperty.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkTexture.h +vtkImageAlgorithm.h +/usr/include/vtk-5.8/vtkImageAlgorithm.h + +/usr/include/vtk-5.8/vtkTimeStamp.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h + +/usr/include/vtk-5.8/vtkType.h +vtkConfigure.h +/usr/include/vtk-5.8/vtkConfigure.h + +/usr/include/vtk-5.8/vtkTypeTraits.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h + +/usr/include/vtk-5.8/vtkUnicodeString.h +vtkSystemIncludes.h +- +vtkstd/string +- +vtkstd/vector +- + +/usr/include/vtk-5.8/vtkUnsignedCharArray.h +vtkDataArray.h +/usr/include/vtk-5.8/vtkDataArray.h +vtkDataArrayTemplate.h +/usr/include/vtk-5.8/vtkDataArrayTemplate.h + +/usr/include/vtk-5.8/vtkUnstructuredGrid.h +vtkPointSet.h +/usr/include/vtk-5.8/vtkPointSet.h + +/usr/include/vtk-5.8/vtkVariant.h +vtkType.h +/usr/include/vtk-5.8/vtkType.h +vtkSystemIncludes.h +/usr/include/vtk-5.8/vtkSystemIncludes.h +vtkSetGet.h +/usr/include/vtk-5.8/vtkSetGet.h +vtkStdString.h +/usr/include/vtk-5.8/vtkStdString.h +vtkUnicodeString.h +/usr/include/vtk-5.8/vtkUnicodeString.h +vtkVariantInlineOperators.h +/usr/include/vtk-5.8/vtkVariantInlineOperators.h + +/usr/include/vtk-5.8/vtkVariantInlineOperators.h +climits +- + +/usr/include/vtk-5.8/vtkVectorText.h +vtkPolyDataAlgorithm.h +/usr/include/vtk-5.8/vtkPolyDataAlgorithm.h + +/usr/include/vtk-5.8/vtkVersion.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h +vtksys/DateStamp.h +- + +/usr/include/vtk-5.8/vtkViewport.h +vtkObject.h +/usr/include/vtk-5.8/vtkObject.h + +/usr/include/vtk-5.8/vtkVolume.h +vtkProp3D.h +/usr/include/vtk-5.8/vtkProp3D.h + +/usr/include/vtk-5.8/vtkVolumeCollection.h +vtkPropCollection.h +/usr/include/vtk-5.8/vtkPropCollection.h +vtkVolume.h +/usr/include/vtk-5.8/vtkVolume.h + +/usr/include/vtk-5.8/vtkWeakPointerBase.h +vtkObjectBase.h +/usr/include/vtk-5.8/vtkObjectBase.h + +/usr/include/vtk-5.8/vtkWin32Header.h +vtkConfigure.h +/usr/include/vtk-5.8/vtkConfigure.h +vtkABI.h +/usr/include/vtk-5.8/vtkABI.h +windows.h +- + +/usr/include/vtk-5.8/vtkstd/algorithm +vtkConfigure.h +/usr/include/vtk-5.8/vtkstd/vtkConfigure.h +algorithm +- + +/usr/include/vtk-5.8/vtkstd/exception +vtkConfigure.h +/usr/include/vtk-5.8/vtkstd/vtkConfigure.h +exception +- + +/usr/include/vtk-5.8/vtkstd/map +vtkConfigure.h +/usr/include/vtk-5.8/vtkstd/vtkConfigure.h +map +- + +/usr/include/vtk-5.8/vtkstd/new +vtkConfigure.h +/usr/include/vtk-5.8/vtkstd/vtkConfigure.h +new +- + +/usr/include/vtk-5.8/vtkstd/string +vtkConfigure.h +/usr/include/vtk-5.8/vtkstd/vtkConfigure.h +string +- + +/usr/include/vtk-5.8/vtkstd/utility +vtkConfigure.h +/usr/include/vtk-5.8/vtkstd/vtkConfigure.h +utility +- + +/usr/include/vtk-5.8/vtkstd/vector +vtkConfigure.h +/usr/include/vtk-5.8/vtkstd/vtkConfigure.h +vector +- + +/usr/include/vtk-5.8/vtksys/DateStamp.h + +/usr/local/include/pcl-1.8/pcl/ModelCoefficients.h +string +- +vector +- +ostream +- +pcl/PCLHeader.h +- + +/usr/local/include/pcl-1.8/pcl/PCLHeader.h +string +- +vector +- +boost/shared_ptr.hpp +- +pcl/pcl_macros.h +- +ostream +- + +/usr/local/include/pcl-1.8/pcl/PCLImage.h +string +- +vector +- +ostream +- +pcl/PCLHeader.h +- + +/usr/local/include/pcl-1.8/pcl/PCLPointCloud2.h +string +- +vector +- +ostream +- +boost/detail/endian.hpp +- +pcl/PCLHeader.h +- +pcl/PCLPointField.h +- + +/usr/local/include/pcl-1.8/pcl/PCLPointField.h +string +- +vector +- +ostream +- +boost/shared_ptr.hpp +- +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/PointIndices.h +string +- +vector +- +ostream +- +pcl/PCLHeader.h +- + +/usr/local/include/pcl-1.8/pcl/PolygonMesh.h +string +- +vector +- +ostream +- +pcl/PCLHeader.h +- +pcl/PCLPointCloud2.h +- +pcl/Vertices.h +- + +/usr/local/include/pcl-1.8/pcl/TextureMesh.h +Eigen/Core +- +string +- +pcl/PCLPointCloud2.h +- +pcl/Vertices.h +- + +/usr/local/include/pcl-1.8/pcl/Vertices.h +string +- +vector +- +ostream +- +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/cloud_iterator.h +pcl/point_cloud.h +- +pcl/PointIndices.h +- +pcl/correspondence.h +- +pcl/impl/cloud_iterator.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/centroid.h +pcl/point_cloud.h +- +pcl/point_traits.h +- +pcl/PointIndices.h +- +pcl/cloud_iterator.h +- +pcl/common/impl/accumulators.hpp +- +pcl/common/impl/centroid.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/colors.h +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/common/common.h +pcl/pcl_base.h +- +cfloat +- +pcl/common/impl/common.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/concatenate.h +pcl/conversions.h +- + +/usr/local/include/pcl-1.8/pcl/common/copy_point.h +pcl/common/impl/copy_point.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/distances.h +pcl/common/common.h +- + +/usr/local/include/pcl-1.8/pcl/common/eigen.h +cmath +- +pcl/ModelCoefficients.h +- +Eigen/StdVector +- +Eigen/Core +- +Eigen/Eigenvalues +- +Eigen/Geometry +- +Eigen/SVD +- +Eigen/LU +- +Eigen/Dense +- +Eigen/Eigenvalues +- +pcl/common/impl/eigen.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/geometry.h +Eigen/Core +- + +/usr/local/include/pcl-1.8/pcl/common/impl/accumulators.hpp +map +- +boost/mpl/filter_view.hpp +- +boost/fusion/include/mpl.hpp +- +boost/fusion/include/for_each.hpp +- +boost/fusion/include/as_vector.hpp +- +pcl/point_types.h +- + +/usr/local/include/pcl-1.8/pcl/common/impl/centroid.hpp +pcl/common/centroid.h +- +pcl/conversions.h +- +boost/mpl/size.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/impl/common.hpp +pcl/point_types.h +- +pcl/common/common.h +- + +/usr/local/include/pcl-1.8/pcl/common/impl/copy_point.hpp +pcl/point_types.h +- +pcl/point_traits.h +- +pcl/for_each_type.h +- +pcl/common/concatenate.h +- + +/usr/local/include/pcl-1.8/pcl/common/impl/eigen.hpp +pcl/console/print.h +- + +/usr/local/include/pcl-1.8/pcl/common/impl/io.hpp +pcl/common/concatenate.h +- +pcl/common/copy_point.h +- +pcl/point_types.h +- + +/usr/local/include/pcl-1.8/pcl/common/impl/projection_matrix.hpp +pcl/cloud_iterator.h +- + +/usr/local/include/pcl-1.8/pcl/common/impl/transforms.hpp + +/usr/local/include/pcl-1.8/pcl/common/io.h +string +- +pcl/pcl_base.h +- +pcl/PointIndices.h +- +pcl/conversions.h +- +pcl/exceptions.h +- +locale +- +pcl/common/impl/io.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/point_operators.h + +/usr/local/include/pcl-1.8/pcl/common/point_tests.h +Eigen/src/StlSupport/details.h +- + +/usr/local/include/pcl-1.8/pcl/common/projection_matrix.h +pcl/common/eigen.h +- +pcl/console/print.h +- +pcl/common/impl/projection_matrix.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/time.h +cmath +- +queue +- +string +- +boost/date_time/posix_time/posix_time.hpp +- + +/usr/local/include/pcl-1.8/pcl/common/transforms.h +pcl/point_cloud.h +- +pcl/point_types.h +- +pcl/common/centroid.h +- +pcl/common/eigen.h +- +pcl/PointIndices.h +- +pcl/common/impl/transforms.hpp +- + +/usr/local/include/pcl-1.8/pcl/console/parse.h +vector +- +sstream +- +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/console/print.h +stdio.h +- +stdarg.h +- +pcl/pcl_exports.h +- +pcl/pcl_config.h +- + +/usr/local/include/pcl-1.8/pcl/conversions.h +pcl/PCLPointField.h +- +pcl/PCLPointCloud2.h +- +pcl/PCLImage.h +- +pcl/point_cloud.h +- +pcl/point_traits.h +- +pcl/for_each_type.h +- +pcl/exceptions.h +- +pcl/console/print.h +- +boost/foreach.hpp +- + +/usr/local/include/pcl-1.8/pcl/correspondence.h +boost/shared_ptr.hpp +- +Eigen/StdVector +- +Eigen/Geometry +- +pcl/pcl_exports.h +- + +/usr/local/include/pcl-1.8/pcl/exceptions.h +stdexcept +- +sstream +- +pcl/pcl_macros.h +- +boost/current_function.hpp +- + +/usr/local/include/pcl-1.8/pcl/features/feature.h +boost/function.hpp +- +boost/bind.hpp +- +pcl/pcl_base.h +- +pcl/search/search.h +- +pcl/features/impl/feature.hpp +- + +/usr/local/include/pcl-1.8/pcl/features/impl/feature.hpp +pcl/search/pcl_search.h +- + +/usr/local/include/pcl-1.8/pcl/features/impl/normal_3d.hpp +pcl/features/normal_3d.h +- + +/usr/local/include/pcl-1.8/pcl/features/normal_3d.h +pcl/features/feature.h +- +pcl/common/centroid.h +- +pcl/features/impl/normal_3d.hpp +- + +/usr/local/include/pcl-1.8/pcl/filters/boost.h +boost/random.hpp +- +boost/random/normal_distribution.hpp +- +boost/shared_ptr.hpp +- +boost/make_shared.hpp +- +boost/dynamic_bitset.hpp +- +boost/mpl/size.hpp +- +boost/unordered_map.hpp +- +boost/fusion/sequence/intrinsic/at_key.hpp +- +boost/bind.hpp +- +boost/function.hpp +- +boost/optional.hpp +- + +/usr/local/include/pcl-1.8/pcl/filters/extract_indices.h +pcl/filters/filter_indices.h +- +pcl/filters/impl/extract_indices.hpp +- + +/usr/local/include/pcl-1.8/pcl/filters/filter.h +pcl/pcl_base.h +- +pcl/common/io.h +- +pcl/conversions.h +- +pcl/filters/boost.h +- +cfloat +- +pcl/PointIndices.h +- +pcl/filters/impl/filter.hpp +- + +/usr/local/include/pcl-1.8/pcl/filters/filter_indices.h +pcl/filters/filter.h +- +pcl/filters/impl/filter_indices.hpp +- + +/usr/local/include/pcl-1.8/pcl/filters/impl/extract_indices.hpp +pcl/filters/extract_indices.h +- +pcl/common/io.h +- + +/usr/local/include/pcl-1.8/pcl/filters/impl/filter.hpp +pcl/pcl_macros.h +- +pcl/filters/filter.h +- + +/usr/local/include/pcl-1.8/pcl/filters/impl/filter_indices.hpp +pcl/pcl_macros.h +- +pcl/filters/filter_indices.h +- + +/usr/local/include/pcl-1.8/pcl/for_each_type.h +boost/mpl/is_sequence.hpp +- +boost/mpl/begin_end.hpp +- +boost/mpl/next_prior.hpp +- +boost/mpl/deref.hpp +- +boost/mpl/assert.hpp +- +boost/mpl/remove_if.hpp +- +boost/mpl/contains.hpp +- +boost/mpl/not.hpp +- +boost/mpl/aux_/unwrap.hpp +- +boost/type_traits/is_same.hpp +- + +/usr/local/include/pcl-1.8/pcl/geometry/planar_polygon.h +pcl/common/eigen.h +- +pcl/point_cloud.h +- +pcl/ModelCoefficients.h +- + +/usr/local/include/pcl-1.8/pcl/impl/cloud_iterator.hpp +pcl/cloud_iterator.h +- + +/usr/local/include/pcl-1.8/pcl/impl/instantiate.hpp +pcl/pcl_config.h +- +boost/preprocessor/seq/for_each.hpp +- +boost/preprocessor/seq/for_each_product.hpp +- +boost/preprocessor/seq/to_tuple.hpp +- +boost/preprocessor/cat.hpp +- +boost/preprocessor/expand.hpp +- + +/usr/local/include/pcl-1.8/pcl/impl/pcl_base.hpp +pcl/pcl_base.h +- +pcl/console/print.h +- +cstddef +- + +/usr/local/include/pcl-1.8/pcl/impl/point_types.hpp +Eigen/Core +- +ostream +- +pcl/common/point_tests.h +- + +/usr/local/include/pcl-1.8/pcl/io/boost.h +boost/version.hpp +- +boost/numeric/conversion/cast.hpp +- +boost/thread/mutex.hpp +- +boost/thread/condition.hpp +- +boost/thread.hpp +- +boost/thread/thread.hpp +- +boost/filesystem.hpp +- +boost/bind.hpp +- +boost/cstdint.hpp +- +boost/function.hpp +- +boost/tuple/tuple.hpp +- +boost/shared_ptr.hpp +- +boost/weak_ptr.hpp +- +boost/mpl/fold.hpp +- +boost/mpl/inherit.hpp +- +boost/mpl/inherit_linearly.hpp +- +boost/mpl/joint_view.hpp +- +boost/mpl/transform.hpp +- +boost/mpl/vector.hpp +- +boost/algorithm/string.hpp +- +boost/date_time/posix_time/posix_time.hpp +- +boost/chrono.hpp +- +boost/tokenizer.hpp +- +boost/foreach.hpp +- +boost/shared_array.hpp +- +boost/interprocess/sync/file_lock.hpp +- +boost/interprocess/permissions.hpp +- +boost/iostreams/device/mapped_file.hpp +- +boost/signals2.hpp +- +boost/signals2/slot.hpp +- + +/usr/local/include/pcl-1.8/pcl/io/file_io.h +pcl/pcl_macros.h +- +pcl/common/io.h +- +pcl/io/boost.h +- +cmath +- +sstream +- +pcl/PolygonMesh.h +- +pcl/TextureMesh.h +- + +/usr/local/include/pcl-1.8/pcl/io/impl/pcd_io.hpp +fstream +- +fcntl.h +- +string +- +stdlib.h +- +pcl/io/boost.h +- +pcl/console/print.h +- +pcl/io/pcd_io.h +- +io.h +- +windows.h +- +sys/mman.h +- +pcl/io/lzf.h +- + +/usr/local/include/pcl-1.8/pcl/io/lzf.h +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/io/pcd_io.h +pcl/point_cloud.h +- +pcl/io/file_io.h +- +pcl/io/impl/pcd_io.hpp +- + +/usr/local/include/pcl-1.8/pcl/kdtree/flann.h +flann/flann.hpp +- + +/usr/local/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp +cstdio +- +pcl/kdtree/kdtree_flann.h +- +pcl/kdtree/flann.h +- +pcl/console/print.h +- + +/usr/local/include/pcl-1.8/pcl/kdtree/kdtree.h +limits.h +- +pcl/pcl_macros.h +- +pcl/point_cloud.h +- +pcl/point_representation.h +- +pcl/common/io.h +- +pcl/common/copy_point.h +- + +/usr/local/include/pcl-1.8/pcl/kdtree/kdtree_flann.h +pcl/kdtree/kdtree.h +- +pcl/kdtree/flann.h +- +boost/shared_array.hpp +- +pcl/kdtree/impl/kdtree_flann.hpp +- + +/usr/local/include/pcl-1.8/pcl/octree/boost.h +boost/graph/adjacency_list.hpp +- +boost/function.hpp +- + +/usr/local/include/pcl-1.8/pcl/octree/impl/octree2buf_base.hpp + +/usr/local/include/pcl-1.8/pcl/octree/impl/octree_base.hpp +vector +- +pcl/impl/instantiate.hpp +- +pcl/point_types.h +- +pcl/octree/octree.h +- + +/usr/local/include/pcl-1.8/pcl/octree/impl/octree_iterator.hpp +vector +- +assert.h +- +pcl/common/common.h +- + +/usr/local/include/pcl-1.8/pcl/octree/impl/octree_pointcloud.hpp +vector +- +assert.h +- +pcl/common/common.h +- + +/usr/local/include/pcl-1.8/pcl/octree/impl/octree_pointcloud_adjacency.hpp +pcl/octree/octree_pointcloud_adjacency.h +- + +/usr/local/include/pcl-1.8/pcl/octree/impl/octree_pointcloud_voxelcentroid.hpp +pcl/octree/octree_pointcloud_voxelcentroid.h +- + +/usr/local/include/pcl-1.8/pcl/octree/impl/octree_search.hpp +pcl/point_cloud.h +- +pcl/point_types.h +- +pcl/common/common.h +- +assert.h +- + +/usr/local/include/pcl-1.8/pcl/octree/octree.h +pcl/octree/octree_base.h +- +pcl/octree/octree2buf_base.h +- +pcl/octree/octree_iterator.h +- +pcl/octree/octree_pointcloud.h +- +pcl/octree/octree_pointcloud_density.h +- +pcl/octree/octree_pointcloud_occupancy.h +- +pcl/octree/octree_pointcloud_singlepoint.h +- +pcl/octree/octree_pointcloud_pointvector.h +- +pcl/octree/octree_pointcloud_changedetector.h +- +pcl/octree/octree_pointcloud_voxelcentroid.h +- +pcl/octree/octree_search.h +- + +/usr/local/include/pcl-1.8/pcl/octree/octree2buf_base.h +vector +- +octree_nodes.h +/usr/local/include/pcl-1.8/pcl/octree/octree_nodes.h +octree_container.h +/usr/local/include/pcl-1.8/pcl/octree/octree_container.h +octree_key.h +/usr/local/include/pcl-1.8/pcl/octree/octree_key.h +octree_iterator.h +/usr/local/include/pcl-1.8/pcl/octree/octree_iterator.h +stdio.h +- +string.h +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_base.h +cstddef +- +vector +- +octree_nodes.h +/usr/local/include/pcl-1.8/pcl/octree/octree_nodes.h +octree_container.h +/usr/local/include/pcl-1.8/pcl/octree/octree_container.h +octree_key.h +/usr/local/include/pcl-1.8/pcl/octree/octree_key.h +octree_iterator.h +/usr/local/include/pcl-1.8/pcl/octree/octree_iterator.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_container.h +string.h +- +vector +- +cstddef +- +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_impl.h +pcl/octree/octree.h +- +pcl/octree/impl/octree_base.hpp +- +pcl/octree/impl/octree2buf_base.hpp +- +pcl/octree/impl/octree_pointcloud.hpp +- +pcl/octree/impl/octree_iterator.hpp +- +pcl/octree/impl/octree_search.hpp +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_iterator.h +cstddef +- +vector +- +deque +- +octree_nodes.h +/usr/local/include/pcl-1.8/pcl/octree/octree_nodes.h +octree_key.h +/usr/local/include/pcl-1.8/pcl/octree/octree_key.h +pcl/point_cloud.h +- +pcl/point_types.h +- +iterator +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_key.h +string +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_nodes.h +cstddef +- +assert.h +- +cstring +- +string.h +- +Eigen/Core +- +pcl/pcl_macros.h +- +octree_container.h +/usr/local/include/pcl-1.8/pcl/octree/octree_container.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h +octree_base.h +/usr/local/include/pcl-1.8/pcl/octree/octree_base.h +pcl/point_cloud.h +- +pcl/point_types.h +- +queue +- +vector +- +algorithm +- +iostream +- +pcl/octree/impl/octree_pointcloud.hpp +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_adjacency.h +pcl/console/print.h +- +pcl/common/geometry.h +- +pcl/octree/boost.h +- +pcl/octree/octree_impl.h +- +pcl/octree/octree_pointcloud_adjacency_container.h +- +set +- +list +- +pcl/octree/impl/octree_pointcloud_adjacency.hpp +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_adjacency_container.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_changedetector.h +octree_pointcloud.h +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_density.h +octree_pointcloud.h +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_occupancy.h +octree_pointcloud.h +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_pointvector.h +octree_pointcloud.h +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_singlepoint.h +octree_pointcloud.h +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h + +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud_voxelcentroid.h +octree_pointcloud.h +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h +pcl/common/point_operators.h +- +pcl/point_types.h +- +pcl/register_point_struct.h +- +pcl/octree/impl/octree_pointcloud_voxelcentroid.hpp +- + +/usr/local/include/pcl-1.8/pcl/octree/octree_search.h +pcl/point_cloud.h +- +pcl/point_types.h +- +octree_pointcloud.h +/usr/local/include/pcl-1.8/pcl/octree/octree_pointcloud.h +pcl/octree/impl/octree_search.hpp +- + +/usr/local/include/pcl-1.8/pcl/pcl_base.h +pcl/pcl_macros.h +- +boost/shared_ptr.hpp +- +Eigen/StdVector +- +Eigen/Core +- +pcl/point_cloud.h +- +pcl/PointIndices.h +- +pcl/PCLPointCloud2.h +- +pcl/impl/pcl_base.hpp +- + +/usr/local/include/pcl-1.8/pcl/pcl_config.h + +/usr/local/include/pcl-1.8/pcl/pcl_exports.h + +/usr/local/include/pcl-1.8/pcl/pcl_macros.h +pcl/pcl_config.h +- +boost/cstdint.hpp +- +cstdlib +- +iostream +- +stdarg.h +- +stdio.h +- +math.h +- +math.h +- +cmath +- +cmath +- +stdio.h +- +math.h +- + +/usr/local/include/pcl-1.8/pcl/point_cloud.h +Eigen/StdVector +- +Eigen/Geometry +- +pcl/PCLHeader.h +- +pcl/exceptions.h +- +pcl/point_traits.h +- + +/usr/local/include/pcl-1.8/pcl/point_representation.h +pcl/point_types.h +- +pcl/pcl_macros.h +- +pcl/for_each_type.h +- + +/usr/local/include/pcl-1.8/pcl/point_traits.h +pcl/pcl_macros.h +/usr/local/include/pcl-1.8/pcl/pcl/pcl_macros.h +pcl/PCLPointField.h +- +boost/type_traits/remove_all_extents.hpp +- +boost/type_traits/is_same.hpp +- +boost/mpl/assert.hpp +- +boost/mpl/bool.hpp +- +Eigen/Core +- +Eigen/src/StlSupport/details.h +- + +/usr/local/include/pcl-1.8/pcl/point_types.h +pcl/pcl_macros.h +- +bitset +- +pcl/register_point_struct.h +- +boost/mpl/contains.hpp +- +boost/mpl/fold.hpp +- +boost/mpl/vector.hpp +- +pcl/impl/point_types.hpp +- + +/usr/local/include/pcl-1.8/pcl/register_point_struct.h +pcl/pcl_macros.h +- +pcl/point_traits.h +- +boost/mpl/vector.hpp +- +boost/preprocessor/seq/enum.hpp +- +boost/preprocessor/seq/for_each.hpp +- +boost/preprocessor/seq/transform.hpp +- +boost/preprocessor/cat.hpp +- +boost/preprocessor/comparison.hpp +- +boost/utility.hpp +- +boost/type_traits.hpp +- +stddef.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/boost.h +boost/random.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/eigen.h +Eigen/Core +- +unsupported/Eigen/NonLinearOptimization +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/lmeds.hpp +pcl/sample_consensus/lmeds.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/mlesac.hpp +pcl/sample_consensus/mlesac.h +- +pcl/point_types.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/msac.hpp +pcl/sample_consensus/msac.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/prosac.hpp +boost/math/distributions/binomial.hpp +- +pcl/sample_consensus/prosac.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/ransac.hpp +pcl/sample_consensus/ransac.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/rmsac.hpp +pcl/sample_consensus/rmsac.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/rransac.hpp +pcl/sample_consensus/rransac.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_circle.hpp +pcl/sample_consensus/eigen.h +- +pcl/sample_consensus/sac_model_circle.h +- +pcl/common/concatenate.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_circle3d.hpp +pcl/sample_consensus/eigen.h +- +pcl/sample_consensus/sac_model_circle3d.h +- +pcl/common/concatenate.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_cone.hpp +pcl/sample_consensus/eigen.h +- +pcl/sample_consensus/sac_model_cone.h +- +pcl/common/concatenate.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_cylinder.hpp +pcl/sample_consensus/eigen.h +- +pcl/sample_consensus/sac_model_cylinder.h +- +pcl/common/concatenate.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_line.hpp +pcl/sample_consensus/sac_model_line.h +- +pcl/common/centroid.h +- +pcl/common/concatenate.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_normal_parallel_plane.hpp +pcl/sample_consensus/sac_model_normal_parallel_plane.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_normal_plane.hpp +pcl/sample_consensus/sac_model_normal_plane.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_normal_sphere.hpp +pcl/sample_consensus/sac_model_normal_sphere.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_parallel_line.hpp +pcl/common/common.h +- +pcl/sample_consensus/sac_model_parallel_line.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_parallel_plane.hpp +pcl/sample_consensus/sac_model_parallel_plane.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_perpendicular_plane.hpp +pcl/sample_consensus/sac_model_perpendicular_plane.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_plane.hpp +pcl/sample_consensus/sac_model_plane.h +- +pcl/common/centroid.h +- +pcl/common/eigen.h +- +pcl/common/concatenate.h +- +pcl/point_types.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_sphere.hpp +pcl/sample_consensus/eigen.h +- +pcl/sample_consensus/sac_model_sphere.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/impl/sac_model_stick.hpp +pcl/sample_consensus/sac_model_stick.h +- +pcl/common/centroid.h +- +pcl/common/concatenate.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/lmeds.h +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/impl/lmeds.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/method_types.h + +/usr/local/include/pcl-1.8/pcl/sample_consensus/mlesac.h +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/impl/mlesac.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/model_types.h +map +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/msac.h +algorithm +- +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/impl/msac.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/prosac.h +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/impl/prosac.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/ransac.h +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/impl/ransac.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/rmsac.h +algorithm +- +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/impl/rmsac.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/rransac.h +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/impl/rransac.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac.h +pcl/sample_consensus/boost.h +- +pcl/sample_consensus/sac_model.h +- +ctime +- +set +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model.h +cfloat +- +ctime +- +limits.h +- +set +- +pcl/console/print.h +- +pcl/point_cloud.h +- +pcl/sample_consensus/boost.h +- +pcl/sample_consensus/model_types.h +- +pcl/search/search.h +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_circle.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/sample_consensus/impl/sac_model_circle.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_circle3d.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/sample_consensus/impl/sac_model_circle3d.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_cone.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/pcl_macros.h +- +pcl/common/common.h +- +pcl/common/distances.h +- +limits.h +- +pcl/sample_consensus/impl/sac_model_cone.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_cylinder.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/pcl_macros.h +- +pcl/common/common.h +- +pcl/common/distances.h +- +pcl/sample_consensus/impl/sac_model_cylinder.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_line.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/common/eigen.h +- +pcl/sample_consensus/impl/sac_model_line.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_normal_parallel_plane.h +pcl/sample_consensus/sac_model_normal_plane.h +- +pcl/sample_consensus/model_types.h +- +pcl/sample_consensus/impl/sac_model_normal_parallel_plane.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_normal_plane.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/sac_model_plane.h +- +pcl/sample_consensus/sac_model_perpendicular_plane.h +- +pcl/sample_consensus/model_types.h +- +pcl/sample_consensus/impl/sac_model_normal_plane.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_normal_sphere.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/sac_model_sphere.h +- +pcl/sample_consensus/model_types.h +- +pcl/common/common.h +- +pcl/sample_consensus/impl/sac_model_normal_sphere.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_parallel_line.h +pcl/sample_consensus/sac_model_line.h +- +pcl/sample_consensus/impl/sac_model_parallel_line.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_parallel_plane.h +pcl/sample_consensus/sac_model_plane.h +- +pcl/common/common.h +- +pcl/sample_consensus/impl/sac_model_parallel_plane.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_perpendicular_plane.h +pcl/sample_consensus/sac_model_plane.h +- +pcl/common/common.h +- +pcl/sample_consensus/impl/sac_model_perpendicular_plane.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_plane.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/sample_consensus/impl/sac_model_plane.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_sphere.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/sample_consensus/impl/sac_model_sphere.hpp +- + +/usr/local/include/pcl-1.8/pcl/sample_consensus/sac_model_stick.h +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/model_types.h +- +pcl/common/eigen.h +- +pcl/sample_consensus/impl/sac_model_stick.hpp +- + +/usr/local/include/pcl-1.8/pcl/search/impl/kdtree.hpp +pcl/search/kdtree.h +- +pcl/search/impl/search.hpp +- + +/usr/local/include/pcl-1.8/pcl/search/impl/organized.hpp +pcl/search/organized.h +- +pcl/common/eigen.h +- +pcl/common/time.h +- +Eigen/Eigenvalues +- + +/usr/local/include/pcl-1.8/pcl/search/impl/search.hpp +pcl/search/search.h +- + +/usr/local/include/pcl-1.8/pcl/search/kdtree.h +pcl/search/search.h +- +pcl/kdtree/kdtree_flann.h +- +pcl/search/impl/kdtree.hpp +- + +/usr/local/include/pcl-1.8/pcl/search/octree.h +pcl/search/search.h +- +pcl/octree/octree_search.h +- +pcl/octree/impl/octree_search.hpp +- + +/usr/local/include/pcl-1.8/pcl/search/organized.h +pcl/point_cloud.h +- +pcl/point_types.h +- +pcl/search/search.h +- +pcl/common/eigen.h +- +algorithm +- +queue +- +vector +- +pcl/common/projection_matrix.h +- +pcl/search/impl/organized.hpp +- + +/usr/local/include/pcl-1.8/pcl/search/pcl_search.h +pcl/search/search.h +- +pcl/search/kdtree.h +- +pcl/search/octree.h +- +pcl/search/organized.h +- + +/usr/local/include/pcl-1.8/pcl/search/search.h +pcl/point_cloud.h +- +pcl/for_each_type.h +- +pcl/common/concatenate.h +- +pcl/common/copy_point.h +- +pcl/search/impl/search.hpp +- + +/usr/local/include/pcl-1.8/pcl/segmentation/boost.h +boost/version.hpp +- +boost/make_shared.hpp +- +boost/graph/adjacency_list.hpp +- +boost/multi_array.hpp +- +boost/ptr_container/ptr_list.hpp +- +boost/graph/boykov_kolmogorov_max_flow.hpp +- + +/usr/local/include/pcl-1.8/pcl/segmentation/extract_polygonal_prism_data.h +pcl/pcl_base.h +- +pcl/sample_consensus/sac_model_plane.h +- +pcl/segmentation/impl/extract_polygonal_prism_data.hpp +- + +/usr/local/include/pcl-1.8/pcl/segmentation/impl/extract_polygonal_prism_data.hpp +pcl/segmentation/extract_polygonal_prism_data.h +- +pcl/common/centroid.h +- +pcl/common/eigen.h +- + +/usr/local/include/pcl-1.8/pcl/segmentation/impl/lccp_segmentation.hpp +pcl/segmentation/lccp_segmentation.h +- + +/usr/local/include/pcl-1.8/pcl/segmentation/impl/sac_segmentation.hpp +pcl/segmentation/sac_segmentation.h +- +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/lmeds.h +- +pcl/sample_consensus/mlesac.h +- +pcl/sample_consensus/msac.h +- +pcl/sample_consensus/ransac.h +- +pcl/sample_consensus/rmsac.h +- +pcl/sample_consensus/rransac.h +- +pcl/sample_consensus/prosac.h +- +pcl/sample_consensus/sac_model.h +- +pcl/sample_consensus/sac_model_circle.h +- +pcl/sample_consensus/sac_model_circle3d.h +- +pcl/sample_consensus/sac_model_cone.h +- +pcl/sample_consensus/sac_model_cylinder.h +- +pcl/sample_consensus/sac_model_line.h +- +pcl/sample_consensus/sac_model_normal_plane.h +- +pcl/sample_consensus/sac_model_parallel_plane.h +- +pcl/sample_consensus/sac_model_normal_parallel_plane.h +- +pcl/sample_consensus/sac_model_parallel_line.h +- +pcl/sample_consensus/sac_model_perpendicular_plane.h +- +pcl/sample_consensus/sac_model_plane.h +- +pcl/sample_consensus/sac_model_sphere.h +- +pcl/sample_consensus/sac_model_normal_sphere.h +- +pcl/sample_consensus/sac_model_stick.h +- + +/usr/local/include/pcl-1.8/pcl/segmentation/impl/supervoxel_clustering.hpp +pcl/segmentation/supervoxel_clustering.h +- + +/usr/local/include/pcl-1.8/pcl/segmentation/lccp_segmentation.h +pcl/pcl_base.h +- +pcl/point_types.h +- +pcl/point_cloud.h +- +pcl/segmentation/supervoxel_clustering.h +- +pcl/segmentation/impl/lccp_segmentation.hpp +- + +/usr/local/include/pcl-1.8/pcl/segmentation/sac_segmentation.h +pcl/pcl_base.h +- +pcl/PointIndices.h +- +pcl/ModelCoefficients.h +- +pcl/sample_consensus/method_types.h +- +pcl/sample_consensus/sac.h +- +pcl/sample_consensus/model_types.h +- +pcl/sample_consensus/sac_model.h +- +pcl/search/search.h +- +pcl/segmentation/impl/sac_segmentation.hpp +- + +/usr/local/include/pcl-1.8/pcl/segmentation/supervoxel_clustering.h +pcl/features/normal_3d.h +- +pcl/pcl_base.h +- +pcl/point_cloud.h +- +pcl/point_types.h +- +pcl/octree/octree.h +- +pcl/octree/octree_pointcloud_adjacency.h +- +pcl/search/search.h +- +pcl/segmentation/boost.h +- +pcl/common/time.h +- +pcl/segmentation/impl/supervoxel_clustering.hpp +- + +/usr/local/include/pcl-1.8/pcl/surface/boost.h +boost/bind.hpp +- +boost/function.hpp +- +boost/random.hpp +- +boost/unordered_map.hpp +- +boost/dynamic_bitset/dynamic_bitset.hpp +- +boost/shared_ptr.hpp +- + +/usr/local/include/pcl-1.8/pcl/surface/convex_hull.h +pcl/pcl_config.h +- +pcl/surface/reconstruction.h +- +pcl/ModelCoefficients.h +- +pcl/PolygonMesh.h +- +pcl/surface/impl/convex_hull.hpp +- + +/usr/local/include/pcl-1.8/pcl/surface/impl/convex_hull.hpp +pcl/pcl_config.h +- +pcl/surface/convex_hull.h +- +pcl/common/common.h +- +pcl/common/eigen.h +- +pcl/common/transforms.h +- +pcl/common/io.h +- +stdio.h +- +stdlib.h +- +pcl/surface/qhull.h +- + +/usr/local/include/pcl-1.8/pcl/surface/impl/reconstruction.hpp +pcl/search/pcl_search.h +- + +/usr/local/include/pcl-1.8/pcl/surface/qhull.h +pcl/pcl_config.h +- +libqhull/libqhull.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/libqhull.h +libqhull/mem.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/mem.h +libqhull/qset.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/qset.h +libqhull/geom.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/geom.h +libqhull/merge.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/merge.h +libqhull/poly.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/poly.h +libqhull/io.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/io.h +libqhull/stat.h +/usr/local/include/pcl-1.8/pcl/surface/libqhull/stat.h +qhull/qhull.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/qhull.h +qhull/mem.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/mem.h +qhull/qset.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/qset.h +qhull/geom.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/geom.h +qhull/merge.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/merge.h +qhull/poly.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/poly.h +qhull/io.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/io.h +qhull/stat.h +/usr/local/include/pcl-1.8/pcl/surface/qhull/stat.h + +/usr/local/include/pcl-1.8/pcl/surface/reconstruction.h +pcl/pcl_base.h +- +pcl/PolygonMesh.h +- +pcl/search/pcl_search.h +- +pcl/conversions.h +- +pcl/surface/boost.h +- +pcl/surface/impl/reconstruction.hpp +- + +/usr/local/include/pcl-1.8/pcl/visualization/area_picking_event.h +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/boost.h +boost/function.hpp +- +boost/shared_array.hpp +- +boost/signals2.hpp +- +boost/shared_ptr.hpp +- +boost/algorithm/string.hpp +- +boost/algorithm/string/split.hpp +- +boost/algorithm/string/classification.hpp +- +boost/thread.hpp +- +boost/bind.hpp +- +boost/unordered_map.hpp +- +boost/thread/mutex.hpp +- +boost/thread/thread.hpp +- +boost/foreach.hpp +- +boost/date_time/posix_time/posix_time.hpp +- +boost/filesystem.hpp +- + +/usr/local/include/pcl-1.8/pcl/visualization/common/actor_map.h +pcl/visualization/point_cloud_handlers.h +- +vector +- +map +- +pcl/PCLPointCloud2.h +- +boost/unordered_map.hpp +- +vtkLODActor.h +- +vtkSmartPointer.h +- +pcl/PCLPointCloud2.h +- +pcl/visualization/boost.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/common/common.h +pcl/pcl_macros.h +- +pcl/visualization/eigen.h +- +vtkMatrix4x4.h +- +pcl/visualization/common/impl/common.hpp +- + +/usr/local/include/pcl-1.8/pcl/visualization/common/impl/common.hpp + +/usr/local/include/pcl-1.8/pcl/visualization/common/impl/shapes.hpp +vtkSmartPointer.h +- +vtkPoints.h +- +vtkPolygon.h +- +vtkUnstructuredGrid.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/common/ren_win_interact_map.h +map +- +string +- + +/usr/local/include/pcl-1.8/pcl/visualization/common/shapes.h +pcl/ModelCoefficients.h +- +pcl/point_cloud.h +- +pcl/visualization/eigen.h +- +pcl/geometry/planar_polygon.h +- +pcl/visualization/common/impl/shapes.hpp +- + +/usr/local/include/pcl-1.8/pcl/visualization/eigen.h +Eigen/Geometry +- +Eigen/Dense +- + +/usr/local/include/pcl-1.8/pcl/visualization/impl/pcl_visualizer.hpp +vtkVersion.h +- +vtkSmartPointer.h +- +vtkCellArray.h +- +vtkLeaderActor2D.h +- +vtkVectorText.h +- +vtkAlgorithmOutput.h +- +vtkFollower.h +- +vtkMath.h +- +vtkSphereSource.h +- +vtkProperty2D.h +- +vtkDataSetSurfaceFilter.h +- +vtkPointData.h +- +vtkPolyDataMapper.h +- +vtkProperty.h +- +vtkMapper.h +- +vtkCellData.h +- +vtkDataSetMapper.h +- +vtkRenderer.h +- +vtkRendererCollection.h +- +vtkAppendPolyData.h +- +vtkTextProperty.h +- +vtkLODActor.h +- +vtkLineSource.h +- +pcl/visualization/common/shapes.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/impl/point_cloud_color_handlers.hpp +set +- +map +- +pcl/pcl_macros.h +- +pcl/common/colors.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/impl/point_cloud_geometry_handlers.hpp +pcl/pcl_macros.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/interactor_style.h +pcl/console/print.h +- +pcl/visualization/common/actor_map.h +- +pcl/visualization/common/ren_win_interact_map.h +- +pcl/visualization/keyboard_event.h +- +pcl/visualization/mouse_event.h +- +pcl/visualization/point_picking_event.h +- +pcl/visualization/area_picking_event.h +- +boost/signals2/signal.hpp +- +vtkInteractorStyleRubberBandPick.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/keyboard_event.h +string +- + +/usr/local/include/pcl-1.8/pcl/visualization/mouse_event.h +pcl/visualization/keyboard_event.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/pcl_visualizer.h +pcl/correspondence.h +- +pcl/ModelCoefficients.h +- +pcl/PolygonMesh.h +- +pcl/TextureMesh.h +- +pcl/console/print.h +- +pcl/visualization/common/actor_map.h +- +pcl/visualization/common/common.h +- +pcl/visualization/point_cloud_geometry_handlers.h +- +pcl/visualization/point_cloud_color_handlers.h +- +pcl/visualization/point_picking_event.h +- +pcl/visualization/area_picking_event.h +- +pcl/visualization/interactor_style.h +- +pcl/visualization/impl/pcl_visualizer.hpp +- + +/usr/local/include/pcl-1.8/pcl/visualization/point_cloud_color_handlers.h +pcl/point_cloud.h +- +pcl/common/io.h +- +pcl/visualization/common/common.h +- +vtkSmartPointer.h +- +vtkDataArray.h +- +vtkFloatArray.h +- +vtkUnsignedCharArray.h +- +pcl/visualization/impl/point_cloud_color_handlers.hpp +- + +/usr/local/include/pcl-1.8/pcl/visualization/point_cloud_geometry_handlers.h +pcl/point_cloud.h +- +pcl/common/io.h +- +vtkSmartPointer.h +- +vtkPoints.h +- +vtkFloatArray.h +- +pcl/visualization/impl/point_cloud_geometry_handlers.hpp +- + +/usr/local/include/pcl-1.8/pcl/visualization/point_cloud_handlers.h +pcl/visualization/point_cloud_geometry_handlers.h +- +pcl/visualization/point_cloud_color_handlers.h +- + +/usr/local/include/pcl-1.8/pcl/visualization/point_picking_event.h +pcl/pcl_macros.h +- +vector +- +vtkCommand.h +- + diff --git a/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/tabletop_object_detection_test.o b/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/tabletop_object_detection_test.o index dc98c411e8c0c6c0bd9b53fc0b383a220a857086..588ac6f3dd73ae352681b8bda08dd5e0ef3d742c 100644 GIT binary patch delta 12810 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 Pk1}Ds-F!~sNg4e=R4qV1 delta 12817 zcmcIq2~<_rxjuWt6|N#fBmx3*5kydAFsNLdn3M~m0f*Ei4yZA;jYiA}C;|Z!38I*j z<hLeGv6+m~M#c03)d)3hOlnhYlhkHtF?}|sCNG+_7Kn!T{pXxZwxq7t_11cO#ry63 zf8Rgs;hcN!Ax*Ci-g$U%Q@lL$w}WG+i|9+5rV0G}(!zgOc-g}4mU^+$fAH*8<&Kr> z?pT%KXt^BFK2$G>+MvIYHq@sf$8n)PAWHut>PCmF{*CkS(p>d_vGBNopDya_>vPrr zO7BPuo>+hW!U<RHF9pQ+*$mqF(E7X*MEJ~6&k3>4)+xMxENtkyh3!LOJ16wrj$tha zA`gg`4o8e{)o7chWo-A}6{(%_9@`PAHQ8*xjnuxj+5V3HAloYu+Vg`7(XaEdy&0kH z@F_w6vXAY92(7`_b~!?O%9r~O+iSfWBDD|wZGR5eF8JF{M`=$6M4*2xz}6C_{Usn9 z{Z9jJPe*BA2ihKr(i(#zu8!1Nf~ssEkJPGzM_};vjkYr*wciZ4{b8g=A-26Ewc4-< zSoVe4zKqn~3`<78dV~$iV<S-Xr4gL#n-MnTZ3^ddcZS<AfxY22OvW7!$?<R|Pn+fl z7=9YbTwk9Euusyo=e=w%x13EV$_l$BYhl)ch4okGyXwDk)qIxXt!cFoZM&hR@UBOM zyy~aFyJl|KAwNyq6X1Fyv&h()H!>G725jD?PhGo6tk9oWn-=l9tHC?g)p$5IQ)2TP z%g!4+GIR5P1#Ax1&#g@h`Dh5+k68S^*k*))Mo+&xYL%<8e{6~Zy%_&@<Kb9Sc_g+A z=Wl?A>CQD7q<-Y?b0S>->ADp0cl{6R77a?gGaxEg)00adxFPD!CRf9e*e2BE+T0gV zXS3_aO2fr@{e#k^At!vXDrHkez{8*D!RwF3v_RER7rPZ1Q~Ne|1Z>;JZVg*ws~I=H z8BiCXUtS+mb-@S2`irjm_Zo`RUG-nP0$%x}OZ?K+`LWIARqV(O_<2DfKC*+*xxv*K zoasW;6FiTAS3+IleV5ncu}v7}ZW)}rC0lGMkXBab#j3{|zb9O^ZwTk(v0ESs*nSIN z9*vJ%>##A_@mkA|?pY_6UQYd>e>Zr#D6}rNnG0=rJa!M`YtC(dP3Qk|>o2(yP+qS$ z3V6@uJRMM5f&)?5nD}OX=Q;0!h6VBQ1>+XPJ6turQ4^5#;g9q??)&G|!us<rFHcaH z!_|-(?@Bn~>g=|;usU^<a3E4Uet{~r3xRhg1w_@MhrIP?aOm`H_eY2mEid0cTZljC z|9YS?T8-9tuW&VR#3Dp|3zgYi&iD1_A6yYK7!h9MFvs|#-n>WD|5=YJyJ^m^#kAr+ zO}l@3R_!+;tM<LVPha{Pi_<X4(57}|9pPGx^XaO2ozHx3eb?<vvKD78$y$0Ghr%qd zwmUpv^E&;RvSi`X-!2;y{;=V1_+4nTVi}{XBYI$YyrGKImz57g@80q$iTU-fd+uU| z^?$u^#>`lM{LZFNZ^dqThM$&Upm&vz5}CSJMYMgSaicr_slPtHVzO}St18lbjGepi zlKxc1h{&g0^~Wzfi4Q)pzL*M5?0pX#(LUX%{~qeVZ}?VuTt9fv@Ijw`d9|;vsU>B@ zDXAyb1?tV4HneQmwBMn7Hz&$3G<`yIk~pl7|4EEEqZi}z3V%w6P2csCQ8L%2zxI<^ zgB)0{bfNER9;Mec2g_3K7RV!_<!{aNqzv@dGoH<mh2HuDfGytop=Vc!&-5FgOO_Ef zeb#dsa*<7c=(!}h#ik#6?lBoLNT2omlk)H&{m;+eCIfx+j2Gt05+D6hzyTlq{TGr% zmu`RYW|`uv-}YjG+~}*n@ZuyC8NFwQEfb}5qn9J6+V#DAlJv*-1j}lB%icYMgxoS% zKlD<PY#rS4@k=A5e8*4!=H*G!Z>RyeCTtw4zp(EfaZwN3KY5-D(Gvaff%Zj!rr{`P zTDE`SHks`o+US+-@7U^{<sbjBEyq8lc2I$Tm#^34p@aQXa{c48{2kCho9*vgfLoiE ziGOAOEqnLh<*yHY%}4J(a);jh>p^<>k&pCECni$q2VzLevqwLg;E%hh(Z0amWk~() zPsWNhdili};y%6Y;*8-N`E;WBnxL_)$dKJw_iw1;mc~ncK~(515~<Zo1dAB@t(TZV zC%s@u_ZGplm8mlBo#fv3(ZZKHyoDe6*)Z$|ArriG|9_4nr%eo_t!yo`v7CFY-18g6 zO70bMFMSYtTe(-py_4K)MNg)B>D#^-M?HhYFq!6ssUfBh$Mj*X4{N#Cik?h|_B^!A z7y81Q?#ofRSH``Q+-v2YpB=q!?iF$`-Of7hm2vMR_gcAEIGA;Iv4Bo;uWT@SenZ$c zm|5<n4`E;Km2vMR_gcB<=f^tk6>=}#k9FKD<K9W`wW23yqw3GcxqJM?e4!U!N_3a` z3oNEDIfscp5lYTrQ6*BSEf^ygwcRL=QF<`P8ZOpQEBE|DxOXGlxK}n@1iSr0#Xc|D zF^t;7#U^=i7-d9=O~OHK5r|eq&PYHtwJ{tZ=SWc{yMn2Gq?jcxkcbiwia;ul0+~rY zQR0{=r8bA@7;Sj8F$9ux6dccoQu`=4enBEeOwR5I!|fR@-8x!)+P=WpbNWIJR?~`c znXp8fa?7e|%_FH|w1^Yi>Fg*GVm~#~WJ;(e7==Ab(J>+<p?iesRc5(y5`I=3nB=G# zBqhq!t){GLSOg<PX}B4JzoNNu2!6~Q7~-lKqPahWQAf8KM2q-t5Pn7-7-Srsjm2aF z9pKPP&B?^k+0mFxlNDr-Ng9=OqdzdnU1pGKhpF2~ox?F14k6O1XSA4sBjt<(WKuc9 zB5DK3&!VX}PE5CJqfEasBvRnFI}UzjR6Yhu94~;p7)8Bf#B`h?XS|qUueKaU8`V;C zya+|2Hc&V-Jpj4WK^X}M-C-#wS;_<vDi1iQ9h}gpCjlPu<Qxkqp>lw1ji&aoaBPY( zYqFb;j&VqVBR>wxW-4buX#jhdCA`HFCL+V0QIwI0447^rlqd~gZ;mxX-a=U;c$$eK zM0Ukc#(1Na^6|*NC6?MTv^z$d(gG`J60(<)Gl>g~rHUkY)KMFTJYTk+ilvNXIHrs> z9d}#vO@?C`wIxH+HI{lI;cF}f)fA00mG@c76ew}sfs&`jQE!S-zB3idQ;DW>kEKk- z3_IefJr$B_>VZTaNT7@fNMD*{N)s&U1QBX$W*hBZfqUPn2_oKpz|x#CHIAE**hS8p zFqtMQXYi#qh7#&wSWV6}Ugs1u^vhQ0G*q!Ok=oNxMHBTv!aF$;#dJ)diixml)P^CG z3@PNC1i&_%(8hoxz~CU~WTYs~FjG86ofCM2CSik`CsF%k1Pi1dmZVHEC7)1D1SHGT zaa0j9-3ZbKkb5RmZ@Q7)>4Y_u$^o(~i`t!Hy4;dYy+C_Mwi)L`b2cRzn9Z3Ss>pz6 zGqq*FGoE@Fu<cXKI1C4<jlo4d0C_5pGNvMG(=4h0qM){^oGg!ed6-GgX{IZ{-c@X- z96>b;p*%YcrKeC2D>QOW2b5Ad1McPKs0SchZ=;MEMzHc3hO~_Vd&5vh&P-@7E~AP} zXs~e@+5=aZnR2Zi&N7acGt2NR2gsd^sXYr0*c%?UE}@KU%%kHDs$e{`l-e0DuA*MX z?q!sb19=gZ=O73QWWd>D@Fiz1l3x6wnbb`+xni>HUP0}-aM?pWU@>3kOeE^4q>7oG zsFK<(?6ojsmT9lBupMX*tT%%OS~JPROajT7hluG^&VVHc*haIE&hjA-bcuM|m~Y2L zJWlv_+=Q`Asi%ry5l3AvM8qz*5DF(W-+*#}J>}ZeUHPW)-%uq5pjK0P0h}|b4PY<% z);SR+M$g7c-dRBzv#}!8R6ZL@oFsreQ9-@1%8q)<D8!5}TAm}RGX$Qy3vo&UsjU#w zZb%{FV>QP}RnAaNZ2;NvDD}=koaPObF&83@%IESd8u}M-EW(|gi*UH;KyjFx0l0b? za5rVZo&xL#zIDTQE0q*sh7cBUq6TU&LZXWe)XUhkkur*r&_U(JMz}VBJhPE{+1gCb zc^GzWrHXkN;!cbqv^@ZONuya@sC5y}=UWO+$b2X<t@&^~)kwV<%C1VvSO7DowE&() z+ph8KT7dd+y@G<Hb0KHkMimR;P)cnW@|*$olI{J=Va)3mWNh6;6}OlfZ!whsYF&t@ zro!(D-oEnh!HxxDD4`yJ+*3svi{R8u<%?h~qBel+YNB3P<$-F-xD{+BmEQ_>5w$Ti zQxAhi&f8eKgDP%=2Hy@Ca)E5^c!)A?H;O60okg|Oj-kBx81=FlzKacUIRi>!I6yrN znD`Qopi{*XuHj*72l9@>%$`dzt?ngQr{<-Y_MR=&zEn)7vZb&%mSF*l$hnLqY-ol- zcGpw;GK8vr!n{}<B~T$v3DS6M&8DqQwK<lXy5&Yy<qRd%29R5K>Ctt=DR2e8hnjYI z_9ANqZWzsvQpF0?+e~dMuv4Kc`4Ldlx=5@PlkMGy%;8{n)=IH<koXdDZuIif{$b%| z3%lu!ABbdk+z-XxLGogN`}d{dj=-=uGn4W;8$ZD`ZH)Wo8nGk9&QGD--lg?Bae@5Z z1RqNM5k_Gqj5DFYgvBP@ZNerK8VyK&7S9=@jE7D$YKaNjuVIhYeq~Msws^~a-t-<! z#k-I$#(>mpJc0bXAgc^JKaQGhwS~J(?~^9<7?3|06CY(fyIw1vVc7X`^jiB0!_H5b zW-GOj+(A!?<Ul;gXT2=&D}XM&j7sO3u)%~D6Hc1oO~v~lnP9?$CVXN-7#(D8t_f}v z#!}FJ7_&`SY(k|8&zf-9gv%y0(r$LxXM%%H^JuIIt4w&rguN#G(uDU-=rbTJX1=EF z*7&`a**s6yn`p<+5bq;e&JabNfUxxoSX|#P_H;Vw64N6WGTq>@YJpbF2Pyg$5n|g0 zIuOTnm^e(uFy#LRhG=d3cl4JH`;LD57%NWnEv$d6-|mS&iw+`O*j)zwL_cl)JklEJ zENJlx1swpKF(B-}4e`!?ak`ZwjIy8#%lRIs+SN~cO1PWWGyP+O{&7ETJ<4h)4e$Jq z4f>gW+EZwcVQ=oY53`a6F5+yv`|Te66cPuK?M{P!?mP5WN(G&N$e>^Br$eo%Um5n7 z`t8#!d)lp>ZC}6Ldg#>dp&gv<ut6W_r#<1ksgvmix3PE2cj(=8iRu3~=%0UwE~Mx~ zp!eR+-fiEZ{iqnUxSMJiYE1YML$WPliRawhPiH|#w!jdr{jooYXSx0fy8{O-*qzWK z4#d#AXG9g<`6m$`c-!3h_fA?~TDt1)J7yNmUb&X4{v>A8{bxjk`=9TLPXvX3DU8=f ze(oFI7in>{yiY{Ex>cU@_L)0>-I{x6{=j{=O@2HCugW#|+#vaYz{UTo8{~r`$31PB z{LLV8MMys}l@><GWGW0tzm!rVWJqYOwdfK!10PrL#*rI!M9A2Deu3|?>`|0iiv56M zpQ_kf6?-=AA1_1j-8DW^;_xb}3yLb2u7*K1iyB7&@@PCD%%zBvEiu3Goli?xm2dhK z8a`op5PO>Ek{ANR96AayB}Pg=+L?&i&!^87?`tyR>3L4LOdcTl&l5a}g$tX{J7G2K zy3x3{eEM;r3~?Wcl)ggbn1c^TnuBvu@<n=Qgbb!;hxC@Yl14_$dG2n9JmL-QtE1)i zYbH3;ifgS#oUt1B$I0X{bt9WB6=%<(qjB<&I1^8dkv>NLc=-hux-kI@t(I*4RM5<l zk0xL_X3*zQ!PhocexH5Uj*|~w<5XZ};swv6tK$r(@rekXk2s!V<T);;Y6)oUA<7D& zt%=fwxbG&)JS=`BADBFvI38j0sdA(-s$^q6JuzM`3scXaw5~O-cLohjf=@P0V?dor znDQK&nT&-ggurt(mRLS!A&tp$nV3eOLxrhEreIV^l_@A*T}<o6lV+Z&{h;aTRGg_( zDRK=`O-n_2H`BsYq*4$0TU-~KS>FGppgA}FKNj@cGz8D0@e^g<HDzx#t2WBcrpAew z+<ba|BE)%Qn`G?EM1~o3H6AOmagq$hB0Mn(o1<QcOO(yYr=gSolVrc0%zNj)I$08* z{U@f%?Wl0{H27w_H&2sQY_(-8R^wVCzZ`i6e&=%J%{Zg(i8JNDgvfJ`&%=4YW+w}j zqH<`C3uh#cM&~17p8M5&Ia%<5FTjkm$Tk}jQcuAlA9G=NJF}>AHcG_}Znh!*6^paM zc+PvDBE|{9)qf2gU_H=qtQ_~+Lisy?G0#2icCLROH7-W%d31C!V$XBGyV#u7=%q4> zXE$@1iK|MuUffNV%VSV4Spg?p)GII<9OacVZ>V}0<7oX#>{e(z{u-j;HsvWalXk-% z=DCWwAfeDp=`_=8%&8k^;w5F8<s|L^{m6Cb$0?QRpI(Q4g_bjY^g8rgw1eq0*P+i* zC(~bDht}v4)BehitCbI<=vAO26<VG5C@N<9rt8pCsD|l93jM0GEUV}s)AuU0n!B3L zGQCZqRqvhDISV_#7jN2RNNT60GHzJN;d$_xi9R=mHYIlft-lk&ixpZb8~On41|783 zqB$yluW5mFdZ8RfAKoeb!njm!4C)1Ng~ay}IS6uYOnWPl<0zHsDGF^<=ptIq^jd}X zQRvOIgXzZ<`WMLHIi?4xlj+wKn)9Eu7Uxa6#Pr)1&EJhN`1cC_aeI%VSA#x3fc}Na zYM)av)BjR}Kd<EWqZ-ip5ysyJ&3V73&=VB9x?GPac78<jOl3cv<!px(dY2OJI0gLx z^v4SAr+9xtS)lVjQ)qP|dKLR-5cspV(fEHG;l|pbO1Ko-&Dru5IzXZ4(rKpWE3}$z zHHjaBu2*O^_)pB>tqQFM|Adya_vS%HWkzXywmj>!h<1P$ODOs-z#8gg@k7deRb6bN zODulL^!b_Lli#6;gO$kdDRwo;2bP_W4}NlM-PT>Yi)v6p*tr38rrj+3b2<n*^&d*q z8<lK51Kd_yZr>PDg%<^_LGU5UH-cU9j-)K6f2hzQ3cZomgBIINXr|pPeqIre$9{QM z^e~-f`gaPgPCuQ*TF@m{eZ0|0xV}8zYblj!!K;JDw7OlxX*ttZ6k5HA3TX$^JNbr# z#@=DdJSI^mXgq`)P)C<o{G^|u)jXH;+vZSvilXnvHL%~JIhMM;#}&Iezqb^-x<T(y z4Z?-}Ny#>uV_L0?4sy0nu0wyOL>-~b=pTwbT(JuZT8C^m4K>4i&RUUm6=c$Brth(6 zuH!L$cs8NR@E*EDp{uD99<*<r^vi!)wJUC|iak;(=9p#oR1t6O-s>bvQN?c*ItG<k zFTu6n8%5%UoH3OvO7LnWsW)9h5P^dM@Q?8~C(JX7^rB}<<?zw!14@p<^S6^{#tV%o zVWkSKZfYe(uScbiD0Bicc)XvaVy2%}=;caq{OykELl*5>hHmRFikDzaA5pwh74J9c zEa?2R3aysrW4z2X&$?<4R_x76xM<3{2kSM3)-%j8AnZX!tOn6(H>>s=P<7%us=r;w z{*`6t3G-ZC*7s<yq93W8lRicN21@ocZ}Vpr`P?gmQtj4nEDjn4XHWCD?Cf_!neQ;V zbT3wSghF#IQ>|L?Iumq$+yFYwqQ@!rXr<It#Xbsl&o`ixqVGetnF<}F(95Zq=`{+? z#ayu_v5{(+t{XsmTg5y|2btbEfR3=}XXq@`FAbpMt>A|!=zh@c3Y`p3&l&EdET&H? zG?$iQd7q;7OrIG*FSh8v&~DJ;uZ9Z$v&d<TMt?Oxyv7oLt=LoPqx)sJeWOJUq0|TX z2gCz1(7x5Oh0}7jx!Cr!WgAC3*jC22eU@zsb+T;_+m2Ya*>s6*XV`YqvaO`(2Qig< zgUm61SMW?d>x7FLbpAez_8eXh?Y8WE&SI4l@tR`ia5?zL?JYXU+5Rwq&NW&5iQ_Ej z)N=~`fpU7kvFrnj45H3*toLxrDnsz_8_Z~2>pNVS)f}{*={SpKX0&n|C(~)r`O~gL zyOgM7;O1#_6}@`67m(nZZZ%2^TY4Sum2`<!tBum~?@?6oN{%umhkAW&QtX||I@Ov< zw_GP&qnY$EBdK_XqAO6s3&!G!m#G+|uoflqHQyLiQz6IT&q=hmLT1~>qR2qnT_vOF zK&AAv#+?=TSyQ+P?<mGn<pvo;TZRcg+XO?~SuMxWR%lJ*MAOI)pRuvKUJj+kN*q$Z zjWX1x&}%lTv~+sWreR{Zn(@j*o~UM7skJDp=-aZ2>oDe0@VA&Hl_)EnGhRU+yzxC+ ziJ$UmX6m#J{i)Y)fzSC3&`st1JK4jat=VwliS;s+?qDCwSdS^HV-{_EbbyGBPgfzF zQ3cDfTGOgfMFNe-0^p_CM;ovXuh)P{R86wbi<VZ);dG@+ridgOUoG?4_VyN;#5nyS zaE4o|;U)_t{dt2Nj=yRysYc)oI?5ZKW{^}^gCJ>CStIjk%|j^CnCST$In|nSHBbH_ znL>V>(K}IrkEeMpjJlr&fl7@X<CJugDc@RnV__}P;#%qA!nSeIM`{g^&uir}qex1u zgxkhC*@X9bu;z&(_rlG1-NM!QJ-J2txwk$nR|_LOhIN#NlSNN&kxjIbd%5-Kz0SSQ zxaU_TL*0)*D&O&5eiz?)(D+6$MY$1FTXr^OvA}Beiay(81hy*r9L4@29o#NMvNh$m u)=Y(tRqV4AyGyZi2`M)Bs3tjmaLPN%MYj#aMe7ORBjq~gub3dKp8o+nhFI_b diff --git a/trunk/doc/html/annotated.html b/trunk/doc/html/annotated.html new file mode 100644 index 0000000..6a4e505 --- /dev/null +++ b/trunk/doc/html/annotated.html @@ -0,0 +1,65 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Data Structures</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="classes.html"><span>Data Structure Index</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Data Structures</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory"> +<table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structObject.html" target="_self">Object</a></td><td class="desc"></td></tr> +<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classTableTop__Object__Detection.html" target="_self">TableTop_Object_Detection</a></td><td class="desc"></td></tr> +<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structtableTop__object__detection__parameters.html" target="_self">tableTop_object_detection_parameters</a></td><td class="desc"></td></tr> +</table> +</div><!-- directory --> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/bc_s.png b/trunk/doc/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000O80015c1^@s65rAI}0007ONkl<ZcmeI5 z%WD%+6voe;xyj6=NhXt~4{e$zF*P<SZp4L@2Hd!iQY<tJD@e5{RU55hl&Talf{KWb zN*6A=C`Gqz5#NvcXzNOCOH(I9n<#?l<k5ws2omoMCgj%s3y1G=&gJ~>y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE<Gz)cj&*s5lRy$b&*W@2j<GZEpXZ$P|Z!4Q$_|`5gj> z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/trunk/doc/html/bdwn.png b/trunk/doc/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C<wUB513~7 zF-Lk{?g8$ijf`2F^ip|Vw7EpzIJxiU`6~>2wk~_T<sM_r%les%%^JdHy*A#$ew5wb vr&wL1c8#4j*F5jfGT)c(PZrEb5O3m+yDrVre6KeTXbXd<tDnm{r-UW|3$!!q literal 0 HcmV?d00001 diff --git a/trunk/doc/html/classTableTop__Object__Detection.html b/trunk/doc/html/classTableTop__Object__Detection.html new file mode 100644 index 0000000..f65e6a4 --- /dev/null +++ b/trunk/doc/html/classTableTop__Object__Detection.html @@ -0,0 +1,406 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: TableTop_Object_Detection Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="classes.html"><span>Data Structure Index</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> </div> + <div class="headertitle"> +<div class="title">TableTop_Object_Detection Class Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p><code>#include <<a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>></code></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:aae7c3acdedfe90a1a78d4ba019d53939"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae7c3acdedfe90a1a78d4ba019d53939"></a> + </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection</a> ()</td></tr> +<tr class="memdesc:aae7c3acdedfe90a1a78d4ba019d53939"><td class="mdescLeft"> </td><td class="mdescRight">Class costructor. <br/></td></tr> +<tr class="separator:aae7c3acdedfe90a1a78d4ba019d53939"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a75fb88d53b6d2d70fb6f24e0360dcef8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75fb88d53b6d2d70fb6f24e0360dcef8"></a> + </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">~TableTop_Object_Detection</a> ()</td></tr> +<tr class="memdesc:a75fb88d53b6d2d70fb6f24e0360dcef8"><td class="mdescLeft"> </td><td class="mdescRight">class destructor <br/></td></tr> +<tr class="separator:a75fb88d53b6d2d70fb6f24e0360dcef8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a40051e60619a46e0a1fe3df06a6367d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a> (pcl::PointCloud< pcl::PointXYZRGBA > input_cloud, <a class="el" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> &opt)</td></tr> +<tr class="memdesc:a40051e60619a46e0a1fe3df06a6367d9"><td class="mdescLeft"> </td><td class="mdescRight">Class initializer. <a href="#a40051e60619a46e0a1fe3df06a6367d9">More...</a><br/></td></tr> +<tr class="separator:a40051e60619a46e0a1fe3df06a6367d9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a52028dcd2c15d9609ca4f5c0419c3e14"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a52028dcd2c15d9609ca4f5c0419c3e14">init</a> (pcl::PointCloud< pcl::PointXYZRGBA > input_cloud)</td></tr> +<tr class="memdesc:a52028dcd2c15d9609ca4f5c0419c3e14"><td class="mdescLeft"> </td><td class="mdescRight">Class initializer, with default parameters. <a href="#a52028dcd2c15d9609ca4f5c0419c3e14">More...</a><br/></td></tr> +<tr class="separator:a52028dcd2c15d9609ca4f5c0419c3e14"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a890c8e6be3cae5aa41b8b2ecbc3bf34a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a890c8e6be3cae5aa41b8b2ecbc3bf34a"></a> +<a class="el" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a> ()</td></tr> +<tr class="memdesc:a890c8e6be3cae5aa41b8b2ecbc3bf34a"><td class="mdescLeft"> </td><td class="mdescRight">get the default parameters of the algorithm <br/></td></tr> +<tr class="separator:a890c8e6be3cae5aa41b8b2ecbc3bf34a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a82b13b33ede8b98cc506715700f5760a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82b13b33ede8b98cc506715700f5760a"></a> +void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a> ()</td></tr> +<tr class="memdesc:a82b13b33ede8b98cc506715700f5760a"><td class="mdescLeft"> </td><td class="mdescRight">Detect and segment the objects on the table. <br/></td></tr> +<tr class="separator:a82b13b33ede8b98cc506715700f5760a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a04a52e6b5c3c906514a0ef111075f93e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a> (boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</td></tr> +<tr class="memdesc:a04a52e6b5c3c906514a0ef111075f93e"><td class="mdescLeft"> </td><td class="mdescRight">shows in the viewer the supervoxels <a href="#a04a52e6b5c3c906514a0ef111075f93e">More...</a><br/></td></tr> +<tr class="separator:a04a52e6b5c3c906514a0ef111075f93e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a892f9cc8b0ab76b1fcac802c4a55cb55"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a892f9cc8b0ab76b1fcac802c4a55cb55">show_super_voxels</a> (boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</td></tr> +<tr class="memdesc:a892f9cc8b0ab76b1fcac802c4a55cb55"><td class="mdescLeft"> </td><td class="mdescRight">shows in the viewer the supervoxels <a href="#a892f9cc8b0ab76b1fcac802c4a55cb55">More...</a><br/></td></tr> +<tr class="separator:a892f9cc8b0ab76b1fcac802c4a55cb55"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abe6dd4074db8cec51da0e85d4841c2e9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">show_segmented_objects</a> (boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</td></tr> +<tr class="memdesc:abe6dd4074db8cec51da0e85d4841c2e9"><td class="mdescLeft"> </td><td class="mdescRight">show the segmented objects <a href="#abe6dd4074db8cec51da0e85d4841c2e9">More...</a><br/></td></tr> +<tr class="separator:abe6dd4074db8cec51da0e85d4841c2e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5b99f038253f4bb3282b3ffea82cd444"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a> (boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</td></tr> +<tr class="memdesc:a5b99f038253f4bb3282b3ffea82cd444"><td class="mdescLeft"> </td><td class="mdescRight">clean all the pointclouds or shapes introduced by the class in the viewer <a href="#a5b99f038253f4bb3282b3ffea82cd444">More...</a><br/></td></tr> +<tr class="separator:a5b99f038253f4bb3282b3ffea82cd444"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a98e6dbcffc628ec9ff8c0b91bd07bf7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a98e6dbcffc628ec9ff8c0b91bd07bf7d"></a> +std::vector< <a class="el" href="structObject.html">Object</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a> ()</td></tr> +<tr class="memdesc:a98e6dbcffc628ec9ff8c0b91bd07bf7d"><td class="mdescLeft"> </td><td class="mdescRight">Get the detected objects as a vector of the variable <a class="el" href="structObject.html">Object</a>. <br/></td></tr> +<tr class="separator:a98e6dbcffc628ec9ff8c0b91bd07bf7d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3225e48172e84101b8ae82a8c9dd08dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3225e48172e84101b8ae82a8c9dd08dd"></a> +std::vector< pcl::PointCloud<br class="typebreak"/> +< pcl::PointXYZRGBA > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">get_segmented_objects_simple</a> ()</td></tr> +<tr class="memdesc:a3225e48172e84101b8ae82a8c9dd08dd"><td class="mdescLeft"> </td><td class="mdescRight">Get the detected objects as a vector of point clouds. <br/></td></tr> +<tr class="separator:a3225e48172e84101b8ae82a8c9dd08dd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad13b6dd411e0a557a4de7a9323da33bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad13b6dd411e0a557a4de7a9323da33bb"></a> +void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a> ()</td></tr> +<tr class="memdesc:ad13b6dd411e0a557a4de7a9323da33bb"><td class="mdescLeft"> </td><td class="mdescRight">Print the parameters of the algorithm in the shell. <br/></td></tr> +<tr class="separator:ad13b6dd411e0a557a4de7a9323da33bb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a48985d7b12316ccecbd85c7e09f1e6af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48985d7b12316ccecbd85c7e09f1e6af"></a> +pcl::PointCloud< pcl::PointXYZL > </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">get_labeled_voxel_cloud</a> ()</td></tr> +<tr class="memdesc:a48985d7b12316ccecbd85c7e09f1e6af"><td class="mdescLeft"> </td><td class="mdescRight">returns labeld voxel cloud <br/></td></tr> +<tr class="separator:a48985d7b12316ccecbd85c7e09f1e6af"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2d6ea56e8d89a278a4640ca827c9da4d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d6ea56e8d89a278a4640ca827c9da4d"></a> +std::multimap< uint32_t, uint32_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">get_supervoxel_adjacency</a> ()</td></tr> +<tr class="memdesc:a2d6ea56e8d89a278a4640ca827c9da4d"><td class="mdescLeft"> </td><td class="mdescRight">returns supervoxel_adjacency map <br/></td></tr> +<tr class="separator:a2d6ea56e8d89a278a4640ca827c9da4d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abe94e4ef82ab5c9474853a97f3bc0d11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe94e4ef82ab5c9474853a97f3bc0d11"></a> +std::map< uint32_t, <br class="typebreak"/> +pcl::Supervoxel<br class="typebreak"/> +< pcl::PointXYZRGBA >::Ptr > </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">get_supervoxel_clusters</a> ()</td></tr> +<tr class="memdesc:abe94e4ef82ab5c9474853a97f3bc0d11"><td class="mdescLeft"> </td><td class="mdescRight">returns supervoxel_clusters <br/></td></tr> +<tr class="separator:abe94e4ef82ab5c9474853a97f3bc0d11"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7f4100b194f701841e3fe565a613415c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f4100b194f701841e3fe565a613415c"></a> +pcl::PointCloud< pcl::PointNormal > </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">get_sv_normal_cloud</a> ()</td></tr> +<tr class="memdesc:a7f4100b194f701841e3fe565a613415c"><td class="mdescLeft"> </td><td class="mdescRight">returns normals point cloud of the supervoxels <br/></td></tr> +<tr class="separator:a7f4100b194f701841e3fe565a613415c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:add2c002a7a38a4c3c7f63da754e34d4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add2c002a7a38a4c3c7f63da754e34d4e"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_disable_transform</b> (bool disable_transform_in)</td></tr> +<tr class="separator:add2c002a7a38a4c3c7f63da754e34d4e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad074ff558b84c29706e387b81e8149d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad074ff558b84c29706e387b81e8149d4"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_voxel_resolution</b> (double voxel_resolution_in)</td></tr> +<tr class="separator:ad074ff558b84c29706e387b81e8149d4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac54ae37bcdff707624e22d95cc81061b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac54ae37bcdff707624e22d95cc81061b"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_seed_resolution</b> (double seed_resolution_in)</td></tr> +<tr class="separator:ac54ae37bcdff707624e22d95cc81061b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab957ceeccf9cb866adaf166fa3ba4640"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab957ceeccf9cb866adaf166fa3ba4640"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_color_importance</b> (double color_importance_in)</td></tr> +<tr class="separator:ab957ceeccf9cb866adaf166fa3ba4640"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad618b94b478efe5e0a47bb558731d562"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad618b94b478efe5e0a47bb558731d562"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_spatial_importance</b> (double spatial_importance_in)</td></tr> +<tr class="separator:ad618b94b478efe5e0a47bb558731d562"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0c3830789a4f31d1a3e8d2c59a91ce92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c3830789a4f31d1a3e8d2c59a91ce92"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_normal_importance</b> (double normal_importance_in)</td></tr> +<tr class="separator:a0c3830789a4f31d1a3e8d2c59a91ce92"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3c88c89d1f0904be45d6656801a51c46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c88c89d1f0904be45d6656801a51c46"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_concavity_tolerance_threshold</b> (double concavity_tolerance_threshold_in)</td></tr> +<tr class="separator:a3c88c89d1f0904be45d6656801a51c46"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2ee63f06e10c2587ea7a12606b3b2d31"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ee63f06e10c2587ea7a12606b3b2d31"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_smoothness_threshold</b> (double smoothness_threshold_in)</td></tr> +<tr class="separator:a2ee63f06e10c2587ea7a12606b3b2d31"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abe29d2ad047e25862df52814533b7dda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe29d2ad047e25862df52814533b7dda"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_min_segment_size</b> (int min_segment_size_in)</td></tr> +<tr class="separator:abe29d2ad047e25862df52814533b7dda"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9215deffc4294e71794eff3abc889624"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9215deffc4294e71794eff3abc889624"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_use_extended_convexity</b> (bool use_extended_convexity_in)</td></tr> +<tr class="separator:a9215deffc4294e71794eff3abc889624"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acebfa6d42f897dd68a30bc22a3dbfcba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acebfa6d42f897dd68a30bc22a3dbfcba"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_use_sanity_criterion</b> (bool use_sanity_criterion_in)</td></tr> +<tr class="separator:acebfa6d42f897dd68a30bc22a3dbfcba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9b658ebb208f3b1086285fdc5ab801f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b658ebb208f3b1086285fdc5ab801f6"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_zmin</b> (double zmin_in)</td></tr> +<tr class="separator:a9b658ebb208f3b1086285fdc5ab801f6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a27eac153fbfda668801895d40d15704f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27eac153fbfda668801895d40d15704f"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_zmax</b> (double zmax_in)</td></tr> +<tr class="separator:a27eac153fbfda668801895d40d15704f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9ee88b2f945f66ab3f076903bd5c6fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ee88b2f945f66ab3f076903bd5c6fc3"></a> +void </td><td class="memItemRight" valign="bottom"><b>set_th_points</b> (int th_points_in)</td></tr> +<tr class="separator:a9ee88b2f945f66ab3f076903bd5c6fc3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1b22bdd1bdc4ff9249282c3c3dcee478"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b22bdd1bdc4ff9249282c3c3dcee478"></a> +bool </td><td class="memItemRight" valign="bottom"><b>get_disable_transform</b> ()</td></tr> +<tr class="separator:a1b22bdd1bdc4ff9249282c3c3dcee478"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad37232b498025405408cce8c8f7a009f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad37232b498025405408cce8c8f7a009f"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_voxel_resolution</b> ()</td></tr> +<tr class="separator:ad37232b498025405408cce8c8f7a009f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac13fc7708854a6ca46d1c695ef81ce1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac13fc7708854a6ca46d1c695ef81ce1b"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_seed_resolution</b> ()</td></tr> +<tr class="separator:ac13fc7708854a6ca46d1c695ef81ce1b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad59d288ae696d9c43493e567e644d97c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad59d288ae696d9c43493e567e644d97c"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_color_importance</b> ()</td></tr> +<tr class="separator:ad59d288ae696d9c43493e567e644d97c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a57f4da1d9159065858e89dc64216bfe9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57f4da1d9159065858e89dc64216bfe9"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_spatial_importance</b> ()</td></tr> +<tr class="separator:a57f4da1d9159065858e89dc64216bfe9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1dda1e3bdc6a198409c6a8b5b1ee7460"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dda1e3bdc6a198409c6a8b5b1ee7460"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_normal_importance</b> ()</td></tr> +<tr class="separator:a1dda1e3bdc6a198409c6a8b5b1ee7460"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4f08e47899bf875fd8691b314bfb45c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f08e47899bf875fd8691b314bfb45c3"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_concavity_tolerance_threshold</b> ()</td></tr> +<tr class="separator:a4f08e47899bf875fd8691b314bfb45c3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab02089d8ff34552693911dd437ef1b54"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab02089d8ff34552693911dd437ef1b54"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_smoothness_threshold</b> ()</td></tr> +<tr class="separator:ab02089d8ff34552693911dd437ef1b54"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae222d5db60f666996a6cad42e8ff1e8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae222d5db60f666996a6cad42e8ff1e8e"></a> +int </td><td class="memItemRight" valign="bottom"><b>get_min_segment_size</b> ()</td></tr> +<tr class="separator:ae222d5db60f666996a6cad42e8ff1e8e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a70508b556903b41d409b25af17698793"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70508b556903b41d409b25af17698793"></a> +bool </td><td class="memItemRight" valign="bottom"><b>get_use_extended_convexity</b> ()</td></tr> +<tr class="separator:a70508b556903b41d409b25af17698793"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a19a552d77134637bb057919ce73b2a0a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19a552d77134637bb057919ce73b2a0a"></a> +bool </td><td class="memItemRight" valign="bottom"><b>get_use_sanity_criterion</b> ()</td></tr> +<tr class="separator:a19a552d77134637bb057919ce73b2a0a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af27e15ba795278e6538fd62e680d56f7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af27e15ba795278e6538fd62e680d56f7"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_zmin</b> ()</td></tr> +<tr class="separator:af27e15ba795278e6538fd62e680d56f7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af1294cf3f0cc8872b9d7ffddaea9478e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1294cf3f0cc8872b9d7ffddaea9478e"></a> +double </td><td class="memItemRight" valign="bottom"><b>get_zmax</b> ()</td></tr> +<tr class="separator:af1294cf3f0cc8872b9d7ffddaea9478e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a175bd137364f6bb2f55fbac2a07fd9ba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a175bd137364f6bb2f55fbac2a07fd9ba"></a> +int </td><td class="memItemRight" valign="bottom"><b>get_th_points</b> ()</td></tr> +<tr class="separator:a175bd137364f6bb2f55fbac2a07fd9ba"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Class to detect the table top objects in a cluttered scene segmenting the point cloud(organized or not) It returns through the</p> +<div class="fragment"><div class="line"><a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>() </div> +</div><!-- fragment --><p> a vector of Objects, where each object is defined by a point cloud and a label. The table must be the bigger plane in the point cloud. The algorithm is based on the lccp segmentation algorithm: <a href="http://docs.pointclouds.org/trunk/classpcl_1_1_l_c_c_p_segmentation.html">http://docs.pointclouds.org/trunk/classpcl_1_1_l_c_c_p_segmentation.html</a></p> +<p>How to use: </p> +<div class="fragment"><div class="line"><a class="code" href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a> seg;</div> +<div class="line">seg(cloud); <span class="comment">//not pointer</span></div> +<div class="line">seg.<a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a>();</div> +<div class="line">std::vector<Object> objects = seg.<a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>(); </div> +</div><!-- fragment --><p> or: </p> +<div class="fragment"><div class="line">std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > objects = seg.<a class="code" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">get_segmented_objects_simple</a>(); </div> +</div><!-- fragment --> +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00091">91</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> +</div><h2 class="groupheader">Member Function Documentation</h2> +<a class="anchor" id="a40051e60619a46e0a1fe3df06a6367d9"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void TableTop_Object_Detection::init </td> + <td>(</td> + <td class="paramtype">pcl::PointCloud< pcl::PointXYZRGBA > </td> + <td class="paramname"><em>input_cloud</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> & </td> + <td class="paramname"><em>opt</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">input_cloud</td><td>input cloud to segment </td></tr> + <tr><td class="paramname">opt</td><td>parameters for the algorithm </td></tr> + </table> + </dd> +</dl> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00013">13</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a52028dcd2c15d9609ca4f5c0419c3e14"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void TableTop_Object_Detection::init </td> + <td>(</td> + <td class="paramtype">pcl::PointCloud< pcl::PointXYZRGBA > </td> + <td class="paramname"><em>input_cloud</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">input_cloud</td><td>input cloud to segment </td></tr> + </table> + </dd> +</dl> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00021">21</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a04a52e6b5c3c906514a0ef111075f93e"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void TableTop_Object_Detection::show_super_voxels </td> + <td>(</td> + <td class="paramtype">boost::shared_ptr< pcl::visualization::PCLVisualizer > & </td> + <td class="paramname"><em>viewer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname"><em>show_adjacency_map</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname"><em>show_super_voxel_normals</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">viewer</td><td>viewer on which shows the supervoxels </td></tr> + <tr><td class="paramname">show_adjacency_map</td><td>show the connection of the supervoxels </td></tr> + <tr><td class="paramname">show_super_voxel_normals</td><td>show the normals of the supervoxels </td></tr> + </table> + </dd> +</dl> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00321">321</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a892f9cc8b0ab76b1fcac802c4a55cb55"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void TableTop_Object_Detection::show_super_voxels </td> + <td>(</td> + <td class="paramtype">boost::shared_ptr< pcl::visualization::PCLVisualizer > & </td> + <td class="paramname"><em>viewer</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">viewer</td><td>viewer on which shows the supervoxels </td></tr> + </table> + </dd> +</dl> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00367">367</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="abe6dd4074db8cec51da0e85d4841c2e9"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void TableTop_Object_Detection::show_segmented_objects </td> + <td>(</td> + <td class="paramtype">boost::shared_ptr< pcl::visualization::PCLVisualizer > & </td> + <td class="paramname"><em>viewer</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">viewer</td><td>viewer in which shows the objects </td></tr> + </table> + </dd> +</dl> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00404">404</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a5b99f038253f4bb3282b3ffea82cd444"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void TableTop_Object_Detection::clean_viewer </td> + <td>(</td> + <td class="paramtype">boost::shared_ptr< pcl::visualization::PCLVisualizer > & </td> + <td class="paramname"><em>viewer</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">viewer</td><td>viewer to clean up </td></tr> + </table> + </dd> +</dl> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00430">430</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li>/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/<a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a></li> +<li>/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/<a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a></li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/classes.html b/trunk/doc/html/classes.html new file mode 100644 index 0000000..2e0e126 --- /dev/null +++ b/trunk/doc/html/classes.html @@ -0,0 +1,69 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Data Structure Index</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="classes.html"><span>Data Structure Index</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Data Structure Index</div> </div> +</div><!--header--> +<div class="contents"> +<div class="qindex"><a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_T">T</a></div> +<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0"> +<tr><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  O  </div></td></tr></table> +</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  T  </div></td></tr></table> +</td><td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  t  </div></td></tr></table> +</td><td></td></tr> +<tr><td></td></tr> +<tr><td valign="top"><a class="el" href="structObject.html">Object</a>   </td><td valign="top"><a class="el" href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a>   </td><td valign="top"><a class="el" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a>   </td><td></td></tr> +<tr><td></td><td></td><td></td><td></td></tr> +</table> +<div class="qindex"><a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_T">T</a></div> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/closed.png b/trunk/doc/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8<G4C~~x2bkCl7 zlF9slZh~6z%aUT|WfKm3{P*dDAfv<6>{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..d435139 --- /dev/null +++ b/trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,68 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: /home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src Directory Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">src Directory Reference</div> </div> +</div><!--header--> +<div class="contents"> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a> +Directories</h2></td></tr> +<tr class="memitem:dir_e931c1a3f0014e624d0645a271726ad2"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a> +Files</h2></td></tr> +<tr class="memitem:tabletop__object__detection_8cpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tabletop_object_detection.cpp</b> <a href="tabletop__object__detection_8cpp_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:tabletop__object__detection_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tabletop_object_detection.h</b> <a href="tabletop__object__detection_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html b/trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html new file mode 100644 index 0000000..0b9de46 --- /dev/null +++ b/trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html @@ -0,0 +1,61 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: /home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/examples Directory Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">examples Directory Reference</div> </div> +</div><!--header--> +<div class="contents"> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a> +Files</h2></td></tr> +<tr class="memitem:tabletop__object__detection__test_8cpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tabletop_object_detection_test.cpp</b> <a href="tabletop__object__detection__test_8cpp_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/doxygen.css b/trunk/doc/html/doxygen.css new file mode 100644 index 0000000..f0f36f8 --- /dev/null +++ b/trunk/doc/html/doxygen.css @@ -0,0 +1,1366 @@ +/* The standard CSS for doxygen 1.8.6 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/trunk/doc/html/doxygen.png b/trunk/doc/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 zcmV;!4m|ORP)<h;3K|Lk000e1NJLTq003wJ0018d1^@s63p<F|000h(Nkl<ZcmeHQ zd0ds%x_&e@B~(leQIt>tMIv#Q0*~7<F|l1ZVT5-RDygU_D&hbl1PO?G!02E&AgGC= zZN)5-^5BGUBqbS?oI>*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1<B=i>M@jKU|Z~$eI?PoF4Vj>f<jDMm<J9Y`yoa+TL}}nh1XOW>Dzyo zAiLfpXY*a<I(D9QKZkbcV%budKX>^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+<E#%$BN8?9&2`XF7LYR>WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof<JcynBP?5;;Hj z5&eaFaU9!r?$Z!yiA0iczsm`lZQ1Q_f!pH!Vb=UbaniMS2h4rH7k+#41ORG)=X>-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(u<ZFT0vzGbA7HOqUbO4YBUD4VpaA7aAi z`;yHWY}3Vkp6~i#=>S#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vH<EH?l6o;YyW^)wNA36}ocwXH@B9yX*N9`RUu$0?DW6D6ZqU(wh|t!U;k4w{ zH3|#>wZU<K8~-&UxVP@$khUv1RFND27=jD%j`vdBxN>>|f0NI&%$*4eJ<o-E@WY`` zqsV5Uq0M(^e2$XbFQVQY6A&05BoX(oqU-Sbz&pR-sMeX{(#EY_uNvG}BHk}N3y1ea z&)~4V{6c-_c}Yb90AmPVmxDc9RtA&ZXtL`~<RoleJ4+E0`>weC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQ<Xbb-O<Z4>sS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o<nje2|Avo`h6^!)bS{!kN^oebdd#5CQZW;b zA~P)_xQB}-?DMcO;{2ZM^9Wlyhwp^EkrNh$g-#zJZI+W)Fn_KeU+CPzoDA3XHu>@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c<qySZ3PfzX|h zNxj~sZx=;8Umdw9ghf!XjC^g!!4jbxk=-nc)2X_;TCvXGx~JD`-7FPr%}ttM#Q243 zdSwWYRlDX2nZa}#Gt<Dmm^PQv_W8@V1ahd2xzT--lXvzyozAEE>%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1<b9>c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!Q<bah>KNK zHBXCtUH<T{Q0VG*iQ!ybGT-d~B6-ML?|B@`9jAJuXM0(zdxXQ88~8P;7XLeUe|t_d z>8)<!#He?t!J^GeqTQ|g&oVhlWWSQ^3wbH*P~P%5jK!(1iLn|0Ky6Ue@po!$EH;54 z;b>RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8<m-U!GYcFSJLJ zOPLuMsUG=;l_>Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC<a0TFv~_Gn5J$t&6%>6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c<MxE}d=F238nid!5E zbuV4Li)mAR_zs;;KC)#onQ@0|X4)pAsc9QjTs>>go4{C|^erwpG*&h6bs<zmjhG<* zE{sn|w6-*tdUsTEE)MUBrppa@^|iO0)`UpL`5B|0$bS|TNcm?8(P;6KR3zVdakzT^ zsBpiu>pUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7<lndN{fZB#2e8hBJ?W_# zvKYcfdj<vgzAF_~|7`oJ7%A(QC6W9Love!T&>H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1<z4ER5ty_VVXxzYOzIn{d_~;>^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(<hQHpK6Z5 zi8eq^eB?|3P+;Mzy(m7G=1H>YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%Wfhvd<CBbJFZu|&ix|RtW*|v*5b8v`i@U0n+f47 zSD?cyrs7)6mOLEQ#wKo0-7FqSilZ<#F2PzZ$MO33Xevog+LBLYy~$@nSkTm3^W^yC zIq3WalbvYN?L<?79-5^ZkD<zq3;?x3uP+ePW4QK{U>QNDuOfQoe377l#h<A9J4gi0 z4<mxkd?gaZPl$u7PvFeS1JK+=3Z4yZ-0&IVW0nAr#-z!@ac#DB%O-yJZu-*838Tl) zfLhfR0BRsTs}x^uTZf1DZceAq-6UVWVnvvOfYmAaIKDqNk!<>t&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z<YhXx*Cp6|P&Q z+&qgTQ*iOjK{t})*a1j`bTm4jd}pY1(@eH1C?v+IyX*vouKAMl_ar-Fo7CB0J+`B! zO@tRs%)~YFtGCC#lSsGBNG`mdNCagNLGHRWeLO;*wB~O}5I-EeTKCSz6~O^ejO66c z0Z7B!dkX8bBYo7B91O_`fdat)7RXmXui^e-vnKTv=YIa>9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} literal 0 HcmV?d00001 diff --git a/trunk/doc/html/dynsections.js b/trunk/doc/html/dynsections.js new file mode 100644 index 0000000..2f15470 --- /dev/null +++ b/trunk/doc/html/dynsections.js @@ -0,0 +1,104 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l<level+1) { + i.attr('src','ftv2folderopen.png'); + a.attr('src','ftv2mnode.png'); + $(this).show(); + } else if (l==level+1) { + i.attr('src','ftv2folderclosed.png'); + a.attr('src','ftv2pnode.png'); + $(this).show(); + } else { + $(this).hide(); + } + }); + updateStripes(); +} + +function toggleFolder(id) +{ + //The clicked row + var currentRow = $('#row_'+id); + var currentRowImages = currentRow.find("img"); + + //All rows after the clicked row + var rows = currentRow.nextAll("tr"); + + //Only match elements AFTER this one (can't hide elements before) + var childRows = rows.filter(function() { + var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub + return this.id.match(re); + }); + + //First row is visible we are HIDING + if (childRows.filter(':first').is(':visible')===true) { + currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png'); + currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png'); + rows.filter("[id^=row_"+id+"]").hide(); + } else { //We are SHOWING + //All sub images + var childImages = childRows.find("img"); + var childImg = childImages.filter("[id^=img]"); + var childArr = childImages.filter("[id^=arr]"); + + currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row + currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row + childImg.attr('src','ftv2folderclosed.png'); //children closed + childArr.attr('src','ftv2pnode.png'); //children closed + childRows.show(); //show all children + } + updateStripes(); +} + + +function toggleInherit(id) +{ + var rows = $('tr.inherit.'+id); + var img = $('tr.inherit_header.'+id+' img'); + var src = $(img).attr('src'); + if (rows.filter(':first').is(':visible')===true) { + rows.css('display','none'); + $(img).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + rows.css('display','table-row'); // using show() causes jump in firefox + $(img).attr('src',src.substring(0,src.length-10)+'open.png'); + } +} + + +$(document).ready(function() { + $('.code,.codeRef').each(function() { + $(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); + $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); + }); +}); diff --git a/trunk/doc/html/examples.html b/trunk/doc/html/examples.html new file mode 100644 index 0000000..1dfb076 --- /dev/null +++ b/trunk/doc/html/examples.html @@ -0,0 +1,55 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Examples</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li class="current"><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Examples</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock">Here is a list of all examples:</div><ul> +<li><a class="el" href="tableTop_object_segmentation_test_8cpp-example.html">tableTop_object_segmentation_test.cpp</a></li> + +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/files.html b/trunk/doc/html/files.html new file mode 100644 index 0000000..b9269a6 --- /dev/null +++ b/trunk/doc/html/files.html @@ -0,0 +1,65 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: File List</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">File List</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory"> +<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_')"/><img id="img_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_')"/><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr> +<tr id="row_0_0_"><td class="entry"><img src="ftv2blank.png" alt=" " width="16" height="22" /><img id="arr_0_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_')"/><img id="img_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_')"/><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html" target="_self">examples</a></td><td class="desc"></td></tr> +<tr id="row_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="tabletop__object__detection__test_8cpp_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>tabletop_object_detection_test.cpp</b></td><td class="desc"></td></tr> +<tr id="row_0_1_"><td class="entry"><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="tabletop__object__detection_8cpp_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>tabletop_object_detection.cpp</b></td><td class="desc"></td></tr> +<tr id="row_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="tabletop__object__detection_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><b>tabletop_object_detection.h</b></td><td class="desc"></td></tr> +</table> +</div><!-- directory --> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/ftv2blank.png b/trunk/doc/html/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2cl.png b/trunk/doc/html/ftv2cl.png new file mode 100644 index 0000000000000000000000000000000000000000..132f6577bf7f085344904602815a260d29f55d9b GIT binary patch literal 453 zcmV;$0XqJPP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0004uNkl<ZcmeI* zJ4hoz9LMo*G>VBF;ev;toEj8_OB0EQg5eYilIj#JZG_m^33l3^k4mtzx!TVD?g)Y$ zrvwRDSqT!wLIM$dWCIa$vtxE|mzbTzu-y&$FvF6WA2a{Wr1g}`WdPT-0JzEZ0IxAv z-Z+ejZc&H;I5-pb_SUB}04j0^V)3t{`z<7asDl2Tw3w3sP%)0^8$bhEg)IOTBcRXv zFfq~3&gvJ$F-U7mpBW8z1GY~HK&7h4^YI~Orv~wLnC0PP_dAkv;nzX{9Q|8Gv=2ca z@v)c9T;D#h`TZ2X&&$ff2wedmot995de~-s3I)yauahg;7qn*?1n?F$e+PwP37}~; z1N<Fr08O(6oL}b6aV*kfj`bSoZ_{M77oZ`w8szdCsq~dB^zguYxu~^S-z<Q7RLwX@ zUGSupm>KUk7reVK^7A;$QRW7qAx40HHUZ<|k3U%nz(Ec`#i+q9K!dgcROAlCS?`L= v>#=f?wF5ZND!1uAfQsk;KN^4&*8~0npJiJ%2dj9(00000NkvXXu0mjfWVFf_ literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2doc.png b/trunk/doc/html/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV<G0u}v<P)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz00089Nkl<ZcmeI5 zO;1x>7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$))<VZ%w8AHp|fq%mP;4ffy zZ-fC6h(S;T@^On$pg;?)``rZ-=s7qr4DR5hE4!!NdDmX=TJJeiSGimUI5QXkXNfZ> zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!n<GayH9yHg8K} z>w*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXR<pt)Tx_l7FX`b+T&0J~3Ac zDisC2f48s?Pz6U1j(Y#7FGXj244=p1VQ-4TfmZrD8|c58q%jdB67*815?3si0IJ}q zK#I#XHom~r+!`&75xy*K>bTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41N<zz(9MkMF~u!W-n>Azrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3<FfbmLT1ma;4wB2Ka6K c|6iFu0IFBSu=gW%4*&oF07*qoM6N<$f>OR*Hvj+t literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2folderclosed.png b/trunk/doc/html/ftv2folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006nNkl<ZcmeHQ zO;6N77=GINb=Z(>a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM<n!c> zlFX`g{k$X}yIe%$N)cn1LNu=q<K5OS7CNKPk1f&9-+dXiicCfAy8a*|m;2$mAHWmO zXHGi+kV1-pHt+rM<gA>9_CS)*<?(PP8<}W6a5(^^keLBRMb50K&dQM@pmn94ZU=xQ zQX)TlxfVQ_9);_LB~VUu;v|U_-?p*(;VWJ|=^7%ZGN6sBL~)dHv|OyK(wPKdmH>>A zsX_mM4<gjHpqc8Q=uo450T?4i;CdW;`z|<XAntIp>L@`(cSNQKMFc$RtYbx{79<Tw zWXi-A43v#7I@t_Ijx7TKV2n(H{k|uniNrjlLmWw}y*t^*R9a-QX?;6B==9%$de=Kk z*QYpi761&SjtX%clomR5cK>#j-J7hk*>*+ZZhM4Hw?<fJyv$}=71o`ou(^pUn-ky6 z->I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000<MNUMnLSTaR CZX#j; literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2folderopen.png b/trunk/doc/html/ftv2folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c7f676a3b3ef8c2c307d319dff3c6a604eb227 GIT binary patch literal 597 zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006UNkl<ZcmeHQ zKX21e5dS%8nlx#!9XpK>X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgY<a!3GSVHw98r3tc|WLmCr=#k@b07--d0B^h;_*7huEOe@B5HbiIMnQNV2X-w6 zOrIHW*Nh!-3RJ{NFA7|xb7mLqy*mtQR%uj&==!8@USn{@{Ji@c`@7F#U6jIrqNF?z zhGG8IoU)VO(*u}!lcNr&IgdJw?)fXgkFy?t@!%{)3!Y}PHt9|Ph>gTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2lastnode.png b/trunk/doc/html/ftv2lastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2link.png b/trunk/doc/html/ftv2link.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV<G0u}v<P)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz00089Nkl<ZcmeI5 zO;1x>7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$))<VZ%w8AHp|fq%mP;4ffy zZ-fC6h(S;T@^On$pg;?)``rZ-=s7qr4DR5hE4!!NdDmX=TJJeiSGimUI5QXkXNfZ> zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!n<GayH9yHg8K} z>w*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXR<pt)Tx_l7FX`b+T&0J~3Ac zDisC2f48s?Pz6U1j(Y#7FGXj244=p1VQ-4TfmZrD8|c58q%jdB67*815?3si0IJ}q zK#I#XHom~r+!`&75xy*K>bTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41N<zz(9MkMF~u!W-n>Azrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3<FfbmLT1ma;4wB2Ka6K c|6iFu0IFBSu=gW%4*&oF07*qoM6N<$f>OR*Hvj+t literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2mlastnode.png b/trunk/doc/html/ftv2mlastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22 GIT binary patch literal 246 zcmV<S015wzP)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD0002JNkl<ZcmeI* zAx;B97{&1)q=(=LT%h;h3{`DFU=Y+bY0?v5>kw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$<w7_^JU^7%7%0zJH4kA|nU6I?=t2?`YfNxzFd zLI<~*e?p<IJGcmIw6zLXu+2_Dc6pD@(bhEM-}eIron6S{S?uGdd`*1=UDVom9yVbN wee?!o*N50y`~~``KBRnn4>b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2mnode.png b/trunk/doc/html/ftv2mnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22 GIT binary patch literal 246 zcmV<S015wzP)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD0002JNkl<ZcmeI* zAx;B97{&1)q=(=LT%h;h3{`DFU=Y+bY0?v5>kw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$<w7_^JU^7%7%0zJH4kA|nU6I?=t2?`YfNxzFd zLI<~*e?p<IJGcmIw6zLXu+2_Dc6pD@(bhEM-}eIron6S{S?uGdd`*1=UDVom9yVbN wee?!o*N50y`~~``KBRnn4>b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2mo.png b/trunk/doc/html/ftv2mo.png new file mode 100644 index 0000000000000000000000000000000000000000..4bfb80f76e65815989a9350ad79d8ce45380e2b1 GIT binary patch literal 403 zcmV;E0c`$>P)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz00046Nkl<ZcmeI5 zF-!YE7{-5TgV;ia(xE75tRh7h1s4Yw9mGi-9R(-BZ{Vuv+Ns~bkKy9vAUOHw4^l0H z;vhn+R8WZTU3#TLk~4t}4uN0Z<C44QeV@x+R>${!fXv7NWJ%@%u4(KapRY>T6_x;E zxE7kt!}Tiw8@d9Sd`rTGum>z#Q14vIm`wm1#-byD1muMi02@YNO5LRF0o!Y{`a!Ya z{^&p0Su|s705&2QxmqdexG+-zNKL3f@8gTQSJrKByfo+oNJ^-{|Mn||Q5SDwjQVsS zr1}7o5-QMs>gYIMD>GRw@$lT`z4r-_m{5U#cR{urD_)TOeY)(UD|qZ^&y`I<MO}bY zM1DoXp5L@y08$YtVAetTpU*h}sc_VBE!)2J+l@1H-O9$B1Bk;^&;UrtDS!>Vijqk~ xs(9-kWFr7E^!lgi8GsFK5kOY_{Xbgf0^etEU%fLevs?fG002ovPDHLkV1nB&vX1}& literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2node.png b/trunk/doc/html/ftv2node.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2ns.png b/trunk/doc/html/ftv2ns.png new file mode 100644 index 0000000000000000000000000000000000000000..72e3d71c2892d6f00e259facebc88b45f6db2e35 GIT binary patch literal 388 zcmV-~0ek+5P)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0003?Nkl<ZcmeI* zF-rq66u|L+t)3v*7Dtuhfr4&=4i1XoAcErNY{5mpfQyr$C~lp)>f+++<lv%<gV0Su z;Xts9AhihMbiTw(q2MLlmD>#cT|!Ck<t5>D&4pnIkeMEUEM*>`*9>+Juji$!h-m<e zx~SFmmhJ&ubO!SBb?I)z7BJ(W=G@6|RsdYg799X2kQYY)E+#-(J;uu=Bz0}Kq89tx zHkK#a->W%M^8s9957{3nvbrz^&=u<~TAUrFROkmt%^F~Ez+-c53Lv%iH3d38!Rv?K zrb&MYAhp;Gf<}wS;9ZZq2@;!uYG;=Z>~GKE^{HD4keu}lnyqhc>kWX^tQn|warJ~h zT+rtMkdz6aHoN%z(o|&wpu@@OpJnF_z{PA)6(FHw02iHslz^(N{4*+K9)QJHR87wT iTyp>aXaF{u2lxRou|^4tux6eB0000<MNUMnLSTXyu&sgs literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2plastnode.png b/trunk/doc/html/ftv2plastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ee22f937a07d1dbfc27c669d11f8ed13e2f152 GIT binary patch literal 229 zcmV<B02=>^P)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD00022Nkl<ZcmeI5 zJq`g;6h;q`*aoFUtJG`64iq|xMyXIs*n>R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrK<r3Bb=(0g6xxp!U32tWOu)WH##T0rK!7uo|*cw6RYWr9yxxq2N&i=_#5kSpmd| z3DT;|QpwOhR&)di$#aNpIVkD_gya#NrE7vMK**;p+$8f1VhPe)Xk`t*OK>gp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2pnode.png b/trunk/doc/html/ftv2pnode.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ee22f937a07d1dbfc27c669d11f8ed13e2f152 GIT binary patch literal 229 zcmV<B02=>^P)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD00022Nkl<ZcmeI5 zJq`g;6h;q`*aoFUtJG`64iq|xMyXIs*n>R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrK<r3Bb=(0g6xxp!U32tWOu)WH##T0rK!7uo|*cw6RYWr9yxxq2N&i=_#5kSpmd| z3DT;|QpwOhR&)di$#aNpIVkD_gya#NrE7vMK**;p+$8f1VhPe)Xk`t*OK>gp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2splitbar.png b/trunk/doc/html/ftv2splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jW<lVxsx`Ym~nPnqw$O~`M84{XS6<Mm0<Zit<Tk``D^RashfFq{wG<# zZG2vRxL<$IhkFMSBd@N1`uRtp)t>rYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|E<fHWtM%;-WUJ&>EGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/trunk/doc/html/ftv2vertline.png b/trunk/doc/html/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/trunk/doc/html/functions.html b/trunk/doc/html/functions.html new file mode 100644 index 0000000..8828070 --- /dev/null +++ b/trunk/doc/html/functions.html @@ -0,0 +1,217 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Data Fields</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="classes.html"><span>Data Structure Index</span></a></li> + <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="#index_c"><span>c</span></a></li> + <li><a href="#index_d"><span>d</span></a></li> + <li><a href="#index_g"><span>g</span></a></li> + <li><a href="#index_i"><span>i</span></a></li> + <li><a href="#index_m"><span>m</span></a></li> + <li><a href="#index_n"><span>n</span></a></li> + <li><a href="#index_p"><span>p</span></a></li> + <li><a href="#index_s"><span>s</span></a></li> + <li><a href="#index_t"><span>t</span></a></li> + <li><a href="#index_u"><span>u</span></a></li> + <li><a href="#index_v"><span>v</span></a></li> + <li><a href="#index_z"><span>z</span></a></li> + <li class="current"><a href="#index_~"><span>~</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="contents"> +<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div> + +<h3><a class="anchor" id="index_c"></a>- c -</h3><ul> +<li>clean_viewer() +: <a class="el" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection</a> +</li> +<li>color_importance +: <a class="el" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters</a> +</li> +<li>concavity_tolerance_threshold +: <a class="el" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_d"></a>- d -</h3><ul> +<li>disable_transform +: <a class="el" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_g"></a>- g -</h3><ul> +<li>get_default_parameters() +: <a class="el" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection</a> +</li> +<li>get_labeled_voxel_cloud() +: <a class="el" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection</a> +</li> +<li>get_segmented_objects() +: <a class="el" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection</a> +</li> +<li>get_segmented_objects_simple() +: <a class="el" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection</a> +</li> +<li>get_supervoxel_adjacency() +: <a class="el" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection</a> +</li> +<li>get_supervoxel_clusters() +: <a class="el" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection</a> +</li> +<li>get_sv_normal_cloud() +: <a class="el" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_i"></a>- i -</h3><ul> +<li>init() +: <a class="el" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_m"></a>- m -</h3><ul> +<li>min_segment_size +: <a class="el" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_n"></a>- n -</h3><ul> +<li>normal_importance +: <a class="el" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_p"></a>- p -</h3><ul> +<li>print_parameters() +: <a class="el" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> +<li>seed_resolution +: <a class="el" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters</a> +</li> +<li>segment() +: <a class="el" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection</a> +</li> +<li>show_segmented_objects() +: <a class="el" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection</a> +</li> +<li>show_super_voxels() +: <a class="el" href="classTableTop__Object__Detection.html#a892f9cc8b0ab76b1fcac802c4a55cb55">TableTop_Object_Detection</a> +</li> +<li>smoothness_threshold +: <a class="el" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters</a> +</li> +<li>spatial_importance +: <a class="el" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_t"></a>- t -</h3><ul> +<li>TableTop_Object_Detection() +: <a class="el" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection</a> +</li> +<li>th_points +: <a class="el" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_u"></a>- u -</h3><ul> +<li>use_extended_convexity +: <a class="el" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters</a> +</li> +<li>use_sanity_criterion +: <a class="el" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_v"></a>- v -</h3><ul> +<li>voxel_resolution +: <a class="el" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_z"></a>- z -</h3><ul> +<li>zmax +: <a class="el" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters</a> +</li> +<li>zmin +: <a class="el" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_~"></a>- ~ -</h3><ul> +<li>~TableTop_Object_Detection() +: <a class="el" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection</a> +</li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/functions_func.html b/trunk/doc/html/functions_func.html new file mode 100644 index 0000000..3b15a06 --- /dev/null +++ b/trunk/doc/html/functions_func.html @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Data Fields - Functions</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="classes.html"><span>Data Structure Index</span></a></li> + <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="contents"> + <ul> +<li>clean_viewer() +: <a class="el" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection</a> +</li> +<li>get_default_parameters() +: <a class="el" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection</a> +</li> +<li>get_labeled_voxel_cloud() +: <a class="el" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection</a> +</li> +<li>get_segmented_objects() +: <a class="el" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection</a> +</li> +<li>get_segmented_objects_simple() +: <a class="el" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection</a> +</li> +<li>get_supervoxel_adjacency() +: <a class="el" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection</a> +</li> +<li>get_supervoxel_clusters() +: <a class="el" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection</a> +</li> +<li>get_sv_normal_cloud() +: <a class="el" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection</a> +</li> +<li>init() +: <a class="el" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection</a> +</li> +<li>print_parameters() +: <a class="el" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection</a> +</li> +<li>segment() +: <a class="el" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection</a> +</li> +<li>show_segmented_objects() +: <a class="el" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection</a> +</li> +<li>show_super_voxels() +: <a class="el" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection</a> +</li> +<li>TableTop_Object_Detection() +: <a class="el" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection</a> +</li> +<li>~TableTop_Object_Detection() +: <a class="el" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection</a> +</li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/functions_vars.html b/trunk/doc/html/functions_vars.html new file mode 100644 index 0000000..2a55d7b --- /dev/null +++ b/trunk/doc/html/functions_vars.html @@ -0,0 +1,105 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Data Fields - Variables</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="classes.html"><span>Data Structure Index</span></a></li> + <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="contents"> + <ul> +<li>color_importance +: <a class="el" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters</a> +</li> +<li>concavity_tolerance_threshold +: <a class="el" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters</a> +</li> +<li>disable_transform +: <a class="el" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters</a> +</li> +<li>min_segment_size +: <a class="el" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters</a> +</li> +<li>normal_importance +: <a class="el" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters</a> +</li> +<li>seed_resolution +: <a class="el" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters</a> +</li> +<li>smoothness_threshold +: <a class="el" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters</a> +</li> +<li>spatial_importance +: <a class="el" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters</a> +</li> +<li>th_points +: <a class="el" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters</a> +</li> +<li>use_extended_convexity +: <a class="el" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters</a> +</li> +<li>use_sanity_criterion +: <a class="el" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters</a> +</li> +<li>voxel_resolution +: <a class="el" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters</a> +</li> +<li>zmax +: <a class="el" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters</a> +</li> +<li>zmin +: <a class="el" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters</a> +</li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/graph_legend.html b/trunk/doc/html/graph_legend.html new file mode 100644 index 0000000..c495aa8 --- /dev/null +++ b/trunk/doc/html/graph_legend.html @@ -0,0 +1,115 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Graph Legend</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Graph Legend</div> </div> +</div><!--header--> +<div class="contents"> +<p>This page explains how to interpret the graphs that are generated by doxygen.</p> +<p>Consider the following example: </p> +<div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div> +<div class="line"><span class="keyword">class </span>Invisible { };</div> +<div class="line"><span class="comment"></span></div> +<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div> +<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div> +<div class="line"></div> +<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div> +<div class="line"><span class="keyword">class </span>Undocumented { };</div> +<div class="line"><span class="comment"></span></div> +<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div> +<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div> +<div class="line"><span class="comment"></span></div> +<div class="line"><span class="comment">/*! A template class */</span></div> +<div class="line"><span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">class </span>Templ { };</div> +<div class="line"><span class="comment"></span></div> +<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div> +<div class="line"><span class="keyword">class </span>ProtectedBase { };</div> +<div class="line"><span class="comment"></span></div> +<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div> +<div class="line"><span class="keyword">class </span>PrivateBase { };</div> +<div class="line"><span class="comment"></span></div> +<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div> +<div class="line"><span class="keyword">class </span>Used { };</div> +<div class="line"><span class="comment"></span></div> +<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div> +<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div> +<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div> +<div class="line"> <span class="keyword">private</span> PrivateBase,</div> +<div class="line"> <span class="keyword">public</span> Undocumented,</div> +<div class="line"> <span class="keyword">public</span> Templ<int></div> +<div class="line">{</div> +<div class="line"> <span class="keyword">private</span>:</div> +<div class="line"> Used *m_usedClass;</div> +<div class="line">};</div> +</div><!-- fragment --><p> This will result in the following graph:</p> +<center><div class="image"> +<img src="graph_legend.png" /> +</div> +</center><p>The boxes in the above graph have the following meaning: </p> +<ul> +<li> +A filled gray box represents the struct or class for which the graph is generated. </li> +<li> +A box with a black border denotes a documented struct or class. </li> +<li> +A box with a grey border denotes an undocumented struct or class. </li> +<li> +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li> +</ul> +<p>The arrows have the following meaning: </p> +<ul> +<li> +A dark blue arrow is used to visualize a public inheritance relation between two classes. </li> +<li> +A dark green arrow is used for protected inheritance. </li> +<li> +A dark red arrow is used for private inheritance. </li> +<li> +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li> +<li> +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/graph_legend.md5 b/trunk/doc/html/graph_legend.md5 new file mode 100644 index 0000000..7bd9957 --- /dev/null +++ b/trunk/doc/html/graph_legend.md5 @@ -0,0 +1 @@ +1bffc4ef6cd06b95fb6c5ee5c51e8968 \ No newline at end of file diff --git a/trunk/doc/html/graph_legend.png b/trunk/doc/html/graph_legend.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1e08163e5aff76ba36f5ef1511507117378614 GIT binary patch literal 16239 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 literal 0 HcmV?d00001 diff --git a/trunk/doc/html/index.html b/trunk/doc/html/index.html new file mode 100644 index 0000000..c46e423 --- /dev/null +++ b/trunk/doc/html/index.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: tabletop_object_detection</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li class="current"><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">tabletop_object_detection </div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock"><h1><a class="anchor" id="Introduction"></a> +Introduction</h1> +<p>This library detects objects that stand on a table in a given point cloud. It also include a structure to define all the parameters used by the alrogithm in a compact way.</p> +<h2><a class="anchor" id="Pre-Requisites"></a> +Pre-Requisites</h2> +<p>This package requires of the following libraries and packages</p> +<ul> +<li><a href="http://pointclouds.org/">PCL</a>, open project for 2D/3D image and point cloud processing.</li> +<li><a href="http://opencv.org/">OpenCV</a>, open source computer vision and machine learning software library (this only for the example).<ul> +<li><a href="http://www.cmake.org">cmake</a>, a cross-platform build system.</li> +<li><a href="http://www.doxygen.org">doxygen</a> and <a href="http://www.graphviz.org">graphviz</a> to generate the documentation.</li> +<li>stdc++,</li> +</ul> +Under linux all of these utilities are available in ready-to-use packages.</li> +</ul> +<p>Under MacOS most of the packages are available via <a href="http://www.finkproject.org/">fink</a>. <br/> +</p> +<h2><a class="anchor" id="Compilation"></a> +Compilation</h2> +<p>Just download this package, uncompress it, and execute</p> +<ul> +<li>cd build</li> +<li>cmake ..</li> +</ul> +<p>to generate the makefile and then</p> +<ul> +<li>make</li> +</ul> +<p>to obtain the shared library (in this case called <em>iriutils.so</em>) and also all the example programs.</p> +<p>The <em>cmake</em> only need to be executed once (make will automatically call <em>cmake</em> if you modify one of the <em>CMakeList.txt</em> files).</p> +<p>To generate this documentation type</p> +<ul> +<li>make doc</li> +</ul> +<p>The files in the <em>build</em> directory are genetated by <em>cmake</em> and <em>make</em> and can be safely removed. After doing so you will need to call cmake manually again.</p> +<h2><a class="anchor" id="Configuration"></a> +Configuration</h2> +<p>The default build mode is DEBUG. That is, objects and executables include debug information.</p> +<p>The RELEASE build mode optimizes for speed. To build in this mode execute</p> +<ul> +<li>cmake .. -DCMAKE_BUILD_TYPE=RELEASE</li> +</ul> +<p>The release mode will be kept until next time cmake is executed.</p> +<h2><a class="anchor" id="Installation"></a> +Installation</h2> +<p>In order to be able to use the library, it it necessary to copy it into the system. To do that, execute </p> +<pre class="fragment">- make install +. +</pre><p>as root and the shared libraries will be copied to <em>/usr/local/lib/iriutils</em> directory and the header files will be copied to <em>/usr/local/include/iriutils</em> dierctory. At this point, the library may be used by any user.</p> +<p>To remove the library from the system, exceute</p> +<ul> +<li>make uninstall</li> +</ul> +<p>as root, and all the associated files will be removed from the system.</p> +<h1><a class="anchor" id="Customization"></a> +Customization</h1> +<p>To build a new application using these library, first it is necessary to locate if the library has been installed or not using the following command </p> +<pre class="fragment">- FIND_PACKAGE(tabletop_object_detection REQUIRED) +</pre><p>In the case that the package is present, it is necessary to add the header files directory to the include directory path by using </p> +<pre class="fragment">- INCLUDE_DIRECTORIES(${tabletop_object_detection_INCLUDE_DIR}) +</pre><p>Finally, it is also nevessary to link with the desired libraries by using the following command </p> +<pre class="fragment">- TARGET_LINK_LIBRARIES(<executable name> ${tabletop_object_detection_LIBRARY}) +. +</pre><h1><a class="anchor" id="License"></a> +License</h1> +<p>This package is licensed under a <a href="http://www.gnu.org/licenses/lgpl.html">LGPL 3.0 License</a>.</p> +<h1><a class="anchor" id="Disclaimer"></a> +Disclaimer</h1> +<p>This is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or at your option) any later version.</p> +<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p> +<p>You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. </p> +</div></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/nav_f.png b/trunk/doc/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_<lqdB{jiFDSaaN3W^xbJMH7CDK7=Q3_$6tQ&<~Cp4L6ZEndC`8;cO zrss?`_g+2sGU&M|cu~La_w1Rnf~7w`e!jQgteDwDLg6kW!`DinT@0SCelF{r5}E+Y CM>z8U literal 0 HcmV?d00001 diff --git a/trunk/doc/html/nav_g.png b/trunk/doc/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!K<?EJwDd;c`qumW{3c)I$ztaD0e0syCC7$E=v literal 0 HcmV?d00001 diff --git a/trunk/doc/html/nav_h.png b/trunk/doc/html/nav_h.png new file mode 100644 index 0000000000000000000000000000000000000000..33389b101d9cd9b4c98ad286b5d9c46a6671f650 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2~3AUOE6t22D>F$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&v<Kx}xDV3h>FVdQ&MBb@0HFXL<NyEw literal 0 HcmV?d00001 diff --git a/trunk/doc/html/open.png b/trunk/doc/html/open.png new file mode 100644 index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM<Rdl=8h W@EqZ{ytxBt8iS{+pUXO@geCxcDJg#d literal 0 HcmV?d00001 diff --git a/trunk/doc/html/structObject.html b/trunk/doc/html/structObject.html new file mode 100644 index 0000000..053fdeb --- /dev/null +++ b/trunk/doc/html/structObject.html @@ -0,0 +1,77 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: Object Struct Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="classes.html"><span>Data Structure Index</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Data Fields</a> </div> + <div class="headertitle"> +<div class="title">Object Struct Reference</div> </div> +</div><!--header--> +<div class="contents"> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> +Data Fields</h2></td></tr> +<tr class="memitem:af91b515b4d00b4245252c250bb9d0a90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af91b515b4d00b4245252c250bb9d0a90"></a> +pcl::PointCloud<br class="typebreak"/> +< pcl::PointXYZRGBA > </td><td class="memItemRight" valign="bottom"><b>object_cloud</b></td></tr> +<tr class="separator:af91b515b4d00b4245252c250bb9d0a90"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a45cf3c764fbbd9fd49fb64dd4d2c1b6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45cf3c764fbbd9fd49fb64dd4d2c1b6d"></a> +int </td><td class="memItemRight" valign="bottom"><b>label</b></td></tr> +<tr class="separator:a45cf3c764fbbd9fd49fb64dd4d2c1b6d"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00037">37</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> +</div><hr/>The documentation for this struct was generated from the following file:<ul> +<li>/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/<a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a></li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/structtableTop__object__detection__parameters.html b/trunk/doc/html/structtableTop__object__detection__parameters.html new file mode 100644 index 0000000..52826f2 --- /dev/null +++ b/trunk/doc/html/structtableTop__object__detection__parameters.html @@ -0,0 +1,337 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: tableTop_object_detection_parameters Struct Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="classes.html"><span>Data Structure Index</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Data Fields</a> </div> + <div class="headertitle"> +<div class="title">tableTop_object_detection_parameters Struct Reference</div> </div> +</div><!--header--> +<div class="contents"> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> +Data Fields</h2></td></tr> +<tr class="memitem:ad839812934dce3dc30bfce50a6c7979b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a></td></tr> +<tr class="separator:ad839812934dce3dc30bfce50a6c7979b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abd2df80ddd63d2527fdb3e2173dfa7bd"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a></td></tr> +<tr class="separator:abd2df80ddd63d2527fdb3e2173dfa7bd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5b5cf25fa26e9d6a5762ccaaa59bd980"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a></td></tr> +<tr class="separator:a5b5cf25fa26e9d6a5762ccaaa59bd980"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1cc4d45794c3a1e232d7a5f43243622e"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a></td></tr> +<tr class="separator:a1cc4d45794c3a1e232d7a5f43243622e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac427e4c80d7791bbe503f560740aee88"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a></td></tr> +<tr class="separator:ac427e4c80d7791bbe503f560740aee88"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aad3a5a13616c968ec81f2ed95eb8ef6c"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a></td></tr> +<tr class="separator:aad3a5a13616c968ec81f2ed95eb8ef6c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af9edebad24574492fb986884155cecd3"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a></td></tr> +<tr class="separator:af9edebad24574492fb986884155cecd3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a25ae1cdac1117e64e8e14b2c1cd6c361"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a></td></tr> +<tr class="separator:a25ae1cdac1117e64e8e14b2c1cd6c361"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab0d42a5811ff6ff88e5364462b891adc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a></td></tr> +<tr class="separator:ab0d42a5811ff6ff88e5364462b891adc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:adbd04002cc3f21b67dedc7d5a4817ea9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a></td></tr> +<tr class="separator:adbd04002cc3f21b67dedc7d5a4817ea9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a979341d0bcf0d9b8696b65054bec5838"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a></td></tr> +<tr class="separator:a979341d0bcf0d9b8696b65054bec5838"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0545fba1336d1a337d6693b4b85bac04"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a></td></tr> +<tr class="separator:a0545fba1336d1a337d6693b4b85bac04"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a69899eb7a9504e03e75286f437e8da71"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a></td></tr> +<tr class="separator:a69899eb7a9504e03e75286f437e8da71"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1dac5b182b352220c6ca6a4f169ebc85"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a></td></tr> +<tr class="separator:a1dac5b182b352220c6ca6a4f169ebc85"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00047">47</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> +</div><h2 class="groupheader">Field Documentation</h2> +<a class="anchor" id="ad839812934dce3dc30bfce50a6c7979b"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool tableTop_object_detection_parameters::disable_transform</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of disable_transform for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00050">50</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="abd2df80ddd63d2527fdb3e2173dfa7bd"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::voxel_resolution</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of voxel_resolution for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00051">51</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a5b5cf25fa26e9d6a5762ccaaa59bd980"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::seed_resolution</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of seed_resolution for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00052">52</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a1cc4d45794c3a1e232d7a5f43243622e"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::color_importance</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of color_importance for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00053">53</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="ac427e4c80d7791bbe503f560740aee88"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::spatial_importance</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of spatial_importance for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00054">54</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="aad3a5a13616c968ec81f2ed95eb8ef6c"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::normal_importance</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of normal_importance for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00055">55</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="af9edebad24574492fb986884155cecd3"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::concavity_tolerance_threshold</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of concavity_tolerance_threshold for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00058">58</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a25ae1cdac1117e64e8e14b2c1cd6c361"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::smoothness_threshold</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of smoothness_threshold for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00059">59</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab0d42a5811ff6ff88e5364462b891adc"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int tableTop_object_detection_parameters::min_segment_size</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of min_segment_size for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00060">60</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="adbd04002cc3f21b67dedc7d5a4817ea9"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool tableTop_object_detection_parameters::use_extended_convexity</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of use_extended_convexity for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00061">61</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a979341d0bcf0d9b8696b65054bec5838"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool tableTop_object_detection_parameters::use_sanity_criterion</td> + </tr> + </table> +</div><div class="memdoc"> +<p>value of use_sanity_criterion for supervoxel algorithm </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00062">62</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a0545fba1336d1a337d6693b4b85bac04"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::zmin</td> + </tr> + </table> +</div><div class="memdoc"> +<p>Minimum distance orthogonal to the table plane to be considered as a tabletop point </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00065">65</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a69899eb7a9504e03e75286f437e8da71"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double tableTop_object_detection_parameters::zmax</td> + </tr> + </table> +</div><div class="memdoc"> +<p>Maximum distance orthogonal to the table plane to be considered as a tabletop point </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00066">66</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a1dac5b182b352220c6ca6a4f169ebc85"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int tableTop_object_detection_parameters::th_points</td> + </tr> + </table> +</div><div class="memdoc"> +<p>threshold of minimum point required to consider a cluster as valid </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00067">67</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li>/home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/<a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a></li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/sync_off.png b/trunk/doc/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009VNkl<ZcmeI* zOK4PA7{KxW<S|JmGnqI|rb(KahDirA+8B+gVk8A)%pe9yF;+3L5iKZG7xuBS&@L(k z33MTXOIxMHjirbWgs8M;qhM?(_-v^nS(KzU#%Ih_`hB-^XYSm&39)2*I6vmhow@fr z=iKj{vvuv-e;!~uA+biR6pf-n<cdGVuox5<#BBg4c>oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO<q-Bsh$IuZaopT|9E z-75alp&U9s%(|8uI^NA(#AD;nc=%{ivdZX(QFJ7~-yf%_Adjk`W@NhjJTyZ8*;|!n z9=K#TJuZz+={YZ#>8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sT<tBHx6XfOFDx2(ijpMiR>xLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/trunk/doc/html/sync_on.png b/trunk/doc/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009NNkl<ZcmeI* zUr1D09KiAKIOC-Ar)j4&EoU~y1|7@QCTmeCsMH~fFw#|0OWK8m>Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I<ojWskx{8*sm){4kXJ+p2oO6HY zoL5W7@h*VL_(ZL!7GaSmtl}SWU-XD;q7T4~4ZuW>_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F<o_Z}1zllSWC8!Z+rkFN>={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$M<u9&-IHqnYs=DL+lbi3lG2ysF!p!_2H=p zj-g89hmThki^;JHknVE4V`@zS$(ZbTd?1=dsrXLRiJbUBq7weAmVjEk@rP>j4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/trunk/doc/html/tab_a.png b/trunk/doc/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/trunk/doc/html/tab_b.png b/trunk/doc/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn<f<Rf3mJ=+uzfrOMlc%s`x4TZtnrR|B~W{ zyZP0m7vvtXV80W5^J2vvp97)4WrPK1-P<H^B$Ll|TGvzm;+92|BpdT89$b1Qf7x5g UZ&RH}7SL`6Pgg&ebxsLQ0A}n&iU0rr literal 0 HcmV?d00001 diff --git a/trunk/doc/html/tab_h.png b/trunk/doc/html/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..fd5cb705488e60fcf30f56fcc951dee74f3b095b GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QWc&qjv*C{Z}0jF9dr<AdpNI7 zaOs_6=O($9b?lc?Qk=SJVv5%FA{O^TY1^*qJ@<p}E}!uH_1eoPJ&tpVl={bg{Skd2 zp1FO|;|R90%G3WYZM5AU=A4%H?3qaQhHt%H9G|xYJ)ff*|MmI*zD3`*Z|LP?7d&26 cn!ZiLK0QM$CeyB_80ZEDPgg&ebxsLQ0C?O;!~g&Q literal 0 HcmV?d00001 diff --git a/trunk/doc/html/tab_s.png b/trunk/doc/html/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7) zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$ z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html b/trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html new file mode 100644 index 0000000..8623442 --- /dev/null +++ b/trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: tableTop_object_segmentation_test.cpp</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">tableTop_object_segmentation_test.cpp</div> </div> +</div><!--header--> +<div class="contents"> +<p><b>Description:</b> This program tests the tableTop_object_segmentation Library API serving it as a test. The table must be the bigger plane in the point cloud. It also shows how to retrieve the objects' points in the RGB image. The RGB image is built from the organized input cloud.</p> +<p><b>Usage:</b> </p> +<div class="fragment"><div class="line">$ ./bin/tableTop_objects_segmentation_test </div> +</div><!-- fragment --><p> to see the help with all the options you can use </p> +<div class="fragment"><div class="line">$ ./bin/tableTop_objects_segmentation_test ./cloud.pcd </div> +</div><!-- fragment --><p> to segment the tabletop objects in the point cloud "cloud.pcd" </p> +<div class="fragment"><div class="line">$ ./bin/tableTop_objects_segmentation_test ./cloud.pcd -smooth 5 -ct 7 </div> +</div><!-- fragment --><p> To segment changing some parameters</p> +<div class="fragment"></div><!-- fragment --> </div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/tabletop__object__detection_8cpp_source.html b/trunk/doc/html/tabletop__object__detection_8cpp_source.html new file mode 100644 index 0000000..9995f62 --- /dev/null +++ b/trunk/doc/html/tabletop__object__detection_8cpp_source.html @@ -0,0 +1,710 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: /home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/tabletop_object_detection.cpp Source File</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">tabletop_object_detection.cpp</div> </div> +</div><!--header--> +<div class="contents"> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#include "tabletop_object_detection.h"</span></div> +<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div> +<div class="line"><a name="l00003"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939"> 3</a></span> <a class="code" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection::TableTop_Object_Detection</a>()</div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> {</div> +<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div> +<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> }</div> +<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div> +<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8"> 8</a></span> <a class="code" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection::~TableTop_Object_Detection</a>()</div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> {</div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> }</div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div> +<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9"> 13</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud,</div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> &opt)</div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  this->cloud = input_cloud.makeShared();</div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  this->filt_objs.resize(0);</div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  set_parameters(opt);</div> +<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> } </div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  </div> +<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a52028dcd2c15d9609ca4f5c0419c3e14"> 21</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud)</div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> {</div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  this->cloud = input_cloud.makeShared();</div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  this->filt_objs.resize(0);</div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  set_default_parameters();</div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> } </div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_parameters(<a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> & opt)</div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  this->disable_transform = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a>;</div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  this->voxel_resolution = opt.<a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a>;</div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  this->seed_resolution = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a>;</div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  this->color_importance = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a>;</div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  this->spatial_importance = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a>;</div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  this->normal_importance = opt.<a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a>;</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  this->concavity_tolerance_threshold = opt.<a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a>;</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  this->smoothness_threshold = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a>;</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  this->min_segment_size = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a>; </div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  this->use_extended_convexity = opt.<a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a>;</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  this->use_sanity_criterion = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a>;</div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  this->zmin = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a>;<span class="comment">//meters</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  this->zmax = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a>;<span class="comment">//meters</span></div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  this->th_points = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a>;</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> }</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_default_parameters()</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  this->disable_transform = this->DISABLE_TRANSFORM;</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  this->voxel_resolution = this->VOXEL_RESOLUTION;</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  this->seed_resolution = this->SEED_RESOLUTION;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  this->color_importance = this->COLOR_IMPORTANCE;</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  this->spatial_importance = this->SPATIAL_IMPORTANCE;</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  this->normal_importance = this->NORMAL_IMPORTANCE;</div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  this->concavity_tolerance_threshold = this->CONCAVITY_TOLERANCE_THRESHOLD;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  this->smoothness_threshold = this->SMOOTHNESS_THRESHOLD;</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  this->min_segment_size = this->MIN_SEGMENT_SIZE; </div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  this->use_extended_convexity = this->USE_EXTENDED_CONVEXITY;</div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  this->use_sanity_criterion = this->USE_SANITY_CRITERION;</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  this->zmin = this->ZMIN;<span class="comment">//meters</span></div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  this->zmax = this->ZMAX;<span class="comment">//meters</span></div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  this->th_points = this->TH_POINTS;</div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span></div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> TableTop_Object_Detection::addSupervoxelConnectionsToViewer (pcl::PointXYZRGBA &supervoxel_center,</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  pcl::PointCloud<pcl::PointXYZRGBA>& adjacent_supervoxel_centers,</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  std::string supervoxel_name,</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New ();</div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New ();</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  vtkSmartPointer<vtkPolyLine> polyLine = vtkSmartPointer<vtkPolyLine>::New ();</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">//Iterate through all adjacent points, and add a center point to adjacent point pair</span></div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  pcl::PointCloud<pcl::PointXYZRGBA>::iterator adjacent_itr = adjacent_supervoxel_centers.begin ();</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">for</span> ( ; adjacent_itr != adjacent_supervoxel_centers.end (); ++adjacent_itr)</div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  points->InsertNextPoint (supervoxel_center.data);</div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  points->InsertNextPoint (adjacent_itr->data);</div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  }</div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// Create a polydata to store everything in</span></div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  vtkSmartPointer<vtkPolyData> polyData = vtkSmartPointer<vtkPolyData>::New ();</div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">// Add the points to the dataset</span></div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  polyData->SetPoints (points);</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  polyLine->GetPointIds ()->SetNumberOfIds(points->GetNumberOfPoints ());</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < points->GetNumberOfPoints (); i++)</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  polyLine->GetPointIds ()->SetId (i,i);</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  cells->InsertNextCell (polyLine);</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">// Add the lines to the dataset</span></div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  polyData->SetLines (cells);</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  viewer->addModelFromPolyData (polyData,supervoxel_name);</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">void</span> TableTop_Object_Detection::detectObjectsOnTable(pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud, <span class="keywordtype">double</span> zmin, <span class="keywordtype">double</span> zmax, pcl::PointIndices::Ptr objectIndices, <span class="keywordtype">bool</span> filter_input_cloud)</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="comment">// Objects for storing the point clouds.</span></div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr plane(<span class="keyword">new</span> pcl::PointCloud<pcl::PointXYZRGBA>);</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr convexHull(<span class="keyword">new</span> pcl::PointCloud<pcl::PointXYZRGBA>);</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">// Get the plane model, if present.</span></div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  pcl::ModelCoefficients::Ptr coefficients(<span class="keyword">new</span> pcl::ModelCoefficients);</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  pcl::SACSegmentation<pcl::PointXYZRGBA> segmentation;</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  segmentation.setInputCloud(cloud);</div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  segmentation.setModelType(pcl::SACMODEL_PLANE);</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  segmentation.setMethodType(pcl::SAC_RANSAC);</div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  segmentation.setDistanceThreshold(0.01);</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  segmentation.setOptimizeCoefficients(<span class="keyword">true</span>);</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  pcl::PointIndices::Ptr planeIndices(<span class="keyword">new</span> pcl::PointIndices);</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  segmentation.segment(*planeIndices, *coefficients);</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (planeIndices->indices.size() == 0)</div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  std::cout << <span class="stringliteral">"Could not find a plane in the scene."</span> << std::endl;</div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">else</span></div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="comment">// Copy the points of the plane to a new cloud.</span></div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  pcl::ExtractIndices<pcl::PointXYZRGBA> extract;</div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  extract.setInputCloud(cloud);</div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  extract.setIndices(planeIndices);</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  extract.filter(*plane);</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="comment">// Retrieve the convex hull.</span></div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  pcl::ConvexHull<pcl::PointXYZRGBA> hull;</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  hull.setInputCloud(plane);</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="comment">// Make sure that the resulting hull is bidimensional.</span></div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  hull.setDimension(2); <span class="comment">//2dimension -> planar convex hull</span></div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  hull.reconstruct(*convexHull);</div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  </div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="comment">// Redundant check.</span></div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span> (hull.getDimension() == 2)</div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="comment">// Prism object.</span></div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  pcl::ExtractPolygonalPrismData<pcl::PointXYZRGBA> prism;</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  prism.setInputCloud(cloud);</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  prism.setInputPlanarHull(convexHull);</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="comment">// First parameter: minimum Z value. Set to 0, segments objects lying on the plane (can be negative).</span></div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="comment">// Second parameter: maximum Z value[meters], set to 10cm. Tune it according to the height of the objects you expect.</span></div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  prism.setHeightLimits(zmin, zmax);</div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">//std::cout << "size of objectIndices before segmentation: " << objectIndices.indices.size() << std::endl;</span></div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="comment">//pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices);</span></div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  prism.segment(*objectIndices);</div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="comment">//std::cout << "size of objectIndices AFTER segmentation: " << objectIndices.indices.size() << std::endl;</span></div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  </div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">// Get and show all points retrieved by the hull.</span></div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  extract.setIndices(objectIndices);</div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">if</span>(filter_input_cloud)</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  extract.filter(*cloud);</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">else</span> std::cout << <span class="stringliteral">"The chosen hull is not planar."</span> << std::endl;</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div> +<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a"> 170</a></span> <a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a>()</div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> opt;</div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a> = this->DISABLE_TRANSFORM;</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a> = this->VOXEL_RESOLUTION;</div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a> = this->SEED_RESOLUTION;</div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a> = this->COLOR_IMPORTANCE;</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a> = this->SPATIAL_IMPORTANCE;</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a> = this->NORMAL_IMPORTANCE;</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> +<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a> = this->CONCAVITY_TOLERANCE_THRESHOLD;</div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a> = this->SMOOTHNESS_THRESHOLD;</div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a> = this->MIN_SEGMENT_SIZE; </div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a> = this->USE_EXTENDED_CONVEXITY;</div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a> = this->USE_SANITY_CRITERION;</div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a> = this->ZMIN;<span class="comment">//meters</span></div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a> = this->ZMAX;<span class="comment">//meters</span></div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a> = this->TH_POINTS;</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> opt;</div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div> +<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a"> 198</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a>()</div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="comment">//float t_ini = cv::getTickCount();</span></div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  pcl::PointIndices::Ptr obj_idx (<span class="keyword">new</span> pcl::PointIndices());</div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  detectObjectsOnTable(cloud, zmin, this->zmax , obj_idx, <span class="keyword">true</span>);</div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="comment">//float elapsed_time_plane = (cv::getTickCount()-t_ini)/cv::getTickFrequency();</span></div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="comment">//-------------------- parameters ----------</span></div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">//Super Voxel Algorithm's parameters</span></div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordtype">bool</span> disable_transform = this->disable_transform;</div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">float</span> voxel_resolution = (float)this->voxel_resolution; <span class="comment">//0.0075f</span></div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordtype">float</span> seed_resolution = (float)this->seed_resolution; <span class="comment">//0.03f;</span></div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">float</span> color_importance = (float)this->color_importance;</div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordtype">float</span> spatial_importance = (float)this->spatial_importance;</div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordtype">float</span> normal_importance = (float)this->normal_importance;</div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// LCCPSegmentation parameters</span></div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordtype">float</span> concavity_tolerance_threshold = (float)this->concavity_tolerance_threshold;</div> +<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordtype">float</span> smoothness_threshold = (float)this->smoothness_threshold;</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  uint32_t min_segment_size = (uint32_t)this->min_segment_size;</div> +<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordtype">bool</span> use_extended_convexity = this->use_extended_convexity;</div> +<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordtype">bool</span> use_sanity_criterion = this->use_sanity_criterion;</div> +<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="comment">//-------------------------------------------</span></div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  pcl::SupervoxelClustering<pcl::PointXYZRGBA> super (voxel_resolution, seed_resolution);</div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  super.setInputCloud (cloud);</div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="comment">//super.setNormalCloud (input_normals);</span></div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  super.setColorImportance (color_importance);</div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  super.setSpatialImportance (spatial_importance);</div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  super.setNormalImportance (normal_importance);</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  </div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  super.extract (supervoxel_clusters);</div> +<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  labeled_voxel_cloud = super.getLabeledVoxelCloud ();</div> +<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr voxel_centroid_cloud = super.getVoxelCentroidCloud ();</div> +<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  sv_normal_cloud = super.makeSupervoxelNormalCloud (supervoxel_clusters);</div> +<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr full_labeled_cloud = super.getLabeledCloud ();</div> +<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  </div> +<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  super.getSupervoxelAdjacency (supervoxel_adjacency);</div> +<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  </div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr > refined_supervoxel_clusters;</div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div> +<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="comment">// NO REFINEMENT!!</span></div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="comment">//super.refineSupervoxels (3, refined_supervoxel_clusters);</span></div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr refined_labeled_voxel_cloud = super.getLabeledVoxelCloud ();</div> +<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  pcl::PointCloud<pcl::PointNormal>::Ptr refined_sv_normal_cloud = super.makeSupervoxelNormalCloud (refined_supervoxel_clusters);</div> +<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr refined_full_labeled_cloud = super.getLabeledCloud ();</div> +<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  </div> +<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keyword">typedef</span> boost::adjacency_list<boost::setS, boost::setS, boost::undirectedS, uint32_t, float> VoxelAdjacencyList;</div> +<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  VoxelAdjacencyList supervoxel_adjacency_list;</div> +<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  super.getSupervoxelAdjacencyList (supervoxel_adjacency_list);</div> +<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div> +<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordtype">float</span> normals_scale = seed_resolution / 2.0;</div> +<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  </div> +<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="comment">// Segmentation Stuff</span></div> +<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  </div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  uint k_factor = 0;</div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">if</span> (use_extended_convexity)</div> +<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  k_factor = 1;</div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  pcl::LCCPSegmentation<pcl::PointXYZRGBA> lccp;</div> +<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  lccp.setConcavityToleranceThreshold (concavity_tolerance_threshold);</div> +<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  lccp.setSanityCheck (use_sanity_criterion);</div> +<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  lccp.setSmoothnessCheck (<span class="keyword">true</span>, voxel_resolution, seed_resolution, smoothness_threshold);</div> +<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  lccp.setKFactor (k_factor);</div> +<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  lccp.setInputSupervoxels (supervoxel_clusters, supervoxel_adjacency);</div> +<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  lccp.setMinSegmentSize (min_segment_size);</div> +<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  lccp.segment ();</div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr sv_labeled_cloud = super.getLabeledCloud ();</div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  lccp_labeled_cloud = sv_labeled_cloud->makeShared ();</div> +<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  lccp.relabelCloud (*lccp_labeled_cloud);</div> +<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="comment">//std::cout << "size lccp_labeled_cloud: "<<lccp_labeled_cloud->points.size() << "\n";</span></div> +<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="comment">//---------------------------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div> +<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="comment">//float elapsed_time_seg = (cv::getTickCount()-t_ini)/cv::getTickFrequency() - elapsed_time_plane;</span></div> +<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div> +<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="comment">//------------------------------ SEGMENTATION POST PROCESSING ---------------------------------</span></div> +<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="comment">//construct for each segmented object the point cloud associated to that object</span></div> +<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < lccp_labeled_cloud->points.size(); ++i)</div> +<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  {</div> +<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  </div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  uint32_t idx = lccp_labeled_cloud->points.at(i).label;</div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="comment">//in this way we enlarges the vector everytime we encounter a greater label. So we don't need to pass all </span></div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="comment">// labeeld point cloud to see what is the greater label, and then to resize the vector. </span></div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">if</span>(idx >= filt_objs.size()) <span class="comment">// keep in mind that there is also the label 0! </span></div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  filt_objs.resize(idx+1);</div> +<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  </div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  pcl::PointXYZRGBA tmp_point_rgb;</div> +<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  tmp_point_rgb = cloud->points.at(i);</div> +<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  filt_objs[idx].object_cloud.points.push_back(tmp_point_rgb);</div> +<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div> +<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  filt_objs[idx].label = (int)idx;</div> +<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  } </div> +<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div> +<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="comment">//remove segments with too few points</span></div> +<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="comment">// it will removes te ones with few points or the ones with no points (these are created because of the labels of lccp)</span></div> +<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordtype">int</span> size = filt_objs.size();</div> +<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordtype">int</span> i = 0;</div> +<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">while</span> (i < size)</div> +<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  {</div> +<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">if</span>(filt_objs[i].object_cloud.size() < this->th_points)</div> +<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  {</div> +<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  filt_objs.erase(filt_objs.begin() + i);</div> +<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  size = filt_objs.size();</div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  }</div> +<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">else</span></div> +<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  i++;</div> +<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  }</div> +<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div> +<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="comment">//float elapsed_time = (cv::getTickCount()-t_ini)/cv::getTickFrequency();</span></div> +<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  </div> +<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="comment">//std::cout << "elapsed_time (segmentation and postprocessing): " << elapsed_time << "\nelapsed_time of LCCP segmentation: " << elapsed_time_seg << std::endl;</span></div> +<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="comment">//std::cout << "elapsed_time plane estimation: " << elapsed_time_plane << std::endl;</span></div> +<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div> +<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> }</div> +<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div> +<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e"> 321</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer,</div> +<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordtype">bool</span> show_adjacency_map,</div> +<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordtype">bool</span> show_super_voxel_normals)</div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div> +<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">if</span>(this->filt_objs.size() > 0)</div> +<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  {</div> +<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  viewer->addPointCloud (this->labeled_voxel_cloud, <span class="stringliteral">"supervoxel_cloud"</span>);</div> +<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div> +<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="comment">//pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGBA> rgb_cloud_obj(cloud);</span></div> +<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="comment">//viewer->addPointCloud<pcl::PointXYZRGBA> (cloud, rgb_cloud_obj, "maincloud");</span></div> +<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">if</span>(show_super_voxel_normals)</div> +<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  viewer->addPointCloudNormals<pcl::PointNormal> (this->sv_normal_cloud,1,0.05f, <span class="stringliteral">"supervoxel_normals"</span>);</div> +<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div> +<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">if</span>(show_adjacency_map)</div> +<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  {</div> +<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> +<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> +<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div> +<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="comment">//First get the label</span></div> +<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  uint32_t supervoxel_label = label_itr->first;</div> +<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="comment">//Now get the supervoxel corresponding to the label</span></div> +<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  </div> +<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr supervoxel = this->supervoxel_clusters.at (supervoxel_label);</div> +<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div> +<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="comment">//Now we need to iterate through the adjacent supervoxels and make a point cloud of them</span></div> +<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  pcl::PointCloud<pcl::PointXYZRGBA> adjacent_supervoxel_centers;</div> +<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  std::multimap<uint32_t,uint32_t>::iterator adjacent_itr = this->supervoxel_adjacency.equal_range (supervoxel_label).first;</div> +<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">for</span> ( ; adjacent_itr!=this->supervoxel_adjacency.equal_range (supervoxel_label).second; ++adjacent_itr)</div> +<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  {</div> +<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr neighbor_supervoxel = this->supervoxel_clusters.at (adjacent_itr->second);</div> +<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  adjacent_supervoxel_centers.push_back (neighbor_supervoxel->centroid_);</div> +<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div> +<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="comment">//Now we make a name for this polygon</span></div> +<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  std::stringstream ss;</div> +<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> +<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="comment">//This function is shown below, but is beyond the scope of this tutorial - basically it just generates a "star" polygon mesh from the points given</span></div> +<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  addSupervoxelConnectionsToViewer (supervoxel->centroid_, adjacent_supervoxel_centers, ss.str (), viewer);</div> +<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="comment">//Move iterator forward to next label</span></div> +<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> +<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div> +<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  } </div> +<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div> +<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div> +<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> }</div> +<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div> +<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a892f9cc8b0ab76b1fcac802c4a55cb55"> 367</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> {</div> +<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">if</span>(this->filt_objs.size() > 0)</div> +<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  {</div> +<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  viewer->addPointCloud (this->labeled_voxel_cloud, <span class="stringliteral">"supervoxel_cloud"</span>); </div> +<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  viewer->addPointCloudNormals<pcl::PointNormal> (this->sv_normal_cloud,1,0.05f, <span class="stringliteral">"supervoxel_normals"</span>);</div> +<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div> +<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> +<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> +<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  {</div> +<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="comment">//First get the label</span></div> +<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  uint32_t supervoxel_label = label_itr->first;</div> +<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="comment">//Now get the supervoxel corresponding to the label</span></div> +<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  </div> +<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr supervoxel = this->supervoxel_clusters.at (supervoxel_label);</div> +<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div> +<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="comment">//Now we need to iterate through the adjacent supervoxels and make a point cloud of them</span></div> +<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  pcl::PointCloud<pcl::PointXYZRGBA> adjacent_supervoxel_centers;</div> +<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  std::multimap<uint32_t,uint32_t>::iterator adjacent_itr = this->supervoxel_adjacency.equal_range (supervoxel_label).first;</div> +<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">for</span> ( ; adjacent_itr!=this->supervoxel_adjacency.equal_range (supervoxel_label).second; ++adjacent_itr)</div> +<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  {</div> +<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr neighbor_supervoxel = this->supervoxel_clusters.at (adjacent_itr->second);</div> +<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  adjacent_supervoxel_centers.push_back (neighbor_supervoxel->centroid_);</div> +<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  }</div> +<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="comment">//Now we make a name for this polygon</span></div> +<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  std::stringstream ss;</div> +<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> +<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="comment">//This function is shown below, but is beyond the scope of this tutorial - basically it just generates a "star" polygon mesh from the points given</span></div> +<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  addSupervoxelConnectionsToViewer (supervoxel->centroid_, adjacent_supervoxel_centers, ss.str (), viewer);</div> +<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="comment">//Move iterator forward to next label</span></div> +<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> +<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  } </div> +<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div> +<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div> +<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div> +<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div> +<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9"> 404</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> {</div> +<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  pcl::PointCloud<pcl::PointXYZL> objects_cloud;</div> +<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div> +<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < this->filt_objs.size(); ++i)</div> +<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  {</div> +<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  pcl::PointCloud<pcl::PointXYZL> tmp_cloud;</div> +<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div> +<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p = 0; p < this->filt_objs[i].object_cloud.size(); ++p)</div> +<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div> +<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  pcl::PointXYZL tmp_point;</div> +<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  tmp_point.x = this->filt_objs[i].object_cloud[p].x;</div> +<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  tmp_point.y = this->filt_objs[i].object_cloud[p].y;</div> +<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  tmp_point.z = this->filt_objs[i].object_cloud[p].z;</div> +<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  tmp_point.label = this->filt_objs[i].label;</div> +<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  tmp_cloud.points.push_back(tmp_point);</div> +<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  }</div> +<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  </div> +<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  objects_cloud += tmp_cloud;</div> +<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  }</div> +<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div> +<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  viewer->addPointCloud(objects_cloud.makeShared(), <span class="stringliteral">"segmented_object_cloud"</span>);</div> +<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div> +<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div> +<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div> +<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444"> 430</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> {</div> +<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  viewer->removePointCloud(<span class="stringliteral">"supervoxel_cloud"</span>);</div> +<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  viewer->removePointCloud(<span class="stringliteral">"supervoxel_normals"</span>);</div> +<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  viewer->removePointCloud(<span class="stringliteral">"segmented_object_cloud"</span>);</div> +<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div> +<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div> +<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> +<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> +<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  {</div> +<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  uint32_t supervoxel_label = label_itr->first;</div> +<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  std::stringstream ss;</div> +<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> +<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  viewer->removeShape (ss.str());</div> +<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> +<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  } </div> +<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> }</div> +<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div> +<div class="line"><a name="l00449"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d"> 449</a></span> std::vector<Object> <a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a>()</div> +<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> {</div> +<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> this->filt_objs;</div> +<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div> +<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div> +<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd"> 454</a></span> std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > <a class="code" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a>()</div> +<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> {</div> +<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > obj_vec;</div> +<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  </div> +<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < this->filt_objs.size(); ++i)</div> +<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  {</div> +<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  obj_vec.push_back(filt_objs[i].object_cloud);</div> +<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  }</div> +<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div> +<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">return</span> obj_vec;</div> +<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> }</div> +<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div> +<div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb"> 466</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a>()</div> +<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {</div> +<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  std::cout << <span class="stringliteral">"\nTableTop_Object_Detection parameters: \n"</span></div> +<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  << <span class="stringliteral">"----------------- Supervoxel parameters ---------\n"</span></div> +<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  << <span class="stringliteral">"disable_transform: "</span> << (bool)this->disable_transform << std::endl</div> +<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  << <span class="stringliteral">"voxel_resolution: "</span> << (<span class="keywordtype">double</span>)this->voxel_resolution << std::endl </div> +<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  << <span class="stringliteral">"seed_resolution: "</span> << (double)this->seed_resolution << std::endl </div> +<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  << <span class="stringliteral">"color_importance: "</span> << (<span class="keywordtype">double</span>)this->color_importance << std::endl</div> +<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  << <span class="stringliteral">"spatial_importance: "</span> << (double)this->spatial_importance << std::endl </div> +<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  << <span class="stringliteral">"normal_importance: "</span> << (<span class="keywordtype">double</span>)this->normal_importance << std::endl </div> +<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  << <span class="stringliteral">"----------------- LCCP parameters ---------------\n"</span></div> +<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  << <span class="stringliteral">"concavity_tolerance_threshold: "</span> << (double)this->concavity_tolerance_threshold << std::endl </div> +<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  << <span class="stringliteral">"smoothness_threshold: "</span> << (<span class="keywordtype">double</span>)this->smoothness_threshold << std::endl </div> +<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  << <span class="stringliteral">"min_segment_size: "</span> << (int)this->min_segment_size << std::endl </div> +<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  << <span class="stringliteral">"use_extended_convexity: "</span> << (<span class="keywordtype">bool</span>)this->use_extended_convexity << std::endl </div> +<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  << <span class="stringliteral">"use_sanity_criterion: "</span> << (bool)this->use_sanity_criterion << std::endl </div> +<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  << <span class="stringliteral">"----------------- Others parameters -------------\n"</span></div> +<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  << <span class="stringliteral">"zmin: "</span> << (<span class="keywordtype">double</span>)this->zmin << std::endl </div> +<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  << <span class="stringliteral">"zmax: "</span> << (double)this->zmax << std::endl </div> +<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  << <span class="stringliteral">"th_points: "</span> << (<span class="keywordtype">int</span>)this->th_points << std::endl << std::endl; </div> +<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">return</span>; </div> +<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div> +<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div> +<div class="line"><a name="l00489"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af"> 489</a></span> pcl::PointCloud<pcl::PointXYZL> <a class="code" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a>()</div> +<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> {</div> +<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">return</span> *(this->labeled_voxel_cloud);</div> +<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div> +<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div> +<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d"> 494</a></span> std::multimap<uint32_t, uint32_t> <a class="code" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a>()</div> +<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> {</div> +<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">return</span> this->supervoxel_adjacency;</div> +<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> }</div> +<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div> +<div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11"> 499</a></span> std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr> <a class="code" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a>()</div> +<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> {</div> +<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">return</span> this->supervoxel_clusters;</div> +<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> }</div> +<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div> +<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c"> 504</a></span> pcl::PointCloud<pcl::PointNormal> <a class="code" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a>()</div> +<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> {</div> +<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">return</span> *(this->sv_normal_cloud);</div> +<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div> +<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div> +<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_disable_transform(<span class="keywordtype">bool</span> disable_transform_in)</div> +<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> {</div> +<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  this->disable_transform = disable_transform_in;</div> +<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> }</div> +<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_voxel_resolution(<span class="keywordtype">double</span> voxel_resolution_in)</div> +<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {</div> +<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  this->voxel_resolution = voxel_resolution_in;</div> +<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> }</div> +<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_seed_resolution(<span class="keywordtype">double</span> seed_resolution_in)</div> +<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> {</div> +<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  this->seed_resolution = seed_resolution_in;</div> +<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div> +<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_color_importance(<span class="keywordtype">double</span> color_importance_in)</div> +<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div> +<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  this->color_importance = color_importance_in;</div> +<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div> +<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_spatial_importance(<span class="keywordtype">double</span> spatial_importance_in)</div> +<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> {</div> +<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  this->spatial_importance = spatial_importance_in;</div> +<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div> +<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_normal_importance(<span class="keywordtype">double</span> normal_importance_in)</div> +<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> {</div> +<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  this->normal_importance = normal_importance_in;</div> +<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> }</div> +<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_concavity_tolerance_threshold(<span class="keywordtype">double</span> concavity_tolerance_threshold_in)</div> +<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> {</div> +<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  this->concavity_tolerance_threshold = concavity_tolerance_threshold_in;</div> +<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> }</div> +<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_smoothness_threshold(<span class="keywordtype">double</span> smoothness_threshold_in)</div> +<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> {</div> +<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  this->smoothness_threshold = smoothness_threshold_in;</div> +<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> }</div> +<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_min_segment_size(<span class="keywordtype">int</span> min_segment_size_in)</div> +<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> {</div> +<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  this->min_segment_size = min_segment_size_in;</div> +<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div> +<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_use_extended_convexity(<span class="keywordtype">bool</span> use_extended_convexity_in)</div> +<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> {</div> +<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  this->use_extended_convexity = use_extended_convexity_in;</div> +<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> }</div> +<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_use_sanity_criterion(<span class="keywordtype">bool</span> use_sanity_criterion_in)</div> +<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> {</div> +<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  this->use_sanity_criterion = use_sanity_criterion_in;</div> +<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> }</div> +<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_zmin(<span class="keywordtype">double</span> zmin_in)</div> +<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div> +<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  this->zmin = zmin_in;</div> +<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> }</div> +<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_zmax(<span class="keywordtype">double</span> zmax_in)</div> +<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> {</div> +<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  this->zmax = zmax_in;</div> +<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div> +<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_th_points(<span class="keywordtype">int</span> th_points_in)</div> +<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> {</div> +<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  this->th_points = th_points_in;</div> +<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div> +<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_disable_transform()</div> +<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> {</div> +<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keywordflow">return</span> this->disable_transform;</div> +<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div> +<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_voxel_resolution()</div> +<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> {</div> +<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordflow">return</span> this->voxel_resolution;</div> +<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> }</div> +<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_seed_resolution()</div> +<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> {</div> +<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">return</span> this->seed_resolution;</div> +<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div> +<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_color_importance()</div> +<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> {</div> +<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">return</span> this->color_importance;</div> +<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> }</div> +<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_spatial_importance()</div> +<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> {</div> +<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">return</span> this->spatial_importance;</div> +<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> }</div> +<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_normal_importance()</div> +<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> {</div> +<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">return</span> this->normal_importance;</div> +<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div> +<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_concavity_tolerance_threshold()</div> +<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> {</div> +<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">return</span> this->concavity_tolerance_threshold;</div> +<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div> +<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">double</span> TableTop_Object_Detection::TableTop_Object_Detection::TableTop_Object_Detection::get_smoothness_threshold()</div> +<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> {</div> +<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">return</span> this->smoothness_threshold;</div> +<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div> +<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">int</span> TableTop_Object_Detection::TableTop_Object_Detection::get_min_segment_size()</div> +<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div> +<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">return</span> this->min_segment_size;</div> +<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div> +<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_use_extended_convexity()</div> +<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> {</div> +<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="keywordflow">return</span> this->use_extended_convexity;</div> +<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> }</div> +<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_use_sanity_criterion()</div> +<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> {</div> +<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  <span class="keywordflow">return</span> this->use_sanity_criterion;</div> +<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> }</div> +<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_zmin()</div> +<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> {</div> +<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordflow">return</span> this->zmin;</div> +<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> }</div> +<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_zmax()</div> +<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> {</div> +<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">return</span> this->zmax;</div> +<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> }</div> +<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keywordtype">int</span> TableTop_Object_Detection::get_th_points()</div> +<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> {</div> +<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">return</span> this->th_points;</div> +<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> }</div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a1dac5b182b352220c6ca6a4f169ebc85"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00067">tabletop_object_detection.h:67</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_adbd04002cc3f21b67dedc7d5a4817ea9"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00061">tabletop_object_detection.h:61</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html"><div class="ttname"><a href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00047">tabletop_object_detection.h:47</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_af9edebad24574492fb986884155cecd3"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00058">tabletop_object_detection.h:58</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00430">tabletop_object_detection.cpp:430</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a75fb88d53b6d2d70fb6f24e0360dcef8"><div class="ttname"><a href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection::~TableTop_Object_Detection</a></div><div class="ttdeci">~TableTop_Object_Detection()</div><div class="ttdoc">class destructor </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00008">tabletop_object_detection.cpp:8</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_aae7c3acdedfe90a1a78d4ba019d53939"><div class="ttname"><a href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection::TableTop_Object_Detection</a></div><div class="ttdeci">TableTop_Object_Detection()</div><div class="ttdoc">Class costructor. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00003">tabletop_object_detection.cpp:3</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a48985d7b12316ccecbd85c7e09f1e6af"><div class="ttname"><a href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZL > get_labeled_voxel_cloud()</div><div class="ttdoc">returns labeld voxel cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00489">tabletop_object_detection.cpp:489</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a2d6ea56e8d89a278a4640ca827c9da4d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a></div><div class="ttdeci">std::multimap< uint32_t, uint32_t > get_supervoxel_adjacency()</div><div class="ttdoc">returns supervoxel_adjacency map </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00494">tabletop_object_detection.cpp:494</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a25ae1cdac1117e64e8e14b2c1cd6c361"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00059">tabletop_object_detection.h:59</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a1cc4d45794c3a1e232d7a5f43243622e"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00053">tabletop_object_detection.h:53</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a5b5cf25fa26e9d6a5762ccaaa59bd980"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00052">tabletop_object_detection.h:52</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00404">tabletop_object_detection.cpp:404</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00321">tabletop_object_detection.cpp:321</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00466">tabletop_object_detection.cpp:466</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a7f4100b194f701841e3fe565a613415c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointNormal > get_sv_normal_cloud()</div><div class="ttdoc">returns normals point cloud of the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00504">tabletop_object_detection.cpp:504</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a69899eb7a9504e03e75286f437e8da71"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters::zmax</a></div><div class="ttdeci">double zmax</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00066">tabletop_object_detection.h:66</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_aad3a5a13616c968ec81f2ed95eb8ef6c"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00055">tabletop_object_detection.h:55</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00449">tabletop_object_detection.cpp:449</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ab0d42a5811ff6ff88e5364462b891adc"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00060">tabletop_object_detection.h:60</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_abd2df80ddd63d2527fdb3e2173dfa7bd"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00051">tabletop_object_detection.h:51</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a40051e60619a46e0a1fe3df06a6367d9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a></div><div class="ttdeci">void init(pcl::PointCloud< pcl::PointXYZRGBA > input_cloud, tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Class initializer. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00013">tabletop_object_detection.cpp:13</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ac427e4c80d7791bbe503f560740aee88"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00054">tabletop_object_detection.h:54</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ad839812934dce3dc30bfce50a6c7979b"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00050">tabletop_object_detection.h:50</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00198">tabletop_object_detection.cpp:198</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe94e4ef82ab5c9474853a97f3bc0d11"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a></div><div class="ttdeci">std::map< uint32_t, pcl::Supervoxel< pcl::PointXYZRGBA >::Ptr > get_supervoxel_clusters()</div><div class="ttdoc">returns supervoxel_clusters </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00499">tabletop_object_detection.cpp:499</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00170">tabletop_object_detection.cpp:170</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a979341d0bcf0d9b8696b65054bec5838"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00062">tabletop_object_detection.h:62</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a3225e48172e84101b8ae82a8c9dd08dd"><div class="ttname"><a href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a></div><div class="ttdeci">std::vector< pcl::PointCloud< pcl::PointXYZRGBA > > get_segmented_objects_simple()</div><div class="ttdoc">Get the detected objects as a vector of point clouds. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00454">tabletop_object_detection.cpp:454</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a0545fba1336d1a337d6693b4b85bac04"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00065">tabletop_object_detection.h:65</a></div></div> +</div><!-- fragment --></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/tabletop__object__detection_8h_source.html b/trunk/doc/html/tabletop__object__detection_8h_source.html new file mode 100644 index 0000000..386b735 --- /dev/null +++ b/trunk/doc/html/tabletop__object__detection_8h_source.html @@ -0,0 +1,286 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: /home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/tabletop_object_detection.h Source File</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">tabletop_object_detection.h</div> </div> +</div><!--header--> +<div class="contents"> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef SEGMENTATION_H_</span></div> +<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define SEGMENTATION_H_</span></div> +<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <pcl/console/parse.h></span></div> +<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include <pcl/point_cloud.h></span></div> +<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include <pcl/point_types.h></span></div> +<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include <pcl/io/pcd_io.h></span></div> +<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <pcl/visualization/pcl_visualizer.h></span></div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <pcl/segmentation/supervoxel_clustering.h></span></div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <iostream></span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <pcl/ModelCoefficients.h></span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <pcl/io/pcd_io.h></span></div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <pcl/sample_consensus/method_types.h></span></div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <pcl/sample_consensus/model_types.h></span></div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <pcl/segmentation/sac_segmentation.h></span></div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include <pcl/filters/extract_indices.h></span></div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div> +<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <pcl/segmentation/lccp_segmentation.h></span></div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <vtkPolyLine.h></span></div> +<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <pcl/sample_consensus/method_types.h></span></div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <pcl/sample_consensus/model_types.h></span></div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <pcl/segmentation/sac_segmentation.h></span></div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <pcl/filters/extract_indices.h></span></div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <pcl/surface/convex_hull.h></span></div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <pcl/segmentation/extract_polygonal_prism_data.h></span></div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">typedef</span> pcl::LCCPSegmentation<pcl::PointXYZRGBA>::SupervoxelAdjacencyList SuperVoxelAdjacencyList;</div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifndef OBJECT</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span><span class="preprocessor">#define OBJECT </span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span></div> +<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structObject.html"> 37</a></span> <span class="keyword">struct </span><a class="code" href="structObject.html">Object</a></div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  pcl::PointCloud<pcl::PointXYZRGBA> object_cloud;</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordtype">int</span> label;</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> };</div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"></span></div> +<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html"> 47</a></span> <span class="keyword">struct </span><a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="comment">//supervoxels parameters </span></div> +<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b"> 50</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a>;</div> +<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd"> 51</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a>; </div> +<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980"> 52</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a>; </div> +<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e"> 53</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a>;</div> +<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88"> 54</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c"> 55</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a>;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="comment">// LCCPSegmentation parameters</span></div> +<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3"> 58</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a>;</div> +<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361"> 59</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a>;</div> +<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc"> 60</a></span>  <span class="keywordtype">int</span> <a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a>;</div> +<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9"> 61</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a>;</div> +<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838"> 62</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a>;</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// other parameters </span></div> +<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04"> 65</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a>; </div> +<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71"> 66</a></span>  <span class="keywordtype">double</span> <a class="code" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a>; </div> +<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85"> 67</a></span>  <span class="keywordtype">int</span> <a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a>; </div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }; </div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div> +<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html"> 91</a></span> <span class="keyword">class </span><a class="code" href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a></div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> {</div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// -------- Default Parameters --------</span></div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">// supervoxels parameters </span></div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> DISABLE_TRANSFORM = <span class="keyword">false</span>; </div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> VOXEL_RESOLUTION = 0.0075f;</div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> SEED_RESOLUTION = 0.03f; </div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> COLOR_IMPORTANCE = 0.0f;</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> SPATIAL_IMPORTANCE = 1.0f;</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> NORMAL_IMPORTANCE = 4.0f;</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">// LCCPSegmentation parameters</span></div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> CONCAVITY_TOLERANCE_THRESHOLD = 10;</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> SMOOTHNESS_THRESHOLD = 0.1f;</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> MIN_SEGMENT_SIZE = 3;</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> USE_EXTENDED_CONVEXITY = <span class="keyword">false</span>;</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> USE_SANITY_CRITERION = <span class="keyword">true</span>;</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// Others parameters</span></div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ZMIN = 0.02;</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ZMAX = 2.; </div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> TH_POINTS = 400; </div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="comment">//-------------------</span></div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  std::vector<Object> filt_objs;</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud;</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr lccp_labeled_cloud;</div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  std::multimap<uint32_t, uint32_t> supervoxel_adjacency;</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr labeled_voxel_cloud;</div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr > supervoxel_clusters;</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  pcl::PointCloud<pcl::PointNormal>::Ptr sv_normal_cloud;</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordtype">void</span> addSupervoxelConnectionsToViewer (pcl::PointXYZRGBA &supervoxel_center,</div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  pcl::PointCloud<pcl::PointXYZRGBA>& adjacent_supervoxel_centers,</div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  std::string supervoxel_name,</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer);</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordtype">void</span> detectObjectsOnTable(pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud, <span class="keywordtype">double</span> zmin, <span class="keywordtype">double</span> zmax, pcl::PointIndices::Ptr objectIndices, <span class="keywordtype">bool</span> filter_input_cloud);</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">//supervoxels parameters </span></div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">bool</span> disable_transform;</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">double</span> voxel_resolution; </div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">double</span> seed_resolution; </div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordtype">double</span> color_importance;</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">double</span> spatial_importance;</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">double</span> normal_importance;</div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="comment">// LCCPSegmentation parameters</span></div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordtype">double</span> concavity_tolerance_threshold;</div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">double</span> smoothness_threshold;</div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">int</span> min_segment_size;</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordtype">bool</span> use_extended_convexity;</div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">bool</span> use_sanity_criterion;</div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">// other parameters </span></div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">double</span> zmin; </div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordtype">double</span> zmax; </div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">int</span> th_points; </div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordtype">void</span> set_default_parameters();</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordtype">void</span> set_parameters(<a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> & opt);</div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">public</span>: </div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection</a>();</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">~TableTop_Object_Detection</a>();</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud,</div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> &opt);</div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud);</div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> <a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a>(); </div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a>();</div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer,<span class="keywordtype">bool</span> show_adjacency_map, <span class="keywordtype">bool</span> show_super_voxel_normals);</div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer);</div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div> +<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">show_segmented_objects</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer); </div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer);</div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  std::vector<Object> <a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>();</div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> +<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > <a class="code" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">get_segmented_objects_simple</a>();</div> +<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div> +<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a>();</div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  pcl::PointCloud<pcl::PointXYZL> <a class="code" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">get_labeled_voxel_cloud</a>();</div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div> +<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  std::multimap<uint32_t, uint32_t> <a class="code" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">get_supervoxel_adjacency</a>();</div> +<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div> +<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr> <a class="code" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">get_supervoxel_clusters</a>();</div> +<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div> +<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  pcl::PointCloud<pcl::PointNormal> <a class="code" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">get_sv_normal_cloud</a>();</div> +<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordtype">void</span> set_disable_transform(<span class="keywordtype">bool</span> disable_transform_in);</div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordtype">void</span> set_voxel_resolution(<span class="keywordtype">double</span> voxel_resolution_in);</div> +<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordtype">void</span> set_seed_resolution(<span class="keywordtype">double</span> seed_resolution_in);</div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordtype">void</span> set_color_importance(<span class="keywordtype">double</span> color_importance_in);</div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordtype">void</span> set_spatial_importance(<span class="keywordtype">double</span> spatial_importance_in);</div> +<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">void</span> set_normal_importance(<span class="keywordtype">double</span> normal_importance_in);</div> +<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  </div> +<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordtype">void</span> set_concavity_tolerance_threshold(<span class="keywordtype">double</span> concavity_tolerance_threshold_in);</div> +<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordtype">void</span> set_smoothness_threshold(<span class="keywordtype">double</span> smoothness_threshold_in);</div> +<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordtype">void</span> set_min_segment_size(<span class="keywordtype">int</span> min_segment_size_in);</div> +<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordtype">void</span> set_use_extended_convexity(<span class="keywordtype">bool</span> use_extended_convexity_in);</div> +<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordtype">void</span> set_use_sanity_criterion(<span class="keywordtype">bool</span> use_sanity_criterion_in);</div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordtype">void</span> set_zmin(<span class="keywordtype">double</span> zmin_in);</div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">void</span> set_zmax(<span class="keywordtype">double</span> zmax_in);</div> +<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordtype">void</span> set_th_points(<span class="keywordtype">int</span> th_points_in);</div> +<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div> +<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordtype">bool</span> get_disable_transform();</div> +<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordtype">double</span> get_voxel_resolution();</div> +<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordtype">double</span> get_seed_resolution();</div> +<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordtype">double</span> get_color_importance();</div> +<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordtype">double</span> get_spatial_importance();</div> +<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordtype">double</span> get_normal_importance();</div> +<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  </div> +<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordtype">double</span> get_concavity_tolerance_threshold();</div> +<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordtype">double</span> get_smoothness_threshold();</div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordtype">int</span> get_min_segment_size();</div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordtype">bool</span> get_use_extended_convexity();</div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordtype">bool</span> get_use_sanity_criterion();</div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordtype">double</span> get_zmin();</div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordtype">double</span> get_zmax();</div> +<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordtype">int</span> get_th_points();</div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div> +<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> };</div> +<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div> +<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="preprocessor">#endif </span></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a1dac5b182b352220c6ca6a4f169ebc85"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00067">tabletop_object_detection.h:67</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_adbd04002cc3f21b67dedc7d5a4817ea9"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00061">tabletop_object_detection.h:61</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html"><div class="ttname"><a href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00047">tabletop_object_detection.h:47</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_af9edebad24574492fb986884155cecd3"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00058">tabletop_object_detection.h:58</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00430">tabletop_object_detection.cpp:430</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a75fb88d53b6d2d70fb6f24e0360dcef8"><div class="ttname"><a href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection::~TableTop_Object_Detection</a></div><div class="ttdeci">~TableTop_Object_Detection()</div><div class="ttdoc">class destructor </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00008">tabletop_object_detection.cpp:8</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_aae7c3acdedfe90a1a78d4ba019d53939"><div class="ttname"><a href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection::TableTop_Object_Detection</a></div><div class="ttdeci">TableTop_Object_Detection()</div><div class="ttdoc">Class costructor. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00003">tabletop_object_detection.cpp:3</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a48985d7b12316ccecbd85c7e09f1e6af"><div class="ttname"><a href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZL > get_labeled_voxel_cloud()</div><div class="ttdoc">returns labeld voxel cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00489">tabletop_object_detection.cpp:489</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a2d6ea56e8d89a278a4640ca827c9da4d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a></div><div class="ttdeci">std::multimap< uint32_t, uint32_t > get_supervoxel_adjacency()</div><div class="ttdoc">returns supervoxel_adjacency map </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00494">tabletop_object_detection.cpp:494</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a25ae1cdac1117e64e8e14b2c1cd6c361"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00059">tabletop_object_detection.h:59</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a1cc4d45794c3a1e232d7a5f43243622e"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00053">tabletop_object_detection.h:53</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a5b5cf25fa26e9d6a5762ccaaa59bd980"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00052">tabletop_object_detection.h:52</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00404">tabletop_object_detection.cpp:404</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00321">tabletop_object_detection.cpp:321</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00466">tabletop_object_detection.cpp:466</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a7f4100b194f701841e3fe565a613415c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointNormal > get_sv_normal_cloud()</div><div class="ttdoc">returns normals point cloud of the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00504">tabletop_object_detection.cpp:504</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a69899eb7a9504e03e75286f437e8da71"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters::zmax</a></div><div class="ttdeci">double zmax</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00066">tabletop_object_detection.h:66</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_aad3a5a13616c968ec81f2ed95eb8ef6c"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00055">tabletop_object_detection.h:55</a></div></div> +<div class="ttc" id="structObject_html"><div class="ttname"><a href="structObject.html">Object</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00037">tabletop_object_detection.h:37</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00449">tabletop_object_detection.cpp:449</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ab0d42a5811ff6ff88e5364462b891adc"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00060">tabletop_object_detection.h:60</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_abd2df80ddd63d2527fdb3e2173dfa7bd"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00051">tabletop_object_detection.h:51</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a40051e60619a46e0a1fe3df06a6367d9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a></div><div class="ttdeci">void init(pcl::PointCloud< pcl::PointXYZRGBA > input_cloud, tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Class initializer. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00013">tabletop_object_detection.cpp:13</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ac427e4c80d7791bbe503f560740aee88"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00054">tabletop_object_detection.h:54</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html"><div class="ttname"><a href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00091">tabletop_object_detection.h:91</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ad839812934dce3dc30bfce50a6c7979b"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00050">tabletop_object_detection.h:50</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00198">tabletop_object_detection.cpp:198</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe94e4ef82ab5c9474853a97f3bc0d11"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a></div><div class="ttdeci">std::map< uint32_t, pcl::Supervoxel< pcl::PointXYZRGBA >::Ptr > get_supervoxel_clusters()</div><div class="ttdoc">returns supervoxel_clusters </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00499">tabletop_object_detection.cpp:499</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00170">tabletop_object_detection.cpp:170</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a979341d0bcf0d9b8696b65054bec5838"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00062">tabletop_object_detection.h:62</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a3225e48172e84101b8ae82a8c9dd08dd"><div class="ttname"><a href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a></div><div class="ttdeci">std::vector< pcl::PointCloud< pcl::PointXYZRGBA > > get_segmented_objects_simple()</div><div class="ttdoc">Get the detected objects as a vector of point clouds. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00454">tabletop_object_detection.cpp:454</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a0545fba1336d1a337d6693b4b85bac04"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00065">tabletop_object_detection.h:65</a></div></div> +</div><!-- fragment --></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/tabletop__object__detection__test_8cpp_source.html b/trunk/doc/html/tabletop__object__detection__test_8cpp_source.html new file mode 100644 index 0000000..a2f93dd --- /dev/null +++ b/trunk/doc/html/tabletop__object__detection__test_8cpp_source.html @@ -0,0 +1,291 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.6"/> +<title>tabletop_object_detection: /home/nicola/iri_ws/labrobotica/algorithms/tableTop_object_detection/trunk/src/examples/tabletop_object_detection_test.cpp Source File</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">tabletop_object_detection + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.6 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + </ul> + </div> +<div id="nav-path" class="navpath"> + <ul> +<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_e931c1a3f0014e624d0645a271726ad2.html">examples</a></li> </ul> +</div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">tabletop_object_detection_test.cpp</div> </div> +</div><!--header--> +<div class="contents"> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "tabletop_object_detection.h"</span></div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <pcl/visualization/pcl_visualizer.h></span></div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// these includes are for retrieve the objects' points in the RGB image</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "opencv2/imgproc/imgproc.hpp"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "opencv2/highgui/highgui.hpp"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "opencv2/core/core.hpp"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <pcl/kdtree/kdtree_flann.h></span></div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">bool</span> pressed = <span class="keyword">false</span>;</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">void</span> keyboardEventOccurred (<span class="keyword">const</span> pcl::visualization::KeyboardEvent &event,</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordtype">void</span>* viewer_void)</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> {</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer = *<span class="keyword">static_cast<</span>boost::shared_ptr<pcl::visualization::PCLVisualizer> *<span class="keyword">></span> (viewer_void);</div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">if</span> (event.getKeySym() == <span class="stringliteral">"n"</span> && <span class="keyword">event</span>.keyDown ())</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  pressed = <span class="keyword">true</span>;</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  }</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> }</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">int</span></div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> main (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">if</span> (argc < 2)</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  pcl::console::print_error (<span class="stringliteral">"Syntax is: %s <pcd-file> \n"</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="stringliteral">"--NT Dsables the single cloud transform \n"</span></div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="stringliteral">"-v <voxel resolution>\n-s <seed resolution>\n"</span></div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="stringliteral">"-c <color weight> \n-z <spatial weight> \n"</span></div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="stringliteral">"-n <normal_weight>\n"</span></div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="stringliteral">"---LCCP params----\n"</span></div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="stringliteral">"-sc disable sanity criterion\n"</span></div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="stringliteral">"-ct concavity tolerance\n"</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="stringliteral">"-st smoothness threshold\n"</span> </div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="stringliteral">"-ec enable extended criterion\n"</span></div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="stringliteral">"-smooth min segment size\n"</span></div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="stringliteral">"-- Others parameters ---"</span></div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="stringliteral">"-zmin minimum distance orthogonal to the table plane to consider a point as valid\n"</span></div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="stringliteral">"-zmax maximum distance orthogonal to the table plane to consider a point as valid\n"</span></div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="stringliteral">"-th_points minimum amount of points to consider a cluster as an object\n"</span></div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="stringliteral">"\n"</span>, argv[0]);</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">return</span> (1);</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="comment">// parameters for the LCCP segmentation</span></div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a> segLCCP;</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> opt = segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a>();</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="comment">// ------------------- parsing the inputs ---------------------------- </span></div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="comment">//--------------------------------------------------------------------</span></div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a> = pcl::console::find_switch (argc, argv, <span class="stringliteral">"--NT"</span>);</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-v"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a>);</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-s"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a>);</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-c"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a>);</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-z"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a>);</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-n"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a>);</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-ct"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a>);</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-st"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a>);</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a> = pcl::console::find_switch (argc, argv, <span class="stringliteral">"-ec"</span>);</div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a> = !pcl::console::find_switch (argc, argv, <span class="stringliteral">"-sc"</span>);</div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-smooth"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a>);</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="comment">// table plane estimation - parameters</span></div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-zmin"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a>);</div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">// minimum amount of points to consider a cluster as an object</span></div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  pcl::console::parse (argc, argv, <span class="stringliteral">"-th_points"</span>, opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a>);</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">//-------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(<span class="keyword">new</span> pcl::PointCloud<pcl::PointXYZRGBA>);</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  pcl::console::print_highlight (<span class="stringliteral">"Loading point cloud...\n"</span>);</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">if</span> (pcl::io::loadPCDFile<pcl::PointXYZRGBA> (argv[1], *cloud))</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  pcl::console::print_error (<span class="stringliteral">"Error loading cloud file!\n"</span>);</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> (1);</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="comment">//----------------------------------------</span></div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">//TableTop_Object_Detection segLCCP;</span></div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  std::vector<Object> seg_objs; <span class="comment">//("seg_objs" stands for "filtered objects") </span></div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(*cloud,opt);</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a>();</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a>();</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  seg_objs = segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>();</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  std::cout << <span class="stringliteral">"\nDetected "</span> << seg_objs.size() << <span class="stringliteral">" objects.\n\n"</span>;</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="comment">//----------------------------------------</span></div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  pcl::visualization::PCLVisualizer::Ptr viewer (<span class="keyword">new</span> pcl::visualization::PCLVisualizer (<span class="stringliteral">"3D Viewer"</span>));</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  viewer->setBackgroundColor (0, 0, 0);</div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  viewer->registerKeyboardCallback (keyboardEventOccurred, (<span class="keywordtype">void</span>*)&viewer); </div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  </div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// show super voxels with normals and adiacency map </span></div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordtype">bool</span> show_adjacency_map = <span class="keyword">true</span>;</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordtype">bool</span> show_super_voxel_normals = <span class="keyword">true</span>;</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(viewer,show_adjacency_map,show_super_voxel_normals); </div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  </div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  std::cout << <span class="stringliteral">"Press 'n' to show the segmented objects\n"</span>;</div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">while</span> (!viewer->wasStopped () && !pressed) <span class="comment">// the pressed variable is just usfull only for this first while (bad programming)</span></div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  viewer->spinOnce (100);</div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(viewer);</div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="comment">// show the segmented objects, the result of the segmentation</span></div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  std::cout << <span class="stringliteral">"\nClose the visualzier to go to the next step\n"</span>;</div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">show_segmented_objects</a>(viewer);</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">while</span> (!viewer->wasStopped ()) <span class="comment">// the pressed variable is just usfull only for this first while (bad programming)</span></div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  viewer->spinOnce (100);</div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(viewer);</div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span>(cloud->isOrganized())<span class="comment">//if the point cloud is organized we can work with the RGB image</span></div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="comment">// recover the RGB IMAGE from the point cloud </span></div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  cv::Mat img_orignal(480, 640, CV_8UC3); <span class="comment">//create an image ( 3 channels, 8 bit image depth);</span></div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> row = 0; row < img_orignal.rows; ++row)</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  {</div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c = 0; c < img_orignal.cols; ++c)</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  { </div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  pcl::PointXYZRGBA point = (*cloud)(c,row); <span class="comment">//note: there is a transformation in the reference frame of the pclò and the image!!!!!!!!!!!!!!!!</span></div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  uint8_t r = (uint8_t)point.r;</div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  uint8_t g = (uint8_t)point.g; </div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  uint8_t b = (uint8_t)point.b; </div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  cv::Vec3b color;<span class="comment">//vector of colors </span></div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  color.val[0] = b;</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  color.val[1] = g;</div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  color.val[2] = r;</div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  img_orignal.at<cv::Vec3b>(row,c) = color;</div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  cv::namedWindow(<span class="stringliteral">"Original"</span>, CV_WINDOW_AUTOSIZE); <span class="comment">//create a window with the name "MyWindow"</span></div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  cv::imshow(<span class="stringliteral">"Original"</span>, img_orignal); <span class="comment">//display the image which is stored in the 'img' in the "MyWindow" window</span></div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  std::cout << <span class="stringliteral">"You are now viewing the RGB image (recovered by the point cloud)."</span></div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  << <span class="stringliteral">" Press whatever key to go further."</span>;</div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  cv::waitKey(0);</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="comment">// displaying in the RGB image what are the pixels of the rgb image related to the segmented objects</span></div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  std::cout << <span class="stringliteral">"\nYou are now visualizing the results of the segmentation in the 2D rgb image."</span></div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  << <span class="stringliteral">" Press right arrow to visualize the next object, the left one to visualize the previous one, and ESC to exit.\n"</span>; </div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  </div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="comment">// to retireve the points in the RGB image we have to use a KdTree to get the points of the object</span></div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// in the input cloud </span></div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  pcl::KdTreeFLANN<pcl::PointXYZRGBA> kdtree;</div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  kdtree.setInputCloud (cloud);</div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordtype">int</span> k = 0;</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  uint32_t idx_v = 0; <span class="comment">//index of the object to work with </span></div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  cv::namedWindow(<span class="stringliteral">"Segmented Results"</span>, CV_WINDOW_AUTOSIZE); <span class="comment">//create a window with the name "MyWindow"</span></div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">while</span>( (k != 27 && k != 1048603) && idx_v < seg_objs.size() && idx_v >= 0) <span class="comment">//while it ESC is not pressed </span></div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  {</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">if</span>(seg_objs[idx_v].object_cloud.points.size() > 400)</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  {</div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> +<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  cv::Mat img(480, 640, CV_8UC3,cv::Scalar(255,255,255)); <span class="comment">//create an image ( 3 channels, 8 bit image depth);</span></div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="comment">//fill the matrix "img" with only the points of the current object</span></div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < seg_objs[idx_v].object_cloud.points.size(); ++i)</div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  pcl::PointXYZRGBA searchPoint;</div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  searchPoint.x = seg_objs[idx_v].object_cloud.points[i].x;</div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  searchPoint.y = seg_objs[idx_v].object_cloud.points[i].y;</div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  searchPoint.z = seg_objs[idx_v].object_cloud.points[i].z;</div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  std::vector<int> pointIdxNKNSearch(1);</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  std::vector<float> pointNKNSquaredDistance(1);</div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">if</span> ( kdtree.nearestKSearch (searchPoint, 1, pointIdxNKNSearch, pointNKNSquaredDistance) > 0 )</div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  {</div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  pcl::PointXYZRGBA point = cloud->points[pointIdxNKNSearch[0]]; </div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  uint8_t r = (uint8_t)point.r;</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  uint8_t g = (uint8_t)point.g; </div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  uint8_t b = (uint8_t)point.b; </div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  </div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  cv::Vec3b color; <span class="comment">//vector of colors </span></div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  color.val[0] = b;</div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  color.val[1] = g;</div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  color.val[2] = r;</div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordtype">float</span> x,y;</div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  y = (<span class="keywordtype">int</span>)(pointIdxNKNSearch[0]/cloud->width);</div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  x = pointIdxNKNSearch[0] - y*cloud->width;</div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  img.at<cv::Vec3b>(y,x) = color; <span class="comment">//transformation coordinates</span></div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  }</div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  cv::imshow(<span class="stringliteral">"Segmented Results"</span>, img); <span class="comment">//display the image which is stored in the 'img' in the "MyWindow" window</span></div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div> +<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  k = cv::waitKey(0);</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  std::cout << <span class="stringliteral">"Object: "</span> << idx_v << std::endl;</div> +<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div> +<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div> +<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">if</span>( k == 65363 || k == 0 || k == 1113939) <span class="comment">// right arrow</span></div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  idx_v++;</div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">if</span>( k == 65361 || k == 1113937) <span class="comment">// left arrow</span></div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  idx_v > 0 ? idx_v-- : idx_v = 0;</div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">else</span></div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  std::cout << <span class="stringliteral">"The point cloud is not organized"</span>;</div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> (0);</div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a1dac5b182b352220c6ca6a4f169ebc85"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00067">tabletop_object_detection.h:67</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_adbd04002cc3f21b67dedc7d5a4817ea9"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00061">tabletop_object_detection.h:61</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html"><div class="ttname"><a href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00047">tabletop_object_detection.h:47</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_af9edebad24574492fb986884155cecd3"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00058">tabletop_object_detection.h:58</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00430">tabletop_object_detection.cpp:430</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a25ae1cdac1117e64e8e14b2c1cd6c361"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00059">tabletop_object_detection.h:59</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a1cc4d45794c3a1e232d7a5f43243622e"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00053">tabletop_object_detection.h:53</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a5b5cf25fa26e9d6a5762ccaaa59bd980"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00052">tabletop_object_detection.h:52</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00404">tabletop_object_detection.cpp:404</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00321">tabletop_object_detection.cpp:321</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00466">tabletop_object_detection.cpp:466</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_aad3a5a13616c968ec81f2ed95eb8ef6c"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00055">tabletop_object_detection.h:55</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00449">tabletop_object_detection.cpp:449</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ab0d42a5811ff6ff88e5364462b891adc"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00060">tabletop_object_detection.h:60</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_abd2df80ddd63d2527fdb3e2173dfa7bd"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00051">tabletop_object_detection.h:51</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a40051e60619a46e0a1fe3df06a6367d9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a></div><div class="ttdeci">void init(pcl::PointCloud< pcl::PointXYZRGBA > input_cloud, tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Class initializer. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00013">tabletop_object_detection.cpp:13</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ac427e4c80d7791bbe503f560740aee88"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00054">tabletop_object_detection.h:54</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html"><div class="ttname"><a href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00091">tabletop_object_detection.h:91</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_ad839812934dce3dc30bfce50a6c7979b"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00050">tabletop_object_detection.h:50</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00198">tabletop_object_detection.cpp:198</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00170">tabletop_object_detection.cpp:170</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a979341d0bcf0d9b8696b65054bec5838"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00062">tabletop_object_detection.h:62</a></div></div> +<div class="ttc" id="structtableTop__object__detection__parameters_html_a0545fba1336d1a337d6693b4b85bac04"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00065">tabletop_object_detection.h:65</a></div></div> +</div><!-- fragment --></div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated on Fri Feb 19 2016 15:00:58 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +<img class="footer" src="doxygen.png" alt="doxygen"/> +</a> 1.8.6 +</small></address> +</body> +</html> diff --git a/trunk/doc/html/tabs.css b/trunk/doc/html/tabs.css new file mode 100644 index 0000000..9cf578f --- /dev/null +++ b/trunk/doc/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/trunk/doc/main.dox b/trunk/doc/main.dox index dae29a6..e7a5ef2 100644 --- a/trunk/doc/main.dox +++ b/trunk/doc/main.dox @@ -2,9 +2,15 @@ \section Introduction + This library detects objects that stand on a table in a given point cloud. + It also include a structure to define all the parameters used by the alrogithm in + a compact way. + \subsection Pre-Requisites This package requires of the following libraries and packages + - <A href="http://pointclouds.org/">PCL</A>, open project for 2D/3D image and point cloud processing. + - <A href="http://opencv.org/">OpenCV</A>, open source computer vision and machine learning software library (this only for the example). - <A href="http://www.cmake.org">cmake</A>, a cross-platform build system. - <A href="http://www.doxygen.org">doxygen</a> and <A href="http://www.graphviz.org">graphviz</a> to generate the documentation. diff --git a/trunk/src/examples/tabletop_object_detection_test.cpp b/trunk/src/examples/tabletop_object_detection_test.cpp index 6299e31..4cfe387 100644 --- a/trunk/src/examples/tabletop_object_detection_test.cpp +++ b/trunk/src/examples/tabletop_object_detection_test.cpp @@ -105,7 +105,7 @@ main (int argc, char ** argv) //---------------------------------------- //TableTop_Object_Detection segLCCP; std::vector<Object> seg_objs; //("seg_objs" stands for "filtered objects") - segLCCP.init(*cloud); + segLCCP.init(*cloud,opt); segLCCP.print_parameters(); segLCCP.segment(); seg_objs = segLCCP.get_segmented_objects(); @@ -175,7 +175,6 @@ main (int argc, char ** argv) int k = 0; uint32_t idx_v = 0; //index of the object to work with cv::namedWindow("Segmented Results", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow" - int n_obj = 0; while( (k != 27 && k != 1048603) && idx_v < seg_objs.size() && idx_v >= 0) //while it ESC is not pressed { if(seg_objs[idx_v].object_cloud.points.size() > 400) @@ -216,7 +215,7 @@ main (int argc, char ** argv) cv::imshow("Segmented Results", img); //display the image which is stored in the 'img' in the "MyWindow" window k = cv::waitKey(0); - std::cout << "Key code: " << k << std::endl; + std::cout << "Object: " << idx_v << std::endl; } if( k == 65363 || k == 0 || k == 1113939) // right arrow -- GitLab