File tree Expand file tree Collapse file tree 4 files changed +72
-0
lines changed
Expand file tree Collapse file tree 4 files changed +72
-0
lines changed Original file line number Diff line number Diff line change 99%include <aliceVision/global.i>
1010%include <aliceVision/version.hpp>
1111
12+ %import <aliceVision/numeric/numeric.i>
1213%import <aliceVision/camera/Camera.i>
1314%import <aliceVision/geometry/Geometry.i>
1415%import <aliceVision/hdr/Hdr.i>
Original file line number Diff line number Diff line change @@ -33,3 +33,56 @@ alicevision_add_test(polynomial_test.cpp NAME "numeric_polynomial" LINKS aliceVi
3333alicevision_add_test(lmFunctor_test.cpp NAME "numeric_lmFunctor" LINKS aliceVision_numeric)
3434alicevision_add_test(projection_test.cpp NAME "numeric_projection" LINKS aliceVision_numeric)
3535alicevision_add_test(gps_test.cpp NAME "numeric_gps" LINKS aliceVision_numeric)
36+
37+
38+ # SWIG Binding
39+ if (ALICEVISION_BUILD_SWIG_BINDING)
40+ set (UseSWIG_TARGET_NAME_PREFERENCE STANDARD)
41+ set_property (SOURCE numeric.i PROPERTY CPLUSPLUS ON )
42+ set_property (SOURCE numeric.i PROPERTY SWIG_MODULE_NAME numeric)
43+
44+ swig_add_library(numeric
45+ TYPE MODULE
46+ LANGUAGE python
47+ SOURCES numeric.i
48+ )
49+
50+ set_property (
51+ TARGET numeric
52+ PROPERTY SWIG_COMPILE_OPTIONS -doxygen
53+ )
54+
55+ target_include_directories (numeric
56+ PRIVATE
57+ ../include
58+ ${ALICEVISION_ROOT} /include
59+ ${Python3_INCLUDE_DIRS}
60+ ${Python3_NumPy_INCLUDE_DIRS}
61+ )
62+ set_property (
63+ TARGET numeric
64+ PROPERTY SWIG_USE_TARGET_INCLUDE_DIRECTORIES ON
65+ )
66+ set_property (
67+ TARGET numeric
68+ PROPERTY COMPILE_OPTIONS -std=c++17
69+ )
70+
71+ target_link_libraries (numeric
72+ PUBLIC
73+ aliceVision_numeric
74+ )
75+
76+ install (
77+ TARGETS
78+ numeric
79+ DESTINATION
80+ ${CMAKE_INSTALL_PREFIX}
81+ )
82+ install (
83+ FILES
84+ ${CMAKE_CURRENT_BINARY_DIR} /numeric.py
85+ DESTINATION
86+ ${CMAKE_INSTALL_PREFIX}
87+ )
88+ endif ()
Original file line number Diff line number Diff line change 1010
1111// AliceVision does not support Eigen with alignment, unless C++17 aligned new feature is enabled.
1212// So ensure Eigen is used with the correct flags.
13+ #ifndef SWIG
1314#ifndef ALICEVISION_EIGEN_REQUIRE_ALIGNMENT
1415 #ifndef EIGEN_MAX_ALIGN_BYTES
1516 #error "EIGEN_MAX_ALIGN_BYTES is not defined"
2324 #error "EIGEN_MAX_STATIC_ALIGN_BYTES is defined but not 0"
2425 #endif
2526#endif
27+ #endif
2628
2729// --
2830// Eigen
Original file line number Diff line number Diff line change 1+ // This file is part of the AliceVision project.
2+ // Copyright (c) 2024 AliceVision contributors.
3+ // This Source Code Form is subject to the terms of the Mozilla Public License,
4+ // v. 2.0. If a copy of the MPL was not distributed with this file,
5+ // You can obtain one at https://mozilla.org/MPL/2.0/.
6+
7+ %module (module =" pyalicevision" ) numeric
8+
9+ %include <aliceVision/global.i>
10+ %include <aliceVision/numeric/numeric.hpp>
11+
12+ %{
13+ #include < aliceVision/numeric/numeric.hpp>
14+ using namespace aliceVision ;
15+ %}
16+
You can’t perform that action at this time.
0 commit comments