Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Static Private Member Functions | List of all members
gtwrap.matlab_wrapper.MatlabWrapper Class Reference
Inheritance diagram for gtwrap.matlab_wrapper.MatlabWrapper:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self, module, module_name, top_module_namespace='', ignore_classes=())
 
def class_comment (self, instantiated_class)
 
def class_serialize_comment (self, class_name, static_methods)
 
def generate_collector_function (self, func_id)
 
def generate_matlab_wrapper (self)
 
def generate_wrapper (self, namespace)
 
def mex_function (self)
 
def wrap (self)
 
def wrap_class_constructors (self, namespace_name, inst_class, parent_name, ctors, is_virtual)
 
def wrap_class_deconstructor (self, namespace_name, inst_class)
 
def wrap_class_display (self)
 
def wrap_class_methods (self, namespace_name, inst_class, methods, serialize=(False,))
 
def wrap_class_properties (self, class_name)
 
def wrap_class_serialize_method (self, namespace_name, inst_class)
 
def wrap_collector_function_deserialize (self, class_name, full_name='', namespace='')
 
def wrap_collector_function_return (self, method)
 
def wrap_collector_function_return_types (self, return_type, func_id)
 
def wrap_collector_function_serialize (self, class_name, full_name='', namespace='')
 
def wrap_collector_function_shared_return (self, return_type_name, shared_obj, func_id, new_line=True)
 
def wrap_collector_function_upcast_from_void (self, class_name, func_id, cpp_name)
 
def wrap_global_function (self, function)
 
def wrap_instantiated_class (self, instantiated_class, namespace_name='')
 
def wrap_method (self, methods)
 
def wrap_methods (self, methods, global_funcs=False, global_ns=None)
 
def wrap_namespace (self, namespace, parent=())
 
def wrap_static_methods (self, namespace_name, instantiated_class, serialize)
 
- Public Member Functions inherited from object
template<typename T >
T cast () const &
 
template<typename T >
T cast ()&&
 
template<>
void cast () const &
 
template<>
void cast ()&&
 
 object ()=default
 
 object (const object &o)
 Copy constructor; always increases the reference count. More...
 
 object (object &&other) noexcept
 Move constructor; steals the object from other and preserves its reference count. More...
 
 object (handle h, borrowed_t)
 
 object (handle h, stolen_t)
 
objectoperator= (const object &other)
 
