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
33namespace 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
#define ARMARXCOMPONENT_IMPORT_EXPORT
constexpr T c
ObjectInstanceList getWorldInstancesByClass(const ::std::string &className, const ::Ice::Current &c=Ice::emptyCurrent) const override
ObjectInstanceList getWorldInstancesByClassList(const NameList &classList, const ::Ice::Current &=Ice::emptyCurrent) const override
ObjectInstanceBasePtr getWorldInstanceByName(const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) const override
ObjectInstanceBasePtr getWorldInstanceById(const ::std::string &id, const ::Ice::Current &=Ice::emptyCurrent) const override
VirtualRobot headers.
IceInternal::Handle< WorldStateSegment > WorldStateSegmentPtr