Commit Graph

111 Commits (06ab94766cf2b8de9c09cee2bfe1df0473fad25d)

Author SHA1 Message Date
Duy-Nguyen Ta 06ab94766c improve inherited method removal
Checking nontemplateMethods_ against parent's methods_ because:
1. Only nontemplateMethods_ are serialized to Cython's pxd, which doesn't like duplicate methods
2. Parent's methods_ list has every methods inherited from grand and grand-grand parents, etc., so we don't need to check higher levels.
Also refactor to reduce nested code
2016-09-12 12:38:04 -04:00
Duy-Nguyen Ta e35f0c3f50 remove inherited functions for Cython classes. Testing HessianFactor with debug info... 2016-09-12 11:05:28 -04:00
Duy-Nguyen Ta 1b04c6713b handle "This". Wrap all geometry 2016-09-11 18:14:19 -04:00
Duy-Nguyen Ta 948e6262db first version ever compiled.
... Not without some changes:
- add traits<size_t> in Key.h
- add these to JacobianFactor:
    explicit JacobianFactor(const Eigen::Map<Vector>& b_in);
    Vector py_getb() { return getb(); }
    Matrix py_getA() { return getA(); }
---------
... Remaining corner cases:
 ☐ Eigency: Map[] to Block
 ☐ Eigency: ambiguous call: A(const T&) A(const Vector& v) and Eigency A(Map[Vector]& v)
 ☐ Fix return properly
   ☐ handle pair
 ☐ Fix method template of Vector/Matrix: template argument is [Vector] while arugment is Map[Vector]
 ☐ Constructor: generate default constructor? (hack: if it's serializable?)
 ☐ Constructor: ambiguous construct from Vector/Matrix
 ☐ Key and size_t: traits<size_t> doesn't exist
 ☐ [Nice to have] Auto delete duplicate methods in derived class
2016-09-10 19:50:12 -04:00
Duy-Nguyen Ta d719b9b7ae ctypedefs for all instantiated classes 2016-09-09 21:50:55 -04:00
Duy-Nguyen Ta 10f510119a pyx class methods with arguments/return type casting 2016-09-09 18:37:48 -04:00
Duy-Nguyen Ta 56c0d2a65e pyx wrapper for static methods 2016-09-09 16:39:47 -04:00
Duy-Nguyen Ta 1e84da1cfa pyx: add constructors and fixing inheritance 2016-09-09 15:52:44 -04:00
Duy-Nguyen Ta 2d3d6d99f9 standardize function name to emit_cython_[pxd/pyx]. Remove first level namespace from Cython object names.
Examples: gtsam_Point3 --> Point3, gtsam_noiseModel_Base --> noiseModel_Base
2016-09-09 12:01:51 -04:00
Duy-Nguyen Ta 16345e4ba1 revert changes in methods_, handle template methods for Cython pxd in a less instrusive way 2016-09-09 07:49:42 -04:00
Duy-Nguyen Ta 40da298f68 emit methods to pxd, change the way template methods are handled
pxd allows template methods, whereas the current scheme instantiates/expands all template methods and add them to the same methods_ container. The new scheme treats them all separately: nontemplated methods in methods_, template methods in templateMethods_, and template methods after instantiation in expandedTemplateMethods_.
2016-09-09 07:26:11 -04:00
Duy-Nguyen Ta 6e96e095f3 remove unused function 2016-09-09 07:18:58 -04:00
Duy-Nguyen Ta ecde851d8c [inprogress] cython wrapper 2016-09-08 13:33:32 -04:00
Yao Chen d1ea1015a9 Replaced BOOSE_FOREACH with for in wrap folder. Tested the changed code locally: successful. 2016-05-20 21:41:18 -04:00
Frank 2060b09a2b Avoid calling default constructors and/or vector 2016-02-11 19:03:11 -08:00
dellaert 699943d632 Changes to wrap from FixedValues branch/PR. Since unrelated to that PR and useful for OptionalJacobian wrapping in py_wrap, made this a separate PR. 2016-02-07 20:33:48 -08:00
dellaert aceeb2037b Template tightening 2014-12-01 20:29:35 +01:00
dellaert 8eb6393c92 Using TemplateGrammar 2014-12-01 14:35:02 +01:00
dellaert ba51b02cf0 Moving to optionals fixed template dreturn argument!
Merge branch 'qualified' into grammar_wrongtest

Conflicts:
	wrap/Class.cpp
	wrap/Function.h
	wrap/Qualified.h
	wrap/ReturnType.h
	wrap/tests/testWrap.cpp
2014-12-01 09:48:56 +01:00
dellaert 6d916c6b75 Semi-private name/namespaces 2014-11-30 20:20:13 +01:00
dellaert 14ef786dfe Removing empty in favor of boost::optional 2014-11-30 10:38:24 +01:00
dellaert c609666ab9 More informative fail 2014-11-29 16:13:23 +01:00
dellaert 6c24fc2aca Python prototype 2014-11-14 17:47:25 +01:00
dellaert 7a4748d3dc Simplified method/function hierarchy drastically, and renamed bottom addOverload to initializeOrCheck to reflect what it does. Also, gratuitous re-ordering of addOverload arguments. 2014-11-14 16:44:08 +01:00
dellaert e07da1c82d Added matlabName, and made data members private 2014-11-13 22:43:29 +01:00
dellaert 8ef78db9d8 Fixed template expansion of classes 2014-11-13 21:53:58 +01:00
dellaert 09e3c7df9f struct Constructor: public ArgumentOverloads 2014-11-13 21:34:59 +01:00
dellaert efd544527f Stream operator for many classes 2014-11-13 21:11:29 +01:00
dellaert 482dbd9226 Made TemplateSubstitution into an operator, and added stream operator 2014-11-13 19:34:25 +01:00
dellaert fe481dc775 typedef to cope with abundance of strings 2014-11-13 18:58:44 +01:00
dellaert b451e97f6f New TemplateSubstitution object simplifies a lot 2014-11-13 17:28:05 +01:00
dellaert a5e0adb7e6 Made methods and global functions derive from Function 2014-11-13 12:52:41 +01:00
dellaert 341ad9f288 gtsam.h with templated Values::at now compiles ! 2014-11-13 01:26:06 +01:00
dellaert 3c1daa5d6f Templated methods work !!!! 2014-11-13 00:39:15 +01:00
dellaert 1ea0225030 Big refactor because methods now private member of Class 2014-11-12 23:23:07 +01:00
dellaert e9a58ff225 Fixed pointer issue 2014-11-12 20:52:07 +01:00
dellaert 0a23529032 Everything compiles 2014-11-12 14:37:08 +01:00
dellaert 77935bd631 Massive edit: new Qualified type groups namespaces with name, eliminates a lot of clutter. 2014-11-12 02:49:23 +01:00
dellaert 8ab83a7cff Simplified expand 2014-11-11 22:55:36 +01:00
dellaert 95b85e8494 Now using ArgumentList::emit_prototype everywhere, for non copy/paste code 2014-05-25 13:22:10 -04:00
dellaert 26cae48338 First successful use of new ArgumentList::emit_prototype method 2014-05-25 13:02:29 -04:00
dellaert 82d6bae4b9 Standard BORG formatting 2014-05-25 12:43:19 -04:00
Chris Beall ef5fb525de add missing end on saveobj 2013-06-25 18:30:59 +00:00
Alex Cunningham 0e1f07acaa Added matlab codegen for matlab save/load hooks. Can now save and load a gtsam object to/from a mat file 2013-06-22 23:16:53 +00:00
Alex Cunningham 23de91d44d serialization works for graph and PriorFactor. Added second flag for serialization: can add "void serializable()" or "void serialize()" to allow for either just exporting (necessary if no default constructor), or implementing the full serialization functions 2013-06-19 17:50:05 +00:00
Alex Cunningham f1b1a2f7d2 Added export flags, Values now serializes 2013-06-19 17:50:03 +00:00
Alex Cunningham 14c5f205dd basic serialization works 2013-06-19 17:50:00 +00:00
Alex Cunningham 07407ff763 Completed codegen for serialize/deserialize functions 2013-06-19 17:49:59 +00:00
Alex Cunningham 5789c7de83 Added codegen for cpp wrapper 2013-06-19 17:49:58 +00:00
Alex Cunningham 8e73619989 Adding codegen components for serialization - in progress 2013-06-19 17:49:57 +00:00