Duy-Nguyen Ta
74f80fea4f
[refactor] more understandable function names
...
Clearing confusions between pxd and pyx classes and objects!
2016-11-22 12:13:33 -05:00
Duy-Nguyen Ta
fbcb9041f2
big refactoring, support method/static method overloading
2016-11-20 09:24:43 -05:00
Duy-Nguyen Ta
9f58d21030
support dynamic cast from all parents/virtual base
2016-11-18 11:00:15 -05:00
Duy-Nguyen Ta
acf3c9d259
proper overloading constructors
2016-11-16 17:51:03 -05:00
Duy-Nguyen Ta
2433cbd8e8
Remove copy constructor assumption. Manually add copy constructors. Remove dependency on default constructor (some like Optimizers and Marginals don't have the default constructor). Remove cyCreateFromValue. Ignore variable name when checking overload similarity.
2016-09-13 17:11:23 -04:00
Duy-Nguyen Ta
53dbe25c50
Cython pxd: putting template instantiations at the correct place right after a template class
2016-09-12 18:36:45 -04:00
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