Skip to content

Instantly share code, notes, and snippets.

Avatar

Jose Luis Blanco-Claraco jlblancoc

View GitHub Profile
@jlblancoc
jlblancoc / gtsam-serialization-example.cpp
Created Oct 6, 2020
GTSAM factor graph serialization example
View gtsam-serialization-example.cpp
#include <boost/archive/binary_iarchive.hpp>
#include <boost/archive/binary_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <fstream>
#include <gtsam/base/serialization.h>
// ... Includes for your values and factors:
#include <gtsam/base/GenericValue.h> // GTSAM_VALUE_EXPORT
#include <gtsam/geometry/Pose2.h>
View Fw_ Jose Luis sent you a order request on LinkedIn.eml
This file has been truncated, but you can view the full file.
Delivered-To: jlblanco@ual.es
Received: by 2002:a02:8786:0:0:0:0:0 with SMTP id t6csp1186368jai;
Wed, 22 Jul 2020 22:43:39 -0700 (PDT)
X-Google-Smtp-Source: ABdhPJylm/QLhynKq/SZznR1l+Y5sRRDMulWqyIKPUeIickBG5o/ELk3EloepDByZGlB+RSf/LfF
X-Received: by 2002:a92:5f5a:: with SMTP id t87mr1748507ilb.255.1595483019518;
Wed, 22 Jul 2020 22:43:39 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1595483019; cv=none;
d=google.com; s=arc-20160816;
b=N3tZ5eARWjTJbaqKvySN+mHaSOUPVGHZP4DpOQQeS7j0oHIcDMgcEK/G1PAsMInAtw
@jlblancoc
jlblancoc / method.md
Last active Jul 3, 2020
Regular expression: replace all C++ member variable names in a project `m_XXX` ==> "XX_" (Google style)
View method.md

Search for:

([\r\n ,\.\t\[\_\*\>\(\-\!\&\{])m_([a-zA-Z0-9_]*)

Replace with:

$1$2_
@jlblancoc
jlblancoc / Factor1stOrderOutput.cpp
Created Jan 20, 2020
Minimal example: defining new factor and variable types for GTSAM
View Factor1stOrderOutput.cpp
#include <libfgcontrol/Factor1stOrderOutput.h>
#include <mrpt/core/exceptions.h>
using namespace fgcontrol;
Factor1stOrderOutput::~Factor1stOrderOutput() = default;
gtsam::NonlinearFactor::shared_ptr Factor1stOrderOutput::clone() const
{
return boost::static_pointer_cast<gtsam::NonlinearFactor>(
@jlblancoc
jlblancoc / notes.md
Last active Dec 6, 2019
wxWidgets: massive port Connect() to Bind() using regular expressions
View notes.md

Regular expression syntax tested with Visual Studio Code (Dec 2019)

Goal: transform:

Connect(
	ID_BUTTON1, wxEVT_COMMAND_BUTTON_CLICKED,
	(wxObjectEventFunction)&CDlgCalibWizardOnline::OnbtnStartClick);

into:

@jlblancoc
jlblancoc / capture.m
Created Mar 7, 2019
Example: capture analog streams with NationInstrument DAQ from MATLAB
View capture.m
function [] = main()
close all;
% Make sure:
disp('Searching devices...');
devs=daq.getDevices();
if (length(devs.Vendor)~=1),
error('Is the USB DAQ connected?');
end
@jlblancoc
jlblancoc / check_K.m
Created Jun 7, 2018
Ayuda a depuración de cálculo matricial de estructuras en C++
View check_K.m
% Comprobación en MATLAB de que una matriz 'K.txt' es correcta:
% Dentro de MATLAB, irse al directorio donde esté el fichero K.txt:
K=load('K.txt');
% "K" debe ser simétrica, por lo que K menos su transpuesta debe ser todo ceros.
errores = K - K';
% Inspeccionar la matriz "errores" en el visor de variables, y en caso de haber
% elementos distintos de cero (ignorad los errores numéricos, valores muy pequeños)
@jlblancoc
jlblancoc / Install_gcc7_ubuntu_16.04.md
Last active Nov 24, 2021
Installing gcc-7 & g++-7 in Ubuntu 16.04LTS Xenial
View Install_gcc7_ubuntu_16.04.md

Run the following in the terminal:

Install the gcc-7 packages:

sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install g++-7 -y

Set it up so the symbolic links gcc, g++ point to the newer version:

View gist:44be9d4d466f0a973b1f3808a8e56782

Build in CMake with these params:

CMAKE_CXX_FLAGS:STRING= -fsanitize=address  -fsanitize=leak -g
CMAKE_C_FLAGS:STRING=-fsanitize=address  -fsanitize=leak -g
CMAKE_EXE_LINKER_FLAGS:STRING=-fsanitize=address  -fsanitize=leak
CMAKE_MODULE_LINKER_FLAGS:STRING=-fsanitize=address  -fsanitize=leak

Which can be done with:

@jlblancoc
jlblancoc / delete_build_temps.bat
Created Nov 28, 2013
Batch (.BAT) script (Windows) to delete all temporary files after compiling a project with Microsoft Visual Studio (Visual C++) or GCC. It finds and removes (recursively in the given directory trees), all files that match any of: *.obj, *.o, *.pch, *.pdb, *.ilk, *.idb, *.gch
View delete_build_temps.bat
REM =======================================================================
REM Batch (.BAT) script (Windows) to delete all temporary files after
REM compiling a project with Microsoft Visual Studio (Visual C++) or GCC.
REM
REM Warning: It also deletes the debug databases, needed to "step into"
REM from a debugger. These files may be really *large*, but if you think
REM you will need them, remove the file for "*.pdb" below.
REM
REM Usage:
REM - Open a terminal (Windows-key + R , type "cmd", press ENTER)