19#ifndef AGXDATA_HDF5_TRACK_H
20#define AGXDATA_HDF5_TRACK_H
63 virtual bool jumpToFrame(
agx::UInt frameIndex )
override;
68 virtual bool jumpToTime(
agx::Real time )
override;
75 virtual ~Hdf5FrameReader();
77 virtual agxData::Frame* readFrame(
agx::UInt frameIndex )
override;
80 bool isValidFrame(
agx::UInt frameIndex )
const;
84 SerializedFrame::Component* createFrame( H5::Group& frameNode );
85 SerializedFrame::Component* createComponent( H5::Group& componentNode,
const H5std_string& name );
86 SerializedFrame::EntityStorage* createEntityStorage( H5::Group& storageNode,
const H5std_string& name );
87 SerializedFrame::Node* createBuffer( H5::Group& bufferNode,
const H5std_string& name );
88 SerializedFrame::Node* createValue( H5::Group& valueNode,
const H5std_string& name );
99 agxData::Hdf5Journal::Session* m_session;
110 virtual void writeFrame(
const agxData::Frame* frame )
override;
112 virtual const JournalArchive::Session* getSession()
const override;
117 virtual ~Hdf5FrameWriter();
120 static void write( H5::CommonFG& parent, SerializedFrame::EntityStorage* storage );
121 static void write( H5::CommonFG& parent, SerializedFrame::CustomBuffer* buffer );
122 static void write( H5::CommonFG& parent, SerializedFrame::PartialBuffer *buffer );
123 static void write( H5::CommonFG& parent, SerializedFrame::Buffer* buffer );
124 static void write( H5::CommonFG& parent, SerializedFrame::Value* value );
125 static void write( H5::CommonFG& parent, SerializedFrame::Component* component );
126 static void write( H5::CommonFG& parent, SerializedFrame::Node* node );
135 agxData::Hdf5Journal::SessionRef m_session;
#define AGX_DECLARE_POINTER_TYPES(type)
Helper class for the FrameReaders that are backed by a file on disk.
virtual Frame * readFrame() override
Reads the next frame from disk using the virtual readFrame(UInt) method.
Base class for the FrameReaders that are backed by a file on disk.
Session(const agx::Name &name)
Representation of a path, a list of name components.
Contains classes for low level data storage for AGX.
bool AGXPHYSICS_EXPORT write(const std::string &filename, const agxStream::Serializable *data)
Write a Serializable object to a file.