27 #include "../../segment/ObjectClassMemorySegment.h"
37 armarx::VariantDataClassPtr
42 for (SECRelationList::const_iterator it = relations.begin(); it != relations.end(); it++)
44 result->relations.push_back(SECRelationBasePtr::dynamicCast((*it)->ice_clone()));
59 float matchingRelationCount = 0;
61 for (SECRelationList::const_iterator itOther = other->relations.begin();
62 itOther != other->relations.end();
65 bool foundMatch =
false;
66 SECRelationBasePtr otherRel = *itOther;
68 for (SECRelationList::const_iterator it = relations.begin(); it != relations.end();
71 if (otherRel->isEqual(*it))
80 matchingRelationCount++;
84 return matchingRelationCount / (
float)relations.size();
89 const Ice::Current&)
const
91 for (SECRelationList::const_iterator it = relations.begin(); it != relations.end(); it++)
93 if (relation->isEqual(*it))
107 for (
unsigned int i = 0; i < newRelations.size(); i++)
110 newRelations.at(i)->objects2);
115 rel->setName(newRelations.at(i)->getName());
119 relations.push_back(newRelations.at(i));
130 SECRelationList
list;
131 list.push_back(newRelation);
137 const ObjectClassList& objects2,
138 const Ice::Current&)
const
142 for (SECRelationList::const_iterator it = relations.begin(); it != relations.end(); it++)
155 ObjectClassBasePtr object1)
158 ObjectClassList result;
160 for (SECRelationList::const_iterator it = relations.begin(); it != relations.end(); it++)
162 if ((*it)->getName() == relation->getName() &&
165 result.insert(result.end(), (*it)->objects2.begin(), (*it)->objects2.end());
177 for (
const SECRelationBasePtr& relation : compareRelations.relations)
188 std::stringstream result;
190 for (
size_t i = 0; i < relations.size(); i++)
192 result <<
"#" << i <<
": " << relations.at(i)->output() <<
"\n";
212 const Ice::Current&)
const
215 armarx::AbstractObjectSerializerPtr::dynamicCast(serializer);
216 std::vector<armarx::VariantBasePtr> variants;
218 for (
unsigned int i = 0; i < relations.size(); i++)
221 variants.push_back(var);
224 obj->setVariantArray(
"relations", variants);
232 armarx::AbstractObjectSerializerPtr::dynamicCast(serializer);
233 std::vector<armarx::VariantPtr> variants;
235 obj->getVariantArray(
"relations", variants);
236 relations.resize(variants.size());
238 for (
unsigned int i = 0; i < variants.size(); i++)
241 relations.at(i) = armarx::VariantPtr::dynamicCast(variants.at(i))->get<
SECRelation>();