27#include <MemoryX/interface/core/EntityBase.h>
28#include <MemoryX/interface/memorytypes/MemoryEntities.h>
29#include <MemoryX/interface/memorytypes/MemorySegments.h>
37 virtual public EnvironmentalPrimitiveSegmentBase
42 EnvironmentalPrimitiveBaseList
44 PlanePrimitiveBaseList
45 getPlanes(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
46 SpherePrimitiveBaseList
47 getSpheres(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
48 CylinderPrimitiveBaseList
49 getCylinders(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
50 BoxPrimitiveBaseList
getBoxes(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
52 EnvironmentalPrimitiveBasePtr
54 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
57 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
58 SpherePrimitiveBasePtr
60 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
61 CylinderPrimitiveBasePtr
63 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
64 BoxPrimitiveBasePtr
getBoxById(
const std::string&
id,
65 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
68 const armarx::TimestampBasePtr&
timestamp,
69 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
70 PlanePrimitiveBaseList
72 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
73 SpherePrimitiveBaseList
75 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
76 CylinderPrimitiveBaseList
78 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
81 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
84 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
85 PlanePrimitiveBaseList
87 SpherePrimitiveBaseList
89 CylinderPrimitiveBaseList
95 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
97 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
100 template <
typename EntityPtrType>
103 const ::Ice::Current&
c = Ice::emptyCurrent)
const
105 Ice::Long mostRecentTimestamp = 0;
107 for (
auto& p : primitives)
109 Ice::Long t = p->getTime(
c)->timestamp;
110 if (t > mostRecentTimestamp)
112 mostRecentTimestamp = t;
116 return mostRecentTimestamp;
#define ARMARXCOMPONENT_IMPORT_EXPORT
Ice::Long getMostRecentTimestamp(const std::vector< EntityPtrType > &primitives, const ::Ice::Current &c=Ice::emptyCurrent) const
EnvironmentalPrimitiveBasePtr getEnvironmentalPrimitiveById(const std::string &id, const ::Ice::Current &c=Ice::emptyCurrent) const override
EnvironmentalPrimitiveBaseList getEnvironmentalPrimitives(const ::Ice::Current &c=Ice::emptyCurrent) const override
CylinderPrimitiveBaseList getMostRecentCylinders(const ::Ice::Current &c=Ice::emptyCurrent) const override
CylinderPrimitiveBasePtr getCylinderById(const std::string &id, const ::Ice::Current &c=Ice::emptyCurrent) const override
SpherePrimitiveBaseList getSpheresByTimestamp(const armarx::TimestampBasePtr ×tamp, const ::Ice::Current &c=Ice::emptyCurrent) const override
PlanePrimitiveBasePtr getPlaneById(const std::string &id, const ::Ice::Current &c=Ice::emptyCurrent) const override
PlanePrimitiveBaseList getPlanesByTimestamp(const armarx::TimestampBasePtr ×tamp, const ::Ice::Current &c=Ice::emptyCurrent) const override
void removeOlderPrimitives(const armarx::TimestampBasePtr &olderThan, const ::Ice::Current &c=Ice::emptyCurrent) override
SpherePrimitiveBaseList getSpheres(const ::Ice::Current &c=Ice::emptyCurrent) const override
EnvironmentalPrimitiveSegment()
EnvironmentalPrimitiveBaseList getMostRecentEnvironmentalPrimitives(const ::Ice::Current &c=Ice::emptyCurrent) const override
CylinderPrimitiveBaseList getCylindersByTimestamp(const armarx::TimestampBasePtr ×tamp, const ::Ice::Current &c=Ice::emptyCurrent) const override
BoxPrimitiveBasePtr getBoxById(const std::string &id, const ::Ice::Current &c=Ice::emptyCurrent) const override
void removePrimitivesByTimestamp(const armarx::TimestampBasePtr ×tamp, const ::Ice::Current &c=Ice::emptyCurrent) override
BoxPrimitiveBaseList getMostRecentBoxes(const ::Ice::Current &c=Ice::emptyCurrent) const override
BoxPrimitiveBaseList getBoxesByTimestamp(const armarx::TimestampBasePtr ×tamp, const ::Ice::Current &c=Ice::emptyCurrent) const override
CylinderPrimitiveBaseList getCylinders(const ::Ice::Current &c=Ice::emptyCurrent) const override
SpherePrimitiveBaseList getMostRecentSpheres(const ::Ice::Current &c=Ice::emptyCurrent) const override
SpherePrimitiveBasePtr getSphereById(const std::string &id, const ::Ice::Current &c=Ice::emptyCurrent) const override
EnvironmentalPrimitiveBaseList getEnvironmentalPrimitivesByTimestamp(const armarx::TimestampBasePtr ×tamp, const ::Ice::Current &c=Ice::emptyCurrent) const override
PlanePrimitiveBaseList getMostRecentPlanes(const ::Ice::Current &c=Ice::emptyCurrent) const override
BoxPrimitiveBaseList getBoxes(const ::Ice::Current &c=Ice::emptyCurrent) const override
PlanePrimitiveBaseList getPlanes(const ::Ice::Current &c=Ice::emptyCurrent) const override
WorkingMemoryEntitySegment()
IceInternal::Handle< EnvironmentalPrimitiveSegment > EnvironmentalPrimitiveSegmentPtr