ClassModel.h
Go to the documentation of this file.
1 /************************************************************************
2  * Copyright (C) 2012 Eindhoven University of Technology (TU/e). *
3  * All rights reserved. *
4  ************************************************************************
5  * Redistribution and use in source and binary forms, with or without *
6  * modification, are permitted provided that the following conditions *
7  * are met: *
8  * *
9  * 1. Redistributions of source code must retain the above *
10  * copyright notice, this list of conditions and the following *
11  * disclaimer. *
12  * *
13  * 2. Redistributions in binary form must reproduce the above *
14  * copyright notice, this list of conditions and the following *
15  * disclaimer in the documentation and/or other materials *
16  * provided with the distribution. *
17  * *
18  * THIS SOFTWARE IS PROVIDED BY TU/e "AS IS" AND ANY EXPRESS OR *
19  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
20  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE *
21  * ARE DISCLAIMED. IN NO EVENT SHALL TU/e OR CONTRIBUTORS BE LIABLE *
22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
24  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
25  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
26  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
28  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
29  * DAMAGE. *
30  * *
31  * The views and conclusions contained in the software and *
32  * documentation are those of the authors and should not be *
33  * interpreted as representing official policies, either expressed or *
34  * implied, of TU/e. *
35  ************************************************************************/
36 
37 #ifndef WM_CLASS_MODEL_H_
38 #define WM_CLASS_MODEL_H_
39 
40 #include "wire/core/PropertySet.h"
41 #include "wire/core/datatypes.h"
42 #include <string>
43 
44 namespace mhf {
45 
46 class IStateEstimator;
47 
57 class ClassModel {
58 
59 public:
60 
61  ClassModel(const std::string& model_name);
62 
63  ClassModel(const ClassModel& orig);
64 
65  virtual ~ClassModel();
66 
67  void setNewPDF(const Attribute& attribute, const pbl::PDF& pdf);
68 
69  void setClutterPDF(const Attribute& attribute, const pbl::PDF& pdf);
70 
71  void setEstimator(const Attribute& attribute, const IStateEstimator& estimator);
72 
73  void setModelName(const std::string& name);
74 
75  const std::string& getModelName() const;
76 
77  const PropertySet& getNewPDFs() const;
78 
79  const PropertySet& getClutterPDFs() const;
80 
81  const IStateEstimator* getEstimator(const Attribute& attribute) const;
82 
83  //void setProbDetectedGivenVisible(double prob);
84 
85  //double getProbDetectedGivenVisible() const;
86 
87 protected:
88 
90 
92 
94 
95  std::string model_name_;
96 
97  //double p_detected_given_visible_;
98 
99 };
100 
101 }
102 
103 #endif /* WM_CLASS_MODEL_H_ */
PropertySet new_pdfs_
Definition: ClassModel.h:89
const IStateEstimator * getEstimator(const Attribute &attribute) const
Definition: ClassModel.cpp:48
virtual ~ClassModel()
Definition: ClassModel.cpp:24
const PropertySet & getClutterPDFs() const
Definition: ClassModel.cpp:60
Base class for all state estimators used by the world model.
void setEstimator(const Attribute &attribute, const IStateEstimator &estimator)
Definition: ClassModel.cpp:36
const PropertySet & getNewPDFs() const
Definition: ClassModel.cpp:56
void setNewPDF(const Attribute &attribute, const pbl::PDF &pdf)
Definition: ClassModel.cpp:28
int Attribute
Definition: datatypes.h:49
const std::string & getModelName() const
Definition: ClassModel.cpp:44
Contains knowledge about a specific object class on where to expect new objects of that class (new) a...
Definition: ClassModel.h:57
void setModelName(const std::string &name)
Definition: ClassModel.cpp:40
PropertySet estimators_
Definition: ClassModel.h:93
ClassModel(const std::string &model_name)
Definition: ClassModel.cpp:15
std::string model_name_
Definition: ClassModel.h:95
PropertySet clutter_pdfs_
Definition: ClassModel.h:91
Definition: ClassModel.h:44
void setClutterPDF(const Attribute &attribute, const pbl::PDF &pdf)
Definition: ClassModel.cpp:32


wire_core
Author(s): Sjoerd van den Dries, Jos Elfring
autogenerated on Fri Apr 16 2021 02:32:27