Save VPiecePath in VContainer class.
--HG-- branch : feature
This commit is contained in:
parent
024f1373f6
commit
8182f2979b
|
@ -179,6 +179,19 @@ VPiece VContainer::GetPiece(quint32 id) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
VPiecePath VContainer::GetPiecePath(quint32 id) const
|
||||||
|
{
|
||||||
|
if (d->piecePaths->contains(id))
|
||||||
|
{
|
||||||
|
return d->piecePaths->value(id);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw VExceptionBadId(tr("Can't find object"), id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief AddGObject add new GObject to container
|
* @brief AddGObject add new GObject to container
|
||||||
|
@ -214,6 +227,14 @@ quint32 VContainer::AddPiece(const VPiece &detail)
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
quint32 VContainer::AddPiecePath(const VPiecePath &path)
|
||||||
|
{
|
||||||
|
const quint32 id = getNextId();
|
||||||
|
d->piecePaths->insert(id, path);
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
quint32 VContainer::getId()
|
quint32 VContainer::getId()
|
||||||
{
|
{
|
||||||
|
@ -295,6 +316,7 @@ void VContainer::ClearForFullParse()
|
||||||
|
|
||||||
d->details->clear();
|
d->details->clear();
|
||||||
d->pieces->clear();
|
d->pieces->clear();
|
||||||
|
d->piecePaths->clear();
|
||||||
ClearVariables(VarType::Increment);
|
ClearVariables(VarType::Increment);
|
||||||
ClearVariables(VarType::LineAngle);
|
ClearVariables(VarType::LineAngle);
|
||||||
ClearVariables(VarType::LineLength);
|
ClearVariables(VarType::LineLength);
|
||||||
|
@ -530,6 +552,14 @@ void VContainer::UpdatePiece(quint32 id, const VPiece &detail)
|
||||||
UpdateId(id);
|
UpdateId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VContainer::UpdatePiecePath(quint32 id, const VPiecePath &path)
|
||||||
|
{
|
||||||
|
Q_ASSERT_X(id != NULL_ID, Q_FUNC_INFO, "id == 0"); //-V654 //-V712
|
||||||
|
d->piecePaths->insert(id, path);
|
||||||
|
UpdateId(id);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
qreal VContainer::GetTableValue(const QString &name, MeasurementsType patternType) const
|
qreal VContainer::GetTableValue(const QString &name, MeasurementsType patternType) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
#include "variables/vinternalvariable.h"
|
#include "variables/vinternalvariable.h"
|
||||||
#include "vdetail.h"
|
#include "vdetail.h"
|
||||||
#include "vpiece.h"
|
#include "vpiece.h"
|
||||||
|
#include "vpiecepath.h"
|
||||||
#include "vtranslatevars.h"
|
#include "vtranslatevars.h"
|
||||||
|
|
||||||
class VAbstractCubicBezierPath;
|
class VAbstractCubicBezierPath;
|
||||||
|
@ -83,7 +84,9 @@ public:
|
||||||
variables(QHash<QString, QSharedPointer<VInternalVariable> > ()),
|
variables(QHash<QString, QSharedPointer<VInternalVariable> > ()),
|
||||||
details(QSharedPointer<QHash<quint32, VDetail>>(new QHash<quint32, VDetail>())),
|
details(QSharedPointer<QHash<quint32, VDetail>>(new QHash<quint32, VDetail>())),
|
||||||
pieces(QSharedPointer<QHash<quint32, VPiece>>(new QHash<quint32, VPiece>())),
|
pieces(QSharedPointer<QHash<quint32, VPiece>>(new QHash<quint32, VPiece>())),
|
||||||
trVars(trVars), patternUnit(patternUnit)
|
piecePaths(QSharedPointer<QHash<quint32, VPiecePath>>(new QHash<quint32, VPiecePath>())),
|
||||||
|
trVars(trVars),
|
||||||
|
patternUnit(patternUnit)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
VContainerData(const VContainerData &data)
|
VContainerData(const VContainerData &data)
|
||||||
|
@ -112,6 +115,7 @@ public:
|
||||||
*/
|
*/
|
||||||
QSharedPointer<QHash<quint32, VDetail>> details;
|
QSharedPointer<QHash<quint32, VDetail>> details;
|
||||||
QSharedPointer<QHash<quint32, VPiece>> pieces;
|
QSharedPointer<QHash<quint32, VPiece>> pieces;
|
||||||
|
QSharedPointer<QHash<quint32, VPiecePath>> piecePaths;
|
||||||
|
|
||||||
const VTranslateVars *trVars;
|
const VTranslateVars *trVars;
|
||||||
const Unit *patternUnit;
|
const Unit *patternUnit;
|
||||||
|
@ -140,6 +144,7 @@ public:
|
||||||
static const QSharedPointer<VGObject> GetFakeGObject(quint32 id);
|
static const QSharedPointer<VGObject> GetFakeGObject(quint32 id);
|
||||||
const VDetail GetDetail(quint32 id) const;
|
const VDetail GetDetail(quint32 id) const;
|
||||||
VPiece GetPiece(quint32 id) const;
|
VPiece GetPiece(quint32 id) const;
|
||||||
|
VPiecePath GetPiecePath(quint32 id) const;
|
||||||
qreal GetTableValue(const QString& name, MeasurementsType patternType) const;
|
qreal GetTableValue(const QString& name, MeasurementsType patternType) const;
|
||||||
template <typename T>
|
template <typename T>
|
||||||
QSharedPointer<T> GetVariable(QString name) const;
|
QSharedPointer<T> GetVariable(QString name) const;
|
||||||
|
@ -150,6 +155,7 @@ public:
|
||||||
quint32 AddGObject(VGObject *obj);
|
quint32 AddGObject(VGObject *obj);
|
||||||
quint32 AddDetail(const VDetail &detail);
|
quint32 AddDetail(const VDetail &detail);
|
||||||
quint32 AddPiece(const VPiece &detail);
|
quint32 AddPiece(const VPiece &detail);
|
||||||
|
quint32 AddPiecePath(const VPiecePath &path);
|
||||||
void AddLine(const quint32 &firstPointId, const quint32 &secondPointId);
|
void AddLine(const quint32 &firstPointId, const quint32 &secondPointId);
|
||||||
void AddArc(const QSharedPointer<VArc> &arc, const quint32 &arcId, const quint32 &parentId = NULL_ID);
|
void AddArc(const QSharedPointer<VArc> &arc, const quint32 &arcId, const quint32 &parentId = NULL_ID);
|
||||||
void AddSpline(const QSharedPointer<VAbstractBezier> &curve, quint32 id, quint32 parentId = NULL_ID);
|
void AddSpline(const QSharedPointer<VAbstractBezier> &curve, quint32 id, quint32 parentId = NULL_ID);
|
||||||
|
@ -163,6 +169,7 @@ public:
|
||||||
void UpdateGObject(quint32 id, VGObject* obj);
|
void UpdateGObject(quint32 id, VGObject* obj);
|
||||||
void UpdateDetail(quint32 id, const VDetail &detail);
|
void UpdateDetail(quint32 id, const VDetail &detail);
|
||||||
void UpdatePiece(quint32 id, const VPiece &detail);
|
void UpdatePiece(quint32 id, const VPiece &detail);
|
||||||
|
void UpdatePiecePath(quint32 id, const VPiecePath &path);
|
||||||
|
|
||||||
void Clear();
|
void Clear();
|
||||||
void ClearForFullParse();
|
void ClearForFullParse();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user