26#include <MemoryX/interface/core/EntityBase.h>
27#include <MemoryX/interface/memorytypes/MemoryEntities.h>
51 Relation(
const std::string& name =
"",
52 const EntityRefList& entities = EntityRefList{},
61 EntityRefList
getEntities(const ::Ice::Current& = Ice::emptyCurrent)
const override;
69 const ::Ice::Current& = Ice::emptyCurrent)
override;
76 bool getSign(const ::Ice::Current& = Ice::emptyCurrent)
const override;
83 void setSign(
bool sign, const ::Ice::Current& = Ice::emptyCurrent)
override;
90 ::Ice::Float
getProb(const ::Ice::Current& = Ice::emptyCurrent)
const override;
97 void setProb(::Ice::Float prob, const ::Ice::Current& = Ice::emptyCurrent)
override;
112 Ice::ObjectPtr
ice_clone()
const override;
116 void output(std::ostream& stream)
const;
134 operator<<(std::ostream& stream,
const RelationBasePtr& rhs)
136 stream << RelationPtr::dynamicCast(rhs);
Entity is the superclass for all MemoryX memory chunks.
Relation class represents a directed relation between entities.
friend std::ostream & operator<<(std::ostream &stream, const Relation &rhs)
::Ice::Float getProb(const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve probability that this relation actually exists.
void setSign(bool sign, const ::Ice::Current &=Ice::emptyCurrent) override
Set whether this relation is true or false.
std::string getAttributes() const
void setProb(::Ice::Float prob, const ::Ice::Current &=Ice::emptyCurrent) override
Set probability that this relation actually exists.
std::string getSourceAttributes() const
void setEntities(const EntityRefList &entities, const ::Ice::Current &=Ice::emptyCurrent) override
set the entities involved in this relation
EntityRefList getEntities(const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve the entities involved in this relation.
void setAttributes(std::string const &attributes)
RelationPtr clone(const Ice::Current &c=Ice::emptyCurrent) const
std::string getTargetAttributes() const
Ice::ObjectPtr ice_clone() const override
Relation(const std::string &name="", const EntityRefList &entities=EntityRefList{}, bool sign=true, float prob=1.f)
Constucts a new Relation.
void setTargetAttributes(std::string const &attributes)
void setSourceAttributes(std::string const &attributes)
bool getSign(const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve whether this relation is true or false.
IceInternal::Handle< Relation > RelationPtr