From 8d9e108acca3f461a6b50abee3132e8cc1174125 Mon Sep 17 00:00:00 2001 From: dellaert Date: Sat, 29 Nov 2014 21:43:48 +0100 Subject: [PATCH] Check Vector by checking size --- wrap/Argument.cpp | 11 +- wrap/Argument.h | 2 +- .../tests/expected-python/geometry_python.cpp | 1 + wrap/tests/expected2/+gtsam/Point2.m | 19 +- wrap/tests/expected2/+gtsam/Point3.m | 12 +- wrap/tests/expected2/MyBase.m | 6 +- wrap/tests/expected2/MyFactorPosePoint2.m | 6 +- wrap/tests/expected2/MyTemplatePoint2.m | 32 +- wrap/tests/expected2/MyTemplatePoint3.m | 32 +- wrap/tests/expected2/Test.m | 52 ++-- wrap/tests/expected2/aGlobalFunction.m | 2 +- wrap/tests/expected2/geometry_wrapper.cpp | 285 +++++++++--------- .../expected2/overloadedGlobalFunction.m | 4 +- wrap/tests/geometry.h | 1 + wrap/tests/testWrap.cpp | 2 +- 15 files changed, 248 insertions(+), 219 deletions(-) diff --git a/wrap/Argument.cpp b/wrap/Argument.cpp index d49e00d82..2350a77d7 100644 --- a/wrap/Argument.cpp +++ b/wrap/Argument.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -99,9 +100,10 @@ void Argument::matlab_unwrap(FileWriter& file, const string& matlabName) const { } /* ************************************************************************* */ -void Argument::proxy_check(FileWriter& proxyFile, size_t sequenceNr) const { - proxyFile.oss << "isa(varargin{" << sequenceNr << "},'" << matlabClass(".") - << "')"; +void Argument::proxy_check(FileWriter& proxyFile, const string& s) const { + proxyFile.oss << "isa(" << s << ",'" << matlabClass(".") << "')"; + if (type.name == "Vector") + proxyFile.oss << " && size(" << s << ",2)==1"; } /* ************************************************************************* */ @@ -194,7 +196,8 @@ void ArgumentList::proxy_check(FileWriter& proxyFile) const { for (size_t i = 0; i < size(); i++) { if (!first) proxyFile.oss << " && "; - (*this)[i].proxy_check(proxyFile, i + 1); + string s = "varargin{" + boost::lexical_cast(i + 1) + "}"; + (*this)[i].proxy_check(proxyFile, s); first = false; } proxyFile.oss << "\n"; diff --git a/wrap/Argument.h b/wrap/Argument.h index b440e3941..200269cc3 100644 --- a/wrap/Argument.h +++ b/wrap/Argument.h @@ -50,7 +50,7 @@ struct Argument { * emit checking argument to MATLAB proxy * @param proxyFile output stream */ - void proxy_check(FileWriter& proxyFile, size_t sequenceNr) const; + void proxy_check(FileWriter& proxyFile, const std::string& s) const; friend std::ostream& operator<<(std::ostream& os, const Argument& arg) { os << (arg.is_const ? "const " : "") << arg.type << (arg.is_ptr ? "*" : "") diff --git a/wrap/tests/expected-python/geometry_python.cpp b/wrap/tests/expected-python/geometry_python.cpp index b28e69709..ca8698397 100644 --- a/wrap/tests/expected-python/geometry_python.cpp +++ b/wrap/tests/expected-python/geometry_python.cpp @@ -8,6 +8,7 @@ class_("Point2") .def("argChar", &Point2::argChar); .def("argUChar", &Point2::argUChar); .def("dim", &Point2::dim); + .def("eigenArguments", &Point2::eigenArguments); .def("returnChar", &Point2::returnChar); .def("vectorConfusion", &Point2::vectorConfusion); .def("x", &Point2::x); diff --git a/wrap/tests/expected2/+gtsam/Point2.m b/wrap/tests/expected2/+gtsam/Point2.m index 308b35d9a..05ca8b9a0 100644 --- a/wrap/tests/expected2/+gtsam/Point2.m +++ b/wrap/tests/expected2/+gtsam/Point2.m @@ -9,6 +9,7 @@ %argChar(char a) : returns void %argUChar(unsigned char a) : returns void %dim() : returns int +%eigenArguments(Vector v, Matrix m) : returns void %returnChar() : returns char %vectorConfusion() : returns VectorNotEigen %x() : returns double @@ -59,28 +60,38 @@ classdef Point2 < handle varargout{1} = geometry_wrapper(6, this, varargin{:}); end + function varargout = eigenArguments(this, varargin) + % EIGENARGUMENTS usage: eigenArguments(Vector v, Matrix m) : returns void + % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html + if length(varargin) == 2 && isa(varargin{1},'double') && size(varargin{1},2)==1 && isa(varargin{2},'double') + geometry_wrapper(7, this, varargin{:}); + else + error('Arguments do not match any overload of function gtsam.Point2.eigenArguments'); + end + end + function varargout = returnChar(this, varargin) % RETURNCHAR usage: returnChar() : returns char % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(7, this, varargin{:}); + varargout{1} = geometry_wrapper(8, this, varargin{:}); end function varargout = vectorConfusion(this, varargin) % VECTORCONFUSION usage: vectorConfusion() : returns VectorNotEigen % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(8, this, varargin{:}); + varargout{1} = geometry_wrapper(9, this, varargin{:}); end function varargout = x(this, varargin) % X usage: x() : returns double % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(9, this, varargin{:}); + varargout{1} = geometry_wrapper(10, this, varargin{:}); end function varargout = y(this, varargin) % Y usage: y() : returns double % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(10, this, varargin{:}); + varargout{1} = geometry_wrapper(11, this, varargin{:}); end end diff --git a/wrap/tests/expected2/+gtsam/Point3.m b/wrap/tests/expected2/+gtsam/Point3.m index 3ef336ff1..acdc7239d 100644 --- a/wrap/tests/expected2/+gtsam/Point3.m +++ b/wrap/tests/expected2/+gtsam/Point3.m @@ -19,9 +19,9 @@ classdef Point3 < handle function obj = Point3(varargin) if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682) my_ptr = varargin{2}; - geometry_wrapper(11, my_ptr); + geometry_wrapper(12, my_ptr); elseif nargin == 3 && isa(varargin{1},'double') && isa(varargin{2},'double') && isa(varargin{3},'double') - my_ptr = geometry_wrapper(12, varargin{1}, varargin{2}, varargin{3}); + my_ptr = geometry_wrapper(13, varargin{1}, varargin{2}, varargin{3}); else error('Arguments do not match any overload of gtsam.Point3 constructor'); end @@ -29,7 +29,7 @@ classdef Point3 < handle end function delete(obj) - geometry_wrapper(13, obj.ptr_gtsamPoint3); + geometry_wrapper(14, obj.ptr_gtsamPoint3); end function display(obj), obj.print(''); end @@ -39,7 +39,7 @@ classdef Point3 < handle function varargout = norm(this, varargin) % NORM usage: norm() : returns double % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(14, this, varargin{:}); + varargout{1} = geometry_wrapper(15, this, varargin{:}); end end @@ -48,13 +48,13 @@ classdef Point3 < handle function varargout = StaticFunctionRet(varargin) % STATICFUNCTIONRET usage: StaticFunctionRet(double z) : returns gtsam::Point3 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(15, varargin{:}); + varargout{1} = geometry_wrapper(16, varargin{:}); end function varargout = StaticFunction(varargin) % STATICFUNCTION usage: staticFunction() : returns double % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(16, varargin{:}); + varargout{1} = geometry_wrapper(17, varargin{:}); end end diff --git a/wrap/tests/expected2/MyBase.m b/wrap/tests/expected2/MyBase.m index d7bfe7e81..98eab005b 100644 --- a/wrap/tests/expected2/MyBase.m +++ b/wrap/tests/expected2/MyBase.m @@ -11,9 +11,9 @@ classdef MyBase < handle if nargin == 2 my_ptr = varargin{2}; else - my_ptr = geometry_wrapper(41, varargin{2}); + my_ptr = geometry_wrapper(42, varargin{2}); end - geometry_wrapper(40, my_ptr); + geometry_wrapper(41, my_ptr); else error('Arguments do not match any overload of MyBase constructor'); end @@ -21,7 +21,7 @@ classdef MyBase < handle end function delete(obj) - geometry_wrapper(42, obj.ptr_MyBase); + geometry_wrapper(43, obj.ptr_MyBase); end function display(obj), obj.print(''); end diff --git a/wrap/tests/expected2/MyFactorPosePoint2.m b/wrap/tests/expected2/MyFactorPosePoint2.m index e55386cc0..430206232 100644 --- a/wrap/tests/expected2/MyFactorPosePoint2.m +++ b/wrap/tests/expected2/MyFactorPosePoint2.m @@ -12,9 +12,9 @@ classdef MyFactorPosePoint2 < handle function obj = MyFactorPosePoint2(varargin) if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682) my_ptr = varargin{2}; - geometry_wrapper(73, my_ptr); + geometry_wrapper(74, my_ptr); elseif nargin == 4 && isa(varargin{1},'numeric') && isa(varargin{2},'numeric') && isa(varargin{3},'double') && isa(varargin{4},'gtsam.noiseModel.Base') - my_ptr = geometry_wrapper(74, varargin{1}, varargin{2}, varargin{3}, varargin{4}); + my_ptr = geometry_wrapper(75, varargin{1}, varargin{2}, varargin{3}, varargin{4}); else error('Arguments do not match any overload of MyFactorPosePoint2 constructor'); end @@ -22,7 +22,7 @@ classdef MyFactorPosePoint2 < handle end function delete(obj) - geometry_wrapper(75, obj.ptr_MyFactorPosePoint2); + geometry_wrapper(76, obj.ptr_MyFactorPosePoint2); end function display(obj), obj.print(''); end diff --git a/wrap/tests/expected2/MyTemplatePoint2.m b/wrap/tests/expected2/MyTemplatePoint2.m index 9df4d2d1a..ace466ed7 100644 --- a/wrap/tests/expected2/MyTemplatePoint2.m +++ b/wrap/tests/expected2/MyTemplatePoint2.m @@ -27,11 +27,11 @@ classdef MyTemplatePoint2 < MyBase if nargin == 2 my_ptr = varargin{2}; else - my_ptr = geometry_wrapper(44, varargin{2}); + my_ptr = geometry_wrapper(45, varargin{2}); end - base_ptr = geometry_wrapper(43, my_ptr); + base_ptr = geometry_wrapper(44, my_ptr); elseif nargin == 0 - [ my_ptr, base_ptr ] = geometry_wrapper(45); + [ my_ptr, base_ptr ] = geometry_wrapper(46); else error('Arguments do not match any overload of MyTemplatePoint2 constructor'); end @@ -40,7 +40,7 @@ classdef MyTemplatePoint2 < MyBase end function delete(obj) - geometry_wrapper(46, obj.ptr_MyTemplatePoint2); + geometry_wrapper(47, obj.ptr_MyTemplatePoint2); end function display(obj), obj.print(''); end @@ -51,7 +51,7 @@ classdef MyTemplatePoint2 < MyBase % ACCEPT_T usage: accept_T(Point2 value) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(47, this, varargin{:}); + geometry_wrapper(48, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.accept_T'); end @@ -61,7 +61,7 @@ classdef MyTemplatePoint2 < MyBase % ACCEPT_TPTR usage: accept_Tptr(Point2 value) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(48, this, varargin{:}); + geometry_wrapper(49, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.accept_Tptr'); end @@ -70,20 +70,20 @@ classdef MyTemplatePoint2 < MyBase function varargout = create_MixedPtrs(this, varargin) % CREATE_MIXEDPTRS usage: create_MixedPtrs() : returns pair< gtsam::Point2, gtsam::Point2 > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - [ varargout{1} varargout{2} ] = geometry_wrapper(49, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(50, this, varargin{:}); end function varargout = create_ptrs(this, varargin) % CREATE_PTRS usage: create_ptrs() : returns pair< gtsam::Point2, gtsam::Point2 > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - [ varargout{1} varargout{2} ] = geometry_wrapper(50, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(51, this, varargin{:}); end function varargout = return_T(this, varargin) % RETURN_T usage: return_T(Point2 value) : returns gtsam::Point2 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - varargout{1} = geometry_wrapper(51, this, varargin{:}); + varargout{1} = geometry_wrapper(52, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.return_T'); end @@ -93,7 +93,7 @@ classdef MyTemplatePoint2 < MyBase % RETURN_TPTR usage: return_Tptr(Point2 value) : returns gtsam::Point2 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - varargout{1} = geometry_wrapper(52, this, varargin{:}); + varargout{1} = geometry_wrapper(53, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.return_Tptr'); end @@ -103,7 +103,7 @@ classdef MyTemplatePoint2 < MyBase % RETURN_PTRS usage: return_ptrs(Point2 p1, Point2 p2) : returns pair< gtsam::Point2, gtsam::Point2 > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 2 && isa(varargin{1},'gtsam.Point2') && isa(varargin{2},'gtsam.Point2') - [ varargout{1} varargout{2} ] = geometry_wrapper(53, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(54, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.return_ptrs'); end @@ -113,7 +113,7 @@ classdef MyTemplatePoint2 < MyBase % TEMPLATEDMETHODMATRIX usage: templatedMethodMatrix(Matrix t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') - geometry_wrapper(54, this, varargin{:}); + geometry_wrapper(55, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end @@ -123,7 +123,7 @@ classdef MyTemplatePoint2 < MyBase % TEMPLATEDMETHODPOINT2 usage: templatedMethodPoint2(Point2 t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(55, this, varargin{:}); + geometry_wrapper(56, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end @@ -133,7 +133,7 @@ classdef MyTemplatePoint2 < MyBase % TEMPLATEDMETHODPOINT3 usage: templatedMethodPoint3(Point3 t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(56, this, varargin{:}); + geometry_wrapper(57, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end @@ -142,8 +142,8 @@ classdef MyTemplatePoint2 < MyBase function varargout = templatedMethodVector(this, varargin) % TEMPLATEDMETHODVECTOR usage: templatedMethodVector(Vector t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - if length(varargin) == 1 && isa(varargin{1},'double') - geometry_wrapper(57, this, varargin{:}); + if length(varargin) == 1 && isa(varargin{1},'double') && size(varargin{1},2)==1 + geometry_wrapper(58, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end diff --git a/wrap/tests/expected2/MyTemplatePoint3.m b/wrap/tests/expected2/MyTemplatePoint3.m index 274768d3a..bd0966ef1 100644 --- a/wrap/tests/expected2/MyTemplatePoint3.m +++ b/wrap/tests/expected2/MyTemplatePoint3.m @@ -27,11 +27,11 @@ classdef MyTemplatePoint3 < MyBase if nargin == 2 my_ptr = varargin{2}; else - my_ptr = geometry_wrapper(59, varargin{2}); + my_ptr = geometry_wrapper(60, varargin{2}); end - base_ptr = geometry_wrapper(58, my_ptr); + base_ptr = geometry_wrapper(59, my_ptr); elseif nargin == 0 - [ my_ptr, base_ptr ] = geometry_wrapper(60); + [ my_ptr, base_ptr ] = geometry_wrapper(61); else error('Arguments do not match any overload of MyTemplatePoint3 constructor'); end @@ -40,7 +40,7 @@ classdef MyTemplatePoint3 < MyBase end function delete(obj) - geometry_wrapper(61, obj.ptr_MyTemplatePoint3); + geometry_wrapper(62, obj.ptr_MyTemplatePoint3); end function display(obj), obj.print(''); end @@ -51,7 +51,7 @@ classdef MyTemplatePoint3 < MyBase % ACCEPT_T usage: accept_T(Point3 value) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(62, this, varargin{:}); + geometry_wrapper(63, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.accept_T'); end @@ -61,7 +61,7 @@ classdef MyTemplatePoint3 < MyBase % ACCEPT_TPTR usage: accept_Tptr(Point3 value) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(63, this, varargin{:}); + geometry_wrapper(64, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.accept_Tptr'); end @@ -70,20 +70,20 @@ classdef MyTemplatePoint3 < MyBase function varargout = create_MixedPtrs(this, varargin) % CREATE_MIXEDPTRS usage: create_MixedPtrs() : returns pair< gtsam::Point3, gtsam::Point3 > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - [ varargout{1} varargout{2} ] = geometry_wrapper(64, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(65, this, varargin{:}); end function varargout = create_ptrs(this, varargin) % CREATE_PTRS usage: create_ptrs() : returns pair< gtsam::Point3, gtsam::Point3 > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - [ varargout{1} varargout{2} ] = geometry_wrapper(65, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(66, this, varargin{:}); end function varargout = return_T(this, varargin) % RETURN_T usage: return_T(Point3 value) : returns gtsam::Point3 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - varargout{1} = geometry_wrapper(66, this, varargin{:}); + varargout{1} = geometry_wrapper(67, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.return_T'); end @@ -93,7 +93,7 @@ classdef MyTemplatePoint3 < MyBase % RETURN_TPTR usage: return_Tptr(Point3 value) : returns gtsam::Point3 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - varargout{1} = geometry_wrapper(67, this, varargin{:}); + varargout{1} = geometry_wrapper(68, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.return_Tptr'); end @@ -103,7 +103,7 @@ classdef MyTemplatePoint3 < MyBase % RETURN_PTRS usage: return_ptrs(Point3 p1, Point3 p2) : returns pair< gtsam::Point3, gtsam::Point3 > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 2 && isa(varargin{1},'gtsam.Point3') && isa(varargin{2},'gtsam.Point3') - [ varargout{1} varargout{2} ] = geometry_wrapper(68, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(69, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.return_ptrs'); end @@ -113,7 +113,7 @@ classdef MyTemplatePoint3 < MyBase % TEMPLATEDMETHODMATRIX usage: templatedMethodMatrix(Matrix t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') - geometry_wrapper(69, this, varargin{:}); + geometry_wrapper(70, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end @@ -123,7 +123,7 @@ classdef MyTemplatePoint3 < MyBase % TEMPLATEDMETHODPOINT2 usage: templatedMethodPoint2(Point2 t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(70, this, varargin{:}); + geometry_wrapper(71, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end @@ -133,7 +133,7 @@ classdef MyTemplatePoint3 < MyBase % TEMPLATEDMETHODPOINT3 usage: templatedMethodPoint3(Point3 t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(71, this, varargin{:}); + geometry_wrapper(72, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end @@ -142,8 +142,8 @@ classdef MyTemplatePoint3 < MyBase function varargout = templatedMethodVector(this, varargin) % TEMPLATEDMETHODVECTOR usage: templatedMethodVector(Vector t) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - if length(varargin) == 1 && isa(varargin{1},'double') - geometry_wrapper(72, this, varargin{:}); + if length(varargin) == 1 && isa(varargin{1},'double') && size(varargin{1},2)==1 + geometry_wrapper(73, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end diff --git a/wrap/tests/expected2/Test.m b/wrap/tests/expected2/Test.m index ada5a868d..a36cbed48 100644 --- a/wrap/tests/expected2/Test.m +++ b/wrap/tests/expected2/Test.m @@ -34,11 +34,11 @@ classdef Test < handle function obj = Test(varargin) if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682) my_ptr = varargin{2}; - geometry_wrapper(17, my_ptr); + geometry_wrapper(18, my_ptr); elseif nargin == 0 - my_ptr = geometry_wrapper(18); + my_ptr = geometry_wrapper(19); elseif nargin == 2 && isa(varargin{1},'double') && isa(varargin{2},'double') - my_ptr = geometry_wrapper(19, varargin{1}, varargin{2}); + my_ptr = geometry_wrapper(20, varargin{1}, varargin{2}); else error('Arguments do not match any overload of Test constructor'); end @@ -46,7 +46,7 @@ classdef Test < handle end function delete(obj) - geometry_wrapper(20, obj.ptr_Test); + geometry_wrapper(21, obj.ptr_Test); end function display(obj), obj.print(''); end @@ -57,7 +57,7 @@ classdef Test < handle % ARG_EIGENCONSTREF usage: arg_EigenConstRef(Matrix value) : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') - geometry_wrapper(21, this, varargin{:}); + geometry_wrapper(22, this, varargin{:}); else error('Arguments do not match any overload of function Test.arg_EigenConstRef'); end @@ -66,32 +66,32 @@ classdef Test < handle function varargout = create_MixedPtrs(this, varargin) % CREATE_MIXEDPTRS usage: create_MixedPtrs() : returns pair< Test, Test > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - [ varargout{1} varargout{2} ] = geometry_wrapper(22, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(23, this, varargin{:}); end function varargout = create_ptrs(this, varargin) % CREATE_PTRS usage: create_ptrs() : returns pair< Test, Test > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - [ varargout{1} varargout{2} ] = geometry_wrapper(23, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(24, this, varargin{:}); end function varargout = print(this, varargin) % PRINT usage: print() : returns void % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - geometry_wrapper(24, this, varargin{:}); + geometry_wrapper(25, this, varargin{:}); end function varargout = return_Point2Ptr(this, varargin) % RETURN_POINT2PTR usage: return_Point2Ptr(bool value) : returns gtsam::Point2 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(25, this, varargin{:}); + varargout{1} = geometry_wrapper(26, this, varargin{:}); end function varargout = return_Test(this, varargin) % RETURN_TEST usage: return_Test(Test value) : returns Test % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'Test') - varargout{1} = geometry_wrapper(26, this, varargin{:}); + varargout{1} = geometry_wrapper(27, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_Test'); end @@ -101,7 +101,7 @@ classdef Test < handle % RETURN_TESTPTR usage: return_TestPtr(Test value) : returns Test % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'Test') - varargout{1} = geometry_wrapper(27, this, varargin{:}); + varargout{1} = geometry_wrapper(28, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_TestPtr'); end @@ -110,20 +110,20 @@ classdef Test < handle function varargout = return_bool(this, varargin) % RETURN_BOOL usage: return_bool(bool value) : returns bool % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(28, this, varargin{:}); + varargout{1} = geometry_wrapper(29, this, varargin{:}); end function varargout = return_double(this, varargin) % RETURN_DOUBLE usage: return_double(double value) : returns double % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(29, this, varargin{:}); + varargout{1} = geometry_wrapper(30, this, varargin{:}); end function varargout = return_field(this, varargin) % RETURN_FIELD usage: return_field(Test t) : returns bool % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'Test') - varargout{1} = geometry_wrapper(30, this, varargin{:}); + varargout{1} = geometry_wrapper(31, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_field'); end @@ -132,14 +132,14 @@ classdef Test < handle function varargout = return_int(this, varargin) % RETURN_INT usage: return_int(int value) : returns int % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(31, this, varargin{:}); + varargout{1} = geometry_wrapper(32, this, varargin{:}); end function varargout = return_matrix1(this, varargin) % RETURN_MATRIX1 usage: return_matrix1(Matrix value) : returns Matrix % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') - varargout{1} = geometry_wrapper(32, this, varargin{:}); + varargout{1} = geometry_wrapper(33, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_matrix1'); end @@ -149,7 +149,7 @@ classdef Test < handle % RETURN_MATRIX2 usage: return_matrix2(Matrix value) : returns Matrix % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') - varargout{1} = geometry_wrapper(33, this, varargin{:}); + varargout{1} = geometry_wrapper(34, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_matrix2'); end @@ -158,8 +158,8 @@ classdef Test < handle function varargout = return_pair(this, varargin) % RETURN_PAIR usage: return_pair(Vector v, Matrix A) : returns pair< Vector, Matrix > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - if length(varargin) == 2 && isa(varargin{1},'double') && isa(varargin{2},'double') - [ varargout{1} varargout{2} ] = geometry_wrapper(34, this, varargin{:}); + if length(varargin) == 2 && isa(varargin{1},'double') && size(varargin{1},2)==1 && isa(varargin{2},'double') + [ varargout{1} varargout{2} ] = geometry_wrapper(35, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_pair'); end @@ -169,7 +169,7 @@ classdef Test < handle % RETURN_PTRS usage: return_ptrs(Test p1, Test p2) : returns pair< Test, Test > % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 2 && isa(varargin{1},'Test') && isa(varargin{2},'Test') - [ varargout{1} varargout{2} ] = geometry_wrapper(35, this, varargin{:}); + [ varargout{1} varargout{2} ] = geometry_wrapper(36, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_ptrs'); end @@ -178,14 +178,14 @@ classdef Test < handle function varargout = return_size_t(this, varargin) % RETURN_SIZE_T usage: return_size_t(size_t value) : returns size_t % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - varargout{1} = geometry_wrapper(36, this, varargin{:}); + varargout{1} = geometry_wrapper(37, this, varargin{:}); end function varargout = return_string(this, varargin) % RETURN_STRING usage: return_string(string value) : returns string % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'char') - varargout{1} = geometry_wrapper(37, this, varargin{:}); + varargout{1} = geometry_wrapper(38, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_string'); end @@ -194,8 +194,8 @@ classdef Test < handle function varargout = return_vector1(this, varargin) % RETURN_VECTOR1 usage: return_vector1(Vector value) : returns Vector % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - if length(varargin) == 1 && isa(varargin{1},'double') - varargout{1} = geometry_wrapper(38, this, varargin{:}); + if length(varargin) == 1 && isa(varargin{1},'double') && size(varargin{1},2)==1 + varargout{1} = geometry_wrapper(39, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_vector1'); end @@ -204,8 +204,8 @@ classdef Test < handle function varargout = return_vector2(this, varargin) % RETURN_VECTOR2 usage: return_vector2(Vector value) : returns Vector % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html - if length(varargin) == 1 && isa(varargin{1},'double') - varargout{1} = geometry_wrapper(39, this, varargin{:}); + if length(varargin) == 1 && isa(varargin{1},'double') && size(varargin{1},2)==1 + varargout{1} = geometry_wrapper(40, this, varargin{:}); else error('Arguments do not match any overload of function Test.return_vector2'); end diff --git a/wrap/tests/expected2/aGlobalFunction.m b/wrap/tests/expected2/aGlobalFunction.m index e000338b6..d96662dc1 100644 --- a/wrap/tests/expected2/aGlobalFunction.m +++ b/wrap/tests/expected2/aGlobalFunction.m @@ -1,6 +1,6 @@ function varargout = aGlobalFunction(varargin) if length(varargin) == 0 - varargout{1} = geometry_wrapper(76, varargin{:}); + varargout{1} = geometry_wrapper(77, varargin{:}); else error('Arguments do not match any overload of function aGlobalFunction'); end diff --git a/wrap/tests/expected2/geometry_wrapper.cpp b/wrap/tests/expected2/geometry_wrapper.cpp index 22e1cf11a..dbe60bb63 100644 --- a/wrap/tests/expected2/geometry_wrapper.cpp +++ b/wrap/tests/expected2/geometry_wrapper.cpp @@ -181,7 +181,17 @@ void gtsamPoint2_dim_6(int nargout, mxArray *out[], int nargin, const mxArray *i out[0] = wrap< int >(obj->dim()); } -void gtsamPoint2_returnChar_7(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint2_eigenArguments_7(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +{ + typedef boost::shared_ptr Shared; + checkArguments("eigenArguments",nargout,nargin-1,2); + Shared obj = unwrap_shared_ptr(in[0], "ptr_gtsamPoint2"); + Vector v = unwrap< Vector >(in[1]); + Matrix m = unwrap< Matrix >(in[2]); + obj->eigenArguments(v,m); +} + +void gtsamPoint2_returnChar_8(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("returnChar",nargout,nargin-1,0); @@ -189,7 +199,7 @@ void gtsamPoint2_returnChar_7(int nargout, mxArray *out[], int nargin, const mxA out[0] = wrap< char >(obj->returnChar()); } -void gtsamPoint2_vectorConfusion_8(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint2_vectorConfusion_9(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedVectorNotEigen; typedef boost::shared_ptr Shared; @@ -198,7 +208,7 @@ void gtsamPoint2_vectorConfusion_8(int nargout, mxArray *out[], int nargin, cons out[0] = wrap_shared_ptr(SharedVectorNotEigen(new VectorNotEigen(obj->vectorConfusion())),"VectorNotEigen", false); } -void gtsamPoint2_x_9(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint2_x_10(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("x",nargout,nargin-1,0); @@ -206,7 +216,7 @@ void gtsamPoint2_x_9(int nargout, mxArray *out[], int nargin, const mxArray *in[ out[0] = wrap< double >(obj->x()); } -void gtsamPoint2_y_10(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint2_y_11(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("y",nargout,nargin-1,0); @@ -214,7 +224,7 @@ void gtsamPoint2_y_10(int nargout, mxArray *out[], int nargin, const mxArray *in out[0] = wrap< double >(obj->y()); } -void gtsamPoint3_collectorInsertAndMakeBase_11(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint3_collectorInsertAndMakeBase_12(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -223,7 +233,7 @@ void gtsamPoint3_collectorInsertAndMakeBase_11(int nargout, mxArray *out[], int collector_gtsamPoint3.insert(self); } -void gtsamPoint3_constructor_12(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint3_constructor_13(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -237,7 +247,7 @@ void gtsamPoint3_constructor_12(int nargout, mxArray *out[], int nargin, const m *reinterpret_cast (mxGetData(out[0])) = self; } -void gtsamPoint3_deconstructor_13(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint3_deconstructor_14(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("delete_gtsamPoint3",nargout,nargin,1); @@ -250,7 +260,7 @@ void gtsamPoint3_deconstructor_13(int nargout, mxArray *out[], int nargin, const } } -void gtsamPoint3_norm_14(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint3_norm_15(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("norm",nargout,nargin-1,0); @@ -258,7 +268,7 @@ void gtsamPoint3_norm_14(int nargout, mxArray *out[], int nargin, const mxArray out[0] = wrap< double >(obj->norm()); } -void gtsamPoint3_StaticFunctionRet_15(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint3_StaticFunctionRet_16(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr Shared; @@ -267,14 +277,14 @@ void gtsamPoint3_StaticFunctionRet_15(int nargout, mxArray *out[], int nargin, c out[0] = wrap_shared_ptr(SharedPoint3(new gtsam::Point3(gtsam::Point3::StaticFunctionRet(z))),"gtsam.Point3", false); } -void gtsamPoint3_staticFunction_16(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void gtsamPoint3_staticFunction_17(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("gtsamPoint3.staticFunction",nargout,nargin,0); out[0] = wrap< double >(gtsam::Point3::staticFunction()); } -void Test_collectorInsertAndMakeBase_17(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_collectorInsertAndMakeBase_18(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -283,7 +293,7 @@ void Test_collectorInsertAndMakeBase_17(int nargout, mxArray *out[], int nargin, collector_Test.insert(self); } -void Test_constructor_18(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_constructor_19(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -294,7 +304,7 @@ void Test_constructor_18(int nargout, mxArray *out[], int nargin, const mxArray *reinterpret_cast (mxGetData(out[0])) = self; } -void Test_constructor_19(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_constructor_20(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -307,7 +317,7 @@ void Test_constructor_19(int nargout, mxArray *out[], int nargin, const mxArray *reinterpret_cast (mxGetData(out[0])) = self; } -void Test_deconstructor_20(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_deconstructor_21(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("delete_Test",nargout,nargin,1); @@ -320,7 +330,7 @@ void Test_deconstructor_20(int nargout, mxArray *out[], int nargin, const mxArra } } -void Test_arg_EigenConstRef_21(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_arg_EigenConstRef_22(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("arg_EigenConstRef",nargout,nargin-1,1); @@ -329,7 +339,7 @@ void Test_arg_EigenConstRef_21(int nargout, mxArray *out[], int nargin, const mx obj->arg_EigenConstRef(value); } -void Test_create_MixedPtrs_22(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_create_MixedPtrs_23(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedTest; typedef boost::shared_ptr SharedTest; @@ -341,7 +351,7 @@ void Test_create_MixedPtrs_22(int nargout, mxArray *out[], int nargin, const mxA out[1] = wrap_shared_ptr(pairResult.second,"Test", false); } -void Test_create_ptrs_23(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_create_ptrs_24(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedTest; typedef boost::shared_ptr SharedTest; @@ -353,7 +363,7 @@ void Test_create_ptrs_23(int nargout, mxArray *out[], int nargin, const mxArray out[1] = wrap_shared_ptr(pairResult.second,"Test", false); } -void Test_print_24(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_print_25(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("print",nargout,nargin-1,0); @@ -361,7 +371,7 @@ void Test_print_24(int nargout, mxArray *out[], int nargin, const mxArray *in[]) obj->print(); } -void Test_return_Point2Ptr_25(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_Point2Ptr_26(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr Shared; @@ -371,7 +381,7 @@ void Test_return_Point2Ptr_25(int nargout, mxArray *out[], int nargin, const mxA out[0] = wrap_shared_ptr(obj->return_Point2Ptr(value),"gtsam.Point2", false); } -void Test_return_Test_26(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_Test_27(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedTest; typedef boost::shared_ptr Shared; @@ -381,7 +391,7 @@ void Test_return_Test_26(int nargout, mxArray *out[], int nargin, const mxArray out[0] = wrap_shared_ptr(SharedTest(new Test(obj->return_Test(value))),"Test", false); } -void Test_return_TestPtr_27(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_TestPtr_28(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedTest; typedef boost::shared_ptr Shared; @@ -391,7 +401,7 @@ void Test_return_TestPtr_27(int nargout, mxArray *out[], int nargin, const mxArr out[0] = wrap_shared_ptr(obj->return_TestPtr(value),"Test", false); } -void Test_return_bool_28(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_bool_29(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_bool",nargout,nargin-1,1); @@ -400,7 +410,7 @@ void Test_return_bool_28(int nargout, mxArray *out[], int nargin, const mxArray out[0] = wrap< bool >(obj->return_bool(value)); } -void Test_return_double_29(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_double_30(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_double",nargout,nargin-1,1); @@ -409,7 +419,7 @@ void Test_return_double_29(int nargout, mxArray *out[], int nargin, const mxArra out[0] = wrap< double >(obj->return_double(value)); } -void Test_return_field_30(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_field_31(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_field",nargout,nargin-1,1); @@ -418,7 +428,7 @@ void Test_return_field_30(int nargout, mxArray *out[], int nargin, const mxArray out[0] = wrap< bool >(obj->return_field(t)); } -void Test_return_int_31(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_int_32(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_int",nargout,nargin-1,1); @@ -427,7 +437,7 @@ void Test_return_int_31(int nargout, mxArray *out[], int nargin, const mxArray * out[0] = wrap< int >(obj->return_int(value)); } -void Test_return_matrix1_32(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_matrix1_33(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_matrix1",nargout,nargin-1,1); @@ -436,7 +446,7 @@ void Test_return_matrix1_32(int nargout, mxArray *out[], int nargin, const mxArr out[0] = wrap< Matrix >(obj->return_matrix1(value)); } -void Test_return_matrix2_33(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_matrix2_34(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_matrix2",nargout,nargin-1,1); @@ -445,7 +455,7 @@ void Test_return_matrix2_33(int nargout, mxArray *out[], int nargin, const mxArr out[0] = wrap< Matrix >(obj->return_matrix2(value)); } -void Test_return_pair_34(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_pair_35(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_pair",nargout,nargin-1,2); @@ -457,7 +467,7 @@ void Test_return_pair_34(int nargout, mxArray *out[], int nargin, const mxArray out[1] = wrap< Matrix >(pairResult.second); } -void Test_return_ptrs_35(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_ptrs_36(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedTest; typedef boost::shared_ptr SharedTest; @@ -471,7 +481,7 @@ void Test_return_ptrs_35(int nargout, mxArray *out[], int nargin, const mxArray out[1] = wrap_shared_ptr(pairResult.second,"Test", false); } -void Test_return_size_t_36(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_size_t_37(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_size_t",nargout,nargin-1,1); @@ -480,7 +490,7 @@ void Test_return_size_t_36(int nargout, mxArray *out[], int nargin, const mxArra out[0] = wrap< size_t >(obj->return_size_t(value)); } -void Test_return_string_37(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_string_38(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_string",nargout,nargin-1,1); @@ -489,7 +499,7 @@ void Test_return_string_37(int nargout, mxArray *out[], int nargin, const mxArra out[0] = wrap< string >(obj->return_string(value)); } -void Test_return_vector1_38(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_vector1_39(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_vector1",nargout,nargin-1,1); @@ -498,7 +508,7 @@ void Test_return_vector1_38(int nargout, mxArray *out[], int nargin, const mxArr out[0] = wrap< Vector >(obj->return_vector1(value)); } -void Test_return_vector2_39(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void Test_return_vector2_40(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("return_vector2",nargout,nargin-1,1); @@ -507,7 +517,7 @@ void Test_return_vector2_39(int nargout, mxArray *out[], int nargin, const mxArr out[0] = wrap< Vector >(obj->return_vector2(value)); } -void MyBase_collectorInsertAndMakeBase_40(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyBase_collectorInsertAndMakeBase_41(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -516,7 +526,7 @@ void MyBase_collectorInsertAndMakeBase_40(int nargout, mxArray *out[], int nargi collector_MyBase.insert(self); } -void MyBase_upcastFromVoid_41(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { +void MyBase_upcastFromVoid_42(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; boost::shared_ptr *asVoid = *reinterpret_cast**> (mxGetData(in[0])); @@ -525,7 +535,7 @@ void MyBase_upcastFromVoid_41(int nargout, mxArray *out[], int nargin, const mxA *reinterpret_cast(mxGetData(out[0])) = self; } -void MyBase_deconstructor_42(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyBase_deconstructor_43(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("delete_MyBase",nargout,nargin,1); @@ -538,7 +548,7 @@ void MyBase_deconstructor_42(int nargout, mxArray *out[], int nargin, const mxAr } } -void MyTemplatePoint2_collectorInsertAndMakeBase_43(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_collectorInsertAndMakeBase_44(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -551,7 +561,7 @@ void MyTemplatePoint2_collectorInsertAndMakeBase_43(int nargout, mxArray *out[], *reinterpret_cast(mxGetData(out[0])) = new SharedBase(*self); } -void MyTemplatePoint2_upcastFromVoid_44(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { +void MyTemplatePoint2_upcastFromVoid_45(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; boost::shared_ptr *asVoid = *reinterpret_cast**> (mxGetData(in[0])); @@ -560,7 +570,7 @@ void MyTemplatePoint2_upcastFromVoid_44(int nargout, mxArray *out[], int nargin, *reinterpret_cast(mxGetData(out[0])) = self; } -void MyTemplatePoint2_constructor_45(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_constructor_46(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -575,7 +585,7 @@ void MyTemplatePoint2_constructor_45(int nargout, mxArray *out[], int nargin, co *reinterpret_cast(mxGetData(out[1])) = new SharedBase(*self); } -void MyTemplatePoint2_deconstructor_46(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_deconstructor_47(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("delete_MyTemplatePoint2",nargout,nargin,1); @@ -588,7 +598,7 @@ void MyTemplatePoint2_deconstructor_46(int nargout, mxArray *out[], int nargin, } } -void MyTemplatePoint2_accept_T_47(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_accept_T_48(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("accept_T",nargout,nargin-1,1); @@ -597,7 +607,7 @@ void MyTemplatePoint2_accept_T_47(int nargout, mxArray *out[], int nargin, const obj->accept_T(value); } -void MyTemplatePoint2_accept_Tptr_48(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_accept_Tptr_49(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("accept_Tptr",nargout,nargin-1,1); @@ -606,7 +616,7 @@ void MyTemplatePoint2_accept_Tptr_48(int nargout, mxArray *out[], int nargin, co obj->accept_Tptr(value); } -void MyTemplatePoint2_create_MixedPtrs_49(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_create_MixedPtrs_50(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr SharedPoint2; @@ -618,7 +628,7 @@ void MyTemplatePoint2_create_MixedPtrs_49(int nargout, mxArray *out[], int nargi out[1] = wrap_shared_ptr(pairResult.second,"gtsam.Point2", false); } -void MyTemplatePoint2_create_ptrs_50(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_create_ptrs_51(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr SharedPoint2; @@ -630,7 +640,7 @@ void MyTemplatePoint2_create_ptrs_50(int nargout, mxArray *out[], int nargin, co out[1] = wrap_shared_ptr(pairResult.second,"gtsam.Point2", false); } -void MyTemplatePoint2_return_T_51(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_return_T_52(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr Shared; @@ -640,7 +650,7 @@ void MyTemplatePoint2_return_T_51(int nargout, mxArray *out[], int nargin, const out[0] = wrap_shared_ptr(SharedPoint2(new gtsam::Point2(obj->return_T(value))),"gtsam.Point2", false); } -void MyTemplatePoint2_return_Tptr_52(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_return_Tptr_53(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr Shared; @@ -650,7 +660,7 @@ void MyTemplatePoint2_return_Tptr_52(int nargout, mxArray *out[], int nargin, co out[0] = wrap_shared_ptr(obj->return_Tptr(value),"gtsam.Point2", false); } -void MyTemplatePoint2_return_ptrs_53(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_return_ptrs_54(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr SharedPoint2; @@ -664,7 +674,7 @@ void MyTemplatePoint2_return_ptrs_53(int nargout, mxArray *out[], int nargin, co out[1] = wrap_shared_ptr(pairResult.second,"gtsam.Point2", false); } -void MyTemplatePoint2_templatedMethod_54(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_templatedMethod_55(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodMatrix",nargout,nargin-1,1); @@ -673,7 +683,7 @@ void MyTemplatePoint2_templatedMethod_54(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyTemplatePoint2_templatedMethod_55(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_templatedMethod_56(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint2",nargout,nargin-1,1); @@ -682,7 +692,7 @@ void MyTemplatePoint2_templatedMethod_55(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyTemplatePoint2_templatedMethod_56(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_templatedMethod_57(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint3",nargout,nargin-1,1); @@ -691,7 +701,7 @@ void MyTemplatePoint2_templatedMethod_56(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyTemplatePoint2_templatedMethod_57(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint2_templatedMethod_58(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodVector",nargout,nargin-1,1); @@ -700,7 +710,7 @@ void MyTemplatePoint2_templatedMethod_57(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyTemplatePoint3_collectorInsertAndMakeBase_58(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_collectorInsertAndMakeBase_59(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -713,7 +723,7 @@ void MyTemplatePoint3_collectorInsertAndMakeBase_58(int nargout, mxArray *out[], *reinterpret_cast(mxGetData(out[0])) = new SharedBase(*self); } -void MyTemplatePoint3_upcastFromVoid_59(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { +void MyTemplatePoint3_upcastFromVoid_60(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; boost::shared_ptr *asVoid = *reinterpret_cast**> (mxGetData(in[0])); @@ -722,7 +732,7 @@ void MyTemplatePoint3_upcastFromVoid_59(int nargout, mxArray *out[], int nargin, *reinterpret_cast(mxGetData(out[0])) = self; } -void MyTemplatePoint3_constructor_60(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_constructor_61(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -737,7 +747,7 @@ void MyTemplatePoint3_constructor_60(int nargout, mxArray *out[], int nargin, co *reinterpret_cast(mxGetData(out[1])) = new SharedBase(*self); } -void MyTemplatePoint3_deconstructor_61(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_deconstructor_62(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("delete_MyTemplatePoint3",nargout,nargin,1); @@ -750,7 +760,7 @@ void MyTemplatePoint3_deconstructor_61(int nargout, mxArray *out[], int nargin, } } -void MyTemplatePoint3_accept_T_62(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_accept_T_63(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("accept_T",nargout,nargin-1,1); @@ -759,7 +769,7 @@ void MyTemplatePoint3_accept_T_62(int nargout, mxArray *out[], int nargin, const obj->accept_T(value); } -void MyTemplatePoint3_accept_Tptr_63(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_accept_Tptr_64(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("accept_Tptr",nargout,nargin-1,1); @@ -768,7 +778,7 @@ void MyTemplatePoint3_accept_Tptr_63(int nargout, mxArray *out[], int nargin, co obj->accept_Tptr(value); } -void MyTemplatePoint3_create_MixedPtrs_64(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_create_MixedPtrs_65(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr SharedPoint3; @@ -780,7 +790,7 @@ void MyTemplatePoint3_create_MixedPtrs_64(int nargout, mxArray *out[], int nargi out[1] = wrap_shared_ptr(pairResult.second,"gtsam.Point3", false); } -void MyTemplatePoint3_create_ptrs_65(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_create_ptrs_66(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr SharedPoint3; @@ -792,7 +802,7 @@ void MyTemplatePoint3_create_ptrs_65(int nargout, mxArray *out[], int nargin, co out[1] = wrap_shared_ptr(pairResult.second,"gtsam.Point3", false); } -void MyTemplatePoint3_return_T_66(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_return_T_67(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr Shared; @@ -802,7 +812,7 @@ void MyTemplatePoint3_return_T_66(int nargout, mxArray *out[], int nargin, const out[0] = wrap_shared_ptr(SharedPoint3(new gtsam::Point3(obj->return_T(value))),"gtsam.Point3", false); } -void MyTemplatePoint3_return_Tptr_67(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_return_Tptr_68(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr Shared; @@ -812,7 +822,7 @@ void MyTemplatePoint3_return_Tptr_67(int nargout, mxArray *out[], int nargin, co out[0] = wrap_shared_ptr(obj->return_Tptr(value),"gtsam.Point3", false); } -void MyTemplatePoint3_return_ptrs_68(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_return_ptrs_69(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr SharedPoint3; @@ -826,7 +836,7 @@ void MyTemplatePoint3_return_ptrs_68(int nargout, mxArray *out[], int nargin, co out[1] = wrap_shared_ptr(pairResult.second,"gtsam.Point3", false); } -void MyTemplatePoint3_templatedMethod_69(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_templatedMethod_70(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodMatrix",nargout,nargin-1,1); @@ -835,7 +845,7 @@ void MyTemplatePoint3_templatedMethod_69(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyTemplatePoint3_templatedMethod_70(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_templatedMethod_71(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint2",nargout,nargin-1,1); @@ -844,7 +854,7 @@ void MyTemplatePoint3_templatedMethod_70(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyTemplatePoint3_templatedMethod_71(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_templatedMethod_72(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint3",nargout,nargin-1,1); @@ -853,7 +863,7 @@ void MyTemplatePoint3_templatedMethod_71(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyTemplatePoint3_templatedMethod_72(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyTemplatePoint3_templatedMethod_73(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("templatedMethodVector",nargout,nargin-1,1); @@ -862,7 +872,7 @@ void MyTemplatePoint3_templatedMethod_72(int nargout, mxArray *out[], int nargin obj->templatedMethod(t); } -void MyFactorPosePoint2_collectorInsertAndMakeBase_73(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyFactorPosePoint2_collectorInsertAndMakeBase_74(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -871,7 +881,7 @@ void MyFactorPosePoint2_collectorInsertAndMakeBase_73(int nargout, mxArray *out[ collector_MyFactorPosePoint2.insert(self); } -void MyFactorPosePoint2_constructor_74(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyFactorPosePoint2_constructor_75(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { mexAtExit(&_deleteAllObjects); typedef boost::shared_ptr Shared; @@ -886,7 +896,7 @@ void MyFactorPosePoint2_constructor_74(int nargout, mxArray *out[], int nargin, *reinterpret_cast (mxGetData(out[0])) = self; } -void MyFactorPosePoint2_deconstructor_75(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void MyFactorPosePoint2_deconstructor_76(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { typedef boost::shared_ptr Shared; checkArguments("delete_MyFactorPosePoint2",nargout,nargin,1); @@ -899,18 +909,18 @@ void MyFactorPosePoint2_deconstructor_75(int nargout, mxArray *out[], int nargin } } -void aGlobalFunction_76(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void aGlobalFunction_77(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { checkArguments("aGlobalFunction",nargout,nargin,0); out[0] = wrap< Vector >(aGlobalFunction()); } -void overloadedGlobalFunction_77(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void overloadedGlobalFunction_78(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { checkArguments("overloadedGlobalFunction",nargout,nargin,1); int a = unwrap< int >(in[0]); out[0] = wrap< Vector >(overloadedGlobalFunction(a)); } -void overloadedGlobalFunction_78(int nargout, mxArray *out[], int nargin, const mxArray *in[]) +void overloadedGlobalFunction_79(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { checkArguments("overloadedGlobalFunction",nargout,nargin,2); int a = unwrap< int >(in[0]); @@ -951,148 +961,148 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) gtsamPoint2_dim_6(nargout, out, nargin-1, in+1); break; case 7: - gtsamPoint2_returnChar_7(nargout, out, nargin-1, in+1); + gtsamPoint2_eigenArguments_7(nargout, out, nargin-1, in+1); break; case 8: - gtsamPoint2_vectorConfusion_8(nargout, out, nargin-1, in+1); + gtsamPoint2_returnChar_8(nargout, out, nargin-1, in+1); break; case 9: - gtsamPoint2_x_9(nargout, out, nargin-1, in+1); + gtsamPoint2_vectorConfusion_9(nargout, out, nargin-1, in+1); break; case 10: - gtsamPoint2_y_10(nargout, out, nargin-1, in+1); + gtsamPoint2_x_10(nargout, out, nargin-1, in+1); break; case 11: - gtsamPoint3_collectorInsertAndMakeBase_11(nargout, out, nargin-1, in+1); + gtsamPoint2_y_11(nargout, out, nargin-1, in+1); break; case 12: - gtsamPoint3_constructor_12(nargout, out, nargin-1, in+1); + gtsamPoint3_collectorInsertAndMakeBase_12(nargout, out, nargin-1, in+1); break; case 13: - gtsamPoint3_deconstructor_13(nargout, out, nargin-1, in+1); + gtsamPoint3_constructor_13(nargout, out, nargin-1, in+1); break; case 14: - gtsamPoint3_norm_14(nargout, out, nargin-1, in+1); + gtsamPoint3_deconstructor_14(nargout, out, nargin-1, in+1); break; case 15: - gtsamPoint3_StaticFunctionRet_15(nargout, out, nargin-1, in+1); + gtsamPoint3_norm_15(nargout, out, nargin-1, in+1); break; case 16: - gtsamPoint3_staticFunction_16(nargout, out, nargin-1, in+1); + gtsamPoint3_StaticFunctionRet_16(nargout, out, nargin-1, in+1); break; case 17: - Test_collectorInsertAndMakeBase_17(nargout, out, nargin-1, in+1); + gtsamPoint3_staticFunction_17(nargout, out, nargin-1, in+1); break; case 18: - Test_constructor_18(nargout, out, nargin-1, in+1); + Test_collectorInsertAndMakeBase_18(nargout, out, nargin-1, in+1); break; case 19: Test_constructor_19(nargout, out, nargin-1, in+1); break; case 20: - Test_deconstructor_20(nargout, out, nargin-1, in+1); + Test_constructor_20(nargout, out, nargin-1, in+1); break; case 21: - Test_arg_EigenConstRef_21(nargout, out, nargin-1, in+1); + Test_deconstructor_21(nargout, out, nargin-1, in+1); break; case 22: - Test_create_MixedPtrs_22(nargout, out, nargin-1, in+1); + Test_arg_EigenConstRef_22(nargout, out, nargin-1, in+1); break; case 23: - Test_create_ptrs_23(nargout, out, nargin-1, in+1); + Test_create_MixedPtrs_23(nargout, out, nargin-1, in+1); break; case 24: - Test_print_24(nargout, out, nargin-1, in+1); + Test_create_ptrs_24(nargout, out, nargin-1, in+1); break; case 25: - Test_return_Point2Ptr_25(nargout, out, nargin-1, in+1); + Test_print_25(nargout, out, nargin-1, in+1); break; case 26: - Test_return_Test_26(nargout, out, nargin-1, in+1); + Test_return_Point2Ptr_26(nargout, out, nargin-1, in+1); break; case 27: - Test_return_TestPtr_27(nargout, out, nargin-1, in+1); + Test_return_Test_27(nargout, out, nargin-1, in+1); break; case 28: - Test_return_bool_28(nargout, out, nargin-1, in+1); + Test_return_TestPtr_28(nargout, out, nargin-1, in+1); break; case 29: - Test_return_double_29(nargout, out, nargin-1, in+1); + Test_return_bool_29(nargout, out, nargin-1, in+1); break; case 30: - Test_return_field_30(nargout, out, nargin-1, in+1); + Test_return_double_30(nargout, out, nargin-1, in+1); break; case 31: - Test_return_int_31(nargout, out, nargin-1, in+1); + Test_return_field_31(nargout, out, nargin-1, in+1); break; case 32: - Test_return_matrix1_32(nargout, out, nargin-1, in+1); + Test_return_int_32(nargout, out, nargin-1, in+1); break; case 33: - Test_return_matrix2_33(nargout, out, nargin-1, in+1); + Test_return_matrix1_33(nargout, out, nargin-1, in+1); break; case 34: - Test_return_pair_34(nargout, out, nargin-1, in+1); + Test_return_matrix2_34(nargout, out, nargin-1, in+1); break; case 35: - Test_return_ptrs_35(nargout, out, nargin-1, in+1); + Test_return_pair_35(nargout, out, nargin-1, in+1); break; case 36: - Test_return_size_t_36(nargout, out, nargin-1, in+1); + Test_return_ptrs_36(nargout, out, nargin-1, in+1); break; case 37: - Test_return_string_37(nargout, out, nargin-1, in+1); + Test_return_size_t_37(nargout, out, nargin-1, in+1); break; case 38: - Test_return_vector1_38(nargout, out, nargin-1, in+1); + Test_return_string_38(nargout, out, nargin-1, in+1); break; case 39: - Test_return_vector2_39(nargout, out, nargin-1, in+1); + Test_return_vector1_39(nargout, out, nargin-1, in+1); break; case 40: - MyBase_collectorInsertAndMakeBase_40(nargout, out, nargin-1, in+1); + Test_return_vector2_40(nargout, out, nargin-1, in+1); break; case 41: - MyBase_upcastFromVoid_41(nargout, out, nargin-1, in+1); + MyBase_collectorInsertAndMakeBase_41(nargout, out, nargin-1, in+1); break; case 42: - MyBase_deconstructor_42(nargout, out, nargin-1, in+1); + MyBase_upcastFromVoid_42(nargout, out, nargin-1, in+1); break; case 43: - MyTemplatePoint2_collectorInsertAndMakeBase_43(nargout, out, nargin-1, in+1); + MyBase_deconstructor_43(nargout, out, nargin-1, in+1); break; case 44: - MyTemplatePoint2_upcastFromVoid_44(nargout, out, nargin-1, in+1); + MyTemplatePoint2_collectorInsertAndMakeBase_44(nargout, out, nargin-1, in+1); break; case 45: - MyTemplatePoint2_constructor_45(nargout, out, nargin-1, in+1); + MyTemplatePoint2_upcastFromVoid_45(nargout, out, nargin-1, in+1); break; case 46: - MyTemplatePoint2_deconstructor_46(nargout, out, nargin-1, in+1); + MyTemplatePoint2_constructor_46(nargout, out, nargin-1, in+1); break; case 47: - MyTemplatePoint2_accept_T_47(nargout, out, nargin-1, in+1); + MyTemplatePoint2_deconstructor_47(nargout, out, nargin-1, in+1); break; case 48: - MyTemplatePoint2_accept_Tptr_48(nargout, out, nargin-1, in+1); + MyTemplatePoint2_accept_T_48(nargout, out, nargin-1, in+1); break; case 49: - MyTemplatePoint2_create_MixedPtrs_49(nargout, out, nargin-1, in+1); + MyTemplatePoint2_accept_Tptr_49(nargout, out, nargin-1, in+1); break; case 50: - MyTemplatePoint2_create_ptrs_50(nargout, out, nargin-1, in+1); + MyTemplatePoint2_create_MixedPtrs_50(nargout, out, nargin-1, in+1); break; case 51: - MyTemplatePoint2_return_T_51(nargout, out, nargin-1, in+1); + MyTemplatePoint2_create_ptrs_51(nargout, out, nargin-1, in+1); break; case 52: - MyTemplatePoint2_return_Tptr_52(nargout, out, nargin-1, in+1); + MyTemplatePoint2_return_T_52(nargout, out, nargin-1, in+1); break; case 53: - MyTemplatePoint2_return_ptrs_53(nargout, out, nargin-1, in+1); + MyTemplatePoint2_return_Tptr_53(nargout, out, nargin-1, in+1); break; case 54: - MyTemplatePoint2_templatedMethod_54(nargout, out, nargin-1, in+1); + MyTemplatePoint2_return_ptrs_54(nargout, out, nargin-1, in+1); break; case 55: MyTemplatePoint2_templatedMethod_55(nargout, out, nargin-1, in+1); @@ -1104,40 +1114,40 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) MyTemplatePoint2_templatedMethod_57(nargout, out, nargin-1, in+1); break; case 58: - MyTemplatePoint3_collectorInsertAndMakeBase_58(nargout, out, nargin-1, in+1); + MyTemplatePoint2_templatedMethod_58(nargout, out, nargin-1, in+1); break; case 59: - MyTemplatePoint3_upcastFromVoid_59(nargout, out, nargin-1, in+1); + MyTemplatePoint3_collectorInsertAndMakeBase_59(nargout, out, nargin-1, in+1); break; case 60: - MyTemplatePoint3_constructor_60(nargout, out, nargin-1, in+1); + MyTemplatePoint3_upcastFromVoid_60(nargout, out, nargin-1, in+1); break; case 61: - MyTemplatePoint3_deconstructor_61(nargout, out, nargin-1, in+1); + MyTemplatePoint3_constructor_61(nargout, out, nargin-1, in+1); break; case 62: - MyTemplatePoint3_accept_T_62(nargout, out, nargin-1, in+1); + MyTemplatePoint3_deconstructor_62(nargout, out, nargin-1, in+1); break; case 63: - MyTemplatePoint3_accept_Tptr_63(nargout, out, nargin-1, in+1); + MyTemplatePoint3_accept_T_63(nargout, out, nargin-1, in+1); break; case 64: - MyTemplatePoint3_create_MixedPtrs_64(nargout, out, nargin-1, in+1); + MyTemplatePoint3_accept_Tptr_64(nargout, out, nargin-1, in+1); break; case 65: - MyTemplatePoint3_create_ptrs_65(nargout, out, nargin-1, in+1); + MyTemplatePoint3_create_MixedPtrs_65(nargout, out, nargin-1, in+1); break; case 66: - MyTemplatePoint3_return_T_66(nargout, out, nargin-1, in+1); + MyTemplatePoint3_create_ptrs_66(nargout, out, nargin-1, in+1); break; case 67: - MyTemplatePoint3_return_Tptr_67(nargout, out, nargin-1, in+1); + MyTemplatePoint3_return_T_67(nargout, out, nargin-1, in+1); break; case 68: - MyTemplatePoint3_return_ptrs_68(nargout, out, nargin-1, in+1); + MyTemplatePoint3_return_Tptr_68(nargout, out, nargin-1, in+1); break; case 69: - MyTemplatePoint3_templatedMethod_69(nargout, out, nargin-1, in+1); + MyTemplatePoint3_return_ptrs_69(nargout, out, nargin-1, in+1); break; case 70: MyTemplatePoint3_templatedMethod_70(nargout, out, nargin-1, in+1); @@ -1149,23 +1159,26 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) MyTemplatePoint3_templatedMethod_72(nargout, out, nargin-1, in+1); break; case 73: - MyFactorPosePoint2_collectorInsertAndMakeBase_73(nargout, out, nargin-1, in+1); + MyTemplatePoint3_templatedMethod_73(nargout, out, nargin-1, in+1); break; case 74: - MyFactorPosePoint2_constructor_74(nargout, out, nargin-1, in+1); + MyFactorPosePoint2_collectorInsertAndMakeBase_74(nargout, out, nargin-1, in+1); break; case 75: - MyFactorPosePoint2_deconstructor_75(nargout, out, nargin-1, in+1); + MyFactorPosePoint2_constructor_75(nargout, out, nargin-1, in+1); break; case 76: - aGlobalFunction_76(nargout, out, nargin-1, in+1); + MyFactorPosePoint2_deconstructor_76(nargout, out, nargin-1, in+1); break; case 77: - overloadedGlobalFunction_77(nargout, out, nargin-1, in+1); + aGlobalFunction_77(nargout, out, nargin-1, in+1); break; case 78: overloadedGlobalFunction_78(nargout, out, nargin-1, in+1); break; + case 79: + overloadedGlobalFunction_79(nargout, out, nargin-1, in+1); + break; } } catch(const std::exception& e) { mexErrMsgTxt(("Exception from gtsam:\n" + std::string(e.what()) + "\n").c_str()); diff --git a/wrap/tests/expected2/overloadedGlobalFunction.m b/wrap/tests/expected2/overloadedGlobalFunction.m index fb912a880..7dd7317ab 100644 --- a/wrap/tests/expected2/overloadedGlobalFunction.m +++ b/wrap/tests/expected2/overloadedGlobalFunction.m @@ -1,8 +1,8 @@ function varargout = overloadedGlobalFunction(varargin) if length(varargin) == 1 && isa(varargin{1},'numeric') - varargout{1} = geometry_wrapper(77, varargin{:}); - elseif length(varargin) == 2 && isa(varargin{1},'numeric') && isa(varargin{2},'double') varargout{1} = geometry_wrapper(78, varargin{:}); + elseif length(varargin) == 2 && isa(varargin{1},'numeric') && isa(varargin{2},'double') + varargout{1} = geometry_wrapper(79, varargin{:}); else error('Arguments do not match any overload of function overloadedGlobalFunction'); end diff --git a/wrap/tests/geometry.h b/wrap/tests/geometry.h index c335df924..3fec21ab9 100644 --- a/wrap/tests/geometry.h +++ b/wrap/tests/geometry.h @@ -14,6 +14,7 @@ class Point2 { char returnChar() const; void argChar(char a) const; void argUChar(unsigned char a) const; + void eigenArguments(Vector v, Matrix m) const; VectorNotEigen vectorConfusion(); void serializable() const; // Sets flag and creates export, but does not make serialization functions diff --git a/wrap/tests/testWrap.cpp b/wrap/tests/testWrap.cpp index 0645fb407..c1f6f091e 100644 --- a/wrap/tests/testWrap.cpp +++ b/wrap/tests/testWrap.cpp @@ -184,7 +184,7 @@ TEST( wrap, Geometry ) { Class cls = module.classes.at(0); EXPECT(assert_equal("Point2", cls.name)); EXPECT_LONGS_EQUAL(2, cls.constructor.nrOverloads()); - EXPECT_LONGS_EQUAL(7, cls.nrMethods()); + EXPECT_LONGS_EQUAL(8, cls.nrMethods()); { // char returnChar() const;