Commit Graph

9941 Commits (67787c5d39f54ca0fd1a92ab8f4e833679921f73)

Author SHA1 Message Date
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
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
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
Manuel Naranjo b955a0b715 [msys] Disable dllexport/dllimport on msys2 2016-08-16 14:03:14 -03:00
Frank Dellaert 0de62ab879 Merged in bugfix/boost_1_60_Compatibility (pull request #273)
Fixed compile error on BOOST 1_60_0
2016-08-06 00:46:17 -07:00
= 38fd695228 Fixed compile error on BOOST 1_60_0 2016-08-05 22:34:38 -04:00
Duy-Nguyen Ta 9187b47432 [mEstimator] virtualize and implementing sqrtWeight instead of weight to speed up a bit 2016-08-04 15:54:04 -04:00
Frank Dellaert 25bf277cde Merged in fixSmartFactorExample (pull request #270)
added functionalities to smart factors
2016-08-02 11:47:24 -07:00
Luca f009633384 exposed point status in smart factors to keep uniformity with mono smart factors 2016-07-31 18:33:58 -04:00
Luca 6a21f1b730 adapted stereoSmart factors to use "outlier" and "far point" statuses 2016-07-31 18:31:38 -04:00
Luca 0b4927cafe exposed new degeneracy flags in smart factors (they were already exposed in triangulation and only partially exposed in smart factors) 2016-07-31 18:22:49 -04:00
Luca b82af4f5cc got rid of vector() as suggested by Chris 2016-07-26 10:54:07 -04:00
Luca 8acc331663 Merge branch 'develop' into fixSmartFactorExample
# Conflicts:
#	gtsam/geometry/triangulation.h
2016-07-24 15:07:28 -04:00
Luca 5e9dfdd0b6 deleted example (that I added at some point) since it is identical to SFMExample_SMartFactor 2016-07-24 14:57:59 -04:00
Luca ca18fc2c0a Merge branch 'develop' into fixSmartFactorExample 2016-07-24 14:43:56 -04:00
Luca 4f37edaeb9 added tests to check correct use of landmarkDistanceThreshold and dynamicOutlierRejectionThreshold 2016-07-24 14:42:25 -04:00