Class VisionaryData

Inheritance Relationships

Derived Type

Class Documentation

class VisionaryData

Subclassed by visionary::SafeVisionaryData

Public Functions

VisionaryData()
~VisionaryData()
virtual void generatePointCloud(std::vector<PointXYZ> &pointCloud) = 0
void transformPointCloud(std::vector<PointXYZ> &pointCloud) const
int getHeight() const
int getWidth() const
uint32_t getFrameNum() const
uint64_t getTimestamp() const
uint64_t getTimestampMS() const
uint64_t getSegmentTimestampMS(uint8_t segNum) const
const CameraParameters &getCameraParameters() const
virtual bool parseXML(const std::string &xmlString, uint32_t changeCounter) = 0
virtual bool parseBinaryData(std::vector<uint8_t>::iterator inputBuffer, size_t length) = 0
inline virtual bool parseDepthMap(std::vector<uint8_t>::iterator itBuf, size_t length)

Parse the device status from the Blob segment “DepthMap”.

Returns:

Returns true when parsing was successful.

inline virtual bool parseRoiData(std::vector<uint8_t>::iterator itBuf, size_t length)

Parse the ROI data from the Blob segment “ROI”.

Returns:

Returns true when parsing was successful.

inline virtual bool parseDeviceStatusData(std::vector<uint8_t>::iterator itBuf, size_t length)

Parse the Device status data from the Blob segment “Device Status”

Returns:

Returns true when parsing was successful.

inline virtual bool parseLocalIOsData(std::vector<uint8_t>::iterator itBuf, size_t length)

Parse the Local I/Os data from the Blob segment “Local I/Os”

Returns:

Returns true when parsing was successful.

inline virtual bool parseFieldInformationData(std::vector<uint8_t>::iterator itBuf, size_t length)

Parse the Field Information data from the Blob segment “Field Information”

Returns:

Returns true when parsing was successful.

inline virtual bool parseLogicSignalsData(std::vector<uint8_t>::iterator itBuf, size_t length)

Parse the Logic Signals data from the Blob segment “Logic Signals”

Returns:

Returns true when parsing was successful.

inline virtual bool parseIMUData(std::vector<uint8_t>::iterator itBuf, size_t length)

Parse the IMU data from the Blob segment “IMU”

Returns:

Returns true when parsing was successful.

inline virtual void clearData(uint32_t changedCounter)

Clears the data from the last Blob in case the corresponding segment is not available any more. In case the data segment “DepthMap” is not available, use the given changed counter as framenumber. The changed counter is incremented each Blob and is identical to the frame number.

Parameters:

changedCounter[in] counter which shall be used as frame number

inline virtual DataSetsActive getDataSetsActive()

Gets the structure with the active segments.

Returns:

Returns the structure with the active segments

Protected Types

enum ImageType

Values:

enumerator UNKNOWN
enumerator PLANAR
enumerator RADIAL

Protected Functions

int getItemLength(std::string dataType)
void preCalcCamInfo(const ImageType &type)
void generatePointCloud(const std::vector<uint16_t> &map, const ImageType &imgType, std::vector<PointXYZ> &pointCloud)

Protected Attributes

CameraParameters m_cameraParams
float m_scaleZ

Factor to convert unit of distance image to mm.

uint_fast32_t m_changeCounter

Change counter to detect changes in XML.

uint_fast32_t m_frameNum

Dataset Version 1: incremented on each received image Dataset Version 2: framenumber received with dataset

uint64_t m_blobTimestamp
uint64_t m_segmentTimestamp[TOTAL_SEGMENT_NUMBER]
ImageType m_preCalcCamInfoType
std::vector<PointXYZ> m_preCalcCamInfo