Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class StartPosition;
}

namespace model {
class TwoDRobotModelParameters;

class MetricCoordinateSystem;
class Settings;
namespace physics {
Expand Down Expand Up @@ -84,7 +84,6 @@ class TWO_D_MODEL_EXPORT RobotModel : public QObject
~RobotModel();

void reinit();
void reinitMotors();
void clear();
void returnToStartMarker();

Expand All @@ -104,8 +103,6 @@ class TWO_D_MODEL_EXPORT RobotModel : public QObject
/// Returns a reference to external robot description.
robotModel::TwoDRobotModel &info() const;

QPointer<model::TwoDRobotModelParameters> parameters() const;

Q_INVOKABLE int readEncoder(const kitBase::robotModel::PortInfo &port) const;
Q_INVOKABLE void resetEncoder(const kitBase::robotModel::PortInfo &port);

Expand Down Expand Up @@ -173,14 +170,14 @@ class TWO_D_MODEL_EXPORT RobotModel : public QObject
/// Sets a physical engine. Robot recalculates its position using this engine.
void setPhysicalEngine(physics::PhysicsEngineBase &engine);

public Q_SLOTS:
public slots:
void recalculateParams();
void nextFragment();

Q_SIGNALS:
signals:
void positionChanged(const QPointF &newPosition);
void rotationChanged(qreal newRotation);
void sizeChanged(const QSizeF newSize);

void deserialized(QPointF newPosition, qreal newRotation);

/// Emitted when robot rided himself (moved on motors force, not dragged by user or smth) from one point to other.
Expand Down Expand Up @@ -229,8 +226,6 @@ public Q_SLOTS:
// Doesn't take ownership, ownership is twoDModel::model::Model.
QPointer<Settings> mSettings;
twoDModel::robotModel::TwoDRobotModel &mRobotModel;
// Takes ownership
QPointer<TwoDRobotModelParameters> mRobotModelParameters;
// Takes ownership.
QPointer<SensorsConfiguration> mSensorsConfiguration;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ class TWO_D_MODEL_EXPORT SensorsConfiguration : public QObject, public kitBase::

void setDirection(const kitBase::robotModel::PortInfo &port, qreal direction);
qreal direction(const kitBase::robotModel::PortInfo &port) const;

kitBase::robotModel::DeviceInfo type(const kitBase::robotModel::PortInfo &port) const;

void clear();

void serialize(QDomElement &robot) const;
void deserialize(const QDomElement &element);
public Q_SLOTS:
void onSizeUpdated(const QSizeF size);

signals:
/// Emitted when new device is added to configuration.
/// @param port - port where new device is added.
Expand Down Expand Up @@ -82,7 +82,7 @@ public Q_SLOTS:

QPointF defaultPosition(const kitBase::robotModel::DeviceInfo &device) const;

QSizeF mRobotSize;
const QSizeF mRobotSize;
QString mRobotId;
QHash<kitBase::robotModel::PortInfo, SensorInfo> mSensorsInfo;
QPointer<twoDModel::model::MetricCoordinateSystem> mMetricSystem;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,7 @@ namespace robotModel {
class TWO_D_MODEL_EXPORT TwoDRobotModel : public kitBase::robotModel::CommonRobotModel
{
Q_OBJECT
Q_PROPERTY(qreal mass READ mass)
Q_PROPERTY(qreal friction READ friction)
Q_PROPERTY(qreal restitution READ restitution)
Q_PROPERTY(qreal linearDamping READ linearDamping)
Q_PROPERTY(qreal angularDamping READ angularDamping)
Q_PROPERTY(QSizeF size READ size)
Q_PROPERTY(qreal wheelRestitution READ wheelRestitution)
Q_PROPERTY(qreal wheelFriction READ wheelFriction)
Q_PROPERTY(qreal wheelMass READ wheelMass)

public:
explicit TwoDRobotModel(const RobotModelInterface &realModel);
explicit TwoDRobotModel(const QString &robotId);
Expand Down Expand Up @@ -83,24 +75,6 @@ class TWO_D_MODEL_EXPORT TwoDRobotModel : public kitBase::robotModel::CommonRobo
/// Returns robot`s fixture friction coefficient.
virtual qreal friction() const = 0;

/// Returns robot`s fixture restitution coefficient.
virtual qreal restitution() const;

/// Returns robot`s fixture linear damping coefficient.
virtual qreal linearDamping() const;

/// Returns robot`s fixture angular damping coefficient.
virtual qreal angularDamping() const;

/// Returns the default restitution coefficient of the robot's wheel.
virtual qreal wheelRestitution() const;

/// Returns the default friction coefficient of the robot's wheel.
virtual qreal wheelFriction() const;

/// Returns the default mass of the robot's wheel.
virtual qreal wheelMass() const;

/// Returns robot`s rectangle size in pixels.
/// By default returns (50, 50).
virtual QSizeF size() const;
Expand Down
34 changes: 18 additions & 16 deletions plugins/robots/common/twoDModel/src/engine/items/ballItem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace {
constexpr int defaultBallDiameterPx = 30;
constexpr qreal ballMass = 0.015f;
constexpr qreal ballFriction = 1.0f;
constexpr qreal ballRestitution = 0.8f;
constexpr qreal ballRestituion = 0.8f;
constexpr qreal ballAngularDamping = 0.09f;
constexpr qreal ballLinearDamping = 0.09f;
}
Expand All @@ -37,7 +37,7 @@ BallItem::BallItem(graphicsUtils::AbstractCoordinateSystem *metricSystem,
, mDiameterPx(defaultBallDiameterPx)
, mMass(ballMass)
, mFriction(ballFriction)
, mRestitution(ballRestitution)
, mRestitution(ballRestituion)
, mAngularDamping(ballAngularDamping)
, mLinearDamping(ballLinearDamping)
{
Expand Down Expand Up @@ -111,10 +111,12 @@ QDomElement BallItem::serialize(QDomElement &element) const
QString::number(coordSystem->toUnit(y1() + mStartPosition.y())));
ballNode.setAttribute("rotation", QString::number(rotation()));
ballNode.setAttribute("startRotation", QString::number(mStartRotation));
SolidItem::serialize(ballNode);
if (propertyChanged(mDiameterPx, defaultBallDiameterPx)) {
ballNode.setAttribute("diameter", QString::number(coordSystem->toUnit(mDiameterPx)));
}
ballNode.setAttribute("diameter", QString::number(coordSystem->toUnit(mDiameterPx)));
ballNode.setAttribute("mass", QString::number(mMass));
ballNode.setAttribute("friction", QString::number(mFriction));
ballNode.setAttribute("restitution", QString::number(mRestitution));
ballNode.setAttribute("angularDamping", QString::number(mAngularDamping));
ballNode.setAttribute("linearDamping", QString::number(mLinearDamping));
return ballNode;
}

Expand Down Expand Up @@ -183,14 +185,14 @@ QPolygonF BallItem::collidingPolygon() const
return QPolygonF(boundingRect().adjusted(1, 1, -1, -1).translated(scenePos()));
}

qreal BallItem::angularDamping(bool getDefault) const
qreal BallItem::angularDamping() const
{
return getDefault ? ballAngularDamping : mAngularDamping;
return mAngularDamping;
}

qreal BallItem::linearDamping(bool getDefault) const
qreal BallItem::linearDamping() const
{
return getDefault ? ballLinearDamping : mLinearDamping;
return mLinearDamping;
}

QPainterPath BallItem::path() const
Expand All @@ -215,19 +217,19 @@ bool BallItem::isCircle() const
return true;
}

qreal BallItem::mass(bool getDefault) const
qreal BallItem::mass() const
{
return getDefault ? ballMass : mMass;
return mMass;
}

qreal BallItem::friction(bool getDefault) const
qreal BallItem::friction() const
{
return getDefault ? ballFriction : mFriction;
return mFriction;
}

qreal BallItem::restitution(bool getDefault) const
qreal BallItem::restitution() const
{
return getDefault ? ballRestitution : mRestitution;
return mRestitution;
}

SolidItem::BodyType BallItem::bodyType() const
Expand Down
10 changes: 5 additions & 5 deletions plugins/robots/common/twoDModel/src/engine/items/ballItem.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,13 @@ class BallItem : public graphicsUtils::AbstractItem, public SolidItem
void returnToStartPosition();

bool isCircle() const override;
qreal mass(bool getDefault) const override;
qreal mass() const override;
BodyType bodyType() const override;
qreal friction(bool getDefault) const override;
qreal restitution(bool getDefault) const override;
qreal friction() const override;
qreal restitution() const override;
QPolygonF collidingPolygon() const override;
qreal angularDamping(bool getDefault) const override;
qreal linearDamping(bool getDefault) const override;
qreal angularDamping() const override;
qreal linearDamping() const override;
QPainterPath shape () const override;

QPainterPath path() const;
Expand Down
Loading
Loading