|
AGX Dynamics 2.42.3.1
|
#include <Track.h>
Inheritance diagram for agxData::Track:Classes | |
| class | InputThread |
| class | OutputThread |
| class | Thread |
Public Member Functions | |
| Track (const agx::Name &name="Track") | |
| Track (FrameReader *input, FrameWriter *output) | |
| void | flush (bool force=false) |
| Flush all frames to the registered outputs. | |
| agx::UInt | getAccumulatedNumBytes () const |
| agx::UInt | getAccumulatedNumFrames () const |
| agx::Real | getActiveTimeRangeEnd () const |
| agx::Real | getActiveTimeRangeStart () const |
| agx::Real | getDataRate () const |
| bool | getEnableLooping () const |
| const ExceptionHandler & | getExceptionHandler () const |
| bool | getExpandFrames () const |
| agx::UInt | getFrameStride () const |
| FrameReader * | getInput () |
| const FrameReader * | getInput () const |
| agx::UInt | getMaxNumBytes () const |
| agx::UInt | getNumCachedBytes () const |
| agx::UInt | getNumCachedFrames () const |
| agx::UInt | getNumQueuedBytes () const |
| agx::UInt | getNumQueuedFrames () const |
| FrameWriter * | getOutput () |
| const FrameWriter * | getOutput () const |
| agx::RealModeEnum | getRealMode () const |
| bool | hasJumped () const |
| bool | isEOF () const |
| bool | isInputEOF () const |
| bool | isQueueEmpty () const |
| Determine if the track is empty. | |
| bool | isRunning () const |
| bool | jumpToFrame (agx::UInt frameIndex) |
| Select which frame that should be returned by the next call to 'readFrame'. | |
| bool | jumpToTime (agx::Real time) |
| void | loadCache (Track *other) |
| Load cached frames from another track. | |
| FrameRef | popFrame (bool blocking=true) |
| void | pushFrame (Frame *frame) |
| void | setActiveTimeRangeEnd (agx::Real time) |
| void | setActiveTimeRangeStart (agx::Real time) |
| void | setEnableLooping (bool flag) |
| Set to true to enable looping from the input. | |
| void | setExceptionHandler (const ExceptionHandler &handler) |
| Specify an exception handler. | |
| void | setExpandFrames (bool flag) |
| Set to true to expand all partial frames to keyframes. | |
| agx::Real | setFrameFrequency (agx::Real frequency) |
| Set the frame stride using a frequency, which is converted to a stride. | |
| void | setFrameStride (agx::UInt stride) |
| Set frame stride. | |
| void | setInput (FrameReader *input) |
| Set the input stream. | |
| void | setMaxNumBytes (agx::UInt numBytes) |
| Set the maximum number of bytes in the frame cache. | |
| void | setOutput (FrameWriter *output) |
| Specify the output stream. | |
| void | setRealMode (agx::RealModeEnum mode) |
| Set the real mode. | |
| void | start () |
| Start the track, producing frames from the input and consuming frames at the outputs. | |
| void | stop () |
| Stop frame production. | |
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::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) |
| const agx::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const |
| agx::Object * | getContext () |
| template<typename T > | |
| T * | getContext () |
| const agx::Object * | getContext () const |
| template<typename T > | |
| const T * | getContext () const |
| agx::UInt32 | getId () const |
| const agx::Name & | getImplementationName () const |
| agx::Model * | getModel () |
| const agx::Model * | getModel () const |
| const agx::Name & | getName () const |
| agx::Object * | getNextSibling () |
| const agx::Object * | getNextSibling () 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::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) |
| const agx::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) const |
| virtual agx::Object * | getResourceImpl (const agx::Path &path, agx::Model *model) |
| agx::Object * | getRootContext () |
| const agx::Object * | getRootContext () 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. | |
| Referenced & | operator= (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. | |
Static Public Member Functions | |
| static agx::Model * | ClassModel () |
Static Public Member Functions inherited from agx::Object | |
| static agx::Model * | ClassModel () |
| 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 Object * | load (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 Object * | load (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 Object * | load (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) |
Public Attributes | |
| FrameEvent | popFrameEvent |
| FrameEvent | pushFrameEvent |
Protected Member Functions | |
| virtual | ~Track () |
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 | |
Static Protected Member Functions inherited from agx::Referenced | |
| static DeleteHandler * | getDeleteHandler () |
| 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 |
Definition at line 35 of file agxData/Track.h.
| typedef agx::Callback2<Track *, std::exception&> agxData::Track::ExceptionHandler |
Definition at line 50 of file agxData/Track.h.
| typedef agx::Event1<Frame *> agxData::Track::FrameEvent |
Definition at line 45 of file agxData/Track.h.
| typedef agx::observer_ptr< const InputThread > agxData::Track::InputThreadConstObserver |
Definition at line 41 of file agxData/Track.h.
| typedef agx::ref_ptr< const InputThread > agxData::Track::InputThreadConstRef |
Definition at line 41 of file agxData/Track.h.
Definition at line 41 of file agxData/Track.h.
Definition at line 41 of file agxData/Track.h.
| typedef agx::observer_ptr< const OutputThread > agxData::Track::OutputThreadConstObserver |
Definition at line 42 of file agxData/Track.h.
| typedef agx::ref_ptr< const OutputThread > agxData::Track::OutputThreadConstRef |
Definition at line 42 of file agxData/Track.h.
Definition at line 42 of file agxData/Track.h.
Definition at line 42 of file agxData/Track.h.
| typedef agx::observer_ptr< const Thread > agxData::Track::ThreadConstObserver |
Definition at line 40 of file agxData/Track.h.
| typedef agx::ref_ptr< const Thread > agxData::Track::ThreadConstRef |
Definition at line 40 of file agxData/Track.h.
Definition at line 40 of file agxData/Track.h.
| typedef agx::ref_ptr< Thread > agxData::Track::ThreadRef |
Definition at line 40 of file agxData/Track.h.
| agxData::Track::Track | ( | const agx::Name & | name = "Track" | ) |
| agxData::Track::Track | ( | FrameReader * | input, |
| FrameWriter * | output | ||
| ) |
|
protectedvirtual |
|
static |
| void agxData::Track::flush | ( | bool | force = false | ) |
Flush all frames to the registered outputs.
Blocking.
| force | Wait for all outputs to consume currently cached frames if false |
| agx::UInt agxData::Track::getAccumulatedNumBytes | ( | ) | const |
Definition at line 467 of file agxData/Track.h.
| agx::UInt agxData::Track::getAccumulatedNumFrames | ( | ) | const |
Definition at line 468 of file agxData/Track.h.
| agx::Real agxData::Track::getActiveTimeRangeEnd | ( | ) | const |
| agx::Real agxData::Track::getActiveTimeRangeStart | ( | ) | const |
| agx::Real agxData::Track::getDataRate | ( | ) | const |
Definition at line 470 of file agxData/Track.h.
| bool agxData::Track::getEnableLooping | ( | ) | const |
Definition at line 461 of file agxData/Track.h.
| const ExceptionHandler & agxData::Track::getExceptionHandler | ( | ) | const |
| bool agxData::Track::getExpandFrames | ( | ) | const |
| agx::UInt agxData::Track::getFrameStride | ( | ) | const |
Definition at line 463 of file agxData/Track.h.
| FrameReader * agxData::Track::getInput | ( | ) |
Definition at line 453 of file agxData/Track.h.
| const FrameReader * agxData::Track::getInput | ( | ) | const |
Definition at line 454 of file agxData/Track.h.
| agx::UInt agxData::Track::getMaxNumBytes | ( | ) | const |
| agx::UInt agxData::Track::getNumCachedBytes | ( | ) | const |
| agx::UInt agxData::Track::getNumCachedFrames | ( | ) | const |
| agx::UInt agxData::Track::getNumQueuedBytes | ( | ) | const |
| agx::UInt agxData::Track::getNumQueuedFrames | ( | ) | const |
| FrameWriter * agxData::Track::getOutput | ( | ) |
Definition at line 456 of file agxData/Track.h.
| const FrameWriter * agxData::Track::getOutput | ( | ) | const |
Definition at line 457 of file agxData/Track.h.
| agx::RealModeEnum agxData::Track::getRealMode | ( | ) | const |
| bool agxData::Track::hasJumped | ( | ) | const |
Definition at line 464 of file agxData/Track.h.
| bool agxData::Track::isEOF | ( | ) | const |
Definition at line 460 of file agxData/Track.h.
| bool agxData::Track::isInputEOF | ( | ) | const |
Definition at line 459 of file agxData/Track.h.
| bool agxData::Track::isQueueEmpty | ( | ) | const |
Determine if the track is empty.
In other words, if the last frame has been read by the output. May give false negatives since the input may later realize that it doesn't have any more frames to add and at that time mark the track as empty.
| bool agxData::Track::isRunning | ( | ) | const |
| bool agxData::Track::jumpToFrame | ( | agx::UInt | frameIndex | ) |
Select which frame that should be returned by the next call to 'readFrame'.
If the jump fails for a track that uses a input frame reader that supports jumping, ///
| bool agxData::Track::jumpToTime | ( | agx::Real | time | ) |
| void agxData::Track::loadCache | ( | Track * | other | ) |
Load cached frames from another track.
| FrameRef agxData::Track::popFrame | ( | bool | blocking = true | ) |
| void agxData::Track::pushFrame | ( | Frame * | frame | ) |
| void agxData::Track::setActiveTimeRangeEnd | ( | agx::Real | time | ) |
| void agxData::Track::setActiveTimeRangeStart | ( | agx::Real | time | ) |
| void agxData::Track::setEnableLooping | ( | bool | flag | ) |
Set to true to enable looping from the input.
| void agxData::Track::setExceptionHandler | ( | const ExceptionHandler & | handler | ) |
Specify an exception handler.
| void agxData::Track::setExpandFrames | ( | bool | flag | ) |
Set to true to expand all partial frames to keyframes.
Set the frame stride using a frequency, which is converted to a stride.
| void agxData::Track::setFrameStride | ( | agx::UInt | stride | ) |
Set frame stride.
Default is 1.
| void agxData::Track::setInput | ( | FrameReader * | input | ) |
Set the input stream.
| void agxData::Track::setMaxNumBytes | ( | agx::UInt | numBytes | ) |
Set the maximum number of bytes in the frame cache.
| void agxData::Track::setOutput | ( | FrameWriter * | output | ) |
Specify the output stream.
| void agxData::Track::setRealMode | ( | agx::RealModeEnum | mode | ) |
Set the real mode.
| void agxData::Track::start | ( | ) |
Start the track, producing frames from the input and consuming frames at the outputs.
Should be called once the input and all outputs are set up. Outputs added after the track is started are not guaranteed to receive all frames.
| void agxData::Track::stop | ( | ) |
Stop frame production.
Will block until both the input- and output thread have ceased to run.
| FrameEvent agxData::Track::popFrameEvent |
Definition at line 47 of file agxData/Track.h.
| FrameEvent agxData::Track::pushFrameEvent |
Definition at line 46 of file agxData/Track.h.