fast::DataObject class

Abstract data object class.

All data which should flow between process objects should derive from this class.

Base classes

class Object
Base class for all FAST objects.

Derived classes

class Camera
template<class DataType>
class SimpleDataObject
class SpatialDataObject
Abstract base class for all spatial data objects.
class Transform
Data object for a 3D affine transform.
template<class DataType>
class SimpleDataObject
template<class DataType>
class SimpleDataObject

Public types

using pointer = std::shared_ptr<DataObject>

Public static functions

static auto getStaticNameOfClass() -> std::string

Constructors, destructors, conversion operators

DataObject()
~DataObject() virtual

Public functions

void setMetadata(std::string name, std::string value)
void setMetadata(std::unordered_map<std::string, std::string> metadata)
auto getMetadata(std::string name) const -> std::string
auto getMetadata() const -> std::unordered_map<std::string, std::string>
void deleteMetadata(std::string name)
auto getTimestamp() const -> uint64_t
void updateModifiedTimestamp()
auto getNameOfClass() const -> std::string pure virtual
auto getCreationTimestamp() const -> uint64_t
void setCreationTimestamp(uint64_t timestamp)
void setLastFrame(std::string streamer)
auto isLastFrame() -> bool
auto isLastFrame(std::string streamer) -> bool
void removeLastFrame(std::string streamer)
void clearLastFrame()
auto getLastFrame() -> std::unordered_set<std::string>
void setFrameData(std::string name, std::string value)
auto getFrameData(std::string name) -> std::string
auto getFrameData() -> std::unordered_map<std::string, std::string>
void accessFinished()

Protected functions

void free(ExecutionDevice::pointer device) pure virtual
void freeAll() pure virtual
void blockIfBeingWrittenTo()
void blockIfBeingAccessed()

Protected variables

std::mutex mDataIsBeingWrittenToMutex
std::condition_variable mDataIsBeingWrittenToCondition
bool mDataIsBeingWrittenTo
std::mutex mDataIsBeingAccessedMutex
std::condition_variable mDataIsBeingAccessedCondition
bool mDataIsBeingAccessed