AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agxData::FrameIO Class Reference

#include <FrameIO.h>

+ Inheritance diagram for agxData::FrameIO:

Public Member Functions

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

 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

Definition at line 35 of file FrameIO.h.

Constructor & Destructor Documentation

◆ FrameIO()

agxData::FrameIO::FrameIO ( bool  active)
protected

◆ ~FrameIO()

virtual agxData::FrameIO::~FrameIO ( )
protectedvirtual

Member Function Documentation

◆ addDataBinding() [1/3]

void agxData::FrameIO::addDataBinding ( const agx::Path internalPath,
const agx::Path externalPath,
bool  recursive = false 
)

Register a data binding.

The external path is implementation specific. The internal path is where the data element is stored in the frame.

Eg. a data buffer may be imported from disk using the external path "RigidBody.velocity", and then pushed to a data track with the internal path "foo". The corresponding outputs connected to the track must then bind to "foo" to retrieve the data.

◆ addDataBinding() [2/3]

void agxData::FrameIO::addDataBinding ( const agx::Path path,
bool  recursive = false 
)

Alias for addDataBinding(path, path)

◆ addDataBinding() [3/3]

void agxData::FrameIO::addDataBinding ( Frame::DataBinding *  binding)
protected

◆ clearDataBindings()

void agxData::FrameIO::clearDataBindings ( )

Remove all data bindings.

◆ getDataBindings()

const Frame::DataBindingRefVector & agxData::FrameIO::getDataBindings ( ) const
Returns
The list of registered data bindings. If no data binding is registered the Reader/Writer implementation is supposed to transfer everything

Definition at line 251 of file FrameIO.h.

◆ getHeaderFormat()

SerializedFrame::HeaderFormat agxData::FrameIO::getHeaderFormat ( ) const

Definition at line 252 of file FrameIO.h.

◆ getTrack() [1/2]

Track * agxData::FrameIO::getTrack ( )
Returns
The track which the IO implementation is connected to.

Definition at line 248 of file FrameIO.h.

◆ getTrack() [2/2]

const Track * agxData::FrameIO::getTrack ( ) const

Definition at line 249 of file FrameIO.h.

◆ isActive()

bool agxData::FrameIO::isActive ( ) const
Returns
True if the reader is active. Otherwise a separate thread will pull frames from the reader.

Definition at line 247 of file FrameIO.h.

◆ loadDataBindings()

void agxData::FrameIO::loadDataBindings ( const agx::String xmlFilePath)

Load bindings from an xml file.

Syntax example:

<DataFrame>
  <DataBinding internal="foo" external="bar"/>
  <DataBinding path="baz"/>
</DataFrame>

◆ loadDataBindingsJSON()

bool agxData::FrameIO::loadDataBindingsJSON ( const agx::String jsonFilePath)

◆ removeDataBinding() [1/2]

bool agxData::FrameIO::removeDataBinding ( const agx::Path internalPath,
const agx::Path externalPath 
)

◆ removeDataBinding() [2/2]

bool agxData::FrameIO::removeDataBinding ( const agx::Path path)

◆ setHeaderFormat()

void agxData::FrameIO::setHeaderFormat ( SerializedFrame::HeaderFormat  format)

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