Segment Class Reference

#include <RobotAPI/libraries/armem_objects/server/instance/Segment.h>

+ Inheritance diagram for Segment:

Classes

struct  Calibration
 
struct  CommitStats
 
struct  RemoteGui
 
struct  RobotsCache
 Loaded robot models identified by the robot name. More...
 

Public Types

using ObjectPose = objpose::ObjectPose
 
using ObjectPoseMap = std::map<ObjectID, ObjectPose>
 
using ObjectPoseSeq = objpose::ObjectPoseSeq
 

Public Member Functions

objpose::AttachObjectToRobotNodeOutput attachObjectToRobotNode (const objpose::AttachObjectToRobotNodeInput &input)
 
void commitObjectPoses (const ObjectPoseSeq &objectPoses, const std::string &providerName="")
 
CommitStats commitObjectPoses (const std::string &providerName, const objpose::data::ProvidedObjectPoseSeq &providedPoses, const Calibration &calibration, std::optional< Time > discardUpdatesUntil=std::nullopt)
 
void connect (viz::Client arviz)
 
void defineProperties (armarx::PropertyDefinitionsPtr defs, const std::string &prefix="") override
 
objpose::DetachAllObjectsFromRobotNodesOutput detachAllObjectsFromRobotNodes (const objpose::DetachAllObjectsFromRobotNodesInput &input)
 
objpose::DetachObjectFromRobotNodeOutput detachObjectFromRobotNode (const objpose::DetachObjectFromRobotNodeInput &input)
 
wm::Entity * findObjectEntity (const ObjectID &objectID, const std::string &providerName="")
 
::armarx::armem::articulated_object::ArticulatedObjects getArticulatedObjects ()
 
std::map< std::string, ObjectPoseMap > getLatestObjectPosesByProviders ()
 
std::optional< simox::OrientedBoxf > getObjectOOBB (const ObjectID &id)
 
objpose::ObjectPoseMap getObjectPoses (const DateTime &now)
 
objpose::ObjectPoseMap getObjectPosesByProvider (const std::string &providerName, const DateTime &now)
 
objpose::ProviderInfo getProviderInfo (const std::string &providerName)
 
void init () override
 
void runUpdateObjectPoses ()
 
 Segment (server::MemoryToIceAdapter &iceMemory)
 
void updateAttachement (ObjectPose &objectPose, VirtualRobot::RobotPtr agent, bool &synchronized) const
 If the object is attached to a robot node, update it according to the current robot state.
 
virtual ~Segment () override
 
- Public Member Functions inherited from SpecializedCoreSegment
template<class FunctionT>
auto doLocked (FunctionT &&function) const
 Execute function under shared (read) lock.
 
template<class FunctionT>
auto doLockedExclusive (FunctionT &&function)
 Execute function under exclusive (write) lock.
 
wm::CoreSegment & getCoreSegment ()
 
const wm::CoreSegment & getCoreSegment () const
 
void setAronType (aron::type::ObjectPtr aronType)
 
void setDefaultCoreSegmentName (const std::string &coreSegmentName)
 
void setDefaultMaxHistorySize (int64_t maxHistorySize)
 
void setPredictionEngines (const std::vector< PredictionEngine > &predictionEngines)
 
 SpecializedCoreSegment (MemoryToIceAdapter &iceMemory, const std::string &defaultCoreSegmentName="", aron::type::ObjectPtr coreSegmentAronType=nullptr, int defaultMaxHistorySize=10, const std::vector< PredictionEngine > &predictionEngines={})
 
virtual ~SpecializedCoreSegment () override
 
- Public Member Functions inherited from SegmentBase< server::wm::CoreSegment >
MemoryID & id ()
 
MemoryID & id ()
 
const MemoryID & id () const
 
const MemoryID & id () const
 
 SegmentBase ()=delete
 
 SegmentBase ()=delete
 
 SegmentBase (MemoryToIceAdapter &iceMemory)
 
 SegmentBase (MemoryToIceAdapter &iceMemory)
 
virtual ~SegmentBase ()=default
 
virtual ~SegmentBase ()=default
 
