1 #include <gtwrap/matlab.h> 28 std::streambuf *outbuf = std::cout.rdbuf(&mout);
30 bool anyDeleted =
false;
70 "WARNING: Wrap modules with variables in the workspace have been reloaded due to\n" 71 "calling destructors, call 'clear all' again if you plan to now recompile a wrap\n" 72 "module, so that your recompiled module is used instead of the old one." << endl;
73 std::cout.rdbuf(outbuf);
77 const mxArray *alreadyCreated = mexGetVariablePtr(
"global",
"gtsam_inheritance_rttiRegistry_created");
79 std::map<std::string, std::string> types;
81 types.insert(std::make_pair(
typeid(MyBase).
name(),
"MyBase"));
84 types.insert(std::make_pair(
typeid(
MyTemplateA).
name(),
"MyTemplateA"));
85 types.insert(std::make_pair(
typeid(ForwardKinematicsFactor).
name(),
"ForwardKinematicsFactor"));
89 mxArray *registry = mexGetVariable(
"global",
"gtsamwrap_rttiRegistry");
91 registry = mxCreateStructMatrix(1, 1, 0,
NULL);
92 typedef std::pair<std::string, std::string> StringPair;
93 for(
const StringPair& rtti_matlab: types) {
94 int fieldId = mxAddField(registry, rtti_matlab.first.c_str());
96 mexErrMsgTxt(
"gtsam wrap: Error indexing RTTI types, inheritance will not work correctly");
98 mxArray *matlabName = mxCreateString(rtti_matlab.second.c_str());
99 mxSetFieldByNumber(registry, 0, fieldId, matlabName);
101 if(mexPutVariable(
"global",
"gtsamwrap_rttiRegistry", registry) != 0) {
102 mexErrMsgTxt(
"gtsam wrap: Error indexing RTTI types, inheritance will not work correctly");
104 mxDestroyArray(registry);
106 mxArray *newAlreadyCreated = mxCreateNumericMatrix(0, 0, mxINT8_CLASS, mxREAL);
107 if(mexPutVariable(
"global",
"gtsam_inheritance_rttiRegistry_created", newAlreadyCreated) != 0) {
108 mexErrMsgTxt(
"gtsam wrap: Error indexing RTTI types, inheritance will not work correctly");
110 mxDestroyArray(newAlreadyCreated);
117 typedef std::shared_ptr<MyBase> Shared;
119 Shared *
self = *
reinterpret_cast<Shared**
> (mxGetData(in[0]));
125 typedef std::shared_ptr<MyBase> Shared;
126 std::shared_ptr<void> *asVoid = *
reinterpret_cast<std::shared_ptr<void>**
> (mxGetData(in[0]));
128 Shared *
self =
new Shared(std::static_pointer_cast<MyBase>(*asVoid));
129 *
reinterpret_cast<Shared**
>(mxGetData(out[0])) =
self;
134 typedef std::shared_ptr<MyBase> Shared;
136 Shared *
self = *
reinterpret_cast<Shared**
>(mxGetData(in[0]));
137 Collector_MyBase::iterator item;
148 typedef std::shared_ptr<MyTemplate<gtsam::Point2>> Shared;
150 Shared *
self = *
reinterpret_cast<Shared**
> (mxGetData(in[0]));
153 typedef std::shared_ptr<MyBase> SharedBase;
155 *
reinterpret_cast<SharedBase**
>(mxGetData(out[0])) =
new SharedBase(*
self);
160 typedef std::shared_ptr<MyTemplate<gtsam::Point2>> Shared;
161 std::shared_ptr<void> *asVoid = *
reinterpret_cast<std::shared_ptr<void>**
> (mxGetData(in[0]));
163 Shared *
self =
new Shared(std::static_pointer_cast<MyTemplate<gtsam::Point2>>(*asVoid));
164 *
reinterpret_cast<Shared**
>(mxGetData(out[0])) =
self;
170 typedef std::shared_ptr<MyTemplate<gtsam::Point2>> Shared;
172 Shared *
self =
new Shared(
new MyTemplate<gtsam::Point2>());
175 *
reinterpret_cast<Shared**
> (mxGetData(out[0])) =
self;
177 typedef std::shared_ptr<MyBase> SharedBase;
179 *
reinterpret_cast<SharedBase**
>(mxGetData(out[1])) =
new SharedBase(*
self);
184 typedef std::shared_ptr<MyTemplate<gtsam::Point2>> Shared;
186 Shared *
self = *
reinterpret_cast<Shared**
>(mxGetData(in[0]));
187 Collector_MyTemplatePoint2::iterator item;
198 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
200 obj->accept_T(value);
206 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
208 obj->accept_Tptr(value);
214 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
215 auto pairResult = obj->create_MixedPtrs();
216 out[0] = wrap< Point2 >(pairResult.first);
218 std::shared_ptr<Point2> shared(pairResult.second);
226 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
227 auto pairResult = obj->create_ptrs();
229 std::shared_ptr<Point2> shared(pairResult.first);
233 std::shared_ptr<Point2> shared(pairResult.second);
241 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
243 out[0] = wrap< Point2 >(obj->return_T(value));
249 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
252 std::shared_ptr<Point2> shared(obj->return_Tptr(value));
260 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
261 Point2 p1 = unwrap< Point2 >(in[1]);
262 Point2 p2 = unwrap< Point2 >(in[2]);
263 auto pairResult = obj->return_ptrs(p1,p2);
265 std::shared_ptr<Point2> shared(pairResult.first);
269 std::shared_ptr<Point2> shared(pairResult.second);
277 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
278 Matrix t = unwrap< Matrix >(in[1]);
285 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
286 Point2 t = unwrap< Point2 >(in[1]);
293 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
294 Point3 t = unwrap< Point3 >(in[1]);
301 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Point2>>(in[0],
"ptr_MyTemplatePoint2");
302 Vector t = unwrap< Vector >(in[1]);
308 checkArguments(
"MyTemplate<gtsam::Point2>.Level",nargout,nargin,1);
309 Point2 K = unwrap< Point2 >(in[0]);
316 typedef std::shared_ptr<MyTemplate<gtsam::Matrix>> Shared;
318 Shared *
self = *
reinterpret_cast<Shared**
> (mxGetData(in[0]));
321 typedef std::shared_ptr<MyBase> SharedBase;
323 *
reinterpret_cast<SharedBase**
>(mxGetData(out[0])) =
new SharedBase(*
self);
328 typedef std::shared_ptr<MyTemplate<gtsam::Matrix>> Shared;
329 std::shared_ptr<void> *asVoid = *
reinterpret_cast<std::shared_ptr<void>**
> (mxGetData(in[0]));
331 Shared *
self =
new Shared(std::static_pointer_cast<MyTemplate<gtsam::Matrix>>(*asVoid));
332 *
reinterpret_cast<Shared**
>(mxGetData(out[0])) =
self;
338 typedef std::shared_ptr<MyTemplate<gtsam::Matrix>> Shared;
340 Shared *
self =
new Shared(
new MyTemplate<gtsam::Matrix>());
343 *
reinterpret_cast<Shared**
> (mxGetData(out[0])) =
self;
345 typedef std::shared_ptr<MyBase> SharedBase;
347 *
reinterpret_cast<SharedBase**
>(mxGetData(out[1])) =
new SharedBase(*
self);
352 typedef std::shared_ptr<MyTemplate<gtsam::Matrix>> Shared;
354 Shared *
self = *
reinterpret_cast<Shared**
>(mxGetData(in[0]));
355 Collector_MyTemplateMatrix::iterator item;
366 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
368 obj->accept_T(value);
374 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
376 obj->accept_Tptr(value);
382 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
383 auto pairResult = obj->create_MixedPtrs();
384 out[0] = wrap< Matrix >(pairResult.first);
386 std::shared_ptr<Matrix> shared(pairResult.second);
394 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
395 auto pairResult = obj->create_ptrs();
397 std::shared_ptr<Matrix> shared(pairResult.first);
401 std::shared_ptr<Matrix> shared(pairResult.second);
409 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
411 out[0] = wrap< Matrix >(obj->return_T(value));
417 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
420 std::shared_ptr<Matrix> shared(obj->return_Tptr(value));
428 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
429 Matrix p1 = unwrap< Matrix >(in[1]);
430 Matrix p2 = unwrap< Matrix >(in[2]);
431 auto pairResult = obj->return_ptrs(p1,p2);
433 std::shared_ptr<Matrix> shared(pairResult.first);
437 std::shared_ptr<Matrix> shared(pairResult.second);
445 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
446 Matrix t = unwrap< Matrix >(in[1]);
453 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
454 Point2 t = unwrap< Point2 >(in[1]);
461 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
462 Point3 t = unwrap< Point3 >(in[1]);
469 auto obj = unwrap_shared_ptr<MyTemplate<gtsam::Matrix>>(in[0],
"ptr_MyTemplateMatrix");
470 Vector t = unwrap< Vector >(in[1]);
476 checkArguments(
"MyTemplate<gtsam::Matrix>.Level",nargout,nargin,1);
477 Matrix K = unwrap< Matrix >(in[0]);
484 typedef std::shared_ptr<MyTemplate<A>> Shared;
486 Shared *
self = *
reinterpret_cast<Shared**
> (mxGetData(in[0]));
489 typedef std::shared_ptr<MyBase> SharedBase;
491 *
reinterpret_cast<SharedBase**
>(mxGetData(out[0])) =
new SharedBase(*
self);
496 typedef std::shared_ptr<MyTemplate<A>> Shared;
497 std::shared_ptr<void> *asVoid = *
reinterpret_cast<std::shared_ptr<void>**
> (mxGetData(in[0]));
499 Shared *
self =
new Shared(std::static_pointer_cast<MyTemplate<A>>(*asVoid));
500 *
reinterpret_cast<Shared**
>(mxGetData(out[0])) =
self;
506 typedef std::shared_ptr<MyTemplate<A>> Shared;
508 Shared *
self =
new Shared(
new MyTemplate<A>());
511 *
reinterpret_cast<Shared**
> (mxGetData(out[0])) =
self;
513 typedef std::shared_ptr<MyBase> SharedBase;
515 *
reinterpret_cast<SharedBase**
>(mxGetData(out[1])) =
new SharedBase(*
self);
520 typedef std::shared_ptr<MyTemplate<A>> Shared;
522 Shared *
self = *
reinterpret_cast<Shared**
>(mxGetData(in[0]));
523 Collector_MyTemplateA::iterator item;
534 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
535 A&
value = *unwrap_shared_ptr< A >(in[1],
"ptr_A");
536 obj->accept_T(value);
542 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
543 std::shared_ptr<A>
value = unwrap_shared_ptr< A >(in[1],
"ptr_A");
544 obj->accept_Tptr(value);
550 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
551 auto pairResult = obj->create_MixedPtrs();
552 out[0] =
wrap_shared_ptr(std::make_shared<A>(pairResult.first),
"A",
false);
559 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
560 auto pairResult = obj->create_ptrs();
568 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
569 A*
value = unwrap_ptr< A >(in[1],
"ptr_A");
570 out[0] =
wrap_shared_ptr(std::make_shared<A>(obj->return_T(value)),
"A",
false);
576 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
577 std::shared_ptr<A>
value = unwrap_shared_ptr< A >(in[1],
"ptr_A");
584 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
585 std::shared_ptr<A>
p1 = unwrap_shared_ptr< A >(in[1],
"ptr_A");
586 std::shared_ptr<A>
p2 = unwrap_shared_ptr< A >(in[2],
"ptr_A");
587 auto pairResult = obj->return_ptrs(p1,p2);
595 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
596 Matrix t = unwrap< Matrix >(in[1]);
603 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
604 Point2 t = unwrap< Point2 >(in[1]);
611 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
612 Point3 t = unwrap< Point3 >(in[1]);
619 auto obj = unwrap_shared_ptr<MyTemplate<A>>(in[0],
"ptr_MyTemplateA");
620 Vector t = unwrap< Vector >(in[1]);
627 A&
K = *unwrap_shared_ptr< A >(in[0],
"ptr_A");
634 typedef std::shared_ptr<ForwardKinematicsFactor> Shared;
636 Shared *
self = *
reinterpret_cast<Shared**
> (mxGetData(in[0]));
639 typedef std::shared_ptr<gtsam::BetweenFactor<gtsam::Pose3>> SharedBase;
641 *
reinterpret_cast<SharedBase**
>(mxGetData(out[0])) =
new SharedBase(*
self);
646 typedef std::shared_ptr<ForwardKinematicsFactor> Shared;
647 std::shared_ptr<void> *asVoid = *
reinterpret_cast<std::shared_ptr<void>**
> (mxGetData(in[0]));
649 Shared *
self =
new Shared(std::static_pointer_cast<ForwardKinematicsFactor>(*asVoid));
650 *
reinterpret_cast<Shared**
>(mxGetData(out[0])) =
self;
655 typedef std::shared_ptr<ForwardKinematicsFactor> Shared;
656 checkArguments(
"delete_ForwardKinematicsFactor",nargout,nargin,1);
657 Shared *
self = *
reinterpret_cast<Shared**
>(mxGetData(in[0]));
658 Collector_ForwardKinematicsFactor::iterator item;
669 typedef std::shared_ptr<ParentHasTemplate<double>> Shared;
671 Shared *
self = *
reinterpret_cast<Shared**
> (mxGetData(in[0]));
674 typedef std::shared_ptr<MyTemplate<double>> SharedBase;
676 *
reinterpret_cast<SharedBase**
>(mxGetData(out[0])) =
new SharedBase(*
self);
681 typedef std::shared_ptr<ParentHasTemplate<double>> Shared;
682 std::shared_ptr<void> *asVoid = *
reinterpret_cast<std::shared_ptr<void>**
> (mxGetData(in[0]));
684 Shared *
self =
new Shared(std::static_pointer_cast<ParentHasTemplate<double>>(*asVoid));
685 *
reinterpret_cast<Shared**
>(mxGetData(out[0])) =
self;
690 typedef std::shared_ptr<ParentHasTemplate<double>> Shared;
691 checkArguments(
"delete_ParentHasTemplateDouble",nargout,nargin,1);
692 Shared *
self = *
reinterpret_cast<Shared**
>(mxGetData(in[0]));
693 Collector_ParentHasTemplateDouble::iterator item;
705 std::streambuf *outbuf = std::cout.rdbuf(&mout);
885 }
catch(
const std::exception&
e) {
886 mexErrMsgTxt((
"Exception from gtsam:\n" + std::string(e.what()) +
"\n").c_str());
889 std::cout.rdbuf(outbuf);
int unwrap< int >(const mxArray *array)
void MyTemplateA_upcastFromVoid_36(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_return_Tptr_12(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void ForwardKinematicsFactor_collectorInsertAndMakeBase_51(int nargout, mxArray *out[], int nargin, const mxArray *in[])
mxArray * wrap_shared_ptr(std::shared_ptr< Class > shared_ptr, const std::string &matlabName, bool isVirtual)
static Collector_MyTemplateA collector_MyTemplateA
void MyTemplateMatrix_upcastFromVoid_20(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_collectorInsertAndMakeBase_3(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_collectorInsertAndMakeBase_35(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_constructor_37(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_templatedMethod_49(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_upcastFromVoid_4(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::ofstream out("Result.txt")
void ParentHasTemplateDouble_upcastFromVoid_55(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_return_T_11(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void checkArguments(const string &name, int nargout, int nargin, int expected)
void MyTemplateA_return_T_43(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_create_MixedPtrs_25(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::set< std::shared_ptr< ParentHasTemplateDouble > * > Collector_ParentHasTemplateDouble
void MyTemplateMatrix_return_T_27(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_templatedMethod_15(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_templatedMethod_32(int nargout, mxArray *out[], int nargin, const mxArray *in[])
MyTemplate< gtsam::Point2 > MyTemplatePoint2
static Cal3_S2 K(500, 500, 0.1, 640/2, 480/2)
void MyTemplateA_create_MixedPtrs_41(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void ForwardKinematicsFactor_deconstructor_53(int nargout, mxArray *out[], int nargin, const mxArray *in[])
iterator iter(handle obj)
static Collector_MyBase collector_MyBase
void MyTemplateMatrix_accept_T_23(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_Level_34(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void ParentHasTemplateDouble_deconstructor_56(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Collector_ForwardKinematicsFactor collector_ForwardKinematicsFactor
void MyTemplatePoint2_Level_18(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Collector_MyTemplatePoint2 collector_MyTemplatePoint2
void MyTemplatePoint2_return_ptrs_13(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_accept_Tptr_8(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::set< std::shared_ptr< MyTemplateMatrix > * > Collector_MyTemplateMatrix
void MyTemplatePoint2_templatedMethod_17(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_deconstructor_22(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyBase_collectorInsertAndMakeBase_0(int nargout, mxArray *out[], int nargin, const mxArray *in[])
MyTemplate< gtsam::Matrix > MyTemplateMatrix
void MyTemplatePoint2_create_MixedPtrs_9(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::set< std::shared_ptr< MyTemplatePoint2 > * > Collector_MyTemplatePoint2
std::set< std::shared_ptr< MyTemplateA > * > Collector_MyTemplateA
void MyBase_deconstructor_2(int nargout, mxArray *out[], int nargin, const mxArray *in[])
gtsam::enable_if_t< needs_eigen_aligned_allocator< T >::value, std::shared_ptr< T > > make_shared(Args &&... args)
void MyTemplatePoint2_constructor_5(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_accept_Tptr_40(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_templatedMethod_14(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_create_ptrs_10(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_return_Tptr_44(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_return_ptrs_45(int nargout, mxArray *out[], int nargin, const mxArray *in[])
MyTemplate< A > MyTemplateA
void MyTemplateA_templatedMethod_48(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_templatedMethod_46(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_templatedMethod_33(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_templatedMethod_31(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_deconstructor_6(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void MyTemplateMatrix_accept_Tptr_24(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_return_ptrs_29(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::set< std::shared_ptr< MyBase > * > Collector_MyBase
static Collector_ParentHasTemplateDouble collector_ParentHasTemplateDouble
void MyTemplateA_create_ptrs_42(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_templatedMethod_47(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_templatedMethod_30(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_deconstructor_38(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void _inheritance_RTTIRegister()
void MyTemplatePoint2_templatedMethod_16(int nargout, mxArray *out[], int nargin, const mxArray *in[])
#define mxUINT32OR64_CLASS
void ParentHasTemplateDouble_collectorInsertAndMakeBase_54(int nargout, mxArray *out[], int nargin, const mxArray *in[])
ParentHasTemplate< double > ParentHasTemplateDouble
std::set< std::shared_ptr< ForwardKinematicsFactor > * > Collector_ForwardKinematicsFactor
static Collector_MyTemplateMatrix collector_MyTemplateMatrix
void MyTemplateMatrix_constructor_21(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Matrix
void MyTemplateA_accept_T_39(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyBase_upcastFromVoid_1(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void ForwardKinematicsFactor_upcastFromVoid_52(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_collectorInsertAndMakeBase_19(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateA_Level_50(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplateMatrix_create_ptrs_26(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Eigen::Matrix< double, Eigen::Dynamic, 1 > Vector
void MyTemplateMatrix_return_Tptr_28(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyTemplatePoint2_accept_T_7(int nargout, mxArray *out[], int nargin, const mxArray *in[])