AGX Dynamics 2.42.2.1
Loading...
Searching...
No Matches
agxData::FrameReader Class Referenceabstract

The FrameReader reads frames from an external source. More...

#include <FrameIO.h>

+ Inheritance diagram for agxData::FrameReader:

Public Member Functions

 FrameReader (bool active)
 
virtual void advanceToNextFrame ()
 
virtual agx::UInt getFrameStride ()
 
virtual agx::UInt getNextFrameIndex ()
 
virtual agx::Real getTimeStep ()
 
virtual bool jumpToFrame (agx::UInt frameIndex)
 Select which frame that should be returned by the next call to 'readFrame'.
 
virtual bool jumpToTime (agx::Real time)
 
virtual Frame * readFrame ()=0
 Reads the next frame from the stream and moves the stream forward one frame.
 
virtual bool shouldExtract (const agx::Path &path)
 
- Public Member Functions inherited from agxData::FrameIO
void addDataBinding (const agx::Path &internalPath, const agx::Path &externalPath, bool recursive=false)
 Register a data binding.
 
void addDataBinding (const agx::Path &path, bool recursive=false)
 Alias for addDataBinding(path, path)
 
void clearDataBindings ()
 Remove all data bindings.
 
const Frame::DataBindingRefVector & getDataBindings () const
 
SerializedFrame::HeaderFormat getHeaderFormat () const
 
TrackgetTrack ()
 
const TrackgetTrack () const
 
bool isActive () const
 
void loadDataBindings (const agx::String &xmlFilePath)
 Load bindings from an xml file.
 
bool loadDataBindingsJSON (const agx::String &jsonFilePath)
 
bool removeDataBinding (const agx::Path &internalPath, const agx::Path &externalPath)
 
bool removeDataBinding (const agx::Path &path)
 
void setHeaderFormat (SerializedFrame::HeaderFormat format)
 
- Public Member Functions inherited from agx::Object
 Object (const Name &name=Name(), Model *model=Object::ClassModel())
 
void addListener (EventListener *listener)
 
virtual void buildNavigationTree (agxJson::Value &eNode) const
 
virtual void configure (TiXmlElement *)
 
agx::String fullName () const
 
agx::String fullPath () const
 
agx::String fullPath (const agx::Object *root) const
 
template<typename T >
T * getAutoScopedResource (const agx::Path &path)
 
template<typename T >
const T * getAutoScopedResource (const agx::Path &path) const
 
agx::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const
 
agx::ObjectgetContext ()
 
template<typename T >
T * getContext ()
 
const agx::ObjectgetContext () const
 
template<typename T >
const T * getContext () const
 
agx::UInt32 getId () const
 
const agx::NamegetImplementationName () const
 
agx::ModelgetModel ()
 
const agx::ModelgetModel () const
 
const agx::NamegetName () const
 
agx::ObjectgetNextSibling ()
 
const agx::ObjectgetNextSibling () const
 
agx::Path getPath () const
 
agx::Path getPath (const agx::Object *root) const
 
template<typename T >
T * getResource (const agx::Path &path)
 
template<typename T >
const T * getResource (const agx::Path &path) const
 
agx::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr) const
 
virtual agx::ObjectgetResourceImpl (const agx::Path &path, agx::Model *model)
 
agx::ObjectgetRootContext ()
 
const agx::ObjectgetRootContext () const
 
bool hasListener (EventListener *listener)
 
bool hasParent (const agx::Object *node) const
 
bool isUnique () const
 
virtual void printSubtree () const
 
virtual void rebind ()
 
void removeListener (EventListener *listener)
 
virtual void save (TiXmlElement *) const
 
virtual void setContext (agx::Object *context)
 
void setId (UInt32 id)
 
void setModel (agx::Model *model)
 Set the object model (handled automatically).
 
void setName (const agx::Name &name)
 Set the name of the object.
 
virtual void snapshot (TiXmlNode *, const String &) const
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Protected Member Functions

virtual ~FrameReader ()
 
- Protected Member Functions inherited from agxData::FrameIO
 FrameIO (bool active)
 
virtual ~FrameIO ()
 
void addDataBinding (Frame::DataBinding *binding)
 
- Protected Member Functions inherited from agx::Object
virtual ~Object ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Additional Inherited Members

- Public Types inherited from agx::Object
typedef agx::observer_ptr< const EventEventConstObserver
 
typedef agx::ref_ptr< const EventEventConstRef
 
typedef agx::observer_ptr< EventEventObserver
 
typedef agx::Vector< EventObserverEventObserverVector
 
typedef agx::VectorPOD< Event * > EventPtrVector
 
typedef agx::ref_ptr< EventEventRef
 
typedef agx::Vector< EventRefEventRefVector
 
- Static Public Member Functions inherited from agx::Object
static agx::ModelClassModel ()
 
static agx::String generateName (const agx::String &bindPath)
 
static const HashSet< Object * > & getActiveObjects ()
 
static bool getEnableRebind ()
 Should rebinding be allowed? Right now a global setting.
 
static Objectload (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
static Objectload (const String &path, Device *device, const String &type="", size_t instance=0)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type="", size_t instance=0)
 
static void load (const String &path, Device *device, ObjectPtrVector &loadedObjects)
 
static Objectload (TiXmlElement *eObject, Device *device)
 
template<typename T >
static T * load (TiXmlElement *eObject, Device *device)
 
static TiXmlDocument openDocument (const String &path)
 
static void setEnableRebind (bool flag)
 Sets if rebinding of objects should be allowed (Right now a global setting).
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

The FrameReader reads frames from an external source.

Definition at line 126 of file FrameIO.h.

Constructor & Destructor Documentation

◆ FrameReader()

agxData::FrameReader::FrameReader ( bool  active)

◆ ~FrameReader()

virtual agxData::FrameReader::~FrameReader ( )
protectedvirtual

Member Function Documentation

◆ advanceToNextFrame()

virtual void agxData::FrameReader::advanceToNextFrame ( )
virtual

Reimplemented in agxData::DiskFrameReader.

◆ getFrameStride()

virtual agx::UInt agxData::FrameReader::getFrameStride ( )
virtual

◆ getNextFrameIndex()

virtual agx::UInt agxData::FrameReader::getNextFrameIndex ( )
virtual

Reimplemented in agxData::DiskFrameReader.

◆ getTimeStep()

virtual agx::Real agxData::FrameReader::getTimeStep ( )
virtual

◆ jumpToFrame()

virtual bool agxData::FrameReader::jumpToFrame ( agx::UInt  frameIndex)
virtual

Select which frame that should be returned by the next call to 'readFrame'.

Returns
false if jumping is not allowed

Reimplemented in agxNet::TcpSocketFrameReader, and agxData::FileFrameReader.

◆ jumpToTime()

virtual bool agxData::FrameReader::jumpToTime ( agx::Real  time)
virtual

Reimplemented in agxData::FileFrameReader.

◆ readFrame()

virtual Frame * agxData::FrameReader::readFrame ( )
pure virtual

Reads the next frame from the stream and moves the stream forward one frame.

The Stream will perform memory allocations for the buffer contents, but the data is owned by the returned Frame instance.

Returns
The next frame in the stream. nullptr if end-of-stream.

Implemented in agxNet::TcpSocketFrameReader, agx::StatisticsFrameReader, agxData::DiskFrameReader, and agxSDK::SimulationFrameReader.

◆ shouldExtract()

virtual bool agxData::FrameReader::shouldExtract ( const agx::Path path)
virtual

Reimplemented in agxData::DiskFrameReader.


The documentation for this class was generated from the following file: