Skip to content
Snippets Groups Projects
Commit f9f9b620 authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

RotationItem: back from using 'RotMatrix'

parent 85f048bf
No related branches found
No related tags found
1 merge request!1220RotationItem: back from using 'RotMatrix'
Pipeline #84223 passed
......@@ -41,8 +41,7 @@ std::unique_ptr<IRotation> ItemWithParticles::createRotation() const
{
if (!m_rotation.currentItem())
return {};
const auto matrix = m_rotation->rotation();
return std::unique_ptr<IRotation>(IRotation::createRotation(matrix));
return m_rotation->createRotation();
}
void ItemWithParticles::writeTo(QXmlStreamWriter* w) const
......
......@@ -32,17 +32,6 @@ using namespace Units;
// ----------------------------------------------------------------------------
RotationItem::RotationItem() {}
RotMatrix RotationItem::rotation() const
{
auto p = createRotation();
return (p != nullptr) ? p->rotMatrix() : RotMatrix();
}
// ----------------------------------------------------------------------------
void XYZRotationItem::serialize(Streamer& s)
{
// s.assertVersion(0);
......
......@@ -26,7 +26,7 @@ using std::unique_ptr;
class RotationItem {
public:
virtual ~RotationItem() = default;
RotMatrix rotation() const;
virtual unique_ptr<IRotation> createRotation() const = 0;
virtual void serialize(Streamer& s) = 0;
virtual void writeTo(QXmlStreamWriter* w) const = 0;
......@@ -34,8 +34,7 @@ public:
virtual DoubleProperties rotationProperties() = 0;
protected:
RotationItem();
virtual unique_ptr<IRotation> createRotation() const = 0;
RotationItem() {}
};
class XYZRotationItem : public RotationItem {
......@@ -54,24 +53,18 @@ protected:
class XRotationItem : public XYZRotationItem {
public:
XRotationItem();
protected:
unique_ptr<IRotation> createRotation() const override;
};
class YRotationItem : public XYZRotationItem {
public:
YRotationItem();
protected:
unique_ptr<IRotation> createRotation() const override;
};
class ZRotationItem : public XYZRotationItem {
public:
ZRotationItem();
protected:
unique_ptr<IRotation> createRotation() const override;
};
......@@ -87,7 +80,6 @@ public:
void setBeta(double v) { m_beta.setValue(v); }
void setGamma(double v) { m_gamma.setValue(v); }
protected:
unique_ptr<IRotation> createRotation() const override;
private:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment