Commit Graph

10496 Commits (5d87e6809714d88d6ddfa4404767bf6c3864598c)

Author SHA1 Message Date
Duy-Nguyen Ta 0c149b0cca add python version for getA/getb as cython can't convert constABlock/BVector to Matrix/Vector automatically. 2016-09-13 16:21:51 -04:00
Duy-Nguyen Ta 450a652bcf pxd hack: always add copy constructor by default 2016-09-12 18:47:04 -04:00
Duy-Nguyen Ta 3115f9b671 enable all Key containers 2016-09-12 18:46:41 -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 fabfac65f4 unify and simplify function call in Method and StaticMethod 2016-09-11 17:14:06 -04:00
Duy-Nguyen Ta 63a5d1e15a wrap pair. Improve return. 2016-09-11 16:40:09 -04:00
Duy-Nguyen Ta b91a7d368d fix Vector/Matrix and Map[Vector/Matrix] ambiguity.
That also fixes the problem of function templated on Matrix/Vector
2016-09-11 08:24:45 -04:00
Duy-Nguyen Ta cf51c85391 fix testWrap: revert experimental changes 2016-09-10 22:18:53 -04:00
Duy-Nguyen Ta 081d642365 Merge branch 'develop' into feature/cython_wrapper 2016-09-10 20:35:48 -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 3352aed2f7 call new function name 2016-09-10 19:45:50 -04:00
Duy-Nguyen Ta 2496de85a9 check if default constructor exists. Autogenerate copy constructor by default 2016-09-10 19:44:53 -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 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 d65d87072b use __Create__ as name for "constructors" instead of the object name
so we call : Class.__Create__(...) to create a python object, instead of Class.Class(...) which seems duplicated and complicated if Class is long, e.g. "mEstimator_noiseModel_GemanMcClure"
2016-09-09 16:39:12 -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 f137ae1d9c test wrapping JacobianFactor 2016-09-09 11:59:28 -04:00
Yao Chen 95c75b8bae Updated functions 2016-09-09 08:33: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 b9880d4257 emit template class to Cython pxd with test
Cython allows template class.
2016-09-09 07:28:13 -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 93696c0245 test pxd ReturnValue and ReturnType 2016-09-09 07:17:12 -04:00
Duy-Nguyen Ta b73d063dbd bug fix 2016-09-09 07:16:29 -04:00
Duy-Nguyen Ta f72448b624 pxd returntype 2016-09-09 07:10:32 -04:00
Duy-Nguyen Ta 86405dbb48 pxd return value 2016-09-09 07:10:04 -04:00
Duy-Nguyen Ta 2c52928d57 pxd staticmethod 2016-09-09 07:09:39 -04:00
Duy-Nguyen Ta ecde851d8c [inprogress] cython wrapper 2016-09-08 13:33:32 -04:00
Luca 2d3f4dba88 added unit test for determinant in Bayes tree 2016-09-01 12:23:30 -04:00
Ryan Estep d1cdafa3f5 Removed the boost::regex include (not used) from the matlab wrapper & removed any linking to boost::regex 2016-08-29 13:03:46 +12:00
Luca 1337ac8ab0 added method to access isam2 results in incremental fixed lag smoother 2016-08-24 14:19:02 -04:00
Duy-Nguyen Ta df8900a3d1 correct name for Welsch 2016-08-22 13:39:50 -04:00
Duy-Nguyen Ta cdaf928ecf fix include 2016-08-22 11:45:26 -04:00
Duy-Nguyen Ta 2ce99b7468 Merge branch 'master' into feature/fast_robust_noise 2016-08-18 10:49:53 -04:00
Duy-Nguyen Ta 6068d94bea Revert "[msys] Disable dllexport/dllimport on msys2"
This reverts commit b955a0b715.
2016-08-18 10:48:05 -04:00
Duy-Nguyen Ta 3cbf2c372e Merge branch 'master' into feature/fast_robust_noise 2016-08-18 09:55:48 -04:00
Duy-Nguyen Ta afb6c37630 split M-Estimators out from NoiseModel 2016-08-17 17:01:50 -04:00
Luca b6c2ab6664 Merge branch 'feature/heterogeneousSmartFactorNoise' into feature/improvementsIncrementalFilter 2016-08-16 19:08:31 -04:00
Luca 2a6d372b0a Merge branch 'develop' into feature/heterogeneousSmartFactorNoise 2016-08-16 18:54:18 -04:00
Luca 79844753b8 added another tiny test 2016-08-16 18:53:19 -04:00
Manuel Naranjo b955a0b715 [msys] Disable dllexport/dllimport on msys2 2016-08-16 14:03:14 -03:00
Luca 4c07399e3f fixed test according to cheirality flag 2016-08-14 20:29:36 -04:00
Luca 7e3aa7aa9a wrapped throw StereoCheiralityException inside #ifdef GTSAM_THROW_CHEIRALITY_EXCEPTION 2016-08-14 20:03:54 -04:00