Go to the documentation of this file.
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>
17 namespace wm = armem::server::wm;
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);
85 ARMARX_INFO <<
"Memory image structure: \n" << imageToArMem->summarizeStructure();
100 visionx::armem_images::arondto::ImageRGB::ToAronType());
101 cs.setMaxHistorySize(128);
103 wm::ProviderSegment& ps = cs.addProviderSegment(
parent().getName());
104 wm::Entity& entity = ps.addEntity(
"image");
105 imageToArMem->addImagesRGB(entity.id(), imageIndices);
114 visionx::armem_images::arondto::ImageDepth::ToAronType());
115 cs.setMaxHistorySize(128);
117 wm::ProviderSegment& ps = cs.addProviderSegment(
parent().getName());
118 wm::Entity& entity = ps.addEntity(
"image");
119 imageToArMem->addImagesDepth(entity.id(), imageIndices);
126 imageToArMem->useImageBuffers(inputImages, timeProvided);
133 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...
PluginT * addPlugin(const std::string prefix="", ParamsT &&... params)
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.
void useImageBuffers(CByteImage **inputImages, armarx::armem::Time timeProvided)
std::vector< size_t > depthIndices
client::plugins::ComponentPlugin ComponentPlugin
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.
std::enable_if<!std::is_array< T >::value, std::unique_ptr< T > >::type make_unique(Args &&...args)
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