Frank Dellaert
fbcfbf0cdd
Made naming convention in wrapper uniform.
...
2D means Pose2 + Point2
3D means Pose3 + Point3
2018-12-31 11:19:46 -05:00
Frank Dellaert
fe1daec086
Changed include error as in http://boost.2283326.n4.nabble.com/boost-serialization-Serializing-Dynamically-Loaded-Libraries-quot-Unregistered-Void-Cast-quot-td2570981.html
2018-12-30 16:24:19 -05:00
dellaert
c5a0f1a839
Undo unrelated changes
2017-08-06 17:42:20 -07:00
dellaert
d752c9e249
Re-wrote constructor overloading logic which saves a lot of overhead
2017-08-06 14:58:23 -07:00
dellaert
6068166d2b
Moved wrapper class signature to Class.cpp
2017-08-06 12:21:26 -07:00
dellaert
74a33ff222
Re-structured argument overloading to call a common function
2017-08-06 11:07:13 -07:00
Duy-Nguyen Ta
82531c561f
clonedEigency --> gtsam_eigency. Update readme.
2017-07-28 15:26:19 -04:00
Duy-Nguyen Ta
742097aed0
eigency --> clonedEigency. Fixing bugs and improve eigency build.
2017-07-27 22:26:53 -04:00
dellaert
c8dec5d8dc
Small changes in comments and docs
2017-05-20 12:23:41 -07:00
Duy-Nguyen Ta
e624b6fe72
don't change matlab's generated filename (gtsam_wrapper), only cmake targets (to gtsam_matlab_wrapper)
2017-03-18 22:01:24 -04:00
Duy-Nguyen Ta
0da506b3a9
change gtsam_wrapper --> gtsam_matlab_wrapper
2017-03-18 20:32:25 -04:00
Duy-Nguyen Ta
0e278f81c6
remove Vectorize, simplify to just numpy.squeeze
2017-03-10 23:33:14 -05:00
Duy-Nguyen Ta
dc7792d350
unify/rename functions: matlab_code and cython_wrapper to generate_xxxxx_wrapper
2017-03-10 23:27:29 -05:00
Duy-Nguyen Ta
ed8f7c5f82
[cython] remove copy constructor requirement
...
Using make_shared[C](other) instead of shared_ptr[C](new C(other)) to leverage the implicit default constructor inside C++
2017-03-06 01:06:53 -05:00
Duy-Nguyen Ta
d9d97c4bc7
Forward declare not only classes but their inheritance
...
This is needed for wrapping to Cython another project based on gtsam. The current scheme requires information about all parent classes. See updated comments in gtsam.h.
2016-12-19 17:47:30 -05:00
Duy-Nguyen Ta
b55f7b1fa4
remove unused argument
2016-12-19 17:30:29 -05:00
Duy-Nguyen Ta
f154be176f
Major update to generate proper Cython pxd header files which could be included in other projects/modules
...
All cdef (class, functions, variables) declarations are moved to pxd. Implementations of those cdefs and normal Python def are in pyx.
See: http://cython.readthedocs.io/en/latest/src/userguide/sharing_declarations.html#sharing-extension-types
2016-12-16 00:23:45 -05:00
Duy-Nguyen Ta
1e425536bb
squeeze extra dims of numpy vectors so no need ravel.
2016-11-30 05:57:12 -05:00
Duy-Nguyen Ta
4439968f05
tabs to spaces
2016-11-30 05:56:07 -05:00
Duy-Nguyen Ta
e407a42160
Merge branch 'develop' into feature/cython_wrapper
...
# Conflicts:
# wrap/Module.cpp
2016-11-25 03:43:36 -05:00
Duy-Nguyen Ta
2d527f0fc2
unfinished attempt to add typedef for matlab wrapper
2016-11-24 19:24:25 -05:00
Duy-Nguyen Ta
338c73669e
support global functions (no overload)
2016-11-22 17:09:35 -05:00
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
fe855c9cab
fix white spaces
2016-11-18 11:01:02 -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
d38c51b533
collect typedefs of basic (non-class) types to treat them as basic types
2016-11-14 00:08:42 -05:00
Duy-Nguyen Ta
6cbd613b43
add typedefs to the list of validTypes
2016-11-13 23:59:56 -05:00
Duy-Nguyen Ta
547606e6c2
correct cython wrapper module name in pyx import
2016-09-14 07:45:26 -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
6044bffd8a
handle Key by adding noninstantiating normal typedef rule. Fix copy constructor in template classes: using This.
2016-09-12 18:17:47 -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
cf51c85391
fix testWrap: revert experimental changes
2016-09-10 22:18:53 -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
8944f02401
add headers, small refactor, test FastContainers
2016-09-09 22:28:15 -04:00
Duy-Nguyen Ta
d719b9b7ae
ctypedefs for all instantiated classes
2016-09-09 21:50:55 -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
b9880d4257
emit template class to Cython pxd with test
...
Cython allows template class.
2016-09-09 07:28:13 -04:00
Duy-Nguyen Ta
ecde851d8c
[inprogress] cython wrapper
2016-09-08 13:33:32 -04:00
Carl Morgan
01b3bf4038
boost::spirit assign_a fixes to use non-literials
2016-08-11 14:23:26 +12:00
dellaert
72fe66d468
Removed headers
2016-05-22 14:22:36 -07: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
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
c29e6ca2e7
Fixed subtle (imperative!) bug where a forward declaration was partially parsed as a class, only then as a forward declaration.
2014-12-19 16:19:02 +01:00
dellaert
41d2783beb
GlobalFunctionGrammar done and used
2014-12-02 13:49:25 +01:00
dellaert
b8d7516e93
Successful use of ClassGrammar in Module.cpp
2014-12-02 13:12:42 +01:00
dellaert
aceeb2037b
Template tightening
2014-12-01 20:29:35 +01:00
dellaert
e963512164
Tightened up individual Grammars
2014-12-01 20:03:26 +01:00