6#include <iolink/FlagSet.h>
7#include <iolink/IOLinkAPI.h>
8#include <iolink/metadata/MetadataNode.h>
9#include <iolink/view/ImageView.h>
10#include <iolink/view/View.h>
28extern template class IOLINK_API_IMPORT FlagSet<MultiImageCapability>;
89 virtual std::shared_ptr<ImageView>
frame(
size_t index);
94 virtual std::shared_ptr<const MetadataNode>
metadata()
const;
103 virtual void addFrame(std::shared_ptr<ImageView> newFrame);
108 virtual void setFrame(
size_t index, std::shared_ptr<ImageView> frame);
Template class to handle a flags system from an enum.
Definition: FlagSet.h:43
Interface representing a multi-image view, i.e.
Definition: MultiImageView.h:50
virtual std::shared_ptr< ImageView > frame(size_t index)
Gets the ith frame of the set.
std::string toString() const
Return a string representation.
virtual void setFrame(size_t index, std::shared_ptr< ImageView > frame)
Set the frame at the given index (index must already exist, no allocation)
bool support(MultiImageCapabilitySet flags)
Checks if the MultiImageView supports the given capabilities.
Definition: MultiImageView.h:62
virtual void removeFrame(size_t index)
Remove the ith frame.
virtual std::shared_ptr< const MetadataNode > metadata() const
Returns the root node of the metadata attached to this multi-image.
virtual void addFrame(std::shared_ptr< ImageView > newFrame)
Add a new frame at the end of the set.
virtual MultiImageCapabilitySet capabilities() const =0
Return the capabilities of this multi image.
virtual void setMetadata(std::shared_ptr< MetadataNode > metadata)
Attach a new metadata node to the image.
virtual size_t frameCount() const
Returns the number of frames in the set.
Interface representing a generic view on data.
Definition: View.h:16
All IOLink symbols are enclosed in this namespace.
Definition: ArrayX.h:8
@ WRITE
Data can be written.
MultiImageCapability
Define capabilities of an MultiImageView.
Definition: MultiImageView.h:19