Property.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 PROPERTY_H_
38 #define PROPERTY_H_
39 
40 #include "wire/core/datatypes.h"
41 #include "problib/pdfs/PDF.h"
42 
43 #include <string>
44 
45 namespace mhf {
46 
47 class IStateEstimator;
48 
49 class Property {
50 
51 public:
52 
53  Property(const Attribute& attribute, const IStateEstimator& bm, const ObjectID& object_id = -1);
54 
55  Property(const Property& orig);
56 
57  virtual ~Property();
58 
59  Property* clone() const;
60 
61  Property& operator=(const Property& other);
62 
63  const Attribute& getAttribute() const;
64 
65  const IStateEstimator& getEstimator() const;
66 
67  const pbl::PDF& getValue() const;
68 
69  //void setObjectID(const ObjectID& id);
70 
71  const ObjectID& getObjectID() const;
72 
73  void update(const pbl::PDF& z, const Time& time);
74 
75  void propagate(const Time& time);
76 
77  void reset();
78 
79  virtual double getLikelihood(const pbl::PDF& pdf) const;
80 
81  std::string toString(const std::string& prefix = "") const;
82 
83 protected:
84 
86 
87  //ObjectID object_id_;
88 
90 
92 
93 };
94 
95 }
96 
97 #endif /* PREDICATE_H_ */
Attribute attribute_
Definition: Property.h:89
const Attribute & getAttribute() const
Definition: Property.cpp:40
void update(const pbl::PDF &z, const Time &time)
Definition: Property.cpp:52
virtual double getLikelihood(const pbl::PDF &pdf) const
Definition: Property.cpp:68
Property(const Attribute &attribute, const IStateEstimator &bm, const ObjectID &object_id=-1)
Definition: Property.cpp:13
Base class for all state estimators used by the world model.
long ObjectID
Definition: datatypes.h:46
double Time
Definition: datatypes.h:52
int Attribute
Definition: datatypes.h:49
IStateEstimator * estimator_
Definition: Property.h:91
TFSIMD_FORCE_INLINE const tfScalar & z() const
void reset()
Definition: Property.cpp:64
virtual ~Property()
Definition: Property.cpp:21
std::string toString(const std::string &prefix="") const
Definition: Property.cpp:72
const pbl::PDF & getValue() const
Definition: Property.cpp:48
Property & operator=(const Property &other)
Definition: Property.cpp:29
Time time_
Definition: Property.h:85
void propagate(const Time &time)
Definition: Property.cpp:58
Property * clone() const
Definition: Property.cpp:25
const IStateEstimator & getEstimator() const
Definition: Property.cpp:44
Definition: ClassModel.h:44
const ObjectID & getObjectID() const


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