WorldStateSegment.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::WorkingMemory
17 * @author Thomas von der Heyde (tvh242 at hotmail dot com)
18 * @date 2014
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22 
23 #pragma once
24 
26 
27 #include <MemoryX/interface/core/EntityBase.h>
28 #include <MemoryX/interface/memorytypes/MemoryEntities.h>
29 #include <MemoryX/interface/memorytypes/MemorySegments.h>
32 
33 namespace memoryx
34 {
35  /*!
36  * WorldStateSegment stores entities of type ObjectInstance corresponding to environmental entities.
37  */
39  virtual public WorkingMemoryEntitySegment<ObjectInstance>,
40  virtual public WorldStateSegmentBase
41  {
42  public:
44 
45  /*!
46  * Gets the entity with the given ID.
47  * \param id Entity ID.
48  */
49  ObjectInstanceBasePtr
50  getWorldInstanceById(const ::std::string& id,
51  const ::Ice::Current& = Ice::emptyCurrent) const override;
52  /*!
53  * Gets the entity with the given name.
54  * \param name Entity name.
55  */
56  ObjectInstanceBasePtr
57  getWorldInstanceByName(const ::std::string& name,
58  const ::Ice::Current& = Ice::emptyCurrent) const override;
59  /*!
60  * Gets the entities having the given class.
61  * \param className Class name.
62  */
63  ObjectInstanceList
64  getWorldInstancesByClass(const ::std::string& className,
65  const ::Ice::Current& c = Ice::emptyCurrent) const override;
66  /*!
67  * Gets the entities having a class in the given class list.
68  * \param classList List of class names.
69  */
70  ObjectInstanceList
71  getWorldInstancesByClassList(const NameList& classList,
72  const ::Ice::Current& = Ice::emptyCurrent) const override;
73 
74  private:
75  };
76 
78 } // namespace memoryx
memoryx::WorldStateSegment
Definition: WorldStateSegment.h:38
memoryx
VirtualRobot headers.
Definition: CommonPlacesTester.cpp:48
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:46
IceInternal::Handle
Definition: forward_declarations.h:8
memoryx::WorkingMemoryEntitySegment
Definition: WorkingMemoryEntitySegment.h:45
ARMARXCOMPONENT_IMPORT_EXPORT
#define ARMARXCOMPONENT_IMPORT_EXPORT
Definition: ImportExportComponent.h:38
WorkingMemoryEntitySegment.h
ObjectInstance.h
ImportExportComponent.h