1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
12/**
13 * @file config.h
14 * @brief Settings and paths configured with CMake
15 * @author Richard Roberts
16 */
17
18#pragma once
19
20// Library version
21#define GTSAM_VERSION_MAJOR 4
22#define GTSAM_VERSION_MINOR 3
23#define GTSAM_VERSION_PATCH 0
24#define GTSAM_VERSION_NUMERIC 40300
25#define GTSAM_VERSION_STRING "4.3a1"
26
27// Paths to example datasets distributed with GTSAM
28#define GTSAM_SOURCE_TREE_DATASET_DIR "/home/dvorak/gtsam/examples/Data"
29#if !defined(__QNX__)
30#define GTSAM_INSTALLED_DATASET_DIR "/gtsam_examples/Data"
31#else
32//Set toolbox path to the path on the target.
33#define GTSAM_INSTALLED_DATASET_DIR "/gtsam_examples/Data"
34#endif
35
36// Whether GTSAM is compiled to use quaternions for Rot3 (otherwise uses rotation matrices)
37/* #undef GTSAM_USE_QUATERNIONS */
38
39// Whether GTSAM is compiled to use Pose3::EXPMAP as the default coordinates mode for Pose3's retract and localCoordinates (otherwise, Pose3::FIRST_ORDER will be used)
40#define GTSAM_POSE3_EXPMAP
41
42// Whether GTSAM is compiled to use Rot3::EXPMAP as the default coordinates mode for Rot3's retract and localCoordinates (otherwise, Pose3::CAYLEY will be used)
43#ifndef GTSAM_USE_QUATERNIONS
44 #define GTSAM_ROT3_EXPMAP
45#endif
46
47// Whether to enable merging of equal leaf nodes in the Discrete Decision Tree.
48#define GTSAM_DT_MERGING
49
50// Whether to enable timing in hybrid factor graph machinery
51#define GTSAM_HYBRID_TIMING 0
52
53// Whether we are using TBB (if TBB was found and GTSAM_WITH_TBB is enabled in CMake)
54/* #undef GTSAM_USE_TBB */
55
56// Whether we are using a TBB version higher than 2020
57/* #undef TBB_GREATER_EQUAL_2020 */
58
59// Whether we are using system-Eigen or our own patched version
60/* #undef GTSAM_USE_SYSTEM_EIGEN */
61
62// Whether Eigen will use MKL (if MKL was found and GTSAM_WITH_EIGEN_MKL is enabled in CMake)
63/* #undef GTSAM_USE_EIGEN_MKL */
64/* #undef EIGEN_USE_MKL_ALL */
65
66// Whether Eigen with MKL will use OpenMP (if OpenMP was found, Eigen uses MKL, and GTSAM_WITH_EIGEN_MKL_OPENMP is enabled in CMake)
67/* #undef GTSAM_USE_EIGEN_MKL_OPENMP */
68
69// Eigen library version (needed to avoid mixing versions, which often leads
70// to segfaults)
71#define GTSAM_EIGEN_VERSION_WORLD 3
72#define GTSAM_EIGEN_VERSION_MAJOR 4
73/* #undef GTSAM_EIGEN_VERSION_MINOR */
74
75// The default allocator to use
76/* #undef GTSAM_ALLOCATOR_BOOSTPOOL */
77/* #undef GTSAM_ALLOCATOR_TBB */
78#define GTSAM_ALLOCATOR_STL
79
80// Option for not throwing the CheiralityException for points that are behind a camera
81#define GTSAM_THROW_CHEIRALITY_EXCEPTION
82
83// Make sure dependent projects that want it can see deprecated functions
84#define GTSAM_ALLOW_DEPRECATED_SINCE_V43
85
86// Support Metis-based nested dissection
87#define GTSAM_SUPPORT_NESTED_DISSECTION
88
89// Support Metis-based nested dissection
90#define GTSAM_TANGENT_PREINTEGRATION
91
92// Whether to use the system installed Metis instead of the provided one
93/* #undef GTSAM_USE_SYSTEM_METIS */
94
95// Toggle switch for BetweenFactor jacobian computation
96/* #undef GTSAM_SLOW_BUT_CORRECT_BETWEENFACTOR */
97
98/* #undef GTSAM_SLOW_BUT_CORRECT_EXPMAP */
99
100// Boost flags
101#define GTSAM_ENABLE_BOOST_SERIALIZATION 1
102#define GTSAM_USE_BOOST_FEATURES 1
103