- Public Member Functions inherited from Logging
SpamFilterDataPtr deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
 disables the logging for the current line for the given amount of seconds.
 
MessageTypeT getEffectiveLoggingLevel () const
 
 Logging ()
 
void setLocalMinimumLoggingLevel (MessageTypeT level)
 With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set.
 
void setTag (const LogTag &tag)
 
void setTag (const std::string &tagName)
 
virtual ~Logging ()
 

Static Public Member Functions

static arondto::ObjectInstance getLatestInstanceData (const wm::Entity &entity)
 
static ObjectPose getLatestObjectPose (const wm::Entity &entity)
 
static void getLatestObjectPose (const wm::Entity &entity, ObjectPose &out)
 
static ObjectPoseMap getLatestObjectPoses (const wm::CoreSegment &coreSeg)
 
static void getLatestObjectPoses (const wm::CoreSegment &coreSeg, ObjectPoseMap &out)
 
static ObjectPoseMap getLatestObjectPoses (const wm::ProviderSegment &provSeg)
 
static void getLatestObjectPoses (const wm::ProviderSegment &provSeg, ObjectPoseMap &out)
 
static std::map< std::string, ObjectPoseMap > getLatestObjectPosesByProviders (const wm::CoreSegment &coreSeg)
 
static void getLatestObjectPosesByProviders (const wm::CoreSegment &coreSeg, std::map< std::string, ObjectPoseMap > &out)
 
static std::map< std::string, ObjectPoseMap > getLatestObjectPosesByProviders (const wm::ProviderSegment &provSeg)
 
static std::map< DateTime, ObjectPose > getObjectPosesInRange (const wm::Entity &entity, const DateTime &start, const DateTime &end)
 

Public Attributes

Decay decay
 Decay model.
 
ObjectFinder objectFinder
 
objpose::ProviderInfoMap providers
 
RobotsCache robots
 
- Public Attributes inherited from SpecializedCoreSegment
aron::type::ObjectPtr aronType
 
std::vector< PredictionEngine > predictionEngines
 
Properties properties
 
- Public Attributes inherited from SegmentBase< server::wm::CoreSegment >
server::wm::CoreSegment * segmentPtr
 Set by the derived segment's init().
 
server::wm::CoreSegment * segmentPtr
 Set by the derived segment's init().
 

Friends

struct DetachVisitor
 

Additional Inherited Members

- Protected Member Functions inherited from Logging
bool checkLogLevel (MessageTypeT level) const
 
const LogSenderPtr & getLogSender () const
 Retrieve log sender.
 
LogSenderPtr loghelper (const char *file, int line, const char *function) const
 
- Protected Attributes inherited from SegmentBase< server::wm::CoreSegment >
MemoryToIceAdapter & iceMemory
 
MemoryToIceAdapter & iceMemory
 
- Protected Attributes inherited from Logging
MessageTypeT minimumLoggingLevel
 
SpamFilterDataPtr spamFilter
 
LogTag tag
 

Member Typedef Documentation

◆ ObjectPose

◆ ObjectPoseMap

using ObjectPoseMap = std::map<ObjectID, ObjectPose>

◆ ObjectPoseSeq

Constructor & Destructor Documentation

◆ Segment()

◆ ~Segment()

~Segment ( )
overridevirtual

Member Function Documentation

◆ attachObjectToRobotNode()

objpose::AttachObjectToRobotNodeOutput attachObjectToRobotNode ( const objpose::AttachObjectToRobotNodeInput & input)

◆ commitObjectPoses() [1/2]

void commitObjectPoses ( const ObjectPoseSeq & objectPoses,
const std::string & providerName = "" )

◆ commitObjectPoses() [2/2]

CommitStats commitObjectPoses ( const std::string & providerName,
const objpose::data::ProvidedObjectPoseSeq & providedPoses,
const Calibration & calibration,
std::optional< Time > discardUpdatesUntil = std::nullopt )

◆ connect()

void connect ( viz::Client arviz)

◆ defineProperties()

void defineProperties ( armarx::PropertyDefinitionsPtr defs,
const std::string & prefix = "" )
overridevirtual

Reimplemented from SpecializedCoreSegment.

