AffordanceSegment.cpp
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 Peter Kaiser (peter dot kaiser at kit dot edu)
18* @date 2014
19* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#include "AffordanceSegment.h"
24
25namespace memoryx
26{
29 AffordanceSegmentBase::AffordanceSegmentBase()
30 {
31 }
32
33 AffordanceBaseList
34 AffordanceSegment::getAffordances(const ::Ice::Current& c) const
35 {
36 AffordanceBaseList affordances;
37 EntityBaseList entities = getAllEntities(c);
38
39 for (auto& entity : entities)
40 {
41 AffordanceBasePtr affordance = AffordanceBasePtr::dynamicCast(entity);
42
43 if (affordance)
44 {
45 affordances.push_back(affordance);
46 }
47 }
48
49 return affordances;
50 }
51} // namespace memoryx
constexpr T c
AffordanceBaseList getAffordances(const ::Ice::Current &c=Ice::emptyCurrent) const override
EntityBaseList getAllEntities(const Ice::Current &c=Ice::emptyCurrent) const override
VirtualRobot headers.