SECObjectRelations.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::
17* @author Mirko Waechter ( mirko.waechter at kit dot edu)
18* @date 2013
19* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22#pragma once
23
25#include <MemoryX/interface/memorytypes/MemoryEntities.h>
26
28{
30 armarx::Variant::addTypeName("::memoryx::SECObjectRelationsBase");
31}
32
33namespace memoryx
34{
35 class SECObjectRelations : public SECObjectRelationsBase
36 {
37 public:
39 // cloning
40 Ice::ObjectPtr ice_clone() const override;
41
42 // SECObjectRelationsBase interface
43 Ice::Float contains(const SECObjectRelationsBasePtr& other,
44 const Ice::Current& c = Ice::emptyCurrent) const override;
45 bool containsRelation(const SECRelationBasePtr& relation,
46 const Ice::Current& c = Ice::emptyCurrent) const override;
47 Ice::Int addRelations(const SECRelationList& newRelations,
48 const Ice::Current& c = Ice::emptyCurrent) override;
49 bool addRelation(const SECRelationBasePtr& newRelation,
50 const Ice::Current& c = Ice::emptyCurrent) override;
51 SECRelationBasePtr
52 containsRelationBetweenObjects(const ObjectClassList& objects1,
53 const ObjectClassList& objects2,
54 const Ice::Current& c = Ice::emptyCurrent) const override;
55 ObjectClassList getObjectsInRelation(const SECRelationBasePtr& relation,
56 ObjectClassBasePtr object1);
57 bool isEqual(const SECObjectRelations& relations) const;
58
59 // VariantDataClass interface
60 public:
61 armarx::VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
62 std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
63 Ice::Int getType(const Ice::Current& c = Ice::emptyCurrent) const override;
64 bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
65
66 // Serializable interface
67 public:
68 void serialize(const armarx::ObjectSerializerBasePtr& serializer,
69 const Ice::Current& c = Ice::emptyCurrent) const override;
70 void deserialize(const armarx::ObjectSerializerBasePtr& serializer,
71 const Ice::Current& c = Ice::emptyCurrent) override;
72 };
73
75
76} // namespace memoryx
constexpr T c
static VariantTypeId addTypeName(const std::string &typeName)
Register a new type for the use in a Variant.
Definition Variant.cpp:869
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
ObjectClassList getObjectsInRelation(const SECRelationBasePtr &relation, ObjectClassBasePtr object1)
bool isEqual(const SECObjectRelations &relations) const
bool containsRelation(const SECRelationBasePtr &relation, const Ice::Current &c=Ice::emptyCurrent) const override
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const Ice::Current &c=Ice::emptyCurrent) override
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const Ice::Current &c=Ice::emptyCurrent) const override
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
armarx::VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Ice::Int getType(const Ice::Current &c=Ice::emptyCurrent) const override
Ice::ObjectPtr ice_clone() const override
Ice::Int addRelations(const SECRelationList &newRelations, const Ice::Current &c=Ice::emptyCurrent) override
bool addRelation(const SECRelationBasePtr &newRelation, const Ice::Current &c=Ice::emptyCurrent) override
Ice::Float contains(const SECObjectRelationsBasePtr &other, const Ice::Current &c=Ice::emptyCurrent) const override
SECRelationBasePtr containsRelationBetweenObjects(const ObjectClassList &objects1, const ObjectClassList &objects2, const Ice::Current &c=Ice::emptyCurrent) const override
Ice::Int VariantTypeId
Definition Variant.h:43
const armarx::VariantTypeId SECObjectRelations
VirtualRobot headers.
IceInternal::Handle< SECObjectRelations > SECObjectRelationsPtr