Go to the documentation of this file.
9 #include <VisionX/libraries/armem/vision/images/core/aron/ImageDepth.aron.generated.h>
10 #include <VisionX/libraries/armem/vision/images/core/aron/ImageRGB.aron.generated.h>
15 namespace wm = armem::server::wm;
21 armarx::ComponentPlugin(parent, prefix)
25 properties(
std::make_unique<Properties>()),
50 simox::alg::join(simox::alg::multi_to_string(
rgbIndices)),
51 "Indices of RGB images in provided images");
53 simox::alg::join(simox::alg::multi_to_string(
depthIndices)),
54 "Indices of RGB images in provided images");
67 properties->define(*defs);
83 ARMARX_INFO <<
"Memory image structure: \n" << imageToArMem->summarizeStructure();
98 visionx::armem_images::arondto::ImageRGB::ToAronType());
99 cs.setMaxHistorySize(128);
101 wm::ProviderSegment& ps = cs.addProviderSegment(
parent().getName());
102 wm::Entity& entity = ps.addEntity(
"image");
103 imageToArMem->addImagesRGB(entity.id(), imageIndices);
112 visionx::armem_images::arondto::ImageDepth::ToAronType());
113 cs.setMaxHistorySize(128);
115 wm::ProviderSegment& ps = cs.addProviderSegment(
parent().getName());
116 wm::Entity& entity = ps.addEntity(
"image");
117 imageToArMem->addImagesDepth(entity.id(), imageIndices);
124 imageToArMem->useImageBuffers(inputImages, timeProvided);
131 imageToArMem->usePixelBuffers(inputPixelBuffers, timeProvided);
armarx::armem::server::wm::Entity & addDepthImagesEntity(const std::vector< size_t > &imageIndices)
Plugin(armarx::ManagedIceObject &parent, std::string prefix)
void usePixelBuffers(void **inputPixelBuffers, armarx::armem::Time timeProvided)
virtual void postOnInitComponent() override
std::vector< size_t > rgbIndices
MemoryToIceAdapter iceAdapter
Helps connecting memory to ice. Used to handle Ice callbacks.
void addPluginDependency(ManagedIceObjectPlugin *dependedOn)
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
A bundle of updates to be sent to the memory.
ManagedIceObject & parent()
void read(armarx::PropertyUser &properties)
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
static std::vector< size_t > getIndices(armarx::PropertyUser &properties, const std::string &propertyName)
const armarx::armem::MemoryID depthImagesCoreSegmentID
const armarx::armem::MemoryID rgbImagesCoreSegmentID
virtual ~Plugin() override
ImageFormatInfo getImageFormat(const Ice::Current &c=Ice::emptyCurrent) override
Returns the entire image format info struct via Ice.
PluginT * addPlugin(const std::string prefix="", ParamsT &&...params)
void useImageBuffers(CByteImage **inputImages, armarx::armem::Time timeProvided)
std::vector< size_t > depthIndices
void define(armarx::PropertyDefinitionContainer &defs)
CoreSegmentT & addCoreSegment(const std::string &name, aron::type::ObjectPtr coreSegmentType=nullptr, const std::vector< PredictionEngine > &predictionEngines={})
Add an empty core segment with the given name, type and prediction engines.
PropertyDefinitionContainer.
Baseclass for all ArmarX ManagedIceObjects requiring properties.
armarx::armem::server::wm::Entity & addRgbImagesEntity(const std::vector< size_t > &imageIndices)
virtual void postCreatePropertyDefinitions(armarx::PropertyDefinitionsPtr &properties) override
Represents a point in time.
ImageProvider abstract class defines a component which provide images via ice or shared memory.
The ManagedIceObject is the base class for all ArmarX objects.
virtual void postOnConnectComponent() override
Allows to convert multiple CByteImages to Aron images and memory commits.
std::string getName() const
Retrieve name of object.
server::wm::Memory workingMemory
The actual memory.
Abstract PropertyUser class.
data::CommitResult commitLocking(const data::Commit &commitIce, Time timeArrived)
This file offers overloads of toIce() and fromIce() functions for STL container types.
virtual void preOnInitComponent() override