Merge remote-tracking branch 'origin/develop' into feature/simpler_constructors
commit
ce45bb6f2e
|
@ -138,7 +138,12 @@ jobs:
|
|||
|
||||
# Use the prebuilt binary for Windows
|
||||
$Url = "https://sourceforge.net/projects/boost/files/boost-binaries/$env:BOOST_VERSION/$env:BOOST_EXE-${{matrix.platform}}.exe"
|
||||
(New-Object System.Net.WebClient).DownloadFile($Url, "$env:TEMP\boost.exe")
|
||||
|
||||
# Create WebClient with appropriate settings and download Boost exe
|
||||
$wc = New-Object System.Net.Webclient
|
||||
$wc.Headers.Add("User-Agent: Other");
|
||||
$wc.DownloadFile($Url, "$env:TEMP\boost.exe")
|
||||
|
||||
Start-Process -Wait -FilePath "$env:TEMP\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=$BOOST_PATH"
|
||||
|
||||
# Set the BOOST_ROOT variable
|
||||
|
|
|
@ -70,9 +70,6 @@ jobs:
|
|||
}
|
||||
|
||||
if ("${{ matrix.compiler }}" -eq "gcc") {
|
||||
# Chocolatey GCC is broken on the windows-2019 image.
|
||||
# See: https://github.com/DaanDeMeyer/doctest/runs/231595515
|
||||
# See: https://github.community/t5/GitHub-Actions/Something-is-wrong-with-the-chocolatey-installed-version-of-gcc/td-p/32413
|
||||
scoop install gcc --global
|
||||
echo "CC=gcc" >> $GITHUB_ENV
|
||||
echo "CXX=g++" >> $GITHUB_ENV
|
||||
|
@ -98,7 +95,12 @@ jobs:
|
|||
|
||||
# Use the prebuilt binary for Windows
|
||||
$Url = "https://sourceforge.net/projects/boost/files/boost-binaries/$env:BOOST_VERSION/$env:BOOST_EXE-${{matrix.platform}}.exe"
|
||||
(New-Object System.Net.WebClient).DownloadFile($Url, "$env:TEMP\boost.exe")
|
||||
|
||||
# Create WebClient with appropriate settings and download Boost exe
|
||||
$wc = New-Object System.Net.Webclient
|
||||
$wc.Headers.Add("User-Agent: Other");
|
||||
$wc.DownloadFile($Url, "$env:TEMP\boost.exe")
|
||||
|
||||
Start-Process -Wait -FilePath "$env:TEMP\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=$BOOST_PATH"
|
||||
|
||||
# Set the BOOST_ROOT variable
|
||||
|
|
|
@ -15,11 +15,13 @@ endif()
|
|||
# Find dependencies, required by cmake exported targets:
|
||||
include(CMakeFindDependencyMacro)
|
||||
# Allow using cmake < 3.8
|
||||
if (@GTSAM_ENABLE_BOOST_SERIALIZATION@ OR @GTSAM_USE_BOOST_FEATURES@)
|
||||
if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
|
||||
find_package(Boost @BOOST_FIND_MINIMUM_VERSION@ COMPONENTS @BOOST_FIND_MINIMUM_COMPONENTS@)
|
||||
else()
|
||||
find_dependency(Boost @BOOST_FIND_MINIMUM_VERSION@ COMPONENTS @BOOST_FIND_MINIMUM_COMPONENTS@)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(@GTSAM_USE_TBB@)
|
||||
find_dependency(TBB 4.4 COMPONENTS tbb tbbmalloc)
|
||||
|
|
|
@ -24,13 +24,13 @@
|
|||
#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION
|
||||
#include <boost/serialization/nvp.hpp>
|
||||
#endif
|
||||
#include <memory>
|
||||
#include <algorithm>
|
||||
|
||||
#include <gtsam/base/types.h>
|
||||
#include <gtsam/base/FastVector.h>
|
||||
#include <gtsam/base/types.h>
|
||||
#include <gtsam/inference/Key.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
|
||||
namespace gtsam {
|
||||
|
||||
/// Define collection types:
|
||||
|
|
|
@ -34,6 +34,8 @@ public:
|
|||
|
||||
/// CAMERA type
|
||||
using Camera = CAMERA;
|
||||
/// shorthand for measurement type, e.g. Point2 or StereoPoint2
|
||||
using Measurement = typename CAMERA::Measurement;
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -43,9 +45,6 @@ protected:
|
|||
/// shorthand for this class
|
||||
using This = TriangulationFactor<CAMERA>;
|
||||
|
||||
/// shorthand for measurement type, e.g. Point2 or StereoPoint2
|
||||
using Measurement = typename CAMERA::Measurement;
|
||||
|
||||
// Keep a copy of measurement and calibration for I/O
|
||||
const CAMERA camera_; ///< CAMERA in which this landmark was seen
|
||||
const Measurement measured_; ///< 2D measurement
|
||||
|
|
|
@ -348,6 +348,45 @@ virtual class FrobeniusBetweenFactor : gtsam::NoiseModelFactor {
|
|||
gtsam::Vector evaluateError(const T& R1, const T& R2);
|
||||
};
|
||||
|
||||
#include <gtsam/slam/TriangulationFactor.h>
|
||||
template <CAMERA>
|
||||
virtual class TriangulationFactor : gtsam::NoiseModelFactor {
|
||||
TriangulationFactor();
|
||||
TriangulationFactor(const CAMERA& camera, const gtsam::This::Measurement& measured,
|
||||
const gtsam::noiseModel::Base* model, gtsam::Key pointKey,
|
||||
bool throwCheirality = false,
|
||||
bool verboseCheirality = false);
|
||||
|
||||
void print(const string& s = "", const gtsam::KeyFormatter& keyFormatter =
|
||||
gtsam::DefaultKeyFormatter) const;
|
||||
bool equals(const This& p, double tol = 1e-9) const;
|
||||
|
||||
gtsam::Vector evaluateError(const gtsam::Point3& point) const;
|
||||
|
||||
const gtsam::This::Measurement& measured() const;
|
||||
};
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholeCamera<gtsam::Cal3_S2>>
|
||||
TriangulationFactorCal3_S2;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholeCamera<gtsam::Cal3DS2>>
|
||||
TriangulationFactorCal3DS2;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholeCamera<gtsam::Cal3Bundler>>
|
||||
TriangulationFactorCal3Bundler;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholeCamera<gtsam::Cal3Fisheye>>
|
||||
TriangulationFactorCal3Fisheye;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholeCamera<gtsam::Cal3Unified>>
|
||||
TriangulationFactorCal3Unified;
|
||||
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholePose<gtsam::Cal3_S2>>
|
||||
TriangulationFactorPoseCal3_S2;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholePose<gtsam::Cal3DS2>>
|
||||
TriangulationFactorPoseCal3DS2;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholePose<gtsam::Cal3Bundler>>
|
||||
TriangulationFactorPoseCal3Bundler;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholePose<gtsam::Cal3Fisheye>>
|
||||
TriangulationFactorPoseCal3Fisheye;
|
||||
typedef gtsam::TriangulationFactor<gtsam::PinholePose<gtsam::Cal3Unified>>
|
||||
TriangulationFactorPoseCal3Unified;
|
||||
|
||||
#include <gtsam/slam/lago.h>
|
||||
namespace lago {
|
||||
gtsam::Values initialize(const gtsam::NonlinearFactorGraph& graph, bool useOdometricPath = true);
|
||||
|
|
|
@ -257,7 +257,7 @@ if(GTSAM_UNSTABLE_BUILD_PYTHON)
|
|||
COMMAND
|
||||
${CMAKE_COMMAND} -E env
|
||||
"PYTHONPATH=${GTSAM_PYTHON_BUILD_DIRECTORY}/$ENV{PYTHONPATH}"
|
||||
pybind11-stubgen -o . --enum-class-locations \"KernelFunctionType|NoiseFormat:gtsam.gtsam\" --enum-class-locations \"OrderingType:gtsam.gtsam.Ordering\" --numpy-array-use-type-var gtsam_unstable
|
||||
pybind11-stubgen -o . --enum-class-locations \"KernelFunctionType|NoiseFormat:gtsam.gtsam\" --enum-class-locations \"OrderingType:gtsam.gtsam.Ordering\" --numpy-array-use-type-var --ignore-all-errors gtsam_unstable
|
||||
DEPENDS ${GTSAM_PYTHON_DEPENDENCIES} ${GTSAM_PYTHON_TEST_FILES} ${GTSAM_PYTHON_UNSTABLE_TARGET}
|
||||
WORKING_DIRECTORY "${GTSAM_PYTHON_BUILD_DIRECTORY}/"
|
||||
)
|
||||
|
@ -284,7 +284,7 @@ add_custom_target(
|
|||
COMMAND
|
||||
${CMAKE_COMMAND} -E env
|
||||
"PYTHONPATH=${GTSAM_PYTHON_BUILD_DIRECTORY}/$ENV{PYTHONPATH}"
|
||||
pybind11-stubgen -o . --enum-class-locations \"KernelFunctionType|NoiseFormat:gtsam.gtsam\" --enum-class-locations \"OrderingType:gtsam.gtsam.Ordering\" --numpy-array-use-type-var gtsam
|
||||
pybind11-stubgen -o . --enum-class-locations \"KernelFunctionType|NoiseFormat:gtsam.gtsam\" --enum-class-locations \"OrderingType:gtsam.gtsam.Ordering\" --numpy-array-use-type-var --ignore-all-errors gtsam
|
||||
DEPENDS ${GTSAM_PYTHON_DEPENDENCIES} ${GTSAM_PYTHON_TEST_FILES} ${GTSAM_PYTHON_TARGET}
|
||||
WORKING_DIRECTORY "${GTSAM_PYTHON_BUILD_DIRECTORY}/"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue