From ad4299e4683fe34eec7617fe2699b243b166e479 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Fri, 21 Oct 2011 05:06:51 +0000 Subject: [PATCH] Added a README file, also look at matlab.h comments! --- wrap/README | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 wrap/README diff --git a/wrap/README b/wrap/README new file mode 100644 index 000000000..2556c179b --- /dev/null +++ b/wrap/README @@ -0,0 +1,27 @@ +Frank Dellaert +October 2011 + +The wrap library wraps the GTSAM library into a MATLAB toolbox. + +It was designed to be more general than just wrapping GTSAM, but a small amount of +GTSAM specific code exists in matlab.h, the include file that is included by the +mex files. In addition, the current makefile (Oct 11) is GTSAM specific. + +The classes and methods to be warpped are specified in gtsam.h +This tool will not wrap arbitrary methods. Please read comments in matlab.h +Some good things to know: + +OBJECT CREATION +- Classes are created by special constructors, e.g., new_GaussianFactorGraph_.cpp. + These constructors are called from the MATLAB class @GaussianFactorGraph. + new_GaussianFactorGraph_ calls wrap_constructed in matlab.h, see documentation there + +METHOD (AND CONSTRUCTOR) ARGUMENTS +- simple argument types of methods, such as "double", will be converted in the + mex warppers by calling unwrap, defined in matlab.h +- Vector and Matric arguments are normally passed by reference in GTSAM, but + in gtsam.h you need to pretedn they are passed by value, to trigger the + generation of the correct conversion routines unwrap and unwrap +- passing classes as arguments works, provided they are passed by reference. + This triggers a call to unwrap_shared_ptr + \ No newline at end of file