GMMDistance.h
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* ArmarX is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License version 2 as
6* published by the Free Software Foundation.
7*
8* ArmarX is distributed in the hope that it will be useful, but
9* WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* @package MemoryX::GaussianMixtureHelpers
17* @author Alexey Kozlov <kozlov@kit.edu>
18* @copyright 2013 Alexey Kozlov
19* @license http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#pragma once
24
25#include <memory>
26#include <string>
27
29
31
32namespace memoryx
33{
34
35 /**
36 * @class GMMDistance
37 * @ingroup CommonPlacesLearner
38 */
40 {
41 public:
42 /**
43 * Creates a new GMMDistance
44 */
46 {
47 }
48
49 /**
50 *
51 *
52 */
53 virtual float getDistance(const GaussianMixtureDistributionBasePtr& gmm1,
54 const GaussianMixtureDistributionBasePtr& gmm2) = 0;
55
56 virtual float getDistance(const GaussianMixtureComponent& comp1,
57 const GaussianMixtureComponent& comp2) = 0;
58
59 protected:
60 };
61
62 using GMMDistancePtr = std::shared_ptr<GMMDistance>;
63
64} // namespace memoryx
#define ARMARXCORE_IMPORT_EXPORT
virtual float getDistance(const GaussianMixtureDistributionBasePtr &gmm1, const GaussianMixtureDistributionBasePtr &gmm2)=0
virtual float getDistance(const GaussianMixtureComponent &comp1, const GaussianMixtureComponent &comp2)=0
GMMDistance()
Creates a new GMMDistance.
Definition GMMDistance.h:45
VirtualRobot headers.
std::shared_ptr< GMMDistance > GMMDistancePtr
Definition GMMDistance.h:62