84 template<
Field... field>
119 virtual
void result( const
CallbackData& data ) override;
120 virtual
void cleanup() override;
128 size_t m_elementSize{ 0u };
129 bool m_hasUnreadData{
false };
130 BinaryOutputBuffer m_output{};
138 ( this->
add( field ), ... );
143 #pragma pack(push, 1)
144 struct TriaxialXYZValue
148 inline TriaxialXYZValue() {}
149 inline TriaxialXYZValue(
const agx::Vec3& v )
155 inline TriaxialXYZValue(
const TriaxialXYZValue& ) =
default;
156 inline TriaxialXYZValue& operator=(
const TriaxialXYZValue& ) =
default;
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGXSTREAM_DECLARE_SERIALIZABLE(T)
Use this in a Serializable class to add the required methods Important: Use full namespace in the dec...
Buffer used for sensor output of a wide range of output element types.
Common interface for sensor output data.
System node is a separate step/operation in an execution tree representing a sensor (or such) in a se...
Triaxial sensor output data where TriaxialOutput::Field is used to define the data available.
virtual size_t getElementSize() const override
"Element size" is the summed data size of the currently added fields.
std::vector< Field > FieldVector
static size_t sizeOf(Field field)
virtual bool hasUnreadData(bool markAsRead=true) override
TriaxialOutput()=default
Default constructor.
void build()
Add one or more fields, build a matching data structure.
static const char * getFieldName(Field field)
virtual const BinaryOutputBuffer & getData() override
TriaxialOutput & add(Field field)
Add new field.
@ Y_VALUE_F64
1x 64-bit floating point y-axis output.
@ Z_VALUE_F64
1x 64-bit floating point z-axis output.
@ X_VALUE_F64
1x 64-bit floating point x-axis output.
#define DOXYGEN_END_INTERNAL_BLOCK()
#define DOXYGEN_START_INTERNAL_BLOCK()
The agxSensor namespace contains components to model real-time sensors connected to the physics of AG...
Vec3T< Real > Vec3
The object holding 3 dimensional vectors and providing basic arithmetic.