Point cloud processing

ROS nodes Point Cloud IO https://github.com/ANYbotics/point_cloud_io two nodes for reading and writing PointCloud2 from/to ply, pcd formats point_cloud_assembler from laser_assembler http://wiki.ros.org/laser_assembler This node assembles a stream of sensor_msgs/PointCloud2 messages into larger point clouds. The aggregated point cloud can be accessed via a call to assemble_scans service. https://github.com/ros-perception/laser_assembler Tutorial Octomap http://octomap.github.io/ Seems like a standard solution to convert point clouds to a map in several formats pointcloud_to_laserscan http://wiki.ros.org/pointcloud_to_laserscan pcl_ros http://wiki....

November 10, 2020 · SergeM

C++ and CMake

CMake in VSCode VSCode is a free open source IDE with a lot of nice features. In addition one can chose from a variety of extensions. Looks like Cmake-tools kind of works, but the hotkeys and some settings are far from intuitive. In my previous attempt I ended up removing cmake tools plugin and moving forward with custom task.json and launch.json scripts. Here is a template I made back then. https://github....

March 26, 2020 · SergeM

C++ IDE for linux

UPD: It seems that the current solution (2019) is VSCode. It’s free and powerful. There is a plenty of plugins. VSCode How to see content of std::string in the debugger You have to enable pretty printing by default for gdb, Add the following to your launch.json: "setupCommands": [ { "text": "-enable-pretty-printing" } ] Using CMake in VSCode See C++ and CMake Clion CLion is awesome but expensive. Codelite Found Codelite on http://stackoverflow....

April 5, 2016 · SergeM

reading C type declarations

Source //////////// simple example: long **foo[7]; We’ll approach this systematically, focusing on just one or two small part as we develop the description in English. As we do it, we’ll show the focus of our attention in red, and strike out the parts we’ve finished with. long * * foo [7]; Start with the variable name and end with the basic type: foo is … long...

March 9, 2015 · SergeM

clang: error: linker command failed with exit code 1

Finally I solved the problem with broken clang compilation I always got message <div class="p1"><span style="font-family: Courier New, Courier, monospace;">ld: malformed archive TOC entry for <long strange identifier>, offset 362137760 is beyond end of file 303710208</span></div><div class="p1"><span style="font-family: Courier New, Courier, monospace;">&nbsp;for architecture x86_64</span></div><div class="p1"><span style="font-family: Courier New, Courier, monospace;">clang: error: linker command failed with exit code 1 (use -v to see invocation)</span></div><div class="p1"> when I interrupted compilation of a large project....

March 20, 2014 · SergeM

C++11 stuff

random numbers http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3551.pdf Sutter. C++11 features http://herbsutter.com/elements-of-modern-c-style/

February 17, 2014 · SergeM

Building ConEmu

Problems with ConEmu building from https://github.com/Maximus5/ConEmu.git v14.01.06in Visual Studio 2010ConEmuCunresolved external symbol `__imp__`wsprintfA- add additional dependency **User32.lib** **ConEmuCD**Error3error LNK2001: unresolved external symbol `__imp__`CharUpperBuffW@8 Error4error LNK2001: unresolved external symbol `__imp__`MapVirtualKeyW@8 Error5error LNK2001: unresolved external symbol `__imp__`VkKeyScanW@4 Error6error LNK2001: unresolved external symbol `__imp__`GetSystemMetrics@4 Error7error LNK2001: unresolved external symbol `__imp__`IsRectEmpty@4 Error8error LNK2001: unresolved external symbol `__imp__`MonitorFromRect@8 Error9error LNK2001: unresolved external symbol `__imp__`GetMonitorInfoW@8 Error10error LNK2001: unresolved external symbol `__imp__`MonitorFromWindow@8 Error11error LNK2001: unresolved external symbol `__imp__`SystemParametersInfoW@16 etc....

January 16, 2014 · SergeM

Temporary files format that can be deleted from project of Visual Studio 2010

Add to .gitignore: *.ipch Debug Release *.sdf - The SDF file is your code browsing database which uses SQL Sever Compact Edition. You don’t need to copy this SDF file while you move your project, and it will be automatically populated in the new location once you open your project. [[1](http://social.msdn.microsoft.com/Forums/en-US/20fee924-e267-4c1a-b0fe-3321f86e1bb5/sdf-file?forum=vcprerelease" target="_blank)] [[2](http://social.msdn.microsoft.com/Forums/vstudio/en-US/1ef46540-e4b8-4779-8403-49239bc3f7ee/is-it-safe-to-delete-ipch-folder-precompiled-headers?forum=vcgeneral" target="_blank)]

January 14, 2014 · SergeM

Things about C++

rules for resolving calls to overloaded functions: - identify the function that's the best match for the call (name, parameters etc)checks accessibility for the best-match function. Resolving function overloads (my) ![](http://4.bp.blogspot.com/-QLJfqdOD7GI/UuKOhiNr9CI/AAAAAAAAAbo/zxi4-98NBwY/s1600/functionsOverloadingSchemeCPP.png) Resolving function overloadssrc:[http://www.dcs.bbk.ac.uk/~roger/cpp/week20.htm](http://www.dcs.bbk.ac.uk/~roger/cpp/week20.htm" target="_blank) The compiler works through the following checklist and if it still can't reach a decision, it issues an error:Gather all the functions in the current scope that have the same name as the function called.Exclude those that don't have the right number of parameters to match the arguments in the call....

January 6, 2014 · SergeM

Private inheritance

Example from Meyers “Effective C++” class Timer { public: explicit Timer(int tickFrequency); virtual void onTick() const; // Called automatically for each tic, // onTick() must be redefined to do things ... }; class Widget: private Timer { // private inheritance private: virtual void onTick() const; // redefined to make job done ... }; Now clients of Widget get interface untouched and required job is done Example of protecting method from redefinition in derived classes:...

January 6, 2014 · SergeM