VSAPoint class should keep data in pixels. Make testing a lot easier.
--HG-- branch : feature
This commit is contained in:
parent
afb267c05c
commit
a284ac024e
|
@ -333,13 +333,13 @@ Q_DECL_CONSTEXPR qreal VAbstractPiece::PointPosition(const QPointF &p, const QLi
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
qreal VAbstractPiece::MaxLocalSA(const VSAPoint &p, qreal width)
|
||||
{
|
||||
qreal w1 = qApp->toPixel(p.GetSAAfter());
|
||||
qreal w1 = p.GetSAAfter();
|
||||
if (w1 < 0)
|
||||
{
|
||||
w1 = width;
|
||||
}
|
||||
|
||||
qreal w2 = qApp->toPixel(p.GetSABefore());
|
||||
qreal w2 = p.GetSABefore();
|
||||
if (w2 < 0)
|
||||
{
|
||||
w2 = width;
|
||||
|
@ -493,13 +493,13 @@ QVector<QPointF> VAbstractPiece::EkvPoint(const VSAPoint &p1Line1, const VSAPoin
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QLineF VAbstractPiece::ParallelLine(const VSAPoint &p1, const VSAPoint &p2, qreal width)
|
||||
{
|
||||
qreal w1 = qApp->toPixel(p1.GetSAAfter());
|
||||
qreal w1 = p1.GetSAAfter();
|
||||
if (w1 < 0)
|
||||
{
|
||||
w1 = width;
|
||||
}
|
||||
|
||||
qreal w2 = qApp->toPixel(p2.GetSABefore());
|
||||
qreal w2 = p2.GetSABefore();
|
||||
if (w2 < 0)
|
||||
{
|
||||
w2 = width;
|
||||
|
|
|
@ -221,8 +221,9 @@ QVector<QPointF> VPiece::SeamAllowancePoints(const VContainer *data) const
|
|||
{
|
||||
const QSharedPointer<VPointF> point = data->GeometricObject<VPointF>(node.GetId());
|
||||
VSAPoint p(point->toQPointF());
|
||||
p.SetSAAfter(node.GetSAAfter());
|
||||
p.SetSABefore(node.GetSABefore());
|
||||
|
||||
p.SetSAAfter(node.GetSAAfter(*data->GetPatternUnit()));
|
||||
p.SetSABefore(node.GetSABefore(*data->GetPatternUnit()));
|
||||
pointsEkv.append(p);
|
||||
}
|
||||
break;
|
||||
|
@ -411,13 +412,11 @@ void VPiece::CurveSeamAllowanceSegment(QVector<VSAPoint> &pointsEkv, const VCont
|
|||
{
|
||||
const qreal width = ToPixel(GetSAWidth(), *data->GetPatternUnit());
|
||||
|
||||
w1 = ToPixel(w1, *data->GetPatternUnit());
|
||||
if (w1 < 0)
|
||||
{
|
||||
w1 = width;
|
||||
}
|
||||
|
||||
w2 = ToPixel(w2, *data->GetPatternUnit());
|
||||
if (w2 < 0)
|
||||
{
|
||||
w2 = width;
|
||||
|
@ -445,9 +444,7 @@ void VPiece::CurveSeamAllowanceSegment(QVector<VSAPoint> &pointsEkv, const VCont
|
|||
else
|
||||
{
|
||||
length += QLineF(points.at(i-1), points.at(i)).length();
|
||||
|
||||
qreal localWidth = w1 + wDiff*(length/fullLength);
|
||||
localWidth = FromPixel(localWidth, *data->GetPatternUnit());
|
||||
const qreal localWidth = w1 + wDiff*(length/fullLength);
|
||||
|
||||
p.SetSAAfter(localWidth);
|
||||
p.SetSABefore(localWidth);
|
||||
|
@ -486,8 +483,8 @@ VSAPoint VPiece::StartSegment(const VContainer *data, int i, bool reverse) const
|
|||
if (curve->IsPointOnCurve(p))
|
||||
{
|
||||
begin = VSAPoint(p);
|
||||
begin.SetSAAfter(node.GetSAAfter());
|
||||
begin.SetSABefore(node.GetSABefore());
|
||||
begin.SetSAAfter(node.GetSAAfter(*data->GetPatternUnit()));
|
||||
begin.SetSABefore(node.GetSABefore(*data->GetPatternUnit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -500,8 +497,8 @@ VSAPoint VPiece::StartSegment(const VContainer *data, int i, bool reverse) const
|
|||
if (curve->IsPointOnCurve(p))
|
||||
{
|
||||
begin = VSAPoint(p);
|
||||
begin.SetSAAfter(node.GetSAAfter());
|
||||
begin.SetSABefore(node.GetSABefore());
|
||||
begin.SetSAAfter(node.GetSAAfter(*data->GetPatternUnit()));
|
||||
begin.SetSABefore(node.GetSABefore(*data->GetPatternUnit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -537,8 +534,8 @@ VSAPoint VPiece::EndSegment(const VContainer *data, int i, bool reverse) const
|
|||
if (curve->IsPointOnCurve(p))
|
||||
{
|
||||
end = VSAPoint(p);
|
||||
end.SetSAAfter(node.GetSAAfter());
|
||||
end.SetSABefore(node.GetSABefore());
|
||||
end.SetSAAfter(node.GetSAAfter(*data->GetPatternUnit()));
|
||||
end.SetSABefore(node.GetSABefore(*data->GetPatternUnit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -551,8 +548,8 @@ VSAPoint VPiece::EndSegment(const VContainer *data, int i, bool reverse) const
|
|||
if (curve->IsPointOnCurve(p))
|
||||
{
|
||||
end = VSAPoint(p);
|
||||
end.SetSAAfter(node.GetSAAfter());
|
||||
end.SetSABefore(node.GetSABefore());
|
||||
end.SetSAAfter(node.GetSAAfter(*data->GetPatternUnit()));
|
||||
end.SetSABefore(node.GetSABefore(*data->GetPatternUnit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,6 +104,17 @@ qreal VPieceNode::GetSABefore() const
|
|||
return d->m_saBefore;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
qreal VPieceNode::GetSABefore(Unit unit) const
|
||||
{
|
||||
qreal value = d->m_saBefore;
|
||||
if (value >= 0)
|
||||
{
|
||||
value = ToPixel(value, unit);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VPieceNode::SetSABefore(qreal value)
|
||||
{
|
||||
|
@ -119,6 +130,17 @@ qreal VPieceNode::GetSAAfter() const
|
|||
return d->m_saAfter;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
qreal VPieceNode::GetSAAfter(Unit unit) const
|
||||
{
|
||||
qreal value = d->m_saAfter;
|
||||
if (value >= 0)
|
||||
{
|
||||
value = ToPixel(value, unit);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VPieceNode::SetSAAfter(qreal value)
|
||||
{
|
||||
|
|
|
@ -59,9 +59,11 @@ public:
|
|||
void SetReverse(bool reverse);
|
||||
|
||||
qreal GetSABefore() const;
|
||||
qreal GetSABefore(Unit unit) const;
|
||||
void SetSABefore(qreal value);
|
||||
|
||||
qreal GetSAAfter() const;
|
||||
qreal GetSAAfter(Unit unit) const;
|
||||
void SetSAAfter(qreal value);
|
||||
private:
|
||||
QSharedDataPointer<VPieceNodeData> d;
|
||||
|
|
Loading…
Reference in New Issue
Block a user