Class DdsKinematics2DBuffer¶
Defined in File DdsKinematics2DBuffer.hpp
Inheritance Relationships¶
Base Type¶
public DdsBuffer
(Class DdsBuffer)
Class Documentation¶
-
class DdsKinematics2DBuffer : public DdsBuffer¶
Buffer class for Kinematics2D or BatchKinematics2D.
This class subscribes to a DDS topic and makes sure the buffers are updated with incoming data.
When updating a QAbstractSeries with DdsBuffer::updateSeries() in QML scripts, the following mapping from DDS member variables to qml_enums::DimId enums are used.
QML enum | Variable
FKIN.T
time
FKIN.PosX
position.x
FKIN.PosY
position.y
FKIN.Speed
speed
FKIN.Course
course
aBuffer.updateSeries(someSeries, FKIN.T, FKIN.Course)
Public Functions
-
explicit DdsKinematics2DBuffer(QObject *parent = nullptr)¶
Constructor.
The initialization of DDS instances are deferred to an init() function, but it initializes the data buffers.
- Parameters
parent – [in] QObject pointer.
-
virtual ~DdsKinematics2DBuffer()¶
Destructor.
-
QPointF rangePosX() const
Property accessor for position x variable range.
-
QPointF rangePosY() const
Property accessor for position y variable range.
-
QPointF rangeCourse() const
Property accessor for course variable range.
-
QPointF rangeSpeed() const
Property accessor for speed variable range.
-
void init(QtToDds *dds, const QString &topic, const QString &id, int buffer_size, bool use_batch, bool with_listener = true)¶
Initializes DDS reader and connects Qt signals and slots.
Note
An instance of this class can only be buffer for a single DDS topic, so either type Kinematics2D or BatchKinematics2D.
- Parameters
dds – [in] Pointer to QtToDds instance.
topic – [in] Name of DDS topic for which to subscribe.
id – [in] Key identifier for the topic instance.
buffer_size – [in] Number of data points to store in the circular buffer.
use_batch – [in] If true, subscribe to BatchIdVec1d, otherwise IdVec1d.
with_listener – [in] Use DdsReaderListener callback to trigger eventHeard() signal.
Public Slots
Signals
-
void rangeChanged(QPointF range, qml_enums::DimId dim)¶
Triggered when the range has changed.
See class documentation for supported DimId enums.
Note
For time dimension, use DdsBuffer::rangeTminChanged() and DdsBuffer::rangeTmaxChanged().
- Parameters
range – [out] New range for the dimension.
dim – [out] The dimension in question.
-
void eventHeard()¶
DdsReaderListener calls this signal when there is data available on the subscribed topic.
If init() is called with_listener=true, eventHeard() will be connected to the slot updateBuffers().
-
void newData()¶
Signal whenever new data is added to the buffers.
-
explicit DdsKinematics2DBuffer(QObject *parent = nullptr)¶