2011-10-14 02:41:56 +08:00
|
|
|
/* ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
|
|
|
* -------------------------------------------------------------------------- */
|
|
|
|
|
|
|
|
/**
|
2011-10-14 11:23:14 +08:00
|
|
|
* @file Module.h
|
|
|
|
* @brief describes module to be wrapped
|
|
|
|
* @author Frank Dellaert
|
2011-10-14 02:41:56 +08:00
|
|
|
**/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
2011-12-07 11:05:33 +08:00
|
|
|
#include <vector>
|
2011-10-14 02:41:56 +08:00
|
|
|
|
|
|
|
#include "Class.h"
|
|
|
|
|
2011-12-03 00:43:15 +08:00
|
|
|
namespace wrap {
|
|
|
|
|
2011-10-14 12:43:06 +08:00
|
|
|
/**
|
|
|
|
* A module just has a name and a list of classes
|
|
|
|
*/
|
2011-10-14 02:41:56 +08:00
|
|
|
struct Module {
|
2011-10-14 12:43:06 +08:00
|
|
|
std::string name; ///< module name
|
2011-12-07 11:05:33 +08:00
|
|
|
std::vector<Class> classes; ///< list of classes
|
2011-12-07 11:05:37 +08:00
|
|
|
bool verbose; ///< verbose flag
|
2011-12-10 04:29:47 +08:00
|
|
|
std::vector<std::string> using_namespaces; ///< all default namespaces
|
2011-10-14 02:41:56 +08:00
|
|
|
|
2011-10-14 12:43:06 +08:00
|
|
|
/// constructor that parses interface file
|
2011-12-06 04:54:41 +08:00
|
|
|
Module(const std::string& interfacePath,
|
2011-10-14 02:41:56 +08:00
|
|
|
const std::string& moduleName,
|
2011-12-07 11:05:37 +08:00
|
|
|
bool enable_verbose=true);
|
2011-10-14 02:41:56 +08:00
|
|
|
|
2011-10-14 12:43:06 +08:00
|
|
|
/// MATLAB code generation:
|
2011-10-14 02:41:56 +08:00
|
|
|
void matlab_code(const std::string& path,
|
2011-12-06 04:54:41 +08:00
|
|
|
const std::string& mexExt,
|
2011-12-12 05:09:07 +08:00
|
|
|
const std::string& mexFlags) const;
|
2011-10-14 02:41:56 +08:00
|
|
|
};
|
|
|
|
|
2011-12-03 00:43:15 +08:00
|
|
|
} // \namespace wrap
|