forked from bartvdbraak/blender
9f3c921957
In some cases solving can take a while (especially when refining is used) and keeping interface locked is a bit annoying. Now camera solver is moved to job system and interface isn't locking. Reporting progress isn't really accurate, but trying to make it more linear can lead to spending more effort on it than having benefit. Also, changing status in the information line helps to understand that blender isn't hang up and solving is till working nicely. Main changes in code: - libmv_solveReconstruction now accepts additional parameters: * progress_update_callback - a function which is getting called from solver algorithm to report progress back to Blender. * callback_customdata - a user-defined context which is passing to progress_update_callback so progress can be updated in needed blender-side data structures. This parameters are optional. - Added structure MovieTrackingStats which is placed in MovieTracking structure. It's supposed to be used for displaying information about different operations (currently it's only camera solver, but can be easily used for something else in the future) in clip editor. This statistics structure is getting allocated for time operator is working and not saving into .blend file. - Clip Editor now displays statistics stored in MovieTrackingStats structure like it's done for rendering.
222 lines
6.6 KiB
CMake
222 lines
6.6 KiB
CMake
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software Foundation,
|
|
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
#
|
|
# The Original Code is Copyright (C) 2011, Blender Foundation
|
|
# All rights reserved.
|
|
#
|
|
# Contributor(s): Blender Foundation,
|
|
# Sergey Sharybin
|
|
#
|
|
# ***** END GPL LICENSE BLOCK *****
|
|
|
|
set(INC
|
|
.
|
|
../Eigen3
|
|
third_party/ssba
|
|
third_party/ldl/Include
|
|
../colamd/Include
|
|
)
|
|
|
|
set(INC_SYS
|
|
${PNG_INCLUDE_DIR}
|
|
${ZLIB_INCLUDE_DIRS}
|
|
)
|
|
|
|
set(SRC
|
|
libmv-capi.cpp
|
|
libmv/numeric/numeric.cc
|
|
libmv/numeric/poly.cc
|
|
libmv/simple_pipeline/callbacks.cc
|
|
libmv/simple_pipeline/reconstruction.cc
|
|
libmv/simple_pipeline/resect.cc
|
|
libmv/simple_pipeline/intersect.cc
|
|
libmv/simple_pipeline/initialize_reconstruction.cc
|
|
libmv/simple_pipeline/camera_intrinsics.cc
|
|
libmv/simple_pipeline/pipeline.cc
|
|
libmv/simple_pipeline/detect.cc
|
|
libmv/simple_pipeline/tracks.cc
|
|
libmv/simple_pipeline/bundle.cc
|
|
libmv/image/convolve.cc
|
|
libmv/image/array_nd.cc
|
|
libmv/tracking/pyramid_region_tracker.cc
|
|
libmv/tracking/sad.cc
|
|
libmv/tracking/esm_region_tracker.cc
|
|
libmv/tracking/trklt_region_tracker.cc
|
|
libmv/tracking/klt_region_tracker.cc
|
|
libmv/tracking/lmicklt_region_tracker.cc
|
|
libmv/tracking/retrack_region_tracker.cc
|
|
libmv/multiview/projection.cc
|
|
libmv/multiview/conditioning.cc
|
|
libmv/multiview/fundamental.cc
|
|
libmv/multiview/euclidean_resection.cc
|
|
libmv/multiview/triangulation.cc
|
|
|
|
third_party/ssba/Geometry/v3d_metricbundle.cpp
|
|
third_party/ssba/Math/v3d_optimization.cpp
|
|
third_party/gflags/gflags.cc
|
|
third_party/gflags/gflags_reporting.cc
|
|
third_party/gflags/gflags_completions.cc
|
|
third_party/fast/fast_9.c
|
|
third_party/fast/fast_10.c
|
|
third_party/fast/fast_11.c
|
|
third_party/fast/fast_12.c
|
|
third_party/fast/fast.c
|
|
third_party/fast/nonmax.c
|
|
third_party/ldl/Source/ldl.c
|
|
|
|
libmv-capi.h
|
|
libmv/logging/logging.h
|
|
libmv/numeric/dogleg.h
|
|
libmv/numeric/levenberg_marquardt.h
|
|
libmv/numeric/poly.h
|
|
libmv/numeric/function_derivative.h
|
|
libmv/numeric/numeric.h
|
|
libmv/simple_pipeline/callbacks.h
|
|
libmv/simple_pipeline/resect.h
|
|
libmv/simple_pipeline/reconstruction.h
|
|
libmv/simple_pipeline/camera_intrinsics.h
|
|
libmv/simple_pipeline/tracks.h
|
|
libmv/simple_pipeline/detect.h
|
|
libmv/simple_pipeline/pipeline.h
|
|
libmv/simple_pipeline/intersect.h
|
|
libmv/simple_pipeline/bundle.h
|
|
libmv/simple_pipeline/initialize_reconstruction.h
|
|
libmv/image/convolve.h
|
|
libmv/image/tuple.h
|
|
libmv/image/array_nd.h
|
|
libmv/image/sample.h
|
|
libmv/image/image.h
|
|
libmv/tracking/region_tracker.h
|
|
libmv/tracking/retrack_region_tracker.h
|
|
libmv/tracking/sad.h
|
|
libmv/tracking/pyramid_region_tracker.h
|
|
libmv/tracking/esm_region_tracker.h
|
|
libmv/tracking/trklt_region_tracker.h
|
|
libmv/tracking/klt_region_tracker.h
|
|
libmv/tracking/lmicklt_region_tracker.h
|
|
libmv/base/id_generator.h
|
|
libmv/base/vector.h
|
|
libmv/base/scoped_ptr.h
|
|
libmv/base/vector_utils.h
|
|
libmv/multiview/nviewtriangulation.h
|
|
libmv/multiview/resection.h
|
|
libmv/multiview/euclidean_resection.h
|
|
libmv/multiview/triangulation.h
|
|
libmv/multiview/projection.h
|
|
libmv/multiview/fundamental.h
|
|
libmv/multiview/conditioning.h
|
|
|
|
third_party/ssba/Geometry/v3d_metricbundle.h
|
|
third_party/ssba/Geometry/v3d_cameramatrix.h
|
|
third_party/ssba/Geometry/v3d_distortion.h
|
|
third_party/ssba/Math/v3d_linear_utils.h
|
|
third_party/ssba/Math/v3d_optimization.h
|
|
third_party/ssba/Math/v3d_mathutilities.h
|
|
third_party/ssba/Math/v3d_linear.h
|
|
third_party/gflags/gflags_completions.h
|
|
third_party/gflags/mutex.h
|
|
third_party/gflags/config.h
|
|
third_party/gflags/gflags.h
|
|
third_party/fast/fast.h
|
|
third_party/ldl/Include/ldl.h
|
|
third_party/msinttypes/stdint.h
|
|
third_party/msinttypes/inttypes.h
|
|
)
|
|
|
|
if(WIN32)
|
|
list(APPEND SRC
|
|
third_party/glog/src/logging.cc
|
|
third_party/glog/src/raw_logging.cc
|
|
third_party/glog/src/utilities.cc
|
|
third_party/glog/src/vlog_is_on.cc
|
|
third_party/glog/src/windows/port.cc
|
|
|
|
third_party/glog/src/utilities.h
|
|
third_party/glog/src/stacktrace_generic-inl.h
|
|
third_party/glog/src/stacktrace.h
|
|
third_party/glog/src/stacktrace_x86_64-inl.h
|
|
third_party/glog/src/base/googleinit.h
|
|
third_party/glog/src/base/mutex.h
|
|
third_party/glog/src/base/commandlineflags.h
|
|
third_party/glog/src/stacktrace_powerpc-inl.h
|
|
third_party/glog/src/stacktrace_x86-inl.h
|
|
third_party/glog/src/config.h
|
|
third_party/glog/src/stacktrace_libunwind-inl.h
|
|
third_party/glog/src/windows/glog/raw_logging.h
|
|
third_party/glog/src/windows/glog/vlog_is_on.h
|
|
third_party/glog/src/windows/glog/logging.h
|
|
third_party/glog/src/windows/glog/log_severity.h
|
|
third_party/glog/src/windows/port.h
|
|
third_party/glog/src/windows/config.h
|
|
)
|
|
|
|
list(APPEND INC
|
|
third_party/glog/src/windows
|
|
)
|
|
|
|
if(NOT MINGW)
|
|
list(APPEND INC
|
|
third_party/msinttypes
|
|
)
|
|
endif()
|
|
|
|
if(MSVC)
|
|
set(MSVC_OFLAGS O1 O2 Ox)
|
|
foreach(FLAG )
|
|
string(REPLACE "" "Od" CMAKE_CXX_FLAGS_RELEASE "")
|
|
string(REPLACE "" "Od" CMAKE_C_FLAGS_RELWITHDEBINFO "")
|
|
endforeach()
|
|
endif()
|
|
else(WIN32)
|
|
list(APPEND SRC
|
|
third_party/glog/src/utilities.cc
|
|
third_party/glog/src/symbolize.cc
|
|
third_party/glog/src/vlog_is_on.cc
|
|
third_party/glog/src/signalhandler.cc
|
|
third_party/glog/src/logging.cc
|
|
third_party/glog/src/demangle.cc
|
|
third_party/glog/src/raw_logging.cc
|
|
|
|
third_party/glog/src/utilities.h
|
|
third_party/glog/src/stacktrace_generic-inl.h
|
|
third_party/glog/src/config_mac.h
|
|
third_party/glog/src/stacktrace.h
|
|
third_party/glog/src/stacktrace_x86_64-inl.h
|
|
third_party/glog/src/symbolize.h
|
|
third_party/glog/src/base/googleinit.h
|
|
third_party/glog/src/base/mutex.h
|
|
third_party/glog/src/base/commandlineflags.h
|
|
third_party/glog/src/stacktrace_powerpc-inl.h
|
|
third_party/glog/src/stacktrace_x86-inl.h
|
|
third_party/glog/src/config.h
|
|
third_party/glog/src/demangle.h
|
|
third_party/glog/src/stacktrace_libunwind-inl.h
|
|
third_party/glog/src/glog/raw_logging.h
|
|
third_party/glog/src/glog/vlog_is_on.h
|
|
third_party/glog/src/glog/logging.h
|
|
third_party/glog/src/glog/log_severity.h
|
|
third_party/glog/src/config_linux.h
|
|
)
|
|
|
|
list(APPEND INC
|
|
third_party/glog/src
|
|
)
|
|
endif()
|
|
|
|
add_definitions(-DV3DLIB_ENABLE_SUITESPARSE -DGOOGLE_GLOG_DLL_DECL=)
|
|
|
|
blender_add_lib(extern_libmv "${SRC}" "${INC}" "${INC_SYS}")
|