Documentation generation refactoring (#10621)
* Documentation build updates:
- disable documentation by default, do not add to ALL target
- combine Doxygen and Javadoc
- optimize Doxygen html
* javadoc: fix path in build directory
* cmake: fix "Documentation" status line
* Newton's method can be more efficient
when we get the result of function distortPoint with a point (0, 0) and then undistortPoint with the result, we get the point not (0, 0). and then we discovered that the old method is not convergence sometimes. finally we have gotten the right values by Newton's method.
* modify by advice Newton's method...#10574
* calib3d(fisheye): fix codestyle, update theta before exit EPS check
When compiling with cmake using -DCMAKE_CXX_STANDARD=11 use `-std=gnu++11`
for PCH compiler flags, otherwise it triggers an error:
opencv_core_Release.gch: not used because `__cplusplus' defined as ` 201103L' not ` 199711L' [-Winvalid-pch]
Use CXX_EXTENSIONS property to select `gnu++11` or `c++11`.
Trying to mimic cmake logic here: https://gitlab.kitware.com/cmake/cmake/blob/master/Source/cmLocalGenerator.cxx#L1527-1557
UMatData locks are not mapped on real locks (they are mapped to some "pre-initialized" pool).
Concurrent execution of these statements may lead to deadlock:
- a.copyTo(b) from thread 1
- c.copyTo(d) from thread 2
where:
- 'a' and 'd' are mapped to single lock "A".
- 'b' and 'c' are mapped to single lock "B".
Workaround is to process locks with strict order.
- configuration files for ABIs configuration
- use builtin Android NDK's toolchain by default (force flag to use OpenCV's toolchain)
- default values for 'work_dir' and 'opencv_dir'
- fix Javadoc:
- generate Javadoc after gather step to process all Java files (including Android 21)
- generate into 'OpenCV-android-sdk' directly without additional copy step
- use smart copy/move utility functions ('shutil' doesn't well with existed destination)
- by default move files to reduce pressure on storage I/O (> 800Mb)
- fix imports override.
Problem is observed with BoostDesc.
- add Ptr<> handling (constructor is protected from other packages).
Observed in ximgproc:
Ptr<StereoMatcher> createRightMatcher(Ptr<StereoMatcher> matcher_left)"
where, "StereoMather" is from another package (calib3d)