NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
feature_point_3d.h
Go to the documentation of this file.
1 /* Copyright (c) 2017, United States Government, as represented by the
2  * Administrator of the National Aeronautics and Space Administration.
3  *
4  * All rights reserved.
5  *
6  * The Astrobee platform is licensed under the Apache License, Version 2.0
7  * (the "License"); you may not use this file except in compliance with the
8  * License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15  * License for the specific language governing permissions and limitations
16  * under the License.
17  */
18 
19 #ifndef LOCALIZATION_COMMON_FEATURE_POINT_3D_H_
20 #define LOCALIZATION_COMMON_FEATURE_POINT_3D_H_
21 
22 #include <gtsam/geometry/Point3.h>
23 
24 #include <vector>
25 
26 namespace localization_common {
27 using FeatureId = int;
28 
30  gtsam::SharedNoiseModel noise;
31 };
32 
34  FeaturePoint3d(const gtsam::Point3& global_t_point, const FeatureId feature_id)
37  gtsam::Point3 global_t_point;
39 
40  private:
41  // Serialization function
43  template <class ARCHIVE>
44  void serialize(ARCHIVE& ar, const unsigned int /*version*/) {
45  ar& BOOST_SERIALIZATION_NVP(feature_id);
46  ar& BOOST_SERIALIZATION_NVP(global_t_point);
47  }
48 };
49 
50 using FeaturePoint3ds = std::vector<FeaturePoint3d>;
51 } // namespace localization_common
52 
53 #endif // LOCALIZATION_COMMON_FEATURE_POINT_3D_H_
localization_common
Definition: averager.h:33
localization_common::FeaturePoint3d::FeaturePoint3d
FeaturePoint3d(const gtsam::Point3 &global_t_point, const FeatureId feature_id)
Definition: feature_point_3d.h:34
localization_common::FeaturePoint3d::FeaturePoint3d
FeaturePoint3d()
Definition: feature_point_3d.h:36
localization_common::FeatureId
int FeatureId
Definition: feature_point_3d.h:27
localization_common::FeaturePoint3d::access
friend class boost::serialization::access
Definition: feature_point_3d.h:42
localization_common::FeaturePoint3dNoise
Definition: feature_point_3d.h:29
localization_common::FeaturePoint3d::global_t_point
gtsam::Point3 global_t_point
Definition: feature_point_3d.h:37
localization_common::FeaturePoint3dNoise::noise
gtsam::SharedNoiseModel noise
Definition: feature_point_3d.h:30
localization_common::FeaturePoint3d
Definition: feature_point_3d.h:33
localization_common::FeaturePoint3d::feature_id
FeatureId feature_id
Definition: feature_point_3d.h:38
localization_common::FeaturePoint3ds
std::vector< FeaturePoint3d > FeaturePoint3ds
Definition: feature_point_3d.h:50