Skip to content

Commit 07174d7

Browse files
authored
Merge pull request #1291 from IKhonakhbeeva/rangeSensor
Fix collision box for range sensor
2 parents 69a20e2 + 79a3eb0 commit 07174d7

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

plugins/robots/common/twoDModel/src/engine/model/robotModel.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
#include <kitBase/robotModel/robotParts/encoderSensor.h>
2424
#include <kitBase/robotModel/robotParts/motor.h>
25+
#include <kitBase/robotModel/robotParts/rangeSensor.h>
2526

2627
#include "twoDModel/engine/model/constants.h"
2728
#include "twoDModel/engine/model/settings.h"
@@ -279,7 +280,13 @@ void RobotModel::setPhysicalEngine(physics::PhysicsEngineBase &engine)
279280
QRectF RobotModel::sensorRect(const PortInfo &port, const QPointF sensorPos) const
280281
{
281282
if (!mSensorsConfiguration.type(port).isNull()) {
283+
auto device = mSensorsConfiguration.type(port);
282284
const QSizeF size = mRobotModel.sensorImageRect(mSensorsConfiguration.type(port)).size();
285+
// We don't need part with radiating waves from range sensor in bounding rect of sensor
286+
if (device.isA<robotParts::RangeSensor>()) {
287+
return QRectF(sensorPos.x() - size.width()/2, sensorPos.y() - size.height()/2
288+
, size.width()/2, size.height());
289+
}
283290
return QRectF(sensorPos - QPointF(size.width() / 2, size.height() / 2), size);
284291
}
285292

0 commit comments

Comments
 (0)