#include #include "SensorProvider.h" SensorProvider::SensorProvider(Channel *chan, btHingeConstraint *joint, int orient) : XProvider(chan) { m_joint = joint; m_orient = orient; } SensorProvider::~SensorProvider() { } btHingeConstraint *SensorProvider::getConstraint() { return m_joint; } int SensorProvider::getOrient() { return m_orient; } void SensorProvider::updatePre() { float angle = m_joint->getHingeAngle(); m_chan->write(&angle, MPI_FLOAT, 1); } void SensorProvider::packData(channelData *data, int id) { data->angle = m_joint->getHingeAngle(); data->maxAngle = m_joint->getUpperLimit(); data->minAngle = m_joint->getLowerLimit(); data->orient = m_orient; data->type = SENSOR; }