◆ detachAllObjectsFromRobotNodes()

objpose::DetachAllObjectsFromRobotNodesOutput detachAllObjectsFromRobotNodes ( const objpose::DetachAllObjectsFromRobotNodesInput & input)

◆ detachObjectFromRobotNode()

objpose::DetachObjectFromRobotNodeOutput detachObjectFromRobotNode ( const objpose::DetachObjectFromRobotNodeInput & input)

◆ findObjectEntity()

wm::Entity * findObjectEntity ( const ObjectID & objectID,
const std::string & providerName = "" )

◆ getArticulatedObjects()

◆ getLatestInstanceData()

arondto::ObjectInstance getLatestInstanceData ( const wm::Entity & entity)
static

◆ getLatestObjectPose() [1/2]

objpose::ObjectPose getLatestObjectPose ( const wm::Entity & entity)
static

◆ getLatestObjectPose() [2/2]

void getLatestObjectPose ( const wm::Entity & entity,
ObjectPose & out )
static

◆ getLatestObjectPoses() [1/4]

objpose::ObjectPoseMap getLatestObjectPoses ( const wm::CoreSegment & coreSeg)
static

◆ getLatestObjectPoses() [2/4]

void getLatestObjectPoses ( const wm::CoreSegment & coreSeg,
ObjectPoseMap & out )
static

◆ getLatestObjectPoses() [3/4]

objpose::ObjectPoseMap getLatestObjectPoses ( const wm::ProviderSegment & provSeg)
static

◆ getLatestObjectPoses() [4/4]

void getLatestObjectPoses ( const wm::ProviderSegment & provSeg,
ObjectPoseMap & out )
static

◆ getLatestObjectPosesByProviders() [1/4]

std::map< std::string, objpose::ObjectPoseMap > getLatestObjectPosesByProviders ( )

◆ getLatestObjectPosesByProviders() [2/4]

std::map< std::string, objpose::ObjectPoseMap > getLatestObjectPosesByProviders ( const wm::CoreSegment & coreSeg)
static

◆ getLatestObjectPosesByProviders() [3/4]

void getLatestObjectPosesByProviders ( const wm::CoreSegment & coreSeg,
std::map< std::string, ObjectPoseMap > & out )
static

◆ getLatestObjectPosesByProviders() [4/4]

static std::map< std::string, ObjectPoseMap > getLatestObjectPosesByProviders ( const wm::ProviderSegment & provSeg)
static

◆ getObjectOOBB()

std::optional< simox::OrientedBoxf > getObjectOOBB ( const ObjectID & id)

◆ getObjectPoses()

objpose::ObjectPoseMap getObjectPoses ( const DateTime & now)

◆ getObjectPosesByProvider()

objpose::ObjectPoseMap getObjectPosesByProvider ( const std::string & providerName,
const DateTime & now )

◆ getObjectPosesInRange()

std::map< DateTime, objpose::ObjectPose > getObjectPosesInRange ( const wm::Entity & entity,
const DateTime & start,
const DateTime & end )
static

◆ getProviderInfo()

objpose::ProviderInfo getProviderInfo ( const std::string & providerName)

◆ init()

void init ( )
overridevirtual

Reimplemented from SpecializedCoreSegment.

◆ runUpdateObjectPoses()

void runUpdateObjectPoses ( )

◆ updateAttachement()

void updateAttachement ( ObjectPose & objectPose,
VirtualRobot::RobotPtr agent,
bool & synchronized ) const

If the object is attached to a robot node, update it according to the current robot state.

If there is no attachement info in objectPose itself, the internal data structure attachments is queried. If an attachment is found there, it is written into the given objectPose (thus, it is "cached" in the info objectPose).

Parameters
synchronizedIndicates whether the agent is already synchronized to the current time.

Friends And Related Symbol Documentation

◆ DetachVisitor

friend struct DetachVisitor
friend

Member Data Documentation

◆ decay

Decay decay

Decay model.

◆ objectFinder

ObjectFinder objectFinder

◆ providers

objpose::ProviderInfoMap providers

◆ robots

RobotsCache robots

The documentation for this class was generated from the following files: