3#include <SimoxUtility/algorithm/string/string_tools.h>
11#include <VisionX/libraries/armem/vision/images/core/aron/ImageDepth.aron.generated.h>
12#include <VisionX/libraries/armem/vision/images/core/aron/ImageRGB.aron.generated.h>
27 properties(
std::make_unique<Properties>()),
52 simox::alg::join(simox::alg::multi_to_string(
rgbIndices)),
53 "Indices of RGB images in provided images");
55 simox::alg::join(simox::alg::multi_to_string(
depthIndices)),
56 "Indices of RGB images in provided images");
69 properties->define(*defs);
76 serverPlugin->workingMemory.name() =
parent.getName();
85 ARMARX_INFO <<
"Memory image structure: \n" << imageToArMem->summarizeStructure();
100 visionx::armem_images::arondto::ImageRGB::ToAronType());
105 imageToArMem->addImagesRGB(entity.
id(), imageIndices);
114 visionx::armem_images::arondto::ImageDepth::ToAronType());
119 imageToArMem->addImagesDepth(entity.
id(), imageIndices);
126 imageToArMem->useImageBuffers(inputImages, timeProvided);
133 imageToArMem->usePixelBuffers(inputPixelBuffers, timeProvided);
140 serverPlugin->iceAdapter.commitLocking(commit);
Baseclass for all ArmarX ManagedIceObjects requiring properties.
void addPluginDependency(ManagedIceObjectPlugin *dependedOn)
ManagedIceObject & parent()
PluginT * addPlugin(const std::string prefix="", ParamsT &&... params)
const std::string & prefix() const
The ManagedIceObject is the base class for all ArmarX objects.
PropertyDefinitionContainer.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
Abstract PropertyUser class.
ProviderSegment & addProviderSegment(const std::string &name, Args... args)
Entity & addEntity(const std::string &name, Args... args)
void setMaxHistorySize(long maxSize)
Sets the maximum history size of entities in this container.
ImageProvider abstract class defines a component which provide images via ice or shared memory.
ImageFormatInfo getImageFormat(const Ice::Current &c=Ice::emptyCurrent) override
Returns the entire image format info struct via Ice.
Allows to convert multiple CByteImages to Aron images and memory commits.
virtual void postOnInitComponent() override
virtual void preOnInitComponent() override
virtual void postOnConnectComponent() override
armarx::armem::server::wm::Entity & addDepthImagesEntity(const std::vector< size_t > &imageIndices)
virtual ~Plugin() override
void useImageBuffers(CByteImage **inputImages, armarx::armem::Time timeProvided)
armarx::armem::server::wm::Entity & addRgbImagesEntity(const std::vector< size_t > &imageIndices)
Plugin(armarx::ManagedIceObject &parent, std::string prefix)
void usePixelBuffers(void **inputPixelBuffers, armarx::armem::Time timeProvided)
virtual void postCreatePropertyDefinitions(armarx::PropertyDefinitionsPtr &properties) override
#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...
#define ARMARX_INFO
The normal logging level.
armarx::core::time::DateTime Time
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
const armarx::armem::MemoryID rgbImagesCoreSegmentID
const armarx::armem::MemoryID depthImagesCoreSegmentID
A bundle of updates to be sent to the memory.
static std::vector< size_t > getIndices(armarx::PropertyUser &properties, const std::string &propertyName)
std::vector< size_t > rgbIndices
void define(armarx::PropertyDefinitionContainer &defs)
void read(armarx::PropertyUser &properties)
std::vector< size_t > depthIndices