Go to the documentation of this file.
29 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
38 ObjectInstance::ObjectInstance(
const std::string& name,
const std::string&
id) :
Entity()
61 ObjectInstanceBase(
source),
81 EntityAttributeBasePtr
95 const ::Ice::Current&)
101 MultivariateNormalDistributionBasePtr uncertainty =
102 MultivariateNormalDistributionBasePtr::dynamicCast(
151 return armarx::DEFAULT_VIEWTARGET_PRIORITY;
162 MultivariateNormalDistributionBasePtr
165 return MultivariateNormalDistributionBasePtr::dynamicCast(
171 const ::Ice::Current&)
178 EntityAttributeBasePtr
192 const ::Ice::Current&)
217 ClassProbabilityMap classes;
220 int numberValues = attr->size();
222 std::pair<std::string, float> element;
224 for (
int v = 0;
v < numberValues;
v++)
226 element.first = attr->getValueAt(
v)->getString();
227 element.second = DiscreteProbabilityBasePtr::dynamicCast(attr->getUncertaintyAt(
v))
230 classes.insert(element);
244 attr->setValueWithUncertainty(
259 attr->addValueWithUncertainty(
279 ClassProbabilityMap::const_iterator itMax = classes.end();
281 for (ClassProbabilityMap::const_iterator it = classes.begin(); it != classes.end(); ++it)
282 if (itMax == classes.end() || it->second > itMax->second)
287 return (itMax != classes.end()) ? itMax->first :
"";
294 ClassProbabilityMap::const_iterator it = classes.find(className);
296 if (it != classes.end())
311 << motionModel->getMotionModelName();
325 return this->
clone();
347 ObjectInstance::output(std::ostream& stream)
const
355 armarx::FramedPositionBasePtr
359 ->getClass<armarx::FramedPositionBase>();
362 armarx::FramedOrientationBasePtr
366 ->getClass<armarx::FramedOrientationBase>();
369 ObjectInstance::ObjectInstance()
bool hasLocalizationTimestamp() const
The Variant class is described here: Variants.
void setLocalizationPriority(Ice::Int priority, const ::Ice::Current &=Ice::emptyCurrent) override
ReaderT::InputType T & ret
armarx::FramedOrientationPtr getOrientation() const
Retrieve orientation of the instance.
void putAttribute(const ::memoryx::EntityAttributeBasePtr &attr, const ::Ice::Current &=Ice::emptyCurrent) override
Store attribute in entity.
::std::string getName(const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve name of this entity.
const VariantTypeId FramedPose
EntityAttributeBasePtr getAttribute(const ::std::string &attrName, const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve attribute from entity.
float getExistenceCertainty(const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve existence certainty for this instance.
EntityAttributeBasePtr getPositionAttribute() const
Retrieve attribute which holds instance position.
void setLocalizationTimestamp(const IceUtil::Time ×tamp)
void setPose(const armarx::FramedPoseBasePtr &newPose)
Convenience function to set position and orientation attributes at once.
void setMotionModel(AbstractMotionModelPtr motionModel)
Set the motion model for this object.
MultivariateNormalDistributionBasePtr getPositionUncertainty(const ::Ice::Current &=Ice::emptyCurrent) const override
Get uncertainty of position estimate.
void output(std::ostream &stream) const
virtual armarx::VariantPtr getAttributeValue(const ::std::string &attrName) const
Retrieve value of an attribute from entity.
ClassProbabilityMap getClasses(const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve classes and associated class membership probability for this instance.
AbstractMotionModelPtr getMotionModel() const
int getLocalizationPriority(const ::Ice::Current &=Ice::emptyCurrent) const override
void addClass(const std::string &className, float probability, const Ice::Current &=Ice::emptyCurrent) override
Adds new class membership to the class attribute.
void setPositionUncertainty(const MultivariateNormalDistributionBasePtr &uncertainty, const ::Ice::Current &=Ice::emptyCurrent) override
Set uncertainty of position estimate.
armarx::FramedPositionPtr getPosition() const
Retrieve position of the instance.
std::mutex attributesMutex
The FramedPosition class.
void setClass(const std::string &className, float probability, const Ice::Current &=Ice::emptyCurrent) override
Set the class attribute of the ObjectInstance.
IceUtil::Time getLocalizationTimestamp() const
void clearClasses(const Ice::Current &=Ice::emptyCurrent) override
Clear class membership.
AbstractMotionModelPtr motionModel
The FramedOrientation class.
void setPosition(const armarx::FramedPositionBasePtr &position, const ::Ice::Current &=Ice::emptyCurrent) override
Set position of the instance.
::std::string getMostProbableClass(const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve the class with highest membership probability.
Vertex source(const detail::edge_base< Directed, Vertex > &e, const PCG &)
void setId(const ::std::string &id, const ::Ice::Current &=Ice::emptyCurrent) override
Set id of this entity.
armarx::core::time::DateTime Time
armarx::FramedPosePtr getPose() const
Convenience function to get position and orientation attributes at once.
armarx::FramedOrientationBasePtr getOrientationBase(const ::Ice::Current &=Ice::emptyCurrent) const override
double v(double t, double v0, double a0, double j)
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
EntityAttributeBasePtr getOrientationAttribute() const
Retrieve attribute which holds instance position.
std::shared_mutex entityMutex
bool hasAttribute(const ::std::string &attrName, const ::Ice::Current &=Ice::emptyCurrent) const override
Check whether this entity has an attribute with the given name.
void setExistenceCertainty(float existenceCertainty, const ::Ice::Current &=Ice::emptyCurrent) override
Set existence certainty for this instance.
Ice::ObjectPtr ice_clone() const override
Attribute of MemoryX entities.
ObjectInstancePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
std::shared_ptr< Object > ObjectPtr
armarx::FramedPositionBasePtr getPositionBase(const ::Ice::Current &=Ice::emptyCurrent) const override
const armarx::VariantTypeId DiscreteProbability
void setOrientation(const armarx::FramedOrientationBasePtr &orientation, const ::Ice::Current &=Ice::emptyCurrent) override
Set orientation of the instance.
void setName(const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) override
Set name of this entity.
std::recursive_mutex wrappersMutex
This file offers overloads of toIce() and fromIce() functions for STL container types.
float getClassProbability(const ::std::string &className, const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve membership probability for a given class.