gtsam/wrap/wrap.cpp

59 lines
1.9 KiB
C++

/* ----------------------------------------------------------------------------
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
* Atlanta, Georgia 30332-0415
* All Rights Reserved
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
* See LICENSE for the license information
* -------------------------------------------------------------------------- */
/**
* @file wrap.ccp
* @brief wraps functions
* @author Frank Dellaert
**/
#include <stdio.h>
#include <iostream>
#include "Module.h"
using namespace std;
/* ************************************************************************* */
/**
* main function to wrap a module
*/
void generate_matlab_toolbox(const string& interfacePath,
const string& moduleName,
const string& toolboxPath,
const string& nameSpace,
const string& mexFlags)
{
// Parse into class object
Module module(interfacePath, moduleName, false);
// emit MATLAB code
module.matlab_code(toolboxPath,nameSpace,mexFlags);
}
/* ************************************************************************* */
int main(int argc, const char* argv[]) {
if (argc<5 || argc>6) {
cerr << "wrap parses an interface file and produces a MATLAB toolbox" << endl;
cerr << "usage: wrap interfacePath moduleName toolboxPath" << endl;
cerr << " interfacePath : *absolute* path to directory of module interface file" << endl;
cerr << " moduleName : the name of the module, interface file must be called moduleName.h" << endl;
cerr << " toolboxPath : the directory in which to generate the wrappers" << endl;
cerr << " nameSpace : namespace to use, pass empty string if none" << endl;
cerr << " [mexFlags] : extra flags for the mex command" << endl;
}
else
generate_matlab_toolbox(argv[1],argv[2],argv[3],argv[4],argc==5 ? " " : argv[5]);
}
/* ************************************************************************* */