17#ifndef AGXDATA_FRAMEIO_H
18#define AGXDATA_FRAMEIO_H
41 bool isActive()
const;
47 const Track *getTrack()
const;
91 const Frame::DataBindingRefVector& getDataBindings()
const;
110 void setTrack(
Track *track);
113 virtual Frame::DataBinding *createDataBinding(
const agx::Path& internalPath,
const agx::Path& externalPath);
118 Frame::DataBindingRefVector m_dataBindings;
198 void setEOF(
bool flag);
213 virtual void writeFrame(
const agxData::Frame *frame)
override;
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGX_DECLARE_VECTOR_TYPES(type)
The DebugFrameWriter prints the contents processed frames.
virtual ~DebugFrameWriter()
virtual void writeFrame(const agxData::Frame *frame) override
Convenience class that store a FrameReader and a FrameWriter.
FrameWriter * getWriter()
FrameChannel(FrameReader *reader, FrameWriter *writer)
FrameReader * getReader()
void addDataBinding(Frame::DataBinding *binding)
SerializedFrame::HeaderFormat getHeaderFormat() const
bool removeDataBinding(const agx::Path &internalPath, const agx::Path &externalPath)
void addDataBinding(const agx::Path &path, bool recursive=false)
Alias for addDataBinding(path, path)
void loadDataBindings(const agx::String &xmlFilePath)
Load bindings from an xml file.
void clearDataBindings()
Remove all data bindings.
bool loadDataBindingsJSON(const agx::String &jsonFilePath)
bool removeDataBinding(const agx::Path &path)
void addDataBinding(const agx::Path &internalPath, const agx::Path &externalPath, bool recursive=false)
Register a data binding.
const Frame::DataBindingRefVector & getDataBindings() const
void setHeaderFormat(SerializedFrame::HeaderFormat format)
The FrameReader reads frames from an external source.
virtual agx::UInt getFrameStride()
virtual agx::UInt getNextFrameIndex()
virtual bool jumpToTime(agx::Real time)
virtual agx::Real getTimeStep()
virtual void advanceToNextFrame()
virtual bool shouldExtract(const agx::Path &path)
virtual bool jumpToFrame(agx::UInt frameIndex)
Select which frame that should be returned by the next call to 'readFrame'.
virtual Frame * readFrame()=0
Reads the next frame from the stream and moves the stream forward one frame.
The FrameWriter writes frames to an external target.
virtual void writeFrame(const Frame *frame)=0
Export a frame the implementation-specific format.
virtual void forceFlush()
agx::UInt getNumWrittenFrames() const
virtual void endOfStream()
agx::Event1< const Frame * > WriteEvent
agx::UInt m_numWrittenFrames
An event with one argument.
agx::Object is a refcounted object with a name.
Representation of a path, a list of name components.
Base class providing referencing counted objects.
Contains classes for low level data storage for AGX.