Point Cloud Library (PCL)  1.7.1
pairwise_graph_registration.h
1 /*
2  * Software License Agreement (BSD License)
3  *
4  * Point Cloud Library (PCL) - www.pointclouds.org
5  * Copyright (c) 2011, Willow Garage, Inc.
6  * Copyright (c) 2012-, Open Perception, Inc.
7  *
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  *
14  * * Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  * * Redistributions in binary form must reproduce the above
17  * copyright notice, this list of conditions and the following
18  * disclaimer in the documentation and/or other materials provided
19  * with the distribution.
20  * * Neither the name of the copyright holder(s) nor the names of its
21  * contributors may be used to endorse or promote products derived
22  * from this software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
27  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
28  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
34  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35  * POSSIBILITY OF SUCH DAMAGE.
36  *
37  * $Id$
38  *
39  */
40 
41 #ifndef PCL_PAIRWISE_GRAPH_REGISTRATION_H_
42 #define PCL_PAIRWISE_GRAPH_REGISTRATION_H_
43 
44 #include <pcl/registration/graph_registration.h>
45 #include <pcl/registration/registration.h>
46 
47 namespace pcl
48 {
49  /** \brief @b PairwiseGraphRegistration class aligns the clouds two by two
50  * \author Nicola Fioraio
51  * \ingroup registration
52  */
53  template <typename GraphT, typename PointT>
55  {
56  public:
60 
63 
64  /** \brief Empty destructor */
66 
67 
68  /** \brief Empty constructor */
70  {}
71  /** \brief Constructor */
72  PairwiseGraphRegistration (const RegistrationPtr& reg, bool incremental) : registration_method_ (reg), incremental_ (incremental)
73  {}
74 
75  /** \brief Set the registration object */
76  inline void
78  {
80  }
81 
82  /** \brief Get the registration object */
83  inline RegistrationPtr
85  {
86  return registration_method_;
87  }
88 
89  /** \brief If True the initial transformation is always set to the Identity */
90  inline void
91  setIncremental (bool incremental)
92  {
93  incremental_ = incremental;
94  }
95 
96  /** \brief Is incremental ? */
97  inline bool
98  isIncremental () const
99  {
100  return incremental_;
101  }
102 
103  protected:
104  /** \brief The registration object */
106  /** \brief If True the initial transformation is always set to the Identity */
108 
109  private:
110  /** \brief The registration method */
111  virtual void
112  computeRegistration ();
113  };
114 }
115 
116 #include <pcl/registration/impl/pairwise_graph_registration.hpp>
117 
118 #endif // PCL_PAIRWISE_GRAPH_REGISTRATION_H_
Registration< PointT, PointT >::Ptr RegistrationPtr
RegistrationPtr registration_method_
The registration object.
virtual ~PairwiseGraphRegistration()
Empty destructor.
bool isIncremental() const
Is incremental ?
boost::graph_traits< GraphT >::vertex_descriptor Vertex
Definition: graph_handler.h:90
RegistrationPtr getRegistrationMethod()
Get the registration object.
GraphRegistration class is the base class for graph-based registration methods
bool incremental_
If True the initial transformation is always set to the Identity.
PairwiseGraphRegistration class aligns the clouds two by two
void setIncremental(bool incremental)
If True the initial transformation is always set to the Identity.
pcl::registration::GraphHandler< GraphT >::Vertex GraphHandlerVertex
void setRegistrationMethod(const RegistrationPtr &reg)
Set the registration object.
Registration represents the base registration class for general purpose, ICP-like methods...
Definition: registration.h:62
PairwiseGraphRegistration(const RegistrationPtr &reg, bool incremental)
Constructor.