Duy-Nguyen Ta
83d3f21fd8
ignore generated files
2016-09-16 11:43:06 -04:00
Duy-Nguyen Ta
d40c0ba491
add setup scripts, fix tests
2016-09-16 11:42:01 -04:00
Duy-Nguyen Ta
3478b744e6
add setup script
2016-09-14 07:47:52 -04:00
Duy-Nguyen Ta
547606e6c2
correct cython wrapper module name in pyx import
2016-09-14 07:45:26 -04:00
Duy-Nguyen Ta
435870ebf0
remove extra Xd of Eigen types in Argument and ReturnType
2016-09-14 07:44:38 -04:00
Duy-Nguyen Ta
892b9264a4
correct Eigency name for Eigen type
2016-09-13 21:20:08 -04: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
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
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