objectoperator= (object &&other) noexcept
 
 PYBIND11_DEPRECATED ("Use reinterpret_borrow<object>() or reinterpret_steal<object>()") object(handle h
 
handle release ()
 
 ~object ()
 Destructor; automatically calls handle::dec_ref() More...
 
- Public Member Functions inherited from handle
template<typename T >
T cast () const
 
template<>
void cast () const
 
bool check () const
 
const handledec_ref () const &
 
 handle ()=default
 The default constructor creates a handle with a nullptr-valued pointer. More...
 
 handle (PyObject *ptr)
 Creates a handle from the given raw Python object pointer. More...
 
const handleinc_ref () const &
 
 operator bool () const
 Return true when the handle wraps a valid Python object. More...
 
bool operator!= (const handle &h) const
 
bool operator== (const handle &h) const
 
PyObject * ptr () const
 Return the underlying PyObject * pointer. More...
 
PyObject *& ptr ()
 

Public Attributes

 ignore_classes
 
 module
 
 module_name
 
 top_module_namespace
 
 verbose
 
- Public Attributes inherited from object
bool is_borrowed: handle(h) { if (is_borrowed) inc_ref()
 

Static Public Attributes

 data_type
 
 data_type_param
 
 dict
 
 dir_path
 
 global_function_id
 
 ignore_methods
 
 ignore_namespace
 
 list
 
 not_ptr_type
 
 whitelist
 
 wrapper_file_header
 
 wrapper_id
 

Private Member Functions

def _add_class (self, instantiated_class)
 
def _add_include (self, include)
 
def _clean_class_name (self, instantiated_class)
 
def _debug (self, message)
 
def _format_class_name (self, instantiated_class, separator='')
 
def _format_global_method (self, static_method, separator='')
 
def _format_instance_method (self, instance_method, separator='')
 
def _format_return_type (cls, return_type, include_namespace=False, separator="::")
 
def _format_static_method (self, static_method, separator='')
 
def _format_type_name (cls, type_name, separator='::', include_namespace=True, constructor=False, method=False)
 
def _format_varargout (cls, return_type, return_type_formatted)
 
def _group_class_methods (self, methods)
 
def _group_methods (self, methods)
 
def _insert_spaces (self, x, y)
 
def _is_ptr (self, arg_type)
 
def _is_ref (self, arg_type)
 
def _is_shared_ptr (self, arg_type)
 
def _qualified_name (self, names)
 
def _update_wrapper_id (self, collector_function=None, id_diff=0)
 
def _wrap_args (self, args)
 
def _wrap_list_variable_arguments (self, args)
 
def _wrap_method_check_statement (self, args)
 
def _wrap_variable_arguments (self, args, wrap_datatypes=True)
 
def _wrapper_name (self)
 
def _wrapper_unwrap_arguments (self, args, arg_id=0, constructor=False)
 

Static Private Member Functions

def _return_count (return_type)
 

Additional Inherited Members

- Protected Attributes inherited from handle
PyObject * m_ptr = nullptr
 

Detailed Description

Wrap the given C++ code into Matlab.

Attributes
    module: the C++ module being wrapped
    module_name: name of the C++ module being wrapped
    top_module_namespace: C++ namespace for the top module (default '')
    ignore_classes: A list of classes to ignore (default [])

Definition at line 19 of file matlab_wrapper.py.

Constructor & Destructor Documentation

def gtwrap.matlab_wrapper.MatlabWrapper.__init__ (   self,
  module,
  module_name,
  top_module_namespace = '',
  ignore_classes = () 
)

Definition at line 88 of file matlab_wrapper.py.

Member Function Documentation

def gtwrap.matlab_wrapper.MatlabWrapper._add_class (   self,
  instantiated_class 
)
private

Definition at line 103 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._add_include (   self,
  include 
)
private

Definition at line 100 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._clean_class_name (   self,
  instantiated_class 
)
private
Reformatted the C++ class name to fit Matlab defined naming
standards

Definition at line 199 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._debug (   self,
  message 
)
private

Definition at line 95 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._format_class_name (   self,
  instantiated_class,
  separator = '' 
)
private
Format a template_instantiator.InstantiatedClass name.

Definition at line 301 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._format_global_method (   self,
  static_method,
  separator = '' 
)
private
Example:

gtsamPoint3.staticFunction

Definition at line 355 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._format_instance_method (   self,
  instance_method,
  separator = '' 
)
private
Example:

gtsamPoint3.staticFunction

Definition at line 335 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._format_return_type (   cls,
  return_type,
  include_namespace = False,
  separator = "::" 
)
private
Format return_type.

Args:
    return_type: an interface_parser.ReturnType to reformat
    include_namespace: whether to include namespaces when reformatting

Definition at line 274 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._format_static_method (   self,
  static_method,
  separator = '' 
)
private
Example:

gtsamPoint3.staticFunction

Definition at line 322 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._format_type_name (   cls,
  type_name,
  separator = '::',
  include_namespace = True,
  constructor = False,
  method = False 
)
private
Args:
    type_name: an interface_parser.Typename to reformat
    separator: the statement to add between namespaces and typename
    include_namespace: whether to include namespaces when reformatting
    constructor: if the typename will be in a constructor
    method: if the typename will be in a method

Raises:
    constructor and method cannot both be true

Definition at line 214 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._format_varargout (   cls,
  return_type,
  return_type_formatted 
)
private
Determine format of return and varargout statements

Definition at line 926 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._group_class_methods (   self,
  methods 
)
private
Group overloaded methods together

Definition at line 908 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._group_methods (   self,
  methods 
)
private
Group overloaded methods together

Definition at line 181 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._insert_spaces (   self,
  x,
  y 
)
private
Insert spaces at the beginning of each line

Args:
    x: the statement currently generated
    y: the addition to add to the statement

Definition at line 144 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._is_ptr (   self,
  arg_type 
)
private
Determine if the `interface_parser.Type` should be treated as a
raw pointer in the wrapper.

Definition at line 163 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._is_ref (   self,
  arg_type 
)
private
Determine if the interface_parser.Type should be treated as a
reference in the wrapper.

Definition at line 173 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._is_shared_ptr (   self,
  arg_type 
)
private
Determine if the `interface_parser.Type` should be treated as a
shared pointer in the wrapper.

Definition at line 153 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._qualified_name (   self,
  names 
)
private

Definition at line 141 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._return_count (   return_type)
staticprivate
The amount of objects returned by the given
interface_parser.ReturnType.

Definition at line 569 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._update_wrapper_id (   self,
  collector_function = None,
  id_diff = 0 
)
private
Get and define wrapper ids.

Generates the map of id -> collector function.

Args:
    collector_function: tuple storing info about the wrapper function
(namespace, class instance, function type, function name,
extra)
    id_diff: constant to add to the id in the map

Returns:
    the current wrapper id

Definition at line 108 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._wrap_args (   self,
  args 
)
private
Wrap an interface_parser.ArgumentList into a list of arguments.

Returns:
    A string representation of the arguments. For example:
'int x, double y'

Definition at line 368 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._wrap_list_variable_arguments (   self,
  args 
)
private
Wrap an interface_parser.ArgumentList into a list of argument
variables.

Returns:
    A string representation of a list of variable arguments.
    For example:
'varargin{1}, varargin{2}, varargin{3}'

Definition at line 433 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._wrap_method_check_statement (   self,
  args 
)
private
Wrap the given arguments into either just a varargout call or a
call in an if statement that checks if the parameters are accurate.

Definition at line 454 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._wrap_variable_arguments (   self,
  args,
  wrap_datatypes = True 
)
private
Wrap an interface_parser.ArgumentList into a statement of argument
checks.

Returns:
    A string representation of a variable arguments for an if
    statement. For example:
' && isa(varargin{1},'double') && isa(varargin{2},'numeric')'

Definition at line 388 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._wrapper_name (   self)
private
Determine the name of wrapper function.

Definition at line 575 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper._wrapper_unwrap_arguments (   self,
  args,
  arg_id = 0,
  constructor = False 
)
private
Format the interface_parser.Arguments.

Examples:
    ((a), unsigned char a = unwrap< unsigned char >(in[1]);),
    ((a), Test& t = *unwrap_shared_ptr< Test >(in[1], "ptr_Test");),
    ((a), std::shared_ptr<Test> p1 = unwrap_shared_ptr< Test >(in[1], "ptr_Test");)

Definition at line 508 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.class_comment (   self,
  instantiated_class 
)
Generate comments for the given class in Matlab.

Args
    instantiated_class: the class being wrapped
    ctors: a list of the constructors in the class
    methods: a list of the methods in the class

Definition at line 604 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.class_serialize_comment (   self,
  class_name,
  static_methods 
)
Generate comments for serialize methods.

Definition at line 579 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.generate_collector_function (   self,
  func_id 
)
Generate the complete collector function.

Definition at line 1430 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.generate_matlab_wrapper (   self)
Generate the C++ file for the wrapper.

Definition at line 668 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.generate_wrapper (   self,
  namespace 
)
Generate the c++ wrapper.

Definition at line 1630 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.mex_function (   self)
Generate the wrapped MEX function.

Definition at line 1579 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap (   self)
High level function to wrap the project.

Definition at line 1875 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_class_constructors (   self,
  namespace_name,
  inst_class,
  parent_name,
  ctors,
  is_virtual 
)
Wrap class constructor.

Args:
    namespace_name: the name of the namespace ('' if it does not exist)
    inst_class: instance of the class
    parent_name: the name of the parent class if it exists
    ctors: the interface_parser.Constructor in the class
    is_virtual: whether the class is part of a virtual inheritance
chain

Definition at line 765 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_class_deconstructor (   self,
  namespace_name,
  inst_class 
)
Generate the delete function for the Matlab class.

Definition at line 881 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_class_display (   self)
Generate the display function for the Matlab class.

Definition at line 898 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_class_methods (   self,
  namespace_name,
  inst_class,
  methods,
  serialize = (False,) 
)
Wrap the methods in the class.

Args:
    namespace_name: the name of the class's namespace
    inst_class: the instantiated class whose methods to wrap
    methods: the methods to wrap in the order to wrap them
    serialize: mutable param storing if one of the methods is serialize

Definition at line 941 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_class_properties (   self,
  class_name 
)
Generate properties of class.

Definition at line 873 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_class_serialize_method (   self,
  namespace_name,
  inst_class 
)
Wrap the serizalize method of the class.

Definition at line 1808 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_collector_function_deserialize (   self,
  class_name,
  full_name = '',
  namespace = '' 
)
Wrap the deserizalize collector function.

Definition at line 1857 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_collector_function_return (   self,
  method 
)
Wrap the complete return type of the function.

Definition at line 1322 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_collector_function_return_types (   self,
  return_type,
  func_id 
)
Wrap the return type of the collector function.

Definition at line 1290 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_collector_function_serialize (   self,
  class_name,
  full_name = '',
  namespace = '' 
)
Wrap the serizalize collector function.

Definition at line 1837 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_collector_function_shared_return (   self,
  return_type_name,
  shared_obj,
  func_id,
  new_line = True 
)
Wrap the collector function which returns a shared pointer.

Definition at line 1275 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_collector_function_upcast_from_void (   self,
  class_name,
  func_id,
  cpp_name 
)
Add function to upcast type from void type.

Definition at line 1415 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_global_function (   self,
  function 
)
Wrap the given global function.

Definition at line 714 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_instantiated_class (   self,
  instantiated_class,
  namespace_name = '' 
)
Generate comments and code for given class.

Args:
    instantiated_class: template_instantiator.InstantiatedClass
instance storing the class to wrap
    namespace_name: the name of the namespace if there is one

Definition at line 1127 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_method (   self,
  methods 
)
Wrap methods in the body of a class.

Definition at line 676 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_methods (   self,
  methods,
  global_funcs = False,
  global_ns = None 
)
Wrap a sequence of methods. Groups methods with the same names
together.
If global_funcs is True then output every method into its own file.

Definition at line 686 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_namespace (   self,
  namespace,
  parent = () 
)
Wrap a namespace by wrapping all of its components.

Args:
    namespace: the interface_parser.namespace instance of the namespace
    parent: parent namespace

Definition at line 1215 of file matlab_wrapper.py.

def gtwrap.matlab_wrapper.MatlabWrapper.wrap_static_methods (   self,
  namespace_name,
  instantiated_class,
  serialize 
)
Wrap the static methods in the class.

Definition at line 1031 of file matlab_wrapper.py.

Member Data Documentation

gtwrap.matlab_wrapper.MatlabWrapper.data_type
static

Definition at line 30 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.data_type_param
static

Definition at line 42 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.dict
static

Definition at line 68 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.dir_path
static

Definition at line 80 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.global_function_id
static

Definition at line 75 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.ignore_classes

Definition at line 92 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.ignore_methods
static

Definition at line 58 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.ignore_namespace
static

Definition at line 64 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.list
static

Definition at line 60 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.module

Definition at line 89 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.module_name

Definition at line 90 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.not_ptr_type
static

Definition at line 62 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.top_module_namespace

Definition at line 91 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.verbose

Definition at line 93 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.whitelist
static

Definition at line 56 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.wrapper_file_header
static

Definition at line 82 of file matlab_wrapper.py.

gtwrap.matlab_wrapper.MatlabWrapper.wrapper_id
static

Definition at line 66 of file matlab_wrapper.py.


The documentation for this class was generated from the following file:


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:59:10