mirror of
https://gitlab.com/smart-pattern/valentina.git
synced 2024-09-19 23:34:04 +02:00
Compare commits
No commits in common. "857e38422123ae45d4da132cd88fffc58f9a1d7f" and "b1470053f7172e36da2e4382f85a23fb75f42fef" have entirely different histories.
857e384221
...
b1470053f7
|
@ -18,10 +18,6 @@
|
||||||
- Fix QT issue on MacOS version 11.0 "Big Sur".
|
- Fix QT issue on MacOS version 11.0 "Big Sur".
|
||||||
- Fix excluding objects in internal path.
|
- Fix excluding objects in internal path.
|
||||||
- Fix float-point accuracy issue in multisize measurements dimensions.
|
- Fix float-point accuracy issue in multisize measurements dimensions.
|
||||||
- Fix compatibility with Richpeace DXF-AAMA/ASTM R12.
|
|
||||||
- Fix seam allowance. Loose requirements to case with prong.
|
|
||||||
- Fix list of dimension popup list. Make sure it will always has enough space for values.
|
|
||||||
- New grainline type: Four way.
|
|
||||||
|
|
||||||
# Valentina 0.7.52 September 12, 2022
|
# Valentina 0.7.52 September 12, 2022
|
||||||
- Fix crash when default locale is ru.
|
- Fix crash when default locale is ru.
|
||||||
|
|
|
@ -270,7 +270,7 @@ void VPPiece::RotateToGrainline(const VPTransformationOrigon &origin)
|
||||||
{
|
{
|
||||||
degrees = DegreesAtRear();
|
degrees = DegreesAtRear();
|
||||||
}
|
}
|
||||||
else if (type == GrainlineArrowDirection::atBoth)
|
else
|
||||||
{
|
{
|
||||||
const qreal atFront = DegreesAtFront();
|
const qreal atFront = DegreesAtFront();
|
||||||
if (atFront <= 90 || atFront >= 270)
|
if (atFront <= 90 || atFront >= 270)
|
||||||
|
@ -282,22 +282,6 @@ void VPPiece::RotateToGrainline(const VPTransformationOrigon &origin)
|
||||||
degrees = DegreesAtRear();
|
degrees = DegreesAtRear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
const qreal atFront = DegreesAtFront();
|
|
||||||
if (atFront <= 45)
|
|
||||||
{
|
|
||||||
degrees = atFront;
|
|
||||||
}
|
|
||||||
else if (atFront > 45 && atFront < 90)
|
|
||||||
{
|
|
||||||
degrees = atFront - 90;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
degrees = atFront - 90 * qFloor(atFront / 90);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (origin.custom)
|
if (origin.custom)
|
||||||
{
|
{
|
||||||
|
|
|
@ -113,8 +113,7 @@ auto StringToGrainlineArrowDirrection(const QString &dirrection) -> GrainlineArr
|
||||||
{
|
{
|
||||||
ML::atFrontStr, // 0
|
ML::atFrontStr, // 0
|
||||||
ML::atRearStr, // 1
|
ML::atRearStr, // 1
|
||||||
ML::atFourWayStr, // 2
|
ML::atBothStr // 2
|
||||||
ML::atBothStr // 3
|
|
||||||
};
|
};
|
||||||
|
|
||||||
GrainlineArrowDirection arrowDirection = GrainlineArrowDirection::atBoth;
|
GrainlineArrowDirection arrowDirection = GrainlineArrowDirection::atBoth;
|
||||||
|
@ -126,10 +125,7 @@ auto StringToGrainlineArrowDirrection(const QString &dirrection) -> GrainlineArr
|
||||||
case 1:// at rear
|
case 1:// at rear
|
||||||
arrowDirection = GrainlineArrowDirection::atRear;
|
arrowDirection = GrainlineArrowDirection::atRear;
|
||||||
break;
|
break;
|
||||||
case 2:// at four way
|
case 2:// at both
|
||||||
arrowDirection = GrainlineArrowDirection::atFourWay;
|
|
||||||
break;
|
|
||||||
case 3:// at both
|
|
||||||
default:
|
default:
|
||||||
arrowDirection = GrainlineArrowDirection::atBoth;
|
arrowDirection = GrainlineArrowDirection::atBoth;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -121,8 +121,6 @@ auto GrainlineArrowDirrectionToString(GrainlineArrowDirection type) -> QString
|
||||||
return ML::atFrontStr;
|
return ML::atFrontStr;
|
||||||
case GrainlineArrowDirection::atRear:
|
case GrainlineArrowDirection::atRear:
|
||||||
return ML::atRearStr;
|
return ML::atRearStr;
|
||||||
case GrainlineArrowDirection::atFourWay:
|
|
||||||
return ML::atFourWayStr;
|
|
||||||
case GrainlineArrowDirection::atBoth:
|
case GrainlineArrowDirection::atBoth:
|
||||||
default:
|
default:
|
||||||
return ML::atBothStr;
|
return ML::atBothStr;
|
||||||
|
|
|
@ -117,7 +117,6 @@ const QString AttrCurvePoint = QStringLiteral("curvePoint"); // NOLINT
|
||||||
|
|
||||||
const QString atFrontStr = QStringLiteral("atFront"); // NOLINT(cert-err58-cpp)
|
const QString atFrontStr = QStringLiteral("atFront"); // NOLINT(cert-err58-cpp)
|
||||||
const QString atRearStr = QStringLiteral("atRear"); // NOLINT(cert-err58-cpp)
|
const QString atRearStr = QStringLiteral("atRear"); // NOLINT(cert-err58-cpp)
|
||||||
const QString atFourWayStr = QStringLiteral("atFourWay"); // NOLINT(cert-err58-cpp)
|
|
||||||
const QString atBothStr = QStringLiteral("atBoth"); // NOLINT(cert-err58-cpp)
|
const QString atBothStr = QStringLiteral("atBoth"); // NOLINT(cert-err58-cpp)
|
||||||
|
|
||||||
const QChar groupSep = QLatin1Char(';');
|
const QChar groupSep = QLatin1Char(';');
|
||||||
|
|
|
@ -122,7 +122,6 @@ extern const QString AttrCurvePoint;
|
||||||
|
|
||||||
extern const QString atFrontStr;
|
extern const QString atFrontStr;
|
||||||
extern const QString atRearStr;
|
extern const QString atRearStr;
|
||||||
extern const QString atFourWayStr;
|
|
||||||
extern const QString atBothStr;
|
extern const QString atBothStr;
|
||||||
|
|
||||||
extern const QChar groupSep;
|
extern const QChar groupSep;
|
||||||
|
|
|
@ -2905,21 +2905,6 @@ void TMainWindow::InitDimensionGradation(int index, const MeasurementDimension_p
|
||||||
InitDimensionYWZItems(bases, labels, control, unit, dimension->IsBodyMeasurement(), fc);
|
InitDimensionYWZItems(bases, labels, control, unit, dimension->IsBodyMeasurement(), fc);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate the width of the largest item using QFontMetrics
|
|
||||||
QFontMetrics fontMetrics(control->font());
|
|
||||||
int maxWidth = 0;
|
|
||||||
for (int i = 0; i < control->count(); ++i)
|
|
||||||
{
|
|
||||||
int itemWidth = TextWidth(fontMetrics, control->itemText(i));
|
|
||||||
if (itemWidth > maxWidth)
|
|
||||||
{
|
|
||||||
maxWidth = itemWidth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the minimum width of the view to the largest item width
|
|
||||||
control->view()->setMinimumWidth(maxWidth);
|
|
||||||
|
|
||||||
// after initialization the current index is 0. The signal for changing the index will not be triggered if not make
|
// after initialization the current index is 0. The signal for changing the index will not be triggered if not make
|
||||||
// it invalid first
|
// it invalid first
|
||||||
control->setCurrentIndex(-1);
|
control->setCurrentIndex(-1);
|
||||||
|
|
|
@ -4918,21 +4918,6 @@ void MainWindow::InitDimensionGradation(int index, const MeasurementDimension_p
|
||||||
InitDimensionYWZGradation(bases, labels, control, dimension->IsBodyMeasurement());
|
InitDimensionYWZGradation(bases, labels, control, dimension->IsBodyMeasurement());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate the width of the largest item using QFontMetrics
|
|
||||||
QFontMetrics fontMetrics(control->font());
|
|
||||||
int maxWidth = 0;
|
|
||||||
for (int i = 0; i < control->count(); ++i)
|
|
||||||
{
|
|
||||||
int itemWidth = TextWidth(fontMetrics, control->itemText(i));
|
|
||||||
if (itemWidth > maxWidth)
|
|
||||||
{
|
|
||||||
maxWidth = itemWidth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the minimum width of the view to the largest item width
|
|
||||||
control->view()->setMinimumWidth(maxWidth);
|
|
||||||
|
|
||||||
// after initialization the current index is 0. The signal for changing the index will not be triggered if not make
|
// after initialization the current index is 0. The signal for changing the index will not be triggered if not make
|
||||||
// it invalid first
|
// it invalid first
|
||||||
control->setCurrentIndex(-1);
|
control->setCurrentIndex(-1);
|
||||||
|
@ -5864,8 +5849,8 @@ auto MainWindow::LoadPattern(QString fileName, const QString& customMeasureFile)
|
||||||
|
|
||||||
QFuture<VPatternConverter *> futureConverter = QtConcurrent::run([fileName]()
|
QFuture<VPatternConverter *> futureConverter = QtConcurrent::run([fileName]()
|
||||||
{
|
{
|
||||||
std::unique_ptr<VPatternConverter> converter(new VPatternConverter(fileName));
|
QScopedPointer<VPatternConverter> converter(new VPatternConverter(fileName));
|
||||||
return converter.release();
|
return converter.take();
|
||||||
});
|
});
|
||||||
|
|
||||||
//We have unsaved changes or load more then one file per time
|
//We have unsaved changes or load more then one file per time
|
||||||
|
|
|
@ -95,6 +95,5 @@
|
||||||
<file>schema/layout/v0.1.1.xsd</file>
|
<file>schema/layout/v0.1.1.xsd</file>
|
||||||
<file>schema/layout/v0.1.2.xsd</file>
|
<file>schema/layout/v0.1.2.xsd</file>
|
||||||
<file>schema/layout/v0.1.3.xsd</file>
|
<file>schema/layout/v0.1.3.xsd</file>
|
||||||
<file>schema/layout/v0.1.4.xsd</file>
|
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -1,568 +0,0 @@
|
||||||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
||||||
<xs:element name="layout">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="properties">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element type="units" name="unit"/>
|
|
||||||
<xs:element type="xs:string" name="title"/>
|
|
||||||
<xs:element type="xs:string" name="description"/>
|
|
||||||
<xs:element name="control">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:boolean" name="warningSuperposition"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="warningOutOfBound"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="stickyEdges"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="followGrainline"/>
|
|
||||||
<xs:attribute type="xs:float" name="piecesGap"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="tiles">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="size">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:float" name="width" use="required"/>
|
|
||||||
<xs:attribute type="xs:float" name="length" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="margin">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:float" name="top"/>
|
|
||||||
<xs:attribute type="xs:float" name="right"/>
|
|
||||||
<xs:attribute type="xs:float" name="bottom"/>
|
|
||||||
<xs:attribute type="xs:float" name="left"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="ignoreMargins"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:boolean" name="visible"/>
|
|
||||||
<xs:attribute type="xs:string" name="matchingMarks"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="printScheme"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="tileNumber"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="scale">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="LayoutScale" name="xScale"/>
|
|
||||||
<xs:attribute type="LayoutScale" name="yScale"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="watermark">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:simpleContent>
|
|
||||||
<xs:extension base="xs:string">
|
|
||||||
<xs:attribute type="xs:boolean" name="showPreview" use="optional"/>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:simpleContent>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="unplacedPieces">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="piece" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="seamLine">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="point" minOccurs="3" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:double" name="x" use="required"/>
|
|
||||||
<xs:attribute type="xs:double" name="y" use="required"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="turnPoint" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="curvePoint" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="seamAllowance">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="point" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:double" name="x" use="required"/>
|
|
||||||
<xs:attribute type="xs:double" name="y" use="required"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="turnPoint" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="curvePoint" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:boolean" name="enabled" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="builtIn" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="grainline">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:simpleContent>
|
|
||||||
<xs:extension base="PathOrEmpty">
|
|
||||||
<xs:attribute type="xs:boolean" name="enabled" use="optional"/>
|
|
||||||
<xs:attribute type="xs:float" name="angle" use="optional"/>
|
|
||||||
<xs:attribute type="ArrowDirection" name="arrowDirection" use="optional"/>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:simpleContent>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="notches">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="notch" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:boolean" name="builtIn" use="optional"/>
|
|
||||||
<xs:attribute type="NotchType" name="type" use="optional"/>
|
|
||||||
<xs:attribute type="LinePath" name="baseLine" use="optional"/>
|
|
||||||
<xs:attribute type="LinesPath" name="path" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="internalPaths">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="internalPath" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="point" minOccurs="2" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:double" name="x" use="required"/>
|
|
||||||
<xs:attribute type="xs:double" name="y" use="required"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="turnPoint" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="curvePoint" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:boolean" name="cut" use="optional"/>
|
|
||||||
<xs:attribute type="CurvePenStyle" name="penStyle" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="markers">
|
|
||||||
<xs:complexType mixed="true">
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="marker" maxOccurs="unbounded" minOccurs="0">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="Transformation" name="transform" use="required"/>
|
|
||||||
<xs:attribute type="MarkerType" name="type" use="required"/>
|
|
||||||
<xs:attribute type="PointPath" name="center" use="required"/>
|
|
||||||
<xs:attribute type="RectPath" name="box" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="labels">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="pieceLabel" minOccurs="0" maxOccurs="1">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="lines">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="line" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:simpleContent>
|
|
||||||
<xs:extension base="xs:string">
|
|
||||||
<xs:attribute type="xs:boolean" name="bold" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="italic" use="optional"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="alignment" use="optional"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="fontSize" use="optional"/>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:simpleContent>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:string" name="font"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:string" name="shape" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="patternLabel" minOccurs="0" maxOccurs="1">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="lines">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="line" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:simpleContent>
|
|
||||||
<xs:extension base="xs:string">
|
|
||||||
<xs:attribute type="xs:boolean" name="bold" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="italic" use="optional"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="alignment" use="optional"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="fontSize" use="optional"/>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:simpleContent>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:string" name="font"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:string" name="shape" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute name="uid" type="uuid" use="required"/>
|
|
||||||
<xs:attribute type="xs:string" name="name"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="mirrored"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="forbidFlipping"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="forceFlipping"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="sewLineOnDrawing"/>
|
|
||||||
<xs:attribute type="Transformation" name="transform"/>
|
|
||||||
<xs:attribute type="xs:string" name="gradationLabel"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="copyNumber"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="showSeamline"/>
|
|
||||||
<xs:attribute type="xs:float" name="xScale"/>
|
|
||||||
<xs:attribute type="xs:float" name="yScale"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="sheets">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="sheet" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element type="xs:string" name="name"/>
|
|
||||||
<xs:element name="size">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:float" name="width" use="required"/>
|
|
||||||
<xs:attribute type="xs:float" name="length" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="margin">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:float" name="top"/>
|
|
||||||
<xs:attribute type="xs:float" name="right"/>
|
|
||||||
<xs:attribute type="xs:float" name="bottom"/>
|
|
||||||
<xs:attribute type="xs:float" name="left"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="ignoreMargins"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="pieces">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="piece" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="seamLine">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="point" minOccurs="3" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:double" name="x" use="required"/>
|
|
||||||
<xs:attribute type="xs:double" name="y" use="required"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="turnPoint" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="curvePoint" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="seamAllowance">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="point" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:double" name="x" use="required"/>
|
|
||||||
<xs:attribute type="xs:double" name="y" use="required"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="turnPoint" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="curvePoint" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:boolean" name="enabled" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="builtIn" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="grainline">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:simpleContent>
|
|
||||||
<xs:extension base="PathOrEmpty">
|
|
||||||
<xs:attribute type="xs:boolean" name="enabled" use="optional"/>
|
|
||||||
<xs:attribute type="xs:float" name="angle" use="optional"/>
|
|
||||||
<xs:attribute type="ArrowDirection" name="arrowDirection" use="optional"/>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:simpleContent>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="notches">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="notch" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:boolean" name="builtIn" use="optional"/>
|
|
||||||
<xs:attribute type="NotchType" name="type" use="optional"/>
|
|
||||||
<xs:attribute type="LinePath" name="baseLine" use="optional"/>
|
|
||||||
<xs:attribute type="LinesPath" name="path" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="internalPaths">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="internalPath" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="point" minOccurs="2" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="xs:double" name="x" use="required"/>
|
|
||||||
<xs:attribute type="xs:double" name="y" use="required"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="turnPoint" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="curvePoint" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:boolean" name="cut" use="optional"/>
|
|
||||||
<xs:attribute type="CurvePenStyle" name="penStyle" use="optional"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="markers">
|
|
||||||
<xs:complexType mixed="true">
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="marker" maxOccurs="unbounded" minOccurs="0">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute type="Transformation" name="transform" use="required"/>
|
|
||||||
<xs:attribute type="MarkerType" name="type" use="required"/>
|
|
||||||
<xs:attribute type="PointPath" name="center" use="required"/>
|
|
||||||
<xs:attribute type="RectPath" name="box" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="labels">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="pieceLabel" minOccurs="0" maxOccurs="1">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="lines">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="line" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:simpleContent>
|
|
||||||
<xs:extension base="xs:string">
|
|
||||||
<xs:attribute type="xs:boolean" name="bold" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="italic" use="optional"/>
|
|
||||||
<xs:attribute type="AlignmentType" name="alignment" use="optional"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="fontSize" use="optional"/>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:simpleContent>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:string" name="font"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="PathNotEmpty" name="shape" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="patternLabel" minOccurs="0" maxOccurs="1">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="lines">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="line" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:simpleContent>
|
|
||||||
<xs:extension base="xs:string">
|
|
||||||
<xs:attribute type="xs:boolean" name="bold" use="optional"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="italic" use="optional"/>
|
|
||||||
<xs:attribute type="AlignmentType" name="alignment" use="optional"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="fontSize" use="optional"/>
|
|
||||||
</xs:extension>
|
|
||||||
</xs:simpleContent>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="xs:string" name="font"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="PathNotEmpty" name="shape" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute name="uid" type="uuid" use="required"/>
|
|
||||||
<xs:attribute type="xs:string" name="name"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="mirrored"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="forbidFlipping"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="forceFlipping"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="sewLineOnDrawing"/>
|
|
||||||
<xs:attribute type="Transformation" name="transform"/>
|
|
||||||
<xs:attribute type="xs:string" name="gradationLabel"/>
|
|
||||||
<xs:attribute type="xs:unsignedInt" name="copyNumber"/>
|
|
||||||
<xs:attribute type="xs:boolean" name="showSeamline"/>
|
|
||||||
<xs:attribute type="xs:float" name="xScale"/>
|
|
||||||
<xs:attribute type="xs:float" name="yScale"/>
|
|
||||||
<xs:attribute type="xs:float" name="zValue"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="GrainlineType" name="grainlineType"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute type="formatVersion" name="version" use="required"/>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<!--Types-->
|
|
||||||
<xs:simpleType name="formatVersion">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="units">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="mm"/>
|
|
||||||
<xs:enumeration value="cm"/>
|
|
||||||
<xs:enumeration value="inch"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="uuid">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="|\{[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}\}"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="ArrowDirection">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="atFront"/>
|
|
||||||
<xs:enumeration value="atRear"/>
|
|
||||||
<xs:enumeration value="atBoth"/>
|
|
||||||
<xs:enumeration value="atFourWay"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="NotchType">
|
|
||||||
<xs:restriction base="xs:unsignedInt">
|
|
||||||
<xs:enumeration value="0"/>
|
|
||||||
<!--OneLine-->
|
|
||||||
<xs:enumeration value="1"/>
|
|
||||||
<!--TwoLines-->
|
|
||||||
<xs:enumeration value="2"/>
|
|
||||||
<!--ThreeLines-->
|
|
||||||
<xs:enumeration value="3"/>
|
|
||||||
<!--TMark-->
|
|
||||||
<xs:enumeration value="4"/>
|
|
||||||
<!--VMark-->
|
|
||||||
<xs:enumeration value="5"/>
|
|
||||||
<!--VMark2-->
|
|
||||||
<xs:enumeration value="6"/>
|
|
||||||
<!--UMark-->
|
|
||||||
<xs:enumeration value="7"/>
|
|
||||||
<!--BoxMark-->
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="CurvePenStyle">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="hair"/>
|
|
||||||
<xs:enumeration value="dashLine"/>
|
|
||||||
<xs:enumeration value="dotLine"/>
|
|
||||||
<xs:enumeration value="dashDotLine"/>
|
|
||||||
<xs:enumeration value="dashDotDotLine"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="MarkerType">
|
|
||||||
<xs:restriction base="xs:unsignedInt">
|
|
||||||
<xs:enumeration value="0"/><!--Segment-->
|
|
||||||
<xs:enumeration value="1"/><!--Rectangle-->
|
|
||||||
<xs:enumeration value="2"/><!--Cross-->
|
|
||||||
<xs:enumeration value="3"/><!--Tshaped-->
|
|
||||||
<xs:enumeration value="4"/><!--Doubletree-->
|
|
||||||
<xs:enumeration value="5"/><!--Corner-->
|
|
||||||
<xs:enumeration value="6"/><!--Triangle-->
|
|
||||||
<xs:enumeration value="7"/><!--Hshaped-->
|
|
||||||
<xs:enumeration value="8"/><!--Button-->
|
|
||||||
<xs:enumeration value="9"/><!--Circle-->
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="AlignmentType">
|
|
||||||
<xs:restriction base="xs:unsignedInt">
|
|
||||||
<xs:enumeration value="0"/><!--default (no aligns)-->
|
|
||||||
<xs:enumeration value="1"/><!--aligns with the left edge-->
|
|
||||||
<xs:enumeration value="2"/><!--aligns with the right edge-->
|
|
||||||
<xs:enumeration value="4"/><!--Centers horizontally in the available space-->
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="Transformation">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="([-+]?\d+\.?\d*([eE][-+]?\d+)?;){8,}[-+]?\d+\.?\d*([eE][-+]?\d+)?"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="PathNotEmpty">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="([-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?\s){0,}[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="PathOrEmpty">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="|([-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?\s){0,}[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="LinePath">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?;[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="LinesPath">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="([-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?;[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?\*){0,}[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?;[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="PointPath">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="[-+]?\d+\.?\d*([eE][-+]?\d+)?,[-+]?\d+\.?\d*([eE][-+]?\d+)?"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="RectPath">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:pattern value="([-+]?\d+\.?\d*([eE][-+]?\d+)?;){3,}[-+]?\d+\.?\d*([eE][-+]?\d+)?"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="GrainlineType">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="horizontal"/>
|
|
||||||
<xs:enumeration value="vertical"/>
|
|
||||||
<xs:enumeration value="notFixed"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
<xs:simpleType name="LayoutScale">
|
|
||||||
<xs:restriction base="xs:float">
|
|
||||||
<xs:minInclusive value="0.01"/>
|
|
||||||
<xs:maxInclusive value="3"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:schema>
|
|
|
@ -953,8 +953,6 @@
|
||||||
<!--Front-->
|
<!--Front-->
|
||||||
<xs:enumeration value="2"/>
|
<xs:enumeration value="2"/>
|
||||||
<!--Rear-->
|
<!--Rear-->
|
||||||
<xs:enumeration value="3"/>
|
|
||||||
<!--For way-->
|
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
<xs:simpleType name="pieceVersion">
|
<xs:simpleType name="pieceVersion">
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const QString VLayoutConverter::LayoutMinVerStr = QStringLiteral("0.1.0");
|
const QString VLayoutConverter::LayoutMinVerStr = QStringLiteral("0.1.0");
|
||||||
const QString VLayoutConverter::LayoutMaxVerStr = QStringLiteral("0.1.4");
|
const QString VLayoutConverter::LayoutMaxVerStr = QStringLiteral("0.1.3");
|
||||||
const QString VLayoutConverter::CurrentSchema = QStringLiteral("://schema/layout/v0.1.4.xsd");
|
const QString VLayoutConverter::CurrentSchema = QStringLiteral("://schema/layout/v0.1.3.xsd");
|
||||||
|
|
||||||
//VLayoutConverter::LayoutMinVer; // <== DON'T FORGET TO UPDATE TOO!!!!
|
//VLayoutConverter::LayoutMinVer; // <== DON'T FORGET TO UPDATE TOO!!!!
|
||||||
//VLayoutConverter::LayoutMaxVer; // <== DON'T FORGET TO UPDATE TOO!!!!
|
//VLayoutConverter::LayoutMaxVer; // <== DON'T FORGET TO UPDATE TOO!!!!
|
||||||
|
@ -125,8 +125,7 @@ auto VLayoutConverter::XSDSchemas() -> QHash<unsigned int, QString>
|
||||||
std::make_pair(FormatVersion(0, 1, 0), QStringLiteral("://schema/layout/v0.1.0.xsd")),
|
std::make_pair(FormatVersion(0, 1, 0), QStringLiteral("://schema/layout/v0.1.0.xsd")),
|
||||||
std::make_pair(FormatVersion(0, 1, 1), QStringLiteral("://schema/layout/v0.1.1.xsd")),
|
std::make_pair(FormatVersion(0, 1, 1), QStringLiteral("://schema/layout/v0.1.1.xsd")),
|
||||||
std::make_pair(FormatVersion(0, 1, 2), QStringLiteral("://schema/layout/v0.1.2.xsd")),
|
std::make_pair(FormatVersion(0, 1, 2), QStringLiteral("://schema/layout/v0.1.2.xsd")),
|
||||||
std::make_pair(FormatVersion(0, 1, 3), QStringLiteral("://schema/layout/v0.1.3.xsd")),
|
std::make_pair(FormatVersion(0, 1, 3), CurrentSchema),
|
||||||
std::make_pair(FormatVersion(0, 1, 4), CurrentSchema),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return schemas;
|
return schemas;
|
||||||
|
@ -157,12 +156,9 @@ void VLayoutConverter::ApplyPatches()
|
||||||
case (FormatVersion(0, 1, 1)):
|
case (FormatVersion(0, 1, 1)):
|
||||||
case (FormatVersion(0, 1, 2)):
|
case (FormatVersion(0, 1, 2)):
|
||||||
ToV0_1_3();
|
ToV0_1_3();
|
||||||
|
ValidateXML(XSDSchema(FormatVersion(0, 1, 3)));
|
||||||
Q_FALLTHROUGH();
|
Q_FALLTHROUGH();
|
||||||
case (FormatVersion(0, 1, 3)):
|
case (FormatVersion(0, 1, 3)):
|
||||||
ToV0_1_4();
|
|
||||||
ValidateXML(CurrentSchema);
|
|
||||||
Q_FALLTHROUGH();
|
|
||||||
case (FormatVersion(0, 1, 4)):
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
InvalidVersion(m_ver);
|
InvalidVersion(m_ver);
|
||||||
|
@ -275,13 +271,3 @@ void VLayoutConverter::ToV0_1_3()
|
||||||
SetVersion(QStringLiteral("0.1.3"));
|
SetVersion(QStringLiteral("0.1.3"));
|
||||||
Save();
|
Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void VLayoutConverter::ToV0_1_4()
|
|
||||||
{
|
|
||||||
// TODO. Delete if minimal supported version is 0.1.4
|
|
||||||
Q_STATIC_ASSERT_X(VLayoutConverter::LayoutMinVer < FormatVersion(0, 1, 4),
|
|
||||||
"Time to refactor the code.");
|
|
||||||
SetVersion(QStringLiteral("0.1.4"));
|
|
||||||
Save();
|
|
||||||
}
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ public:
|
||||||
static const QString LayoutMaxVerStr;
|
static const QString LayoutMaxVerStr;
|
||||||
static const QString CurrentSchema;
|
static const QString CurrentSchema;
|
||||||
static Q_DECL_CONSTEXPR const unsigned LayoutMinVer = FormatVersion(0, 1, 0);
|
static Q_DECL_CONSTEXPR const unsigned LayoutMinVer = FormatVersion(0, 1, 0);
|
||||||
static Q_DECL_CONSTEXPR const unsigned LayoutMaxVer = FormatVersion(0, 1, 4);
|
static Q_DECL_CONSTEXPR const unsigned LayoutMaxVer = FormatVersion(0, 1, 3);
|
||||||
|
|
||||||
static auto XSDSchemas() -> QHash <unsigned, QString>;
|
static auto XSDSchemas() -> QHash <unsigned, QString>;
|
||||||
|
|
||||||
|
@ -70,7 +70,6 @@ protected:
|
||||||
void ConvertPathToV0_1_3(QDomElement &node);
|
void ConvertPathToV0_1_3(QDomElement &node);
|
||||||
|
|
||||||
void ToV0_1_3();
|
void ToV0_1_3();
|
||||||
void ToV0_1_4();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY_MOVE(VLayoutConverter) // NOLINT
|
Q_DISABLE_COPY_MOVE(VLayoutConverter) // NOLINT
|
||||||
|
|
|
@ -1002,7 +1002,7 @@ QString VPatternConverter::FixMeasurementInFormulaToV0_2_0(const QString &formul
|
||||||
|
|
||||||
QScopedPointer<qmu::QmuTokenParser> cal(new qmu::QmuTokenParser(formula, false, false));// Eval formula
|
QScopedPointer<qmu::QmuTokenParser> cal(new qmu::QmuTokenParser(formula, false, false));// Eval formula
|
||||||
QMap<vsizetype, QString> tokens = cal->GetTokens();// Tokens (variables, measurements)
|
QMap<vsizetype, QString> tokens = cal->GetTokens();// Tokens (variables, measurements)
|
||||||
cal.reset();
|
delete cal.take();
|
||||||
|
|
||||||
QList<vsizetype> tKeys = tokens.keys();// Take all tokens positions
|
QList<vsizetype> tKeys = tokens.keys();// Take all tokens positions
|
||||||
QList<QString> tValues = tokens.values();
|
QList<QString> tValues = tokens.values();
|
||||||
|
|
|
@ -287,19 +287,12 @@ void dx_iface::AddAAMALayers()
|
||||||
|
|
||||||
// layer.name = "26";// REF
|
// layer.name = "26";// REF
|
||||||
// layer.color = DRW::black;
|
// layer.color = DRW::black;
|
||||||
// cData.layers.push_back(layer);
|
// cData.layers.push_back(layer);
|
||||||
}
|
|
||||||
|
|
||||||
void dx_iface::AddDefHeaderData()
|
|
||||||
{
|
|
||||||
cData.headerC.addInt("$HANDLING", 1, 70); // Enabled by default for flat version.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void dx_iface::AddAAMAHeaderData()
|
void dx_iface::AddAAMAHeaderData()
|
||||||
{
|
{
|
||||||
cData.headerC.addStr("$CLAYER", "1", 8); // Current layer name
|
cData.headerC.addStr("$CLAYER", "1", 8); // Current layer name
|
||||||
// Looks like doesn't work with handling enabled.
|
|
||||||
// Missing or 0 for $HANDLING value disables handling.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void dx_iface::AddASTMLayers()
|
void dx_iface::AddASTMLayers()
|
||||||
|
|
|
@ -101,8 +101,6 @@ public:
|
||||||
bool fileExport(bool binary);
|
bool fileExport(bool binary);
|
||||||
void writeEntity(DRW_Entity* e);
|
void writeEntity(DRW_Entity* e);
|
||||||
|
|
||||||
void AddXSpaceBlock(bool add) {dxfW->AddXSpaceBlock(add);}
|
|
||||||
|
|
||||||
std::string ErrorString() const;
|
std::string ErrorString() const;
|
||||||
|
|
||||||
//reimplement virtual DRW_Interface functions
|
//reimplement virtual DRW_Interface functions
|
||||||
|
@ -128,7 +126,6 @@ public:
|
||||||
void AddQtLTypes();
|
void AddQtLTypes();
|
||||||
void AddDefLayers();
|
void AddDefLayers();
|
||||||
void AddAAMALayers();
|
void AddAAMALayers();
|
||||||
void AddDefHeaderData();
|
|
||||||
void AddAAMAHeaderData();
|
void AddAAMAHeaderData();
|
||||||
void AddASTMLayers();
|
void AddASTMLayers();
|
||||||
|
|
||||||
|
|
|
@ -234,6 +234,9 @@ class DRW_Point : public DRW_Entity {
|
||||||
SETENTFRIENDS
|
SETENTFRIENDS
|
||||||
public:
|
public:
|
||||||
DRW_Point()
|
DRW_Point()
|
||||||
|
: basePoint(),
|
||||||
|
thickness(0),
|
||||||
|
extPoint(DRW_Coord(0, 0, 1))
|
||||||
{
|
{
|
||||||
eType = DRW::POINT;
|
eType = DRW::POINT;
|
||||||
}
|
}
|
||||||
|
@ -244,9 +247,9 @@ protected:
|
||||||
bool parseCode(int code, dxfReader *reader) override;
|
bool parseCode(int code, dxfReader *reader) override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DRW_Coord basePoint{}; /*!< base point, code 10, 20 & 30 */
|
DRW_Coord basePoint; /*!< base point, code 10, 20 & 30 */
|
||||||
double thickness{0}; /*!< thickness, code 39 */
|
double thickness; /*!< thickness, code 39 */
|
||||||
DRW_Coord extPoint{DRW_Coord(0, 0, 1)}; /*!< Dir extrusion normal vector, code 210, 220 & 230 */
|
DRW_Coord extPoint; /*!< Dir extrusion normal vector, code 210, 220 & 230 */
|
||||||
// TNick: we're not handling code 50 - Angle of the X axis for
|
// TNick: we're not handling code 50 - Angle of the X axis for
|
||||||
// the UCS in effect when the point was drawn
|
// the UCS in effect when the point was drawn
|
||||||
};
|
};
|
||||||
|
|
|
@ -120,8 +120,7 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
||||||
DRW_Coord varCoord;
|
DRW_Coord varCoord;
|
||||||
writer->writeString(2, "HEADER");
|
writer->writeString(2, "HEADER");
|
||||||
writer->writeString(9, "$ACADVER");
|
writer->writeString(9, "$ACADVER");
|
||||||
switch (ver)
|
switch (ver) {
|
||||||
{
|
|
||||||
case DRW::AC1006: //unsupported version acad 10
|
case DRW::AC1006: //unsupported version acad 10
|
||||||
case DRW::AC1009: //acad 11 & 12
|
case DRW::AC1009: //acad 11 & 12
|
||||||
varStr = "AC1009";
|
varStr = "AC1009";
|
||||||
|
@ -272,15 +271,14 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
||||||
writer->writeUtf8String(7, varStr);
|
writer->writeUtf8String(7, varStr);
|
||||||
else
|
else
|
||||||
writer->writeString(7, "STANDARD");
|
writer->writeString(7, "STANDARD");
|
||||||
|
|
||||||
if (getStr("$CLAYER", &varStr))
|
|
||||||
{
|
|
||||||
writer->writeString(9, "$CLAYER");
|
writer->writeString(9, "$CLAYER");
|
||||||
|
if (getStr("$CLAYER", &varStr))
|
||||||
if (ver == DRW::AC1009)
|
if (ver == DRW::AC1009)
|
||||||
writer->writeUtf8Caps(8, varStr);
|
writer->writeUtf8Caps(8, varStr);
|
||||||
else
|
else
|
||||||
writer->writeUtf8String(8, varStr);
|
writer->writeUtf8String(8, varStr);
|
||||||
}
|
else
|
||||||
|
writer->writeString(8, "0");
|
||||||
writer->writeString(9, "$CELTYPE");
|
writer->writeString(9, "$CELTYPE");
|
||||||
if (getStr("$CELTYPE", &varStr))
|
if (getStr("$CELTYPE", &varStr))
|
||||||
if (ver == DRW::AC1009)
|
if (ver == DRW::AC1009)
|
||||||
|
@ -880,8 +878,7 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
||||||
writer->writeInt16(70, varInt);
|
writer->writeInt16(70, varInt);
|
||||||
} else
|
} else
|
||||||
writer->writeInt16(70, 8);
|
writer->writeInt16(70, 8);
|
||||||
if (ver < DRW::AC1012)
|
if (ver < DRW::AC1012) {
|
||||||
{
|
|
||||||
writer->writeString(9, "$ATTDIA");
|
writer->writeString(9, "$ATTDIA");
|
||||||
if (getInt("$ATTDIA", &varInt)) {
|
if (getInt("$ATTDIA", &varInt)) {
|
||||||
writer->writeInt16(70, varInt);
|
writer->writeInt16(70, varInt);
|
||||||
|
@ -892,19 +889,11 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
||||||
writer->writeInt16(70, varInt);
|
writer->writeInt16(70, varInt);
|
||||||
} else
|
} else
|
||||||
writer->writeInt16(70, 1);
|
writer->writeInt16(70, 1);
|
||||||
|
|
||||||
// A handle is an arbitrary but in your DXF file unique hex value as string like ‘10FF’. It is common to to use
|
|
||||||
// uppercase letters for hex numbers. Handle can have up to 16 hexadecimal digits (8 bytes).
|
|
||||||
//
|
|
||||||
// For DXF R10 until R12 the usage of handles was optional. The header variable $HANDLING set to 1 indicate the
|
|
||||||
// usage of handles, else $HANDLING is 0 or missing.
|
|
||||||
//
|
|
||||||
// For DXF R13 and later the usage of handles is mandatory and the header variable $HANDLING was removed.
|
|
||||||
if (getInt("$HANDLING", &varInt))
|
|
||||||
{
|
|
||||||
writer->writeString(9, "$HANDLING");
|
writer->writeString(9, "$HANDLING");
|
||||||
|
if (getInt("$HANDLING", &varInt)) {
|
||||||
writer->writeInt16(70, varInt);
|
writer->writeInt16(70, varInt);
|
||||||
}
|
} else
|
||||||
|
writer->writeInt16(70, 1);
|
||||||
}
|
}
|
||||||
writer->writeString(9, "$HANDSEED");
|
writer->writeString(9, "$HANDSEED");
|
||||||
//RLZ dxfHex(5, 0xFFFF);
|
//RLZ dxfHex(5, 0xFFFF);
|
||||||
|
@ -1705,39 +1694,37 @@ void DRW_Header::addCoord(std::string key, const DRW_Coord &value, int code){
|
||||||
vars[key] =curr;
|
vars[key] =curr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DRW_Header::getDouble(const std::string &key, double *varDouble) const
|
bool DRW_Header::getDouble(const std::string &key, double *varDouble){
|
||||||
{
|
|
||||||
bool result = false;
|
bool result = false;
|
||||||
auto it=vars.find( key);
|
auto it=vars.find( key);
|
||||||
if (it != vars.end())
|
if (it != vars.end()) {
|
||||||
{
|
|
||||||
DRW_Variant *var = (*it).second;
|
DRW_Variant *var = (*it).second;
|
||||||
if (var->type == DRW_Variant::DOUBLE)
|
if (var->type == DRW_Variant::DOUBLE) {
|
||||||
{
|
|
||||||
*varDouble = var->content.d;
|
*varDouble = var->content.d;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
delete var;
|
||||||
|
vars.erase (it);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DRW_Header::getInt(const std::string &key, int *varInt) const
|
bool DRW_Header::getInt(const std::string &key, int *varInt){
|
||||||
{
|
|
||||||
bool result = false;
|
bool result = false;
|
||||||
auto it=vars.find( key);
|
auto it=vars.find( key);
|
||||||
if (it != vars.end())
|
if (it != vars.end()) {
|
||||||
{
|
|
||||||
DRW_Variant *var = (*it).second;
|
DRW_Variant *var = (*it).second;
|
||||||
if (var->type == DRW_Variant::INTEGER)
|
if (var->type == DRW_Variant::INTEGER) {
|
||||||
{
|
|
||||||
*varInt = var->content.i;
|
*varInt = var->content.i;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
delete var;
|
||||||
|
vars.erase (it);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DRW_Header::getStr(const std::string &key, std::string *varStr) const{
|
bool DRW_Header::getStr(const std::string &key, std::string *varStr){
|
||||||
bool result = false;
|
bool result = false;
|
||||||
auto it=vars.find( key);
|
auto it=vars.find( key);
|
||||||
if (it != vars.end()) {
|
if (it != vars.end()) {
|
||||||
|
@ -1746,22 +1733,23 @@ bool DRW_Header::getStr(const std::string &key, std::string *varStr) const{
|
||||||
*varStr = *var->content.s;
|
*varStr = *var->content.s;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
delete var;
|
||||||
|
vars.erase (it);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DRW_Header::getCoord(const std::string &key, DRW_Coord *varCoord) const
|
bool DRW_Header::getCoord(const std::string &key, DRW_Coord *varCoord){
|
||||||
{
|
|
||||||
bool result = false;
|
bool result = false;
|
||||||
auto it=vars.find( key);
|
auto it=vars.find( key);
|
||||||
if (it != vars.end())
|
if (it != vars.end()) {
|
||||||
{
|
|
||||||
DRW_Variant *var = (*it).second;
|
DRW_Variant *var = (*it).second;
|
||||||
if (var->type == DRW_Variant::COORD)
|
if (var->type == DRW_Variant::COORD) {
|
||||||
{
|
|
||||||
*varCoord = *var->content.v;
|
*varCoord = *var->content.v;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
delete var;
|
||||||
|
vars.erase (it);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,10 +117,10 @@ public:
|
||||||
protected:
|
protected:
|
||||||
bool parseCode(int code, dxfReader *reader);
|
bool parseCode(int code, dxfReader *reader);
|
||||||
private:
|
private:
|
||||||
bool getDouble(const std::string &key, double *varDouble) const;
|
bool getDouble(const std::string &key, double *varDouble);
|
||||||
bool getInt(const std::string &key, int *varInt) const;
|
bool getInt(const std::string &key, int *varInt);
|
||||||
bool getStr(const std::string &key, std::string *varStr) const;
|
bool getStr(const std::string &key, std::string *varStr);
|
||||||
bool getCoord(const std::string &key, DRW_Coord *varCoord) const;
|
bool getCoord(const std::string &key, DRW_Coord *varCoord);
|
||||||
void clearVars()
|
void clearVars()
|
||||||
{
|
{
|
||||||
for (auto it=vars.begin(); it!=vars.end(); ++it)
|
for (auto it=vars.begin(); it!=vars.end(); ++it)
|
||||||
|
|
|
@ -142,10 +142,10 @@ bool dxfRW::write(DRW_Interface *interface_, DRW::Version ver, bool bin){
|
||||||
std::string comm = std::string("dxfrw ") + std::string(DRW_VERSION);
|
std::string comm = std::string("dxfrw ") + std::string(DRW_VERSION);
|
||||||
writer->writeString(999, comm);
|
writer->writeString(999, comm);
|
||||||
}
|
}
|
||||||
this->header = DRW_Header();
|
DRW_Header header;
|
||||||
iface->writeHeader(header);
|
iface->writeHeader(header);
|
||||||
writer->writeString(0, "SECTION");
|
writer->writeString(0, "SECTION");
|
||||||
entCount = FIRSTHANDLE;
|
entCount =FIRSTHANDLE;
|
||||||
header.write(writer, version);
|
header.write(writer, version);
|
||||||
writer->writeString(0, "ENDSEC");
|
writer->writeString(0, "ENDSEC");
|
||||||
if (ver > DRW::AC1009) {
|
if (ver > DRW::AC1009) {
|
||||||
|
@ -190,33 +190,9 @@ bool dxfRW::write(DRW_Interface *interface_, DRW::Version ver, bool bin){
|
||||||
return isOk;
|
return isOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool dxfRW::writeEntity(DRW_Entity *ent)
|
bool dxfRW::writeEntity(DRW_Entity *ent) {
|
||||||
{
|
|
||||||
// A handle is an arbitrary but in your DXF file unique hex value as string like ‘10FF’. It is common to to use
|
|
||||||
// uppercase letters for hex numbers. Handle can have up to 16 hexadecimal digits (8 bytes).
|
|
||||||
//
|
|
||||||
// For DXF R10 until R12 the usage of handles was optional. The header variable $HANDLING set to 1 indicate the
|
|
||||||
// usage of handles, else $HANDLING is 0 or missing.
|
|
||||||
//
|
|
||||||
// For DXF R13 and later the usage of handles is mandatory and the header variable $HANDLING was removed.
|
|
||||||
if (version < DRW::AC1012)
|
|
||||||
{
|
|
||||||
int varInt = 0;
|
|
||||||
if (header.getInt("$HANDLING", &varInt))
|
|
||||||
{
|
|
||||||
if (varInt != 0)
|
|
||||||
{
|
|
||||||
ent->handle = static_cast<duint32>(++entCount);
|
ent->handle = static_cast<duint32>(++entCount);
|
||||||
writer->writeString(5, toHexStr(static_cast<int>(ent->handle)));
|
writer->writeString(5, toHexStr(static_cast<int>(ent->handle)));
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ent->handle = static_cast<duint32>(++entCount);
|
|
||||||
writer->writeString(5, toHexStr(static_cast<int>(ent->handle)));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (version > DRW::AC1009) {
|
if (version > DRW::AC1009) {
|
||||||
writer->writeString(100, "AcDbEntity");
|
writer->writeString(100, "AcDbEntity");
|
||||||
}
|
}
|
||||||
|
@ -491,7 +467,6 @@ bool dxfRW::writeDimstyle(DRW_Dimstyle *ent){
|
||||||
if (name == "STANDARD")
|
if (name == "STANDARD")
|
||||||
dimstyleStd = true;
|
dimstyleStd = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version > DRW::AC1009) {
|
if (version > DRW::AC1009) {
|
||||||
writer->writeString(105, toHexStr(++entCount));
|
writer->writeString(105, toHexStr(++entCount));
|
||||||
}
|
}
|
||||||
|
@ -640,10 +615,7 @@ bool dxfRW::writeASTMNotch(DRW_ASTMNotch *ent)
|
||||||
{
|
{
|
||||||
writePoint(ent);
|
writePoint(ent);
|
||||||
writer->writeDouble(50, ent->angle);
|
writer->writeDouble(50, ent->angle);
|
||||||
if (not qFuzzyIsNull(ent->thickness))
|
|
||||||
{
|
|
||||||
writer->writeDouble(39, ent->thickness); // Defined, but not used in point
|
writer->writeDouble(39, ent->thickness); // Defined, but not used in point
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1722,130 +1694,93 @@ bool dxfRW::writeTables() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool dxfRW::writeBlocks()
|
bool dxfRW::writeBlocks() {
|
||||||
{
|
|
||||||
if (version > DRW::AC1009 || m_xSpaceBlock)
|
|
||||||
{
|
|
||||||
writer->writeString(0, "BLOCK");
|
writer->writeString(0, "BLOCK");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009) {
|
||||||
{
|
|
||||||
writer->writeString(5, "20");
|
writer->writeString(5, "20");
|
||||||
if (version > DRW::AC1014)
|
if (version > DRW::AC1014) {
|
||||||
{
|
|
||||||
writer->writeString(330, "1F");
|
writer->writeString(330, "1F");
|
||||||
}
|
}
|
||||||
writer->writeString(100, "AcDbEntity");
|
writer->writeString(100, "AcDbEntity");
|
||||||
}
|
}
|
||||||
writer->writeString(8, "0");
|
writer->writeString(8, "0");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009) {
|
||||||
{
|
|
||||||
writer->writeString(100, "AcDbBlockBegin");
|
writer->writeString(100, "AcDbBlockBegin");
|
||||||
writer->writeString(2, "*Model_Space");
|
writer->writeString(2, "*Model_Space");
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
{
|
|
||||||
writer->writeString(2, "$MODEL_SPACE");
|
writer->writeString(2, "$MODEL_SPACE");
|
||||||
}
|
|
||||||
writer->writeInt16(70, 0);
|
writer->writeInt16(70, 0);
|
||||||
writer->writeDouble(10, 0.0);
|
writer->writeDouble(10, 0.0);
|
||||||
writer->writeDouble(20, 0.0);
|
writer->writeDouble(20, 0.0);
|
||||||
writer->writeDouble(30, 0.0);
|
writer->writeDouble(30, 0.0);
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009)
|
||||||
{
|
|
||||||
writer->writeString(3, "*Model_Space");
|
writer->writeString(3, "*Model_Space");
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
writer->writeString(3, "$MODEL_SPACE");
|
writer->writeString(3, "$MODEL_SPACE");
|
||||||
}
|
|
||||||
writer->writeString(1, "");
|
writer->writeString(1, "");
|
||||||
writer->writeString(0, "ENDBLK");
|
writer->writeString(0, "ENDBLK");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009) {
|
||||||
{
|
|
||||||
writer->writeString(5, "21");
|
writer->writeString(5, "21");
|
||||||
if (version > DRW::AC1014)
|
if (version > DRW::AC1014) {
|
||||||
{
|
|
||||||
writer->writeString(330, "1F");
|
writer->writeString(330, "1F");
|
||||||
}
|
}
|
||||||
writer->writeString(100, "AcDbEntity");
|
writer->writeString(100, "AcDbEntity");
|
||||||
}
|
}
|
||||||
writer->writeString(8, "0");
|
writer->writeString(8, "0");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009)
|
||||||
{
|
|
||||||
writer->writeString(100, "AcDbBlockEnd");
|
writer->writeString(100, "AcDbBlockEnd");
|
||||||
}
|
|
||||||
|
|
||||||
writer->writeString(0, "BLOCK");
|
writer->writeString(0, "BLOCK");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009) {
|
||||||
{
|
|
||||||
writer->writeString(5, "1C");
|
writer->writeString(5, "1C");
|
||||||
if (version > DRW::AC1014)
|
if (version > DRW::AC1014) {
|
||||||
{
|
|
||||||
writer->writeString(330, "1B");
|
writer->writeString(330, "1B");
|
||||||
}
|
}
|
||||||
writer->writeString(100, "AcDbEntity");
|
writer->writeString(100, "AcDbEntity");
|
||||||
}
|
}
|
||||||
writer->writeString(8, "0");
|
writer->writeString(8, "0");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009) {
|
||||||
{
|
|
||||||
writer->writeString(100, "AcDbBlockBegin");
|
writer->writeString(100, "AcDbBlockBegin");
|
||||||
writer->writeString(2, "*Paper_Space");
|
writer->writeString(2, "*Paper_Space");
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
{
|
|
||||||
writer->writeString(2, "$PAPER_SPACE");
|
writer->writeString(2, "$PAPER_SPACE");
|
||||||
}
|
|
||||||
writer->writeInt16(70, 0);
|
writer->writeInt16(70, 0);
|
||||||
writer->writeDouble(10, 0.0);
|
writer->writeDouble(10, 0.0);
|
||||||
writer->writeDouble(20, 0.0);
|
writer->writeDouble(20, 0.0);
|
||||||
writer->writeDouble(30, 0.0);
|
writer->writeDouble(30, 0.0);
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009)
|
||||||
{
|
|
||||||
writer->writeString(3, "*Paper_Space");
|
writer->writeString(3, "*Paper_Space");
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
writer->writeString(3, "$PAPER_SPACE");
|
writer->writeString(3, "$PAPER_SPACE");
|
||||||
}
|
|
||||||
writer->writeString(1, "");
|
writer->writeString(1, "");
|
||||||
writer->writeString(0, "ENDBLK");
|
writer->writeString(0, "ENDBLK");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009) {
|
||||||
{
|
|
||||||
writer->writeString(5, "1D");
|
writer->writeString(5, "1D");
|
||||||
if (version > DRW::AC1014)
|
if (version > DRW::AC1014) {
|
||||||
{
|
|
||||||
writer->writeString(330, "1F");
|
writer->writeString(330, "1F");
|
||||||
}
|
}
|
||||||
writer->writeString(100, "AcDbEntity");
|
writer->writeString(100, "AcDbEntity");
|
||||||
}
|
}
|
||||||
writer->writeString(8, "0");
|
writer->writeString(8, "0");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009)
|
||||||
{
|
|
||||||
writer->writeString(100, "AcDbBlockEnd");
|
writer->writeString(100, "AcDbBlockEnd");
|
||||||
}
|
|
||||||
}
|
|
||||||
writingBlock = false;
|
writingBlock = false;
|
||||||
iface->writeBlocks();
|
iface->writeBlocks();
|
||||||
if (writingBlock)
|
if (writingBlock) {
|
||||||
{
|
|
||||||
writingBlock = false;
|
writingBlock = false;
|
||||||
writer->writeString(0, "ENDBLK");
|
writer->writeString(0, "ENDBLK");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009) {
|
||||||
{
|
|
||||||
writer->writeString(5, toHexStr(currHandle+2));
|
writer->writeString(5, toHexStr(currHandle+2));
|
||||||
// writer->writeString(5, "1D");
|
// writer->writeString(5, "1D");
|
||||||
if (version > DRW::AC1014)
|
if (version > DRW::AC1014) {
|
||||||
{
|
|
||||||
writer->writeString(330, toHexStr(currHandle));
|
writer->writeString(330, toHexStr(currHandle));
|
||||||
}
|
}
|
||||||
writer->writeString(100, "AcDbEntity");
|
writer->writeString(100, "AcDbEntity");
|
||||||
}
|
}
|
||||||
writer->writeString(8, "0");
|
writer->writeString(8, "0");
|
||||||
if (version > DRW::AC1009)
|
if (version > DRW::AC1009)
|
||||||
{
|
|
||||||
writer->writeString(100, "AcDbBlockEnd");
|
writer->writeString(100, "AcDbBlockEnd");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2767,11 +2702,11 @@ bool dxfRW::processPolyline() {
|
||||||
bool dxfRW::processVertex(DRW_Polyline *pl) {
|
bool dxfRW::processVertex(DRW_Polyline *pl) {
|
||||||
DRW_DBG("dxfRW::processVertex");
|
DRW_DBG("dxfRW::processVertex");
|
||||||
int code;
|
int code;
|
||||||
std::unique_ptr<DRW_Vertex> v(new DRW_Vertex());
|
QScopedPointer<DRW_Vertex> v(new DRW_Vertex());
|
||||||
while (reader->readRec(&code)) {
|
while (reader->readRec(&code)) {
|
||||||
DRW_DBG(code); DRW_DBG("\n");
|
DRW_DBG(code); DRW_DBG("\n");
|
||||||
if (0 == code) {
|
if (0 == code) {
|
||||||
pl->appendVertex(v.release());
|
pl->appendVertex(v.take());
|
||||||
nextentity = reader->getString();
|
nextentity = reader->getString();
|
||||||
DRW_DBG(nextentity); DRW_DBG("\n");
|
DRW_DBG(nextentity); DRW_DBG("\n");
|
||||||
if (nextentity == "SEQEND") {
|
if (nextentity == "SEQEND") {
|
||||||
|
|
|
@ -39,7 +39,6 @@ public:
|
||||||
*/
|
*/
|
||||||
bool read(DRW_Interface *interface_, bool ext);
|
bool read(DRW_Interface *interface_, bool ext);
|
||||||
void setBinary(bool b) {binFile = b;}
|
void setBinary(bool b) {binFile = b;}
|
||||||
void AddXSpaceBlock(bool add) {m_xSpaceBlock = add;}
|
|
||||||
|
|
||||||
bool write(DRW_Interface *interface_, DRW::Version ver, bool bin);
|
bool write(DRW_Interface *interface_, DRW::Version ver, bool bin);
|
||||||
bool writeLineType(DRW_LType *ent);
|
bool writeLineType(DRW_LType *ent);
|
||||||
|
@ -139,7 +138,6 @@ private:
|
||||||
std::string fileName;
|
std::string fileName;
|
||||||
std::string codePage;
|
std::string codePage;
|
||||||
bool binFile;
|
bool binFile;
|
||||||
bool m_xSpaceBlock{true};
|
|
||||||
dxfReader *reader;
|
dxfReader *reader;
|
||||||
dxfWriter *writer;
|
dxfWriter *writer;
|
||||||
DRW_Interface *iface;
|
DRW_Interface *iface;
|
||||||
|
|
|
@ -157,7 +157,6 @@ auto VDxfEngine::begin(QPaintDevice *pdev) -> bool
|
||||||
|
|
||||||
m_input = QSharedPointer<dx_iface>(new dx_iface(GetFileNameForLocale(), m_version, m_varMeasurement,
|
m_input = QSharedPointer<dx_iface>(new dx_iface(GetFileNameForLocale(), m_version, m_varMeasurement,
|
||||||
m_varInsunits));
|
m_varInsunits));
|
||||||
m_input->AddDefHeaderData();
|
|
||||||
m_input->AddQtLTypes();
|
m_input->AddQtLTypes();
|
||||||
m_input->AddDefLayers();
|
m_input->AddDefLayers();
|
||||||
return true;
|
return true;
|
||||||
|
@ -701,7 +700,6 @@ auto VDxfEngine::ExportToAAMA(const QVector<VLayoutPiece> &details) -> bool
|
||||||
}
|
}
|
||||||
|
|
||||||
m_input = QSharedPointer<dx_iface>::create(GetFileNameForLocale(), m_version, m_varMeasurement, m_varInsunits);
|
m_input = QSharedPointer<dx_iface>::create(GetFileNameForLocale(), m_version, m_varMeasurement, m_varInsunits);
|
||||||
m_input->AddXSpaceBlock(false);
|
|
||||||
m_input->AddAAMAHeaderData();
|
m_input->AddAAMAHeaderData();
|
||||||
if (m_version > DRW::AC1009)
|
if (m_version > DRW::AC1009)
|
||||||
{
|
{
|
||||||
|
@ -732,7 +730,6 @@ auto VDxfEngine::ExportToAAMA(const QVector<VLayoutPiece> &details) -> bool
|
||||||
}
|
}
|
||||||
|
|
||||||
detailBlock->name = blockName.toStdString();
|
detailBlock->name = blockName.toStdString();
|
||||||
detailBlock->flags = 64;
|
|
||||||
detailBlock->layer = *layer1;
|
detailBlock->layer = *layer1;
|
||||||
|
|
||||||
detail.Scale(m_xscale, m_yscale);
|
detail.Scale(m_xscale, m_yscale);
|
||||||
|
@ -747,11 +744,11 @@ auto VDxfEngine::ExportToAAMA(const QVector<VLayoutPiece> &details) -> bool
|
||||||
|
|
||||||
m_input->AddBlock(detailBlock.data());
|
m_input->AddBlock(detailBlock.data());
|
||||||
|
|
||||||
std::unique_ptr<DRW_Insert> insert(new DRW_Insert());
|
QScopedPointer<DRW_Insert> insert(new DRW_Insert());
|
||||||
insert->name = blockName.toStdString();
|
insert->name = blockName.toStdString();
|
||||||
insert->layer = *layer1;
|
insert->layer = *layer1;
|
||||||
|
|
||||||
m_input->AddEntity(insert.release());
|
m_input->AddEntity(insert.take());
|
||||||
|
|
||||||
deleteBlock = false; // lose ownership
|
deleteBlock = false; // lose ownership
|
||||||
}
|
}
|
||||||
|
@ -847,16 +844,13 @@ void VDxfEngine::ExportAAMANotch(const QSharedPointer<dx_ifaceBlock> &detailBloc
|
||||||
const QVector<VLayoutPassmark> passmarks = detail.GetMappedPassmarks();
|
const QVector<VLayoutPassmark> passmarks = detail.GetMappedPassmarks();
|
||||||
for(const auto &passmark : passmarks)
|
for(const auto &passmark : passmarks)
|
||||||
{
|
{
|
||||||
std::unique_ptr<DRW_ASTMNotch> notch(new DRW_ASTMNotch());
|
for (const auto &line : passmark.lines)
|
||||||
const QPointF center = passmark.baseLine.p1();
|
{
|
||||||
|
if (DRW_Entity *e = AAMALine(line, *layer4))
|
||||||
notch->basePoint = DRW_Coord(FromPixel(center.x(), m_varInsunits),
|
{
|
||||||
FromPixel(GetSize().height() - center.y(), m_varInsunits),
|
detailBlock->ent.push_back(e);
|
||||||
FromPixel(passmark.baseLine.length(), m_varInsunits));
|
}
|
||||||
notch->angle = passmark.baseLine.angle();
|
}
|
||||||
notch->layer = *layer4;
|
|
||||||
|
|
||||||
detailBlock->ent.push_back(notch.release());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -934,7 +928,7 @@ auto VDxfEngine::ExportToASTM(const QVector<VLayoutPiece> &details) -> bool
|
||||||
|
|
||||||
m_input = QSharedPointer<dx_iface>(new dx_iface(GetFileNameForLocale(), m_version, m_varMeasurement,
|
m_input = QSharedPointer<dx_iface>(new dx_iface(GetFileNameForLocale(), m_version, m_varMeasurement,
|
||||||
m_varInsunits));
|
m_varInsunits));
|
||||||
m_input->AddXSpaceBlock(false);
|
|
||||||
m_input->AddAAMAHeaderData();
|
m_input->AddAAMAHeaderData();
|
||||||
if (m_version > DRW::AC1009)
|
if (m_version > DRW::AC1009)
|
||||||
{
|
{
|
||||||
|
@ -980,11 +974,11 @@ auto VDxfEngine::ExportToASTM(const QVector<VLayoutPiece> &details) -> bool
|
||||||
|
|
||||||
m_input->AddBlock(detailBlock.data());
|
m_input->AddBlock(detailBlock.data());
|
||||||
|
|
||||||
std::unique_ptr<DRW_Insert> insert(new DRW_Insert());
|
QScopedPointer<DRW_Insert> insert(new DRW_Insert());
|
||||||
insert->name = blockName.toStdString();
|
insert->name = blockName.toStdString();
|
||||||
insert->layer = *layer1;
|
insert->layer = *layer1;
|
||||||
|
|
||||||
m_input->AddEntity(insert.release());
|
m_input->AddEntity(insert.take());
|
||||||
|
|
||||||
deleteBlock = false; // lose ownership
|
deleteBlock = false; // lose ownership
|
||||||
}
|
}
|
||||||
|
@ -1131,17 +1125,10 @@ void VDxfEngine::ExportASTMDrill(const QSharedPointer<dx_ifaceBlock> &detailBloc
|
||||||
|| label.Type() == PlaceLabelType::Circle)
|
|| label.Type() == PlaceLabelType::Circle)
|
||||||
{
|
{
|
||||||
const QPointF center = detail.GetMatrix().map(label.Center());
|
const QPointF center = detail.GetMatrix().map(label.Center());
|
||||||
QLineF diameter = detail.GetMatrix().map(QLineF(label.Box().bottomLeft(), label.Box().topRight()));
|
detailBlock->ent.push_back(AAMAPoint(center, *layer13));
|
||||||
|
|
||||||
std::unique_ptr<DRW_Point> point(new DRW_Point());
|
|
||||||
point->basePoint = DRW_Coord(FromPixel(center.x(), m_varInsunits),
|
|
||||||
FromPixel(GetSize().height() - center.y(), m_varInsunits),
|
|
||||||
FromPixel(diameter.length(), m_varInsunits));
|
|
||||||
point->layer = *layer13;
|
|
||||||
detailBlock->ent.push_back(point.release());
|
|
||||||
|
|
||||||
// TODO. Investigate drill category
|
// TODO. Investigate drill category
|
||||||
// QPointF pos(center.x(), center.y() - ToPixel(AAMATextHeight, m_varInsunits));
|
// QPointF pos(center.x(), center.y() - ToPixel(AAMATextHeight, varInsunits));
|
||||||
// detailBlock->ent.push_back(AAMAText(pos, category, *layer13));
|
// detailBlock->ent.push_back(AAMAText(pos, category, *layer13));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1170,33 +1157,34 @@ void VDxfEngine::ExportASTMNotch(const QSharedPointer<dx_ifaceBlock> &detailBloc
|
||||||
notch->layer = *layer4;
|
notch->layer = *layer4;
|
||||||
}
|
}
|
||||||
else if (passmark.type == PassmarkLineType::VMark || passmark.type == PassmarkLineType::VMark2)
|
else if (passmark.type == PassmarkLineType::VMark || passmark.type == PassmarkLineType::VMark2)
|
||||||
{ // V-Notch
|
{
|
||||||
QLineF boundaryLine(ConstFirst(passmark.lines).p2(), ConstLast(passmark.lines).p2());
|
QLineF boundaryLine(ConstFirst(passmark.lines).p2(), ConstLast(passmark.lines).p2());
|
||||||
notch->thickness = FromPixel(boundaryLine.length(), m_varInsunits); // width
|
notch->thickness = FromPixel(boundaryLine.length(), m_varInsunits); // width
|
||||||
|
|
||||||
notch->layer = *layer4;
|
notch->layer = *layer4;
|
||||||
}
|
}
|
||||||
else if (passmark.type == PassmarkLineType::TMark)
|
else if (passmark.type == PassmarkLineType::TMark)
|
||||||
{ // T-Notch
|
{
|
||||||
notch->thickness = FromPixel(ConstLast(passmark.lines).length(), m_varInsunits); // width
|
qreal width = FromPixel(ConstLast(passmark.lines).length(), m_varInsunits);
|
||||||
|
notch->thickness = FromPixel(width, m_varInsunits);
|
||||||
|
|
||||||
notch->layer = *layer80;
|
notch->layer = *layer80;
|
||||||
}
|
}
|
||||||
else if (passmark.type == PassmarkLineType::BoxMark)
|
else if (passmark.type == PassmarkLineType::BoxMark)
|
||||||
{ // Castle Notch
|
{
|
||||||
QPointF start = ConstFirst(passmark.lines).p1();
|
QPointF start = ConstFirst(passmark.lines).p1();
|
||||||
QPointF end = ConstLast(passmark.lines).p2();
|
QPointF end = ConstLast(passmark.lines).p2();
|
||||||
|
|
||||||
notch->layer = *layer81;
|
notch->layer = *layer81;
|
||||||
|
|
||||||
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits); // width
|
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits);
|
||||||
}
|
}
|
||||||
else if (passmark.type == PassmarkLineType::UMark)
|
else if (passmark.type == PassmarkLineType::UMark)
|
||||||
{ // U-Notch
|
{
|
||||||
QPointF start = ConstFirst(passmark.lines).p1();
|
QPointF start = ConstFirst(passmark.lines).p1();
|
||||||
QPointF end = ConstLast(passmark.lines).p2();
|
QPointF end = ConstLast(passmark.lines).p2();
|
||||||
|
|
||||||
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits); // width
|
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits);
|
||||||
|
|
||||||
notch->layer = *layer83;
|
notch->layer = *layer83;
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,7 +115,7 @@ private:
|
||||||
QSize m_size{};
|
QSize m_size{};
|
||||||
double m_resolution{PrintDPI};
|
double m_resolution{PrintDPI};
|
||||||
QString m_fileName{};
|
QString m_fileName{};
|
||||||
DRW::Version m_version{DRW::AC1009};
|
DRW::Version m_version{DRW::AC1014};
|
||||||
bool m_binary{false};
|
bool m_binary{false};
|
||||||
QTransform m_matrix{};
|
QTransform m_matrix{};
|
||||||
QSharedPointer<dx_iface> m_input{};
|
QSharedPointer<dx_iface> m_input{};
|
||||||
|
|
|
@ -170,8 +170,8 @@ bool WatermarkWindow::Open(QString path)
|
||||||
|
|
||||||
QFuture<VWatermarkConverter *> futureConverter = QtConcurrent::run([path]()
|
QFuture<VWatermarkConverter *> futureConverter = QtConcurrent::run([path]()
|
||||||
{
|
{
|
||||||
std::unique_ptr<VWatermarkConverter> converter(new VWatermarkConverter(path));
|
QScopedPointer<VWatermarkConverter> converter(new VWatermarkConverter(path));
|
||||||
return converter.release();
|
return converter.take();
|
||||||
});
|
});
|
||||||
|
|
||||||
//We have unsaved changes or load more then one file per time
|
//We have unsaved changes or load more then one file per time
|
||||||
|
|
|
@ -1275,8 +1275,7 @@ auto VAbstractPiece::EkvPoint(QVector<VRawSAPoint> points, const VSAPoint &p1Lin
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
if (VGObject::IsPointOnLineSegment(p2Line1, p1Line1, p1Line2, ToPixel(0.5, Unit::Mm)) &&
|
if (VGObject::IsPointOnLineSegment(p2Line1, p1Line1, p1Line2, ToPixel(0.5, Unit::Mm)) &&
|
||||||
IsOnLine(p2Line1, bigLine1.p2(), bigLine2.p1(), ToPixel(0.5, Unit::Mm)) &&
|
IsOnLine(p2Line1, bigLine1.p2(), bigLine2.p1(), ToPixel(0.5, Unit::Mm)))
|
||||||
p2Line1.GetAngleType() == PieceNodeAngle::ByLength)
|
|
||||||
{
|
{
|
||||||
points.append(VRawSAPoint(bigLine1.p2(), p2Line1.CurvePoint(), p2Line1.TurnPoint()));
|
points.append(VRawSAPoint(bigLine1.p2(), p2Line1.CurvePoint(), p2Line1.TurnPoint()));
|
||||||
points.append(VRawSAPoint(bigLine2.p1(), p2Line1.CurvePoint(), p2Line1.TurnPoint()));
|
points.append(VRawSAPoint(bigLine2.p1(), p2Line1.CurvePoint(), p2Line1.TurnPoint()));
|
||||||
|
@ -1778,44 +1777,14 @@ auto VAbstractPiece::GrainlinePoints(const VGrainlineData &geom, const VContaine
|
||||||
v << QPointF(pt1.x() + dArrowLen * qCos(rotation - dArrowAng),
|
v << QPointF(pt1.x() + dArrowLen * qCos(rotation - dArrowAng),
|
||||||
pt1.y() - dArrowLen * qSin(rotation - dArrowAng));
|
pt1.y() - dArrowLen * qSin(rotation - dArrowAng));
|
||||||
v << pt1;
|
v << pt1;
|
||||||
|
|
||||||
if (geom.GetArrowType() == GrainlineArrowDirection::atFourWay)
|
|
||||||
{ // second double arrow
|
|
||||||
QLineF line(pt2, pt1);
|
|
||||||
line.setLength(line.length() - dArrowLen - dArrowLen*0.5);
|
|
||||||
|
|
||||||
v << line.p2();
|
|
||||||
v << QPointF(line.p2().x() + dArrowLen * qCos(rotation + dArrowAng),
|
|
||||||
line.p2().y() - dArrowLen * qSin(rotation + dArrowAng));
|
|
||||||
v << QPointF(line.p2().x() + dArrowLen * qCos(rotation - dArrowAng),
|
|
||||||
line.p2().y() - dArrowLen * qSin(rotation - dArrowAng));
|
|
||||||
v << line.p2();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (geom.GetArrowType() != GrainlineArrowDirection::atFourWay)
|
|
||||||
{
|
|
||||||
v << pt2;
|
v << pt2;
|
||||||
}
|
|
||||||
|
|
||||||
if (geom.GetArrowType() != GrainlineArrowDirection::atRear)
|
if (geom.GetArrowType() != GrainlineArrowDirection::atRear)
|
||||||
{
|
{
|
||||||
rotation += M_PI;
|
rotation += M_PI;
|
||||||
|
|
||||||
if (geom.GetArrowType() == GrainlineArrowDirection::atFourWay)
|
|
||||||
{ // first double arrow
|
|
||||||
QLineF line(pt1, pt2);
|
|
||||||
line.setLength(line.length() - dArrowLen - dArrowLen*0.5);
|
|
||||||
|
|
||||||
v << line.p2();
|
|
||||||
v << QPointF(line.p2().x() + dArrowLen * qCos(rotation + dArrowAng),
|
|
||||||
line.p2().y() - dArrowLen * qSin(rotation + dArrowAng));
|
|
||||||
v << QPointF(line.p2().x() + dArrowLen * qCos(rotation - dArrowAng),
|
|
||||||
line.p2().y() - dArrowLen * qSin(rotation - dArrowAng));
|
|
||||||
v << line.p2();
|
|
||||||
v << pt2;
|
|
||||||
}
|
|
||||||
|
|
||||||
v << QPointF(pt2.x() + dArrowLen * qCos(rotation + dArrowAng),
|
v << QPointF(pt2.x() + dArrowLen * qCos(rotation + dArrowAng),
|
||||||
pt2.y() - dArrowLen * qSin(rotation + dArrowAng));
|
pt2.y() - dArrowLen * qSin(rotation + dArrowAng));
|
||||||
v << QPointF(pt2.x() + dArrowLen * qCos(rotation - dArrowAng),
|
v << QPointF(pt2.x() + dArrowLen * qCos(rotation - dArrowAng),
|
||||||
|
|
|
@ -588,24 +588,7 @@ void VPosition::FollowGrainline()
|
||||||
if (m_data.detail.GrainlineArrowType() == GrainlineArrowDirection::atBoth ||
|
if (m_data.detail.GrainlineArrowType() == GrainlineArrowDirection::atBoth ||
|
||||||
m_data.detail.GrainlineArrowType() == GrainlineArrowDirection::atRear)
|
m_data.detail.GrainlineArrowType() == GrainlineArrowDirection::atRear)
|
||||||
{
|
{
|
||||||
RotateOnAngle(angle + 180);
|
RotateOnAngle(angle+180);
|
||||||
}
|
|
||||||
|
|
||||||
if (stop->load())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_data.detail.GrainlineArrowType() == GrainlineArrowDirection::atFourWay)
|
|
||||||
{
|
|
||||||
RotateOnAngle(angle + 90);
|
|
||||||
|
|
||||||
if (stop->load())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
RotateOnAngle(angle - 90);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,8 +37,7 @@ enum class GrainlineArrowDirection : qint8
|
||||||
{
|
{
|
||||||
atBoth,
|
atBoth,
|
||||||
atFront,
|
atFront,
|
||||||
atRear,
|
atRear
|
||||||
atFourWay
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FLOATITEMDEF_H
|
#endif // FLOATITEMDEF_H
|
||||||
|
|
|
@ -1051,7 +1051,7 @@ auto VTranslateVars::FormulaFromUser(const QString &formula, bool osSeparator) c
|
||||||
new qmu::QmuTokenParser(formula, osSeparator, true, GetTranslatedFunctions()));
|
new qmu::QmuTokenParser(formula, osSeparator, true, GetTranslatedFunctions()));
|
||||||
QMap<vsizetype, QString> tokens = cal->GetTokens();// Tokens (variables, measurements)
|
QMap<vsizetype, QString> tokens = cal->GetTokens();// Tokens (variables, measurements)
|
||||||
QMap<vsizetype, QString> numbers = cal->GetNumbers();// All numbers in expression for changing decimal separator
|
QMap<vsizetype, QString> numbers = cal->GetNumbers();// All numbers in expression for changing decimal separator
|
||||||
cal.reset();
|
delete cal.take();
|
||||||
|
|
||||||
QString newFormula = formula;// Local copy for making changes
|
QString newFormula = formula;// Local copy for making changes
|
||||||
|
|
||||||
|
|
|
@ -3383,7 +3383,6 @@ void DialogSeamAllowance::InitGrainlineTab()
|
||||||
uiTabGrainline->comboBoxArrow->addItem(tr("Both"));
|
uiTabGrainline->comboBoxArrow->addItem(tr("Both"));
|
||||||
uiTabGrainline->comboBoxArrow->addItem(tr("Just front"));
|
uiTabGrainline->comboBoxArrow->addItem(tr("Just front"));
|
||||||
uiTabGrainline->comboBoxArrow->addItem(tr("Just rear"));
|
uiTabGrainline->comboBoxArrow->addItem(tr("Just rear"));
|
||||||
uiTabGrainline->comboBoxArrow->addItem(tr("Four way"));
|
|
||||||
|
|
||||||
m_iRotBaseHeight = uiTabGrainline->lineEditRotFormula->height();
|
m_iRotBaseHeight = uiTabGrainline->lineEditRotFormula->height();
|
||||||
m_iLenBaseHeight = uiTabGrainline->lineEditLenFormula->height();
|
m_iLenBaseHeight = uiTabGrainline->lineEditLenFormula->height();
|
||||||
|
|
|
@ -2050,7 +2050,7 @@ void VToolSeamAllowance::InitSpecialPoints(const QVector<quint32> &points) const
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolSeamAllowance::DeleteToolWithConfirm(bool ask)
|
void VToolSeamAllowance::DeleteToolWithConfirm(bool ask)
|
||||||
{
|
{
|
||||||
std::unique_ptr<DeletePiece> delDet(new DeletePiece(doc, m_id, VAbstractTool::data, m_sceneDetails));
|
QScopedPointer<DeletePiece> delDet(new DeletePiece(doc, m_id, VAbstractTool::data, m_sceneDetails));
|
||||||
if (ask)
|
if (ask)
|
||||||
{
|
{
|
||||||
if (ConfirmDeletion() == QMessageBox::No)
|
if (ConfirmDeletion() == QMessageBox::No)
|
||||||
|
@ -2059,7 +2059,7 @@ void VToolSeamAllowance::DeleteToolWithConfirm(bool ask)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VAbstractApplication::VApp()->getUndoStack()->push(delDet.release());
|
VAbstractApplication::VApp()->getUndoStack()->push(delDet.take());
|
||||||
|
|
||||||
// Throw exception, this will help prevent case when we forget to immediately quit function.
|
// Throw exception, this will help prevent case when we forget to immediately quit function.
|
||||||
VExceptionToolWasDeleted e(tr("Tool was used after deleting."));
|
VExceptionToolWasDeleted e(tr("Tool was used after deleting."));
|
||||||
|
|
|
@ -393,22 +393,22 @@ quint32 AddNodePoint(const VPieceNode &node, const VToolUnionDetailsInitData &in
|
||||||
QVector<quint32> &children, const QString &drawName, qreal dx, qreal dy,
|
QVector<quint32> &children, const QString &drawName, qreal dx, qreal dy,
|
||||||
quint32 pRotate, qreal angle)
|
quint32 pRotate, qreal angle)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(node.GetId())));
|
QScopedPointer<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(node.GetId())));
|
||||||
point->setMode(Draw::Modeling);
|
point->setMode(Draw::Modeling);
|
||||||
|
|
||||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||||
{
|
{
|
||||||
BiasRotatePoint(point.get(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
BiasRotatePoint(point.data(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||||
angle);
|
angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<VPointF> point1(new VPointF(*point));
|
QScopedPointer<VPointF> point1(new VPointF(*point));
|
||||||
|
|
||||||
const quint32 idObject = initData.data->AddGObject(point.release());
|
const quint32 idObject = initData.data->AddGObject(point.take());
|
||||||
children.append(idObject);
|
children.append(idObject);
|
||||||
point1->setIdObject(idObject);
|
point1->setIdObject(idObject);
|
||||||
point1->setMode(Draw::Modeling);
|
point1->setMode(Draw::Modeling);
|
||||||
const quint32 id = initData.data->AddGObject(point1.release());
|
const quint32 id = initData.data->AddGObject(point1.take());
|
||||||
|
|
||||||
VAbstractNodeInitData initNodeData;
|
VAbstractNodeInitData initNodeData;
|
||||||
initNodeData.id = id;
|
initNodeData.id = id;
|
||||||
|
@ -429,21 +429,21 @@ quint32 AddNodePoint(const VPieceNode &node, const VToolUnionDetailsInitData &in
|
||||||
quint32 AddPin(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children,
|
quint32 AddPin(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children,
|
||||||
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle)
|
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(id)));
|
QScopedPointer<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(id)));
|
||||||
point->setMode(Draw::Modeling);
|
point->setMode(Draw::Modeling);
|
||||||
|
|
||||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||||
{
|
{
|
||||||
BiasRotatePoint(point.get(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
BiasRotatePoint(point.data(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||||
angle);
|
angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<VPointF> point1(new VPointF(*point));
|
QScopedPointer<VPointF> point1(new VPointF(*point));
|
||||||
|
|
||||||
const quint32 idObject = initData.data->AddGObject(point.release());
|
const quint32 idObject = initData.data->AddGObject(point.take());
|
||||||
children.append(idObject);
|
children.append(idObject);
|
||||||
point1->setMode(Draw::Modeling);
|
point1->setMode(Draw::Modeling);
|
||||||
const quint32 idPin = initData.data->AddGObject(point1.release());
|
const quint32 idPin = initData.data->AddGObject(point1.take());
|
||||||
|
|
||||||
VToolPinInitData initNodeData;
|
VToolPinInitData initNodeData;
|
||||||
initNodeData.id = idPin;
|
initNodeData.id = idPin;
|
||||||
|
@ -464,11 +464,11 @@ quint32 AddPin(quint32 id, const VToolUnionDetailsInitData &initData, QVector<qu
|
||||||
quint32 AddPlaceLabel(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children,
|
quint32 AddPlaceLabel(quint32 id, const VToolUnionDetailsInitData &initData, QVector<quint32> &children,
|
||||||
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle)
|
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VPlaceLabelItem> label(new VPlaceLabelItem(*initData.data->GeometricObject<VPlaceLabelItem>(id)));
|
QScopedPointer<VPlaceLabelItem> label(new VPlaceLabelItem(*initData.data->GeometricObject<VPlaceLabelItem>(id)));
|
||||||
|
|
||||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||||
{
|
{
|
||||||
BiasRotatePoint(label.get(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
BiasRotatePoint(label.data(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||||
angle);
|
angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -488,12 +488,12 @@ quint32 AddPlaceLabel(quint32 id, const VToolUnionDetailsInitData &initData, QVe
|
||||||
initNodeData.visibilityTrigger = label->GetVisibilityTrigger();
|
initNodeData.visibilityTrigger = label->GetVisibilityTrigger();
|
||||||
initNodeData.type = label->GetLabelType();
|
initNodeData.type = label->GetLabelType();
|
||||||
|
|
||||||
std::unique_ptr<VPlaceLabelItem> label1(new VPlaceLabelItem(*label));
|
QScopedPointer<VPlaceLabelItem> label1(new VPlaceLabelItem(*label));
|
||||||
|
|
||||||
initNodeData.centerPoint = initData.data->AddGObject(label.release());
|
initNodeData.centerPoint = initData.data->AddGObject(label.take());
|
||||||
children.append(initNodeData.centerPoint);
|
children.append(initNodeData.centerPoint);
|
||||||
|
|
||||||
const quint32 idLabel = initData.data->AddGObject(label1.release());
|
const quint32 idLabel = initData.data->AddGObject(label1.take());
|
||||||
initNodeData.id = idLabel;
|
initNodeData.id = idLabel;
|
||||||
|
|
||||||
VToolPlaceLabel::Create(initNodeData);
|
VToolPlaceLabel::Create(initNodeData);
|
||||||
|
@ -508,7 +508,7 @@ quint32 AddNodeArc(const VPieceNode &node, const VToolUnionDetailsInitData &init
|
||||||
const QSharedPointer<VArc> arc = initData.data->GeometricObject<VArc>(node.GetId());
|
const QSharedPointer<VArc> arc = initData.data->GeometricObject<VArc>(node.GetId());
|
||||||
VPointF p1 = VPointF(arc->GetP1(), "A", 0, 0);
|
VPointF p1 = VPointF(arc->GetP1(), "A", 0, 0);
|
||||||
VPointF p2 = VPointF(arc->GetP2(), "A", 0, 0);
|
VPointF p2 = VPointF(arc->GetP2(), "A", 0, 0);
|
||||||
std::unique_ptr<VPointF> center(new VPointF(arc->GetCenter()));
|
QScopedPointer<VPointF> center(new VPointF(arc->GetCenter()));
|
||||||
|
|
||||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||||
{
|
{
|
||||||
|
@ -516,27 +516,27 @@ quint32 AddNodeArc(const VPieceNode &node, const VToolUnionDetailsInitData &init
|
||||||
|
|
||||||
BiasRotatePoint(&p1, dx, dy, p, angle);
|
BiasRotatePoint(&p1, dx, dy, p, angle);
|
||||||
BiasRotatePoint(&p2, dx, dy, p, angle);
|
BiasRotatePoint(&p2, dx, dy, p, angle);
|
||||||
BiasRotatePoint(center.get(), dx, dy, p, angle);
|
BiasRotatePoint(center.data(), dx, dy, p, angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
||||||
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||||
center->setMode(Draw::Modeling);
|
center->setMode(Draw::Modeling);
|
||||||
VPointF *tmpCenter = center.release();
|
VPointF *tmpCenter = center.take();
|
||||||
const quint32 idCenter = initData.data->AddGObject(tmpCenter);
|
const quint32 idCenter = initData.data->AddGObject(tmpCenter);
|
||||||
Q_UNUSED(idCenter)
|
Q_UNUSED(idCenter)
|
||||||
std::unique_ptr<VArc> arc1(new VArc(*tmpCenter, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
QScopedPointer<VArc> arc1(new VArc(*tmpCenter, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
||||||
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
||||||
arc1->setMode(Draw::Modeling);
|
arc1->setMode(Draw::Modeling);
|
||||||
|
|
||||||
std::unique_ptr<VArc>arc2(new VArc(*arc1));
|
QScopedPointer<VArc>arc2(new VArc(*arc1));
|
||||||
|
|
||||||
const quint32 idObject = initData.data->AddGObject(arc1.release());
|
const quint32 idObject = initData.data->AddGObject(arc1.take());
|
||||||
children.append(idObject);
|
children.append(idObject);
|
||||||
|
|
||||||
arc2->setIdObject(idObject);
|
arc2->setIdObject(idObject);
|
||||||
arc2->setMode(Draw::Modeling);
|
arc2->setMode(Draw::Modeling);
|
||||||
const quint32 id = initData.data->AddGObject(arc2.release());
|
const quint32 id = initData.data->AddGObject(arc2.take());
|
||||||
|
|
||||||
VAbstractNodeInitData initNodeData;
|
VAbstractNodeInitData initNodeData;
|
||||||
initNodeData.id = id;
|
initNodeData.id = id;
|
||||||
|
@ -560,7 +560,7 @@ quint32 AddNodeElArc(const VPieceNode &node, const VToolUnionDetailsInitData &in
|
||||||
const QSharedPointer<VEllipticalArc> arc = initData.data->GeometricObject<VEllipticalArc>(node.GetId());
|
const QSharedPointer<VEllipticalArc> arc = initData.data->GeometricObject<VEllipticalArc>(node.GetId());
|
||||||
VPointF p1 = VPointF(arc->GetP1(), "A", 0, 0);
|
VPointF p1 = VPointF(arc->GetP1(), "A", 0, 0);
|
||||||
VPointF p2 = VPointF(arc->GetP2(), "A", 0, 0);
|
VPointF p2 = VPointF(arc->GetP2(), "A", 0, 0);
|
||||||
std::unique_ptr<VPointF> center(new VPointF(arc->GetCenter()));
|
QScopedPointer<VPointF> center(new VPointF(arc->GetCenter()));
|
||||||
|
|
||||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||||
{
|
{
|
||||||
|
@ -568,29 +568,29 @@ quint32 AddNodeElArc(const VPieceNode &node, const VToolUnionDetailsInitData &in
|
||||||
|
|
||||||
BiasRotatePoint(&p1, dx, dy, p, angle);
|
BiasRotatePoint(&p1, dx, dy, p, angle);
|
||||||
BiasRotatePoint(&p2, dx, dy, p, angle);
|
BiasRotatePoint(&p2, dx, dy, p, angle);
|
||||||
BiasRotatePoint(center.get(), dx, dy, p, angle);
|
BiasRotatePoint(center.data(), dx, dy, p, angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
||||||
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||||
center->setMode(Draw::Modeling);
|
center->setMode(Draw::Modeling);
|
||||||
VPointF *tmpCenter = center.release();
|
VPointF *tmpCenter = center.take();
|
||||||
quint32 idCenter = initData.data->AddGObject(tmpCenter);
|
quint32 idCenter = initData.data->AddGObject(tmpCenter);
|
||||||
Q_UNUSED(idCenter)
|
Q_UNUSED(idCenter)
|
||||||
std::unique_ptr<VEllipticalArc> arc1(new VEllipticalArc (*tmpCenter, arc->GetRadius1(), arc->GetRadius2(),
|
QScopedPointer<VEllipticalArc> arc1(new VEllipticalArc (*tmpCenter, arc->GetRadius1(), arc->GetRadius2(),
|
||||||
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
||||||
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
||||||
QString().setNum(l2.angle()), 0, QChar('0')));
|
QString().setNum(l2.angle()), 0, QChar('0')));
|
||||||
arc1->setMode(Draw::Modeling);
|
arc1->setMode(Draw::Modeling);
|
||||||
|
|
||||||
std::unique_ptr<VEllipticalArc> arc2(new VEllipticalArc(*arc1));
|
QScopedPointer<VEllipticalArc> arc2(new VEllipticalArc(*arc1));
|
||||||
|
|
||||||
const quint32 idObject = initData.data->AddGObject(arc1.release());
|
const quint32 idObject = initData.data->AddGObject(arc1.take());
|
||||||
children.append(idObject);
|
children.append(idObject);
|
||||||
|
|
||||||
arc2->setIdObject(idObject);
|
arc2->setIdObject(idObject);
|
||||||
arc2->setMode(Draw::Modeling);
|
arc2->setMode(Draw::Modeling);
|
||||||
const quint32 id = initData.data->AddGObject(arc2.release());
|
const quint32 id = initData.data->AddGObject(arc2.take());
|
||||||
|
|
||||||
VAbstractNodeInitData initNodeData;
|
VAbstractNodeInitData initNodeData;
|
||||||
initNodeData.id = id;
|
initNodeData.id = id;
|
||||||
|
@ -657,7 +657,7 @@ quint32 AddNodeSplinePath(const VPieceNode &node, const VToolUnionDetailsInitDat
|
||||||
QVector<quint32> &children, const QString &drawName, qreal dx, qreal dy,
|
QVector<quint32> &children, const QString &drawName, qreal dx, qreal dy,
|
||||||
quint32 pRotate, qreal angle)
|
quint32 pRotate, qreal angle)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VSplinePath> path(new VSplinePath());
|
QScopedPointer<VSplinePath> path(new VSplinePath());
|
||||||
path->setMode(Draw::Modeling);
|
path->setMode(Draw::Modeling);
|
||||||
const QSharedPointer<VAbstractCubicBezierPath> splinePath =
|
const QSharedPointer<VAbstractCubicBezierPath> splinePath =
|
||||||
initData.data->GeometricObject<VAbstractCubicBezierPath>(node.GetId());
|
initData.data->GeometricObject<VAbstractCubicBezierPath>(node.GetId());
|
||||||
|
@ -703,14 +703,14 @@ quint32 AddNodeSplinePath(const VPieceNode &node, const VToolUnionDetailsInitDat
|
||||||
path->append(VSplinePoint(*p4, spl.GetEndAngle(), spl.GetEndAngleFormula(), angle2, angle2F,
|
path->append(VSplinePoint(*p4, spl.GetEndAngle(), spl.GetEndAngleFormula(), angle2, angle2F,
|
||||||
spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F));
|
spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F));
|
||||||
}
|
}
|
||||||
std::unique_ptr<VSplinePath> path1(new VSplinePath(*path));
|
QScopedPointer<VSplinePath> path1(new VSplinePath(*path));
|
||||||
|
|
||||||
const quint32 idObject = initData.data->AddGObject(path.release());
|
const quint32 idObject = initData.data->AddGObject(path.take());
|
||||||
children.append(idObject);
|
children.append(idObject);
|
||||||
|
|
||||||
path1->setIdObject(idObject);
|
path1->setIdObject(idObject);
|
||||||
path1->setMode(Draw::Modeling);
|
path1->setMode(Draw::Modeling);
|
||||||
const quint32 id = initData.data->AddGObject(path1.release());
|
const quint32 id = initData.data->AddGObject(path1.take());
|
||||||
|
|
||||||
VAbstractNodeInitData initNodeData;
|
VAbstractNodeInitData initNodeData;
|
||||||
initNodeData.id = id;
|
initNodeData.id = id;
|
||||||
|
@ -935,13 +935,13 @@ quint32 TakeNextId(QVector<quint32> &children)
|
||||||
void UpdateNodePoint(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy,
|
void UpdateNodePoint(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy,
|
||||||
quint32 pRotate, qreal angle)
|
quint32 pRotate, qreal angle)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VPointF> point(new VPointF(*data->GeometricObject<VPointF>(node.GetId())));
|
QScopedPointer<VPointF> point(new VPointF(*data->GeometricObject<VPointF>(node.GetId())));
|
||||||
point->setMode(Draw::Modeling);
|
point->setMode(Draw::Modeling);
|
||||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||||
{
|
{
|
||||||
BiasRotatePoint(point.get(), dx, dy, static_cast<QPointF>(*data->GeometricObject<VPointF>(pRotate)), angle);
|
BiasRotatePoint(point.data(), dx, dy, static_cast<QPointF>(*data->GeometricObject<VPointF>(pRotate)), angle);
|
||||||
}
|
}
|
||||||
data->UpdateGObject(TakeNextId(children), point.release());
|
data->UpdateGObject(TakeNextId(children), point.take());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -965,10 +965,10 @@ void UpdateNodeArc(VContainer *data, const VPieceNode &node, QVector<quint32> &c
|
||||||
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
||||||
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||||
|
|
||||||
std::unique_ptr<VArc> arc1(new VArc(*center, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
QScopedPointer<VArc> arc1(new VArc(*center, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
||||||
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
||||||
arc1->setMode(Draw::Modeling);
|
arc1->setMode(Draw::Modeling);
|
||||||
data->UpdateGObject(TakeNextId(children), arc1.release());
|
data->UpdateGObject(TakeNextId(children), arc1.take());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -992,12 +992,12 @@ void UpdateNodeElArc(VContainer *data, const VPieceNode &node, QVector<quint32>
|
||||||
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
||||||
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||||
|
|
||||||
std::unique_ptr<VEllipticalArc> arc1(new VEllipticalArc (*center, arc->GetRadius1(), arc->GetRadius2(),
|
QScopedPointer<VEllipticalArc> arc1(new VEllipticalArc (*center, arc->GetRadius1(), arc->GetRadius2(),
|
||||||
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
||||||
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
||||||
QString().setNum(l2.angle()), 0, QChar('0')));
|
QString().setNum(l2.angle()), 0, QChar('0')));
|
||||||
arc1->setMode(Draw::Modeling);
|
arc1->setMode(Draw::Modeling);
|
||||||
data->UpdateGObject(TakeNextId(children), arc1.release());
|
data->UpdateGObject(TakeNextId(children), arc1.take());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -1022,16 +1022,16 @@ void UpdateNodeSpline(VContainer *data, const VPieceNode &node, QVector<quint32>
|
||||||
BiasRotatePoint(p4.data(), dx, dy, p, angle);
|
BiasRotatePoint(p4.data(), dx, dy, p, angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<VSpline> spl(new VSpline(*p1, static_cast<QPointF>(p2), static_cast<QPointF>(p3), *p4, 0,
|
QScopedPointer<VSpline> spl(new VSpline(*p1, static_cast<QPointF>(p2), static_cast<QPointF>(p3), *p4, 0,
|
||||||
Draw::Modeling));
|
Draw::Modeling));
|
||||||
data->UpdateGObject(TakeNextId(children), spl.release());
|
data->UpdateGObject(TakeNextId(children), spl.take());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void UpdateNodeSplinePath(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy,
|
void UpdateNodeSplinePath(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy,
|
||||||
quint32 pRotate, qreal angle)
|
quint32 pRotate, qreal angle)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VSplinePath> path(new VSplinePath());
|
QScopedPointer<VSplinePath> path(new VSplinePath());
|
||||||
path->setMode(Draw::Modeling);
|
path->setMode(Draw::Modeling);
|
||||||
const QSharedPointer<VAbstractCubicBezierPath> splinePath =
|
const QSharedPointer<VAbstractCubicBezierPath> splinePath =
|
||||||
data->GeometricObject<VAbstractCubicBezierPath>(node.GetId());
|
data->GeometricObject<VAbstractCubicBezierPath>(node.GetId());
|
||||||
|
@ -1080,7 +1080,7 @@ void UpdateNodeSplinePath(VContainer *data, const VPieceNode &node, QVector<quin
|
||||||
path->append(VSplinePoint(*p4, spl.GetEndAngle(), spl.GetEndAngleFormula(), angle2, angle2F,
|
path->append(VSplinePoint(*p4, spl.GetEndAngle(), spl.GetEndAngleFormula(), angle2, angle2F,
|
||||||
spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F));
|
spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F));
|
||||||
}
|
}
|
||||||
data->UpdateGObject(TakeNextId(children), path.release());
|
data->UpdateGObject(TakeNextId(children), path.take());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -1498,14 +1498,14 @@ void UpdateUnitedDetailPins(const VToolUnionDetailsInitData &initData, qreal dx,
|
||||||
|
|
||||||
for (auto record : records)
|
for (auto record : records)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(record)));
|
QScopedPointer<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(record)));
|
||||||
point->setMode(Draw::Modeling);
|
point->setMode(Draw::Modeling);
|
||||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||||
{
|
{
|
||||||
BiasRotatePoint(point.get(), dx, dy,
|
BiasRotatePoint(point.data(), dx, dy,
|
||||||
static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle);
|
static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle);
|
||||||
}
|
}
|
||||||
initData.data->UpdateGObject(TakeNextId(children), point.release());
|
initData.data->UpdateGObject(TakeNextId(children), point.take());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1523,7 +1523,7 @@ void UpdateUnitedDetailPlaceLabels(const VToolUnionDetailsInitData &initData, qr
|
||||||
BiasRotatePoint(parentLabel.data(), dx, dy,
|
BiasRotatePoint(parentLabel.data(), dx, dy,
|
||||||
static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle);
|
static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle);
|
||||||
}
|
}
|
||||||
std::unique_ptr<VPlaceLabelItem> label(new VPlaceLabelItem());
|
QScopedPointer<VPlaceLabelItem> label(new VPlaceLabelItem());
|
||||||
label->setName(parentLabel->name());
|
label->setName(parentLabel->name());
|
||||||
label->setX(parentLabel->x());
|
label->setX(parentLabel->x());
|
||||||
label->setY(parentLabel->y());
|
label->setY(parentLabel->y());
|
||||||
|
@ -1531,7 +1531,7 @@ void UpdateUnitedDetailPlaceLabels(const VToolUnionDetailsInitData &initData, qr
|
||||||
label->setMy(parentLabel->my());
|
label->setMy(parentLabel->my());
|
||||||
|
|
||||||
label->SetCorrectionAngle(parentLabel->GetCorrectionAngle()+angle);
|
label->SetCorrectionAngle(parentLabel->GetCorrectionAngle()+angle);
|
||||||
initData.data->UpdateGObject(TakeNextId(children), label.release());
|
initData.data->UpdateGObject(TakeNextId(children), label.take());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -122,26 +122,12 @@ void VGrainlineItem::paint(QPainter* pP, const QStyleOptionGraphicsItem* pOption
|
||||||
if (m_eArrowType != GrainlineArrowDirection::atRear)
|
if (m_eArrowType != GrainlineArrowDirection::atRear)
|
||||||
{
|
{
|
||||||
// first arrow
|
// first arrow
|
||||||
pP->drawPolygon(FirstArrow(MainLine().p2(), dArrLen));
|
pP->drawPolygon(FirstArrow(dArrLen));
|
||||||
|
|
||||||
if (m_eArrowType == GrainlineArrowDirection::atFourWay)
|
|
||||||
{ // first double arrow
|
|
||||||
QLineF line = MainLine();
|
|
||||||
line.setLength(line.length() - dArrLen - dArrLen*0.5);
|
|
||||||
pP->drawPolygon(FirstArrow(line.p2(), dArrLen));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (m_eArrowType != GrainlineArrowDirection::atFront)
|
if (m_eArrowType != GrainlineArrowDirection::atFront)
|
||||||
{
|
{
|
||||||
// second arrow
|
// second arrow
|
||||||
pP->drawPolygon(SecondArrow(MainLine().p1(), dArrLen));
|
pP->drawPolygon(SecondArrow(dArrLen));
|
||||||
|
|
||||||
if (m_eArrowType == GrainlineArrowDirection::atFourWay)
|
|
||||||
{ // second double arrow
|
|
||||||
QLineF line(MainLine().p2(), MainLine().p1());
|
|
||||||
line.setLength(line.length() - dArrLen - dArrLen*0.5);
|
|
||||||
pP->drawPolygon(SecondArrow(line.p2(), dArrLen));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_eMode != mNormal)
|
if (m_eMode != mNormal)
|
||||||
|
@ -650,26 +636,28 @@ QLineF VGrainlineItem::MainLine() const
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QPolygonF VGrainlineItem::FirstArrow(const QPointF &pt, qreal dArrLen) const
|
QPolygonF VGrainlineItem::FirstArrow(qreal dArrLen) const
|
||||||
{
|
{
|
||||||
|
const QPointF pt2 = MainLine().p2();
|
||||||
QPolygonF poly;
|
QPolygonF poly;
|
||||||
poly << pt;
|
poly << pt2;
|
||||||
poly << QPointF(pt.x() + dArrLen*cos(M_PI + m_dRotation + ARROW_ANGLE),
|
poly << QPointF(pt2.x() + dArrLen*cos(M_PI + m_dRotation + ARROW_ANGLE),
|
||||||
pt.y() - dArrLen*sin(M_PI + m_dRotation + ARROW_ANGLE));
|
pt2.y() - dArrLen*sin(M_PI + m_dRotation + ARROW_ANGLE));
|
||||||
poly << QPointF(pt.x() + dArrLen*cos(M_PI + m_dRotation - ARROW_ANGLE),
|
poly << QPointF(pt2.x() + dArrLen*cos(M_PI + m_dRotation - ARROW_ANGLE),
|
||||||
pt.y() - dArrLen*sin(M_PI + m_dRotation - ARROW_ANGLE));
|
pt2.y() - dArrLen*sin(M_PI + m_dRotation - ARROW_ANGLE));
|
||||||
return poly;
|
return poly;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QPolygonF VGrainlineItem::SecondArrow(const QPointF &pt, qreal dArrLen) const
|
QPolygonF VGrainlineItem::SecondArrow(qreal dArrLen) const
|
||||||
{
|
{
|
||||||
|
const QPointF pt1 = MainLine().p1();
|
||||||
QPolygonF poly;
|
QPolygonF poly;
|
||||||
poly << pt;
|
poly << pt1;
|
||||||
poly << QPointF(pt.x() + dArrLen*cos(m_dRotation + ARROW_ANGLE),
|
poly << QPointF(pt1.x() + dArrLen*cos(m_dRotation + ARROW_ANGLE),
|
||||||
pt.y() - dArrLen*sin(m_dRotation + ARROW_ANGLE));
|
pt1.y() - dArrLen*sin(m_dRotation + ARROW_ANGLE));
|
||||||
poly << QPointF(pt.x() + dArrLen*cos(m_dRotation - ARROW_ANGLE),
|
poly << QPointF(pt1.x() + dArrLen*cos(m_dRotation - ARROW_ANGLE),
|
||||||
pt.y() - dArrLen*sin(m_dRotation - ARROW_ANGLE));
|
pt1.y() - dArrLen*sin(m_dRotation - ARROW_ANGLE));
|
||||||
return poly;
|
return poly;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -693,15 +681,7 @@ QPainterPath VGrainlineItem::MainShape() const
|
||||||
{
|
{
|
||||||
// first arrow
|
// first arrow
|
||||||
QPainterPath polyPath;
|
QPainterPath polyPath;
|
||||||
polyPath.addPolygon(FirstArrow(MainLine().p2(), dArrLen));
|
polyPath.addPolygon(FirstArrow(dArrLen));
|
||||||
|
|
||||||
if (m_eArrowType == GrainlineArrowDirection::atFourWay)
|
|
||||||
{ // first double arrow
|
|
||||||
QLineF line = MainLine();
|
|
||||||
line.setLength(line.length() - dArrLen - 0.5);
|
|
||||||
polyPath.addPolygon(FirstArrow(line.p2(), dArrLen));
|
|
||||||
}
|
|
||||||
|
|
||||||
path.addPath((stroker.createStroke(polyPath) + polyPath).simplified());
|
path.addPath((stroker.createStroke(polyPath) + polyPath).simplified());
|
||||||
path.closeSubpath();
|
path.closeSubpath();
|
||||||
}
|
}
|
||||||
|
@ -710,15 +690,7 @@ QPainterPath VGrainlineItem::MainShape() const
|
||||||
{
|
{
|
||||||
// second arrow
|
// second arrow
|
||||||
QPainterPath polyPath;
|
QPainterPath polyPath;
|
||||||
polyPath.addPolygon(SecondArrow(MainLine().p1(), dArrLen));
|
polyPath.addPolygon(SecondArrow(dArrLen));
|
||||||
|
|
||||||
if (m_eArrowType == GrainlineArrowDirection::atFourWay)
|
|
||||||
{ // second double arrow
|
|
||||||
QLineF line(MainLine().p2(), MainLine().p1());
|
|
||||||
line.setLength(line.length() - dArrLen - 0.5);
|
|
||||||
polyPath.addPolygon(SecondArrow(line.p2(), dArrLen));
|
|
||||||
}
|
|
||||||
|
|
||||||
path.addPath((stroker.createStroke(polyPath) + polyPath).simplified());
|
path.addPath((stroker.createStroke(polyPath) + polyPath).simplified());
|
||||||
path.closeSubpath();
|
path.closeSubpath();
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,8 +88,8 @@ private:
|
||||||
double m_penWidth{1};
|
double m_penWidth{1};
|
||||||
|
|
||||||
QLineF MainLine() const;
|
QLineF MainLine() const;
|
||||||
QPolygonF FirstArrow(const QPointF &pt, qreal dArrLen) const;
|
QPolygonF FirstArrow(qreal dArrLen) const;
|
||||||
QPolygonF SecondArrow(const QPointF &pt, qreal dArrLen) const;
|
QPolygonF SecondArrow(qreal dArrLen) const;
|
||||||
|
|
||||||
QPainterPath MainShape() const;
|
QPainterPath MainShape() const;
|
||||||
|
|
||||||
|
|
|
@ -61,30 +61,30 @@ VHighlighter::VHighlighter(QTextDocument *document)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VHighlighter::highlightBlock(const QString &text)
|
void VHighlighter::highlightBlock(const QString &text)
|
||||||
{
|
{
|
||||||
std::unique_ptr<VTextBlockData> data(new VTextBlockData);
|
QScopedPointer<VTextBlockData> data(new VTextBlockData);
|
||||||
|
|
||||||
vsizetype leftPos = text.indexOf('(');
|
vsizetype leftPos = text.indexOf('(');
|
||||||
while (leftPos != -1)
|
while (leftPos != -1)
|
||||||
{
|
{
|
||||||
std::unique_ptr<ParenthesisInfo> info(new ParenthesisInfo);
|
QScopedPointer<ParenthesisInfo> info(new ParenthesisInfo);
|
||||||
info->character = '(';
|
info->character = '(';
|
||||||
info->position = leftPos;
|
info->position = leftPos;
|
||||||
|
|
||||||
data->insert(info.release());
|
data->insert(info.take());
|
||||||
leftPos = text.indexOf('(', leftPos + 1);
|
leftPos = text.indexOf('(', leftPos + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
vsizetype rightPos = text.indexOf(')');
|
vsizetype rightPos = text.indexOf(')');
|
||||||
while (rightPos != -1)
|
while (rightPos != -1)
|
||||||
{
|
{
|
||||||
std::unique_ptr<ParenthesisInfo> info(new ParenthesisInfo);
|
QScopedPointer<ParenthesisInfo> info(new ParenthesisInfo);
|
||||||
info->character = ')';
|
info->character = ')';
|
||||||
info->position = rightPos;
|
info->position = rightPos;
|
||||||
|
|
||||||
data->insert(info.release());
|
data->insert(info.take());
|
||||||
|
|
||||||
rightPos = text.indexOf(')', rightPos +1);
|
rightPos = text.indexOf(')', rightPos +1);
|
||||||
}
|
}
|
||||||
|
|
||||||
setCurrentBlockUserData(data.release());
|
setCurrentBlockUserData(data.take());
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -810.9147913912859,
|
"x": -810.9147913912859,
|
||||||
"y": -9.118915311803082
|
"y": -9.118915311803084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -41,8 +41,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -773.6975657129408,
|
"x": -773.697565712941,
|
||||||
"y": -13.057776517652666
|
"y": -13.057776517652679
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -50,8 +50,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -731.3693960390715,
|
"x": -731.3693960390717,
|
||||||
"y": -19.564193239769583
|
"y": -19.56419323976961
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -700.8138618525176,
|
"x": -700.8138618525178,
|
||||||
"y": -25.693917945236056
|
"y": -25.693917945236084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -68,8 +68,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -670.5392892845424,
|
"x": -670.5392892845426,
|
||||||
"y": -33.53204687105762
|
"y": -33.532046871057645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -77,8 +77,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -649.4254060247999,
|
"x": -649.4254060248002,
|
||||||
"y": -40.69070943425643
|
"y": -40.69070943425645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -636.4972481739833,
|
"x": -636.4972481739836,
|
||||||
"y": -46.04184558720286
|
"y": -46.04184558720286
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -630.5509356263238,
|
"x": -630.5509356263242,
|
||||||
"y": -48.932226964906654
|
"y": -48.932226964906654
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -612.7709374645622,
|
"x": -612.7709374645625,
|
||||||
"y": -58.17881193899319
|
"y": -58.17881193899319
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,283 +2,303 @@
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7149606299213,
|
"x": -838.7026077978918,
|
||||||
"y": 372.2542552635798
|
"y": 360.52065549216434
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 330.5891727033602
|
"y": 331.31319685039375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 28.923105387766057
|
"y": 28.923105387765915
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": -46.67441747789094
|
"y": -46.674417477891
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.2667801920694,
|
"x": -814.2667801920632,
|
||||||
"y": -46.77051665539475
|
"y": -46.77051665539527
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -778.5602746831969,
|
"x": -778.5602746831936,
|
||||||
"y": -50.54949176119329
|
"y": -50.54949176119353
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -737.9608911970803,
|
"x": -737.9608911970817,
|
||||||
"y": -56.790170478392334
|
"y": -56.79017047839188
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -709.2737849361882,
|
"x": -709.2737849361833,
|
||||||
"y": -62.54507114228297
|
"y": -62.54507114228375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -681.3583296765614,
|
"x": -681.3583296765719,
|
||||||
"y": -69.77242131730785
|
"y": -69.77242131730468
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -662.7349969797801,
|
"x": -662.7349969797737,
|
||||||
"y": -76.08666265976335
|
"y": -76.08666265976586
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -652.0000133582183,
|
"x": -652.0000133582188,
|
||||||
"y": -80.53001488530862
|
"y": -80.53001488530833
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -647.5347421078806,
|
"x": -647.5347421078782,
|
||||||
"y": -82.70049226350372
|
"y": -82.70049226350477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -631.5852394687715,
|
"x": -631.5852394687809,
|
||||||
"y": -90.99511806184105
|
"y": -90.99511806183605
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -616.3280202339932,
|
"x": -616.3280202339708,
|
||||||
"y": -100.59426715697734
|
"y": -100.59426715699189
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -594.0963839106644,
|
"x": -594.0963839106636,
|
||||||
"y": -115.97215530775206
|
"y": -115.9721553077516
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -184.04865014874576,
|
"x": -184.04865014874542,
|
||||||
"y": 76.19837439910705
|
"y": 76.19837439910728
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -202.58871262669433,
|
"x": -202.58871262669427,
|
||||||
"y": 128.5312170877332
|
"y": 128.53121708773386
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -214.84435298014535,
|
"x": -214.84435298014208,
|
||||||
"y": 166.709615345359
|
"y": 166.70961534534916
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -224.9007219166664,
|
"x": -224.9007219166651,
|
||||||
"y": 202.7867077349721
|
"y": 202.78670773496933
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -232.93434714099442,
|
"x": -232.93434714099388,
|
||||||
"y": 237.0808568349011
|
"y": 237.08085683490162
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -239.08903715169467,
|
"x": -239.0890371517,
|
||||||
"y": 269.8170459573539
|
"y": 269.81704595738483
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -243.50661138639543,
|
"x": -243.50661138639492,
|
||||||
"y": 301.2305028748881
|
"y": 301.2305028748772
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -246.32424570745593,
|
"x": -246.32424570745619,
|
||||||
"y": 331.5659013496859
|
"y": 331.5659013496832
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -247.42591881697234,
|
"x": -247.4259188169727,
|
||||||
"y": 355.68472552671597
|
"y": 355.684725526716
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -274.1103616347226,
|
"x": -274.1103616347323,
|
||||||
"y": 368.3965019419771
|
"y": 368.39650194198157
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -280.4308271742487,
|
"x": -280.43082717423164,
|
||||||
"y": 370.73899686729897
|
"y": 370.73899686729357
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -286.53994881447335,
|
"x": -285.6974576466219,
|
||||||
"y": 372.65108939343145
|
"y": 372.38739828360394
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -295.7605238049802,
|
"x": -295.7605238049826,
|
||||||
"y": 375.07066902356064
|
"y": 375.0706690235611
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -309.1086607001497,
|
"x": -308.3295870292442,
|
||||||
"y": 377.8122722714953
|
"y": 377.6522566136316
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -323.7918413406422,
|
"x": -323.20961073643133,
|
||||||
"y": 380.189287868496
|
"y": 380.0950323212031
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -339.7464924132723,
|
"x": -339.2933747725014,
|
||||||
"y": 382.2635758852316
|
"y": 382.20466538395215
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -356.9362622181957,
|
"x": -356.571621703457,
|
||||||
"y": 384.07704503986554
|
"y": 384.0385765592796
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -375.2815276936278,
|
"x": -374.97963878344376,
|
||||||
"y": 385.65320885961137
|
"y": 385.6272715746786
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -394.4224543531805,
|
"x": -394.4224543531813,
|
||||||
"y": 386.98897134293713
|
"y": 386.9889713429367
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251065,
|
"x": -414.7876067251059,
|
||||||
"y": 388.13579550460133
|
"y": 388.13579550460213
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -435.9520270040898,
|
"x": -435.9520270040894,
|
||||||
"y": 389.07661798449567
|
"y": 389.07661798449516
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -457.785958265363,
|
"x": -457.7859582653625,
|
||||||
"y": 389.8184840359457
|
"y": 389.818484035946
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -480.1552993678824,
|
"x": -480.15529936788164,
|
||||||
"y": 390.36735593535275
|
"y": 390.3673559353522
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -502.9230721502437,
|
"x": -502.9230721502445,
|
||||||
"y": 390.7285243590086
|
"y": 390.728524359008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -525.950383021198,
|
"x": -525.9503830211974,
|
||||||
"y": 390.9068434964294
|
"y": 390.90684349642925
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -549.0970864147915,
|
"x": -549.0970864147907,
|
||||||
"y": 390.90686803484715
|
"y": 390.9068680348474
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -572.2222728858721,
|
"x": -572.2222728858704,
|
||||||
"y": 390.7329321107654
|
"y": 390.7329321107656
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -595.1846601170994,
|
"x": -595.1846601171007,
|
||||||
"y": 390.3891909827694
|
"y": 390.3891909827686
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -617.8429427582319,
|
"x": -617.8429427582322,
|
||||||
"y": 389.8796354203741
|
"y": 389.87963542037477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -640.0561486385068,
|
"x": -640.0561486385066,
|
||||||
"y": 389.2080817760433
|
"y": 389.208081776043
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -661.6840517509002,
|
"x": -661.6840517509004,
|
||||||
"y": 388.3781346110811
|
"y": 388.3781346110808
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -682.5877079123363,
|
"x": -682.5877079123347,
|
||||||
"y": 387.3931112039708
|
"y": 387.3931112039713
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -702.6302136187057,
|
"x": -702.630213618707,
|
||||||
"y": 386.2559049695029
|
"y": 386.255904969502
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -721.6778577696422,
|
"x": -721.6778577696439,
|
||||||
"y": 384.9687413227853
|
"y": 384.9687413227849
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -739.6019742862303,
|
"x": -739.6019742862287,
|
||||||
"y": 383.5327301728113
|
"y": 383.5327301728105
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -756.6283706367624,
|
"x": -756.2820913691256,
|
||||||
"y": 381.91399989149096
|
"y": 381.94700726179155
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -772.0557074133295,
|
"x": -771.6116072858362,
|
||||||
"y": 380.1563856315983
|
"y": 380.2069813195123
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -786.1074176186619,
|
"x": -785.5087261025127,
|
||||||
"y": 378.2178680808823
|
"y": 378.3004611599152
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -798.8005062137145,
|
"x": -797.9392812498397,
|
||||||
"y": 376.0511796823399
|
"y": 376.198189302873
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -810.1810632465617,
|
"x": -810.1810632465665,
|
||||||
"y": 373.5624561175911
|
"y": 373.5624561175904
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7149606299213,
|
"x": -818.0929557813755,
|
||||||
"y": 372.2542552635798
|
"y": 371.2795759163598
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -823.6929755287612,
|
||||||
|
"y": 369.27180555079025
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -829.5753368833404,
|
||||||
|
"y": 366.62694879394627
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -835.8151397150936,
|
||||||
|
"y": 362.8920896668543
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -838.7026077978918,
|
||||||
|
"y": 360.52065549216434
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -810.9147913912859,
|
"x": -810.9147913912859,
|
||||||
"y": -9.118915311803082
|
"y": -9.118915311803084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -41,8 +41,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -773.6975657129408,
|
"x": -773.697565712941,
|
||||||
"y": -13.057776517652666
|
"y": -13.057776517652679
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -50,8 +50,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -731.3693960390715,
|
"x": -731.3693960390717,
|
||||||
"y": -19.564193239769583
|
"y": -19.56419323976961
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -700.8138618525176,
|
"x": -700.8138618525178,
|
||||||
"y": -25.693917945236056
|
"y": -25.693917945236084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -68,8 +68,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -670.5392892845424,
|
"x": -670.5392892845426,
|
||||||
"y": -33.53204687105762
|
"y": -33.532046871057645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -77,8 +77,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -649.4254060247999,
|
"x": -649.4254060248002,
|
||||||
"y": -40.69070943425643
|
"y": -40.69070943425645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -636.4972481739833,
|
"x": -636.4972481739836,
|
||||||
"y": -46.04184558720286
|
"y": -46.04184558720286
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -630.5509356263238,
|
"x": -630.5509356263242,
|
||||||
"y": -48.932226964906654
|
"y": -48.932226964906654
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -612.7709374645622,
|
"x": -612.7709374645625,
|
||||||
"y": -58.17881193899319
|
"y": -58.17881193899319
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,303 +2,303 @@
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -863.5718297690097,
|
"x": -838.7026077978918,
|
||||||
"y": 340.0959369535931
|
"y": 360.52065549216434
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 330.58917270335996
|
"y": 331.31319685039375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 28.923105387766057
|
"y": 28.923105387765915
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": -46.67441747789094
|
"y": -46.674417477891
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.2667801920694,
|
"x": -814.2667801920632,
|
||||||
"y": -46.77051665539475
|
"y": -46.77051665539527
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -778.5602746831969,
|
"x": -778.5602746831936,
|
||||||
"y": -50.54949176119329
|
"y": -50.54949176119353
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -737.9608911970803,
|
"x": -737.9608911970817,
|
||||||
"y": -56.790170478392334
|
"y": -56.79017047839188
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -709.2737849361882,
|
"x": -709.2737849361833,
|
||||||
"y": -62.54507114228297
|
"y": -62.54507114228375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -681.3583296765614,
|
"x": -681.3583296765719,
|
||||||
"y": -69.77242131730785
|
"y": -69.77242131730468
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -662.7349969797801,
|
"x": -662.7349969797737,
|
||||||
"y": -76.08666265976335
|
"y": -76.08666265976586
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -652.0000133582183,
|
"x": -652.0000133582188,
|
||||||
"y": -80.53001488530862
|
"y": -80.53001488530833
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -647.5347421078806,
|
"x": -647.5347421078782,
|
||||||
"y": -82.70049226350372
|
"y": -82.70049226350477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -631.5852394687715,
|
"x": -631.5852394687809,
|
||||||
"y": -90.99511806184105
|
"y": -90.99511806183605
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -616.3280202339932,
|
"x": -616.3280202339708,
|
||||||
"y": -100.59426715697734
|
"y": -100.59426715699189
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -594.0963839106644,
|
"x": -594.0963839106636,
|
||||||
"y": -115.97215530775206
|
"y": -115.9721553077516
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -184.04865014874576,
|
"x": -184.04865014874542,
|
||||||
"y": 76.19837439910705
|
"y": 76.19837439910728
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -202.58871262669433,
|
"x": -202.58871262669427,
|
||||||
"y": 128.5312170877332
|
"y": 128.53121708773386
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -214.84435298014535,
|
"x": -214.84435298014208,
|
||||||
"y": 166.709615345359
|
"y": 166.70961534534916
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -224.9007219166664,
|
"x": -224.9007219166651,
|
||||||
"y": 202.7867077349721
|
"y": 202.78670773496933
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -232.93434714099442,
|
"x": -232.93434714099388,
|
||||||
"y": 237.0808568349011
|
"y": 237.08085683490162
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -239.08903715169467,
|
"x": -239.0890371517,
|
||||||
"y": 269.8170459573539
|
"y": 269.81704595738483
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -243.50661138639543,
|
"x": -243.50661138639492,
|
||||||
"y": 301.2305028748881
|
"y": 301.2305028748772
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -246.32424570745593,
|
"x": -246.32424570745619,
|
||||||
"y": 331.5659013496859
|
"y": 331.5659013496832
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -247.42591881697234,
|
"x": -247.4259188169727,
|
||||||
"y": 355.68472552671597
|
"y": 355.684725526716
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -274.1103616347226,
|
"x": -274.1103616347323,
|
||||||
"y": 368.3965019419771
|
"y": 368.39650194198157
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -280.4308271742487,
|
"x": -280.43082717423164,
|
||||||
"y": 370.73899686729897
|
"y": 370.73899686729357
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -286.53994881447335,
|
"x": -285.6974576466219,
|
||||||
"y": 372.65108939343145
|
"y": 372.38739828360394
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -295.7605238049802,
|
"x": -295.7605238049826,
|
||||||
"y": 375.07066902356064
|
"y": 375.0706690235611
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -309.1086607001497,
|
"x": -308.3295870292442,
|
||||||
"y": 377.8122722714953
|
"y": 377.6522566136316
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -323.7918413406422,
|
"x": -323.20961073643133,
|
||||||
"y": 380.189287868496
|
"y": 380.0950323212031
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -339.7464924132723,
|
"x": -339.2933747725014,
|
||||||
"y": 382.2635758852316
|
"y": 382.20466538395215
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -356.9362622181957,
|
"x": -356.571621703457,
|
||||||
"y": 384.07704503986554
|
"y": 384.0385765592796
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -375.2815276936278,
|
"x": -374.97963878344376,
|
||||||
"y": 385.65320885961137
|
"y": 385.6272715746786
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -394.4224543531805,
|
"x": -394.4224543531813,
|
||||||
"y": 386.98897134293713
|
"y": 386.9889713429367
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251065,
|
"x": -414.7876067251059,
|
||||||
"y": 388.13579550460133
|
"y": 388.13579550460213
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -435.9520270040898,
|
"x": -435.9520270040894,
|
||||||
"y": 389.07661798449567
|
"y": 389.07661798449516
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -457.785958265363,
|
"x": -457.7859582653625,
|
||||||
"y": 389.8184840359457
|
"y": 389.818484035946
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -480.1552993678824,
|
"x": -480.15529936788164,
|
||||||
"y": 390.36735593535275
|
"y": 390.3673559353522
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -502.9230721502437,
|
"x": -502.9230721502445,
|
||||||
"y": 390.7285243590086
|
"y": 390.728524359008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -525.950383021198,
|
"x": -525.9503830211974,
|
||||||
"y": 390.9068434964294
|
"y": 390.90684349642925
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -549.0970864147915,
|
"x": -549.0970864147907,
|
||||||
"y": 390.90686803484715
|
"y": 390.9068680348474
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -572.2222728858721,
|
"x": -572.2222728858704,
|
||||||
"y": 390.7329321107654
|
"y": 390.7329321107656
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -595.1846601170994,
|
"x": -595.1846601171007,
|
||||||
"y": 390.3891909827694
|
"y": 390.3891909827686
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -617.8429427582319,
|
"x": -617.8429427582322,
|
||||||
"y": 389.8796354203741
|
"y": 389.87963542037477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -640.0561486385068,
|
"x": -640.0561486385066,
|
||||||
"y": 389.2080817760433
|
"y": 389.208081776043
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -661.6840517509002,
|
"x": -661.6840517509004,
|
||||||
"y": 388.3781346110811
|
"y": 388.3781346110808
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -682.5877079123363,
|
"x": -682.5877079123347,
|
||||||
"y": 387.3931112039708
|
"y": 387.3931112039713
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -702.6302136187057,
|
"x": -702.630213618707,
|
||||||
"y": 386.2559049695029
|
"y": 386.255904969502
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -721.6778577696422,
|
"x": -721.6778577696439,
|
||||||
"y": 384.9687413227853
|
"y": 384.9687413227849
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -739.6019742862303,
|
"x": -739.6019742862287,
|
||||||
"y": 383.5327301728113
|
"y": 383.5327301728105
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -756.6283706367624,
|
"x": -756.2820913691256,
|
||||||
"y": 381.91399989149096
|
"y": 381.94700726179155
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -772.0557074133295,
|
"x": -771.6116072858362,
|
||||||
"y": 380.1563856315983
|
"y": 380.2069813195123
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -786.1074176186619,
|
"x": -785.5087261025127,
|
||||||
"y": 378.2178680808823
|
"y": 378.3004611599152
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -798.8005062137145,
|
"x": -797.9392812498397,
|
||||||
"y": 376.0511796823399
|
"y": 376.198189302873
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -810.1810632465617,
|
"x": -810.1810632465665,
|
||||||
"y": 373.5624561175911
|
"y": 373.5624561175904
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -818.0929557813661,
|
"x": -818.0929557813755,
|
||||||
"y": 371.27957591636186
|
"y": 371.2795759163598
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -823.6929755287717,
|
"x": -823.6929755287612,
|
||||||
"y": 369.27180555078513
|
"y": 369.27180555079025
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -829.5753368833371,
|
"x": -829.5753368833404,
|
||||||
"y": 366.62694879394735
|
"y": 366.62694879394627
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -835.8151397150926,
|
"x": -835.8151397150936,
|
||||||
"y": 362.8920896668538
|
"y": 362.8920896668543
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -863.5718297690097,
|
"x": -838.7026077978918,
|
||||||
"y": 340.0959369535931
|
"y": 360.52065549216434
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -810.9147913912859,
|
"x": -810.9147913912859,
|
||||||
"y": -9.118915311803082
|
"y": -9.118915311803084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -41,8 +41,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -773.6975657129408,
|
"x": -773.697565712941,
|
||||||
"y": -13.057776517652666
|
"y": -13.057776517652679
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -50,8 +50,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -731.3693960390715,
|
"x": -731.3693960390717,
|
||||||
"y": -19.564193239769583
|
"y": -19.56419323976961
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -700.8138618525176,
|
"x": -700.8138618525178,
|
||||||
"y": -25.693917945236056
|
"y": -25.693917945236084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -68,8 +68,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -670.5392892845424,
|
"x": -670.5392892845426,
|
||||||
"y": -33.53204687105762
|
"y": -33.532046871057645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -77,8 +77,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -649.4254060247999,
|
"x": -649.4254060248002,
|
||||||
"y": -40.69070943425643
|
"y": -40.69070943425645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -636.4972481739833,
|
"x": -636.4972481739836,
|
||||||
"y": -46.04184558720286
|
"y": -46.04184558720286
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -630.5509356263238,
|
"x": -630.5509356263242,
|
||||||
"y": -48.932226964906654
|
"y": -48.932226964906654
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -612.7709374645622,
|
"x": -612.7709374645625,
|
||||||
"y": -58.17881193899319
|
"y": -58.17881193899319
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,283 +2,303 @@
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -838.7026077978918,
|
||||||
"y": 28.923105387766057
|
"y": 360.52065549216434
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": -46.67441747789094
|
"y": 331.31319685039375
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -814.2667801920694,
|
|
||||||
"y": -46.77051665539475
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -778.5602746831969,
|
|
||||||
"y": -50.54949176119329
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -737.9608911970803,
|
|
||||||
"y": -56.790170478392334
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -709.2737849361882,
|
|
||||||
"y": -62.54507114228297
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -681.3583296765614,
|
|
||||||
"y": -69.77242131730785
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -662.7349969797801,
|
|
||||||
"y": -76.08666265976335
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -652.0000133582183,
|
|
||||||
"y": -80.53001488530862
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -647.5347421078806,
|
|
||||||
"y": -82.70049226350372
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -631.5852394687715,
|
|
||||||
"y": -90.99511806184105
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -616.3280202339932,
|
|
||||||
"y": -100.59426715697734
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -594.0963839106644,
|
|
||||||
"y": -115.97215530775206
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -184.04865014874576,
|
|
||||||
"y": 76.19837439910705
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -202.58871262669433,
|
|
||||||
"y": 128.5312170877332
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -214.84435298014535,
|
|
||||||
"y": 166.709615345359
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -224.9007219166664,
|
|
||||||
"y": 202.7867077349721
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -232.93434714099442,
|
|
||||||
"y": 237.0808568349011
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -239.08903715169467,
|
|
||||||
"y": 269.8170459573539
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -243.50661138639543,
|
|
||||||
"y": 301.2305028748881
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -246.32424570745593,
|
|
||||||
"y": 331.5659013496859
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -247.42591881697234,
|
|
||||||
"y": 355.68472552671597
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -274.1103616347226,
|
|
||||||
"y": 368.3965019419771
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -280.4308271742487,
|
|
||||||
"y": 370.73899686729897
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -286.53994881447335,
|
|
||||||
"y": 372.65108939343145
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -295.7605238049802,
|
|
||||||
"y": 375.07066902356064
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -309.1086607001497,
|
|
||||||
"y": 377.8122722714953
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -323.7918413406422,
|
|
||||||
"y": 380.189287868496
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -339.7464924132723,
|
|
||||||
"y": 382.2635758852316
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -356.9362622181957,
|
|
||||||
"y": 384.07704503986554
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -375.2815276936278,
|
|
||||||
"y": 385.65320885961137
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -394.4224543531805,
|
|
||||||
"y": 386.98897134293713
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -414.7876067251065,
|
|
||||||
"y": 388.13579550460133
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -435.9520270040898,
|
|
||||||
"y": 389.07661798449567
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -457.785958265363,
|
|
||||||
"y": 389.8184840359457
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -480.1552993678824,
|
|
||||||
"y": 390.36735593535275
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -502.9230721502437,
|
|
||||||
"y": 390.7285243590086
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -525.950383021198,
|
|
||||||
"y": 390.9068434964294
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -549.0970864147915,
|
|
||||||
"y": 390.90686803484715
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -572.2222728858721,
|
|
||||||
"y": 390.7329321107654
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -595.1846601170994,
|
|
||||||
"y": 390.3891909827694
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -617.8429427582319,
|
|
||||||
"y": 389.8796354203741
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -640.0561486385068,
|
|
||||||
"y": 389.2080817760433
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -661.6840517509002,
|
|
||||||
"y": 388.3781346110811
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -682.5877079123363,
|
|
||||||
"y": 387.3931112039708
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -702.6302136187057,
|
|
||||||
"y": 386.2559049695029
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -721.6778577696422,
|
|
||||||
"y": 384.9687413227853
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -739.6019742862303,
|
|
||||||
"y": 383.5327301728113
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -756.6283706367624,
|
|
||||||
"y": 381.91399989149096
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -772.0557074133295,
|
|
||||||
"y": 380.1563856315983
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -786.1074176186619,
|
|
||||||
"y": 378.2178680808823
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -798.8005062137145,
|
|
||||||
"y": 376.0511796823399
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -810.1810632465617,
|
|
||||||
"y": 373.5624561175911
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -814.7149606299213,
|
|
||||||
"y": 372.2542552635798
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 372.2542552635798
|
"y": 28.923105387765915
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 28.923105387766057
|
"y": -46.674417477891
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -814.2667801920632,
|
||||||
|
"y": -46.77051665539527
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -778.5602746831936,
|
||||||
|
"y": -50.54949176119353
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -737.9608911970817,
|
||||||
|
"y": -56.79017047839188
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -709.2737849361833,
|
||||||
|
"y": -62.54507114228375
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -681.3583296765719,
|
||||||
|
"y": -69.77242131730468
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -662.7349969797737,
|
||||||
|
"y": -76.08666265976586
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -652.0000133582188,
|
||||||
|
"y": -80.53001488530833
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -647.5347421078782,
|
||||||
|
"y": -82.70049226350477
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -631.5852394687809,
|
||||||
|
"y": -90.99511806183605
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -616.3280202339708,
|
||||||
|
"y": -100.59426715699189
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -594.0963839106636,
|
||||||
|
"y": -115.9721553077516
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -184.04865014874542,
|
||||||
|
"y": 76.19837439910728
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -202.58871262669427,
|
||||||
|
"y": 128.53121708773386
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -214.84435298014208,
|
||||||
|
"y": 166.70961534534916
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -224.9007219166651,
|
||||||
|
"y": 202.78670773496933
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -232.93434714099388,
|
||||||
|
"y": 237.08085683490162
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -239.0890371517,
|
||||||
|
"y": 269.81704595738483
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -243.50661138639492,
|
||||||
|
"y": 301.2305028748772
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -246.32424570745619,
|
||||||
|
"y": 331.5659013496832
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -247.4259188169727,
|
||||||
|
"y": 355.684725526716
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -274.1103616347323,
|
||||||
|
"y": 368.39650194198157
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -280.43082717423164,
|
||||||
|
"y": 370.73899686729357
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -285.6974576466219,
|
||||||
|
"y": 372.38739828360394
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -295.7605238049826,
|
||||||
|
"y": 375.0706690235611
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -308.3295870292442,
|
||||||
|
"y": 377.6522566136316
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -323.20961073643133,
|
||||||
|
"y": 380.0950323212031
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -339.2933747725014,
|
||||||
|
"y": 382.20466538395215
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -356.571621703457,
|
||||||
|
"y": 384.0385765592796
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -374.97963878344376,
|
||||||
|
"y": 385.6272715746786
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -394.4224543531813,
|
||||||
|
"y": 386.9889713429367
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -414.7876067251059,
|
||||||
|
"y": 388.13579550460213
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -435.9520270040894,
|
||||||
|
"y": 389.07661798449516
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -457.7859582653625,
|
||||||
|
"y": 389.818484035946
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -480.15529936788164,
|
||||||
|
"y": 390.3673559353522
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -502.9230721502445,
|
||||||
|
"y": 390.728524359008
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -525.9503830211974,
|
||||||
|
"y": 390.90684349642925
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -549.0970864147907,
|
||||||
|
"y": 390.9068680348474
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -572.2222728858704,
|
||||||
|
"y": 390.7329321107656
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -595.1846601171007,
|
||||||
|
"y": 390.3891909827686
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -617.8429427582322,
|
||||||
|
"y": 389.87963542037477
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -640.0561486385066,
|
||||||
|
"y": 389.208081776043
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -661.6840517509004,
|
||||||
|
"y": 388.3781346110808
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -682.5877079123347,
|
||||||
|
"y": 387.3931112039713
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -702.630213618707,
|
||||||
|
"y": 386.255904969502
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -721.6778577696439,
|
||||||
|
"y": 384.9687413227849
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -739.6019742862287,
|
||||||
|
"y": 383.5327301728105
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -756.2820913691256,
|
||||||
|
"y": 381.94700726179155
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -771.6116072858362,
|
||||||
|
"y": 380.2069813195123
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -785.5087261025127,
|
||||||
|
"y": 378.3004611599152
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -797.9392812498397,
|
||||||
|
"y": 376.198189302873
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -810.1810632465665,
|
||||||
|
"y": 373.5624561175904
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -818.0929557813755,
|
||||||
|
"y": 371.2795759163598
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -823.6929755287612,
|
||||||
|
"y": 369.27180555079025
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -829.5753368833404,
|
||||||
|
"y": 366.62694879394627
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -835.8151397150936,
|
||||||
|
"y": 362.8920896668543
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -838.7026077978918,
|
||||||
|
"y": 360.52065549216434
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -451,7 +451,7 @@
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -810.9147913912859,
|
"x": -810.9147913912859,
|
||||||
"y": -9.118915311803082
|
"y": -9.118915311803084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -459,8 +459,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -773.6975657129408,
|
"x": -773.697565712941,
|
||||||
"y": -13.057776517652666
|
"y": -13.057776517652679
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -468,8 +468,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -731.3693960390715,
|
"x": -731.3693960390717,
|
||||||
"y": -19.564193239769583
|
"y": -19.56419323976961
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -477,8 +477,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -700.8138618525176,
|
"x": -700.8138618525178,
|
||||||
"y": -25.693917945236056
|
"y": -25.693917945236084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -486,8 +486,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -670.5392892845424,
|
"x": -670.5392892845426,
|
||||||
"y": -33.53204687105762
|
"y": -33.532046871057645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -495,8 +495,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -649.4254060247999,
|
"x": -649.4254060248002,
|
||||||
"y": -40.69070943425643
|
"y": -40.69070943425645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -504,7 +504,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -636.4972481739833,
|
"x": -636.4972481739836,
|
||||||
"y": -46.04184558720286
|
"y": -46.04184558720286
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -513,7 +513,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -630.5509356263238,
|
"x": -630.5509356263242,
|
||||||
"y": -48.932226964906654
|
"y": -48.932226964906654
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -522,7 +522,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -612.7709374645622,
|
"x": -612.7709374645625,
|
||||||
"y": -58.17881193899319
|
"y": -58.17881193899319
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,288 +2,313 @@
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -218.43624764421457,
|
"x": -218.4362476442146,
|
||||||
"y": 60.082487681666
|
"y": 60.082487681666066
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -196.73040945651616,
|
"x": -196.73040945651604,
|
||||||
"y": 111.99504529263479
|
"y": 111.99504529263494
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -202.58871262669425,
|
"x": -196.73040945651593,
|
||||||
"y": 128.53121708773293
|
"y": 111.995045292635
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -214.84435298014535,
|
"x": -202.58871262669427,
|
||||||
"y": 166.709615345359
|
"y": 128.53121708773386
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -224.9007219166664,
|
"x": -214.84435298014208,
|
||||||
"y": 202.7867077349721
|
"y": 166.70961534534916
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -232.93434714099442,
|
"x": -224.9007219166651,
|
||||||
"y": 237.0808568349011
|
"y": 202.78670773496933
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -239.08903715169467,
|
"x": -232.93434714099388,
|
||||||
"y": 269.8170459573539
|
"y": 237.08085683490162
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -243.50661138639543,
|
"x": -239.0890371517,
|
||||||
"y": 301.2305028748881
|
"y": 269.81704595738483
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -246.32424570745593,
|
"x": -243.50661138639492,
|
||||||
"y": 331.5659013496859
|
"y": 301.2305028748772
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -247.42591881697234,
|
"x": -246.32424570745619,
|
||||||
"y": 355.68472552671597
|
"y": 331.5659013496832
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -274.1103616347226,
|
"x": -247.4259188169727,
|
||||||
"y": 368.3965019419771
|
"y": 355.684725526716
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -280.4308271742487,
|
"x": -274.1103616347323,
|
||||||
"y": 370.73899686729897
|
"y": 368.39650194198157
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -286.53994881447335,
|
"x": -280.43082717423164,
|
||||||
"y": 372.65108939343145
|
"y": 370.73899686729357
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -295.7605238049802,
|
"x": -285.6974576466219,
|
||||||
"y": 375.07066902356064
|
"y": 372.38739828360394
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -309.1086607001497,
|
"x": -295.7605238049826,
|
||||||
"y": 377.8122722714953
|
"y": 375.0706690235611
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -323.7918413406422,
|
"x": -308.3295870292442,
|
||||||
"y": 380.189287868496
|
"y": 377.6522566136316
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -339.7464924132723,
|
"x": -323.20961073643133,
|
||||||
"y": 382.2635758852316
|
"y": 380.0950323212031
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -356.9362622181957,
|
"x": -339.2933747725014,
|
||||||
"y": 384.07704503986554
|
"y": 382.20466538395215
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -375.2815276936278,
|
"x": -356.571621703457,
|
||||||
"y": 385.65320885961137
|
"y": 384.0385765592796
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -394.4224543531805,
|
"x": -374.97963878344376,
|
||||||
"y": 386.98897134293713
|
"y": 385.6272715746786
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251065,
|
"x": -394.4224543531813,
|
||||||
"y": 388.13579550460133
|
"y": 386.9889713429367
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -435.9520270040898,
|
"x": -414.7876067251059,
|
||||||
"y": 389.07661798449567
|
"y": 388.13579550460213
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -457.785958265363,
|
"x": -435.9520270040894,
|
||||||
"y": 389.8184840359457
|
"y": 389.07661798449516
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -480.1552993678824,
|
"x": -457.7859582653625,
|
||||||
"y": 390.36735593535275
|
"y": 389.818484035946
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -502.9230721502437,
|
"x": -480.15529936788164,
|
||||||
"y": 390.7285243590086
|
"y": 390.3673559353522
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -525.950383021198,
|
"x": -502.9230721502445,
|
||||||
"y": 390.9068434964294
|
"y": 390.728524359008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -549.0970864147915,
|
"x": -525.9503830211974,
|
||||||
"y": 390.90686803484715
|
"y": 390.90684349642925
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -572.2222728858721,
|
"x": -549.0970864147907,
|
||||||
"y": 390.7329321107654
|
"y": 390.9068680348474
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -595.1846601170994,
|
"x": -572.2222728858704,
|
||||||
"y": 390.3891909827694
|
"y": 390.7329321107656
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -617.8429427582319,
|
"x": -595.1846601171007,
|
||||||
"y": 389.8796354203741
|
"y": 390.3891909827686
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -640.0561486385068,
|
"x": -617.8429427582322,
|
||||||
"y": 389.2080817760433
|
"y": 389.87963542037477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -661.6840517509002,
|
"x": -640.0561486385066,
|
||||||
"y": 388.3781346110811
|
"y": 389.208081776043
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -682.5877079123363,
|
"x": -661.6840517509004,
|
||||||
"y": 387.3931112039708
|
"y": 388.3781346110808
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -702.6302136187057,
|
"x": -682.5877079123347,
|
||||||
"y": 386.2559049695029
|
"y": 387.3931112039713
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -721.6778577696422,
|
"x": -702.630213618707,
|
||||||
"y": 384.9687413227853
|
"y": 386.255904969502
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -739.6019742862303,
|
"x": -721.6778577696439,
|
||||||
"y": 383.5327301728113
|
"y": 384.9687413227849
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -756.6283706367624,
|
"x": -739.6019742862287,
|
||||||
"y": 381.91399989149096
|
"y": 383.5327301728105
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -772.0557074133295,
|
"x": -756.2820913691256,
|
||||||
"y": 380.1563856315983
|
"y": 381.94700726179155
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -786.1074176186619,
|
"x": -771.6116072858362,
|
||||||
"y": 378.2178680808823
|
"y": 380.2069813195123
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -798.8005062137145,
|
"x": -785.5087261025127,
|
||||||
"y": 376.0511796823399
|
"y": 378.3004611599152
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -810.1810632465617,
|
"x": -797.9392812498397,
|
||||||
"y": 373.5624561175911
|
"y": 376.198189302873
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7149606299213,
|
"x": -810.1810632465665,
|
||||||
"y": 372.2542552635798
|
"y": 373.5624561175904
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -818.0929557813755,
|
||||||
|
"y": 371.2795759163598
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -823.6929755287612,
|
||||||
|
"y": 369.27180555079025
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -829.5753368833404,
|
||||||
|
"y": 366.62694879394627
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -835.8151397150936,
|
||||||
|
"y": 362.8920896668543
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -838.7026077978918,
|
||||||
|
"y": 360.52065549216434
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 330.5891727033602
|
"y": 331.31319685039375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 28.923105387766057
|
"y": 28.923105387766014
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": -46.67441747789091
|
"y": -46.674417477891
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.2667801920695,
|
"x": -814.2667801920633,
|
||||||
"y": -46.77051665539474
|
"y": -46.770516655395255
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -778.5602746831969,
|
"x": -778.5602746831936,
|
||||||
"y": -50.54949176119329
|
"y": -50.54949176119353
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -737.9608911970803,
|
"x": -737.9608911970817,
|
||||||
"y": -56.790170478392334
|
"y": -56.79017047839188
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -709.2737849361882,
|
"x": -709.2737849361833,
|
||||||
"y": -62.54507114228297
|
"y": -62.54507114228375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -681.3583296765614,
|
"x": -681.3583296765719,
|
||||||
"y": -69.77242131730785
|
"y": -69.77242131730468
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -662.7349969797801,
|
"x": -662.7349969797737,
|
||||||
"y": -76.08666265976335
|
"y": -76.08666265976586
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -652.0000133582183,
|
"x": -652.0000133582188,
|
||||||
"y": -80.53001488530862
|
"y": -80.53001488530833
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -647.5347421078806,
|
"x": -647.5347421078782,
|
||||||
"y": -82.70049226350372
|
"y": -82.70049226350477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -631.5852394687715,
|
"x": -631.5852394687809,
|
||||||
"y": -90.99511806184105
|
"y": -90.99511806183605
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -616.3280202339934,
|
"x": -616.3280202339708,
|
||||||
"y": -100.59426715697732
|
"y": -100.59426715699185
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -594.0963839106644,
|
"x": -594.0963839106636,
|
||||||
"y": -115.97215530775212
|
"y": -115.97215530775165
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -218.43624764421457,
|
"x": -218.4362476442146,
|
||||||
"y": 60.082487681666
|
"y": 60.082487681666066
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -457,7 +457,7 @@
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -810.9147913912859,
|
"x": -810.9147913912859,
|
||||||
"y": -9.118915311803082
|
"y": -9.118915311803084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -465,8 +465,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -773.6975657129408,
|
"x": -773.697565712941,
|
||||||
"y": -13.057776517652666
|
"y": -13.057776517652679
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -474,8 +474,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -731.3693960390715,
|
"x": -731.3693960390717,
|
||||||
"y": -19.564193239769583
|
"y": -19.56419323976961
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -483,8 +483,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -700.8138618525176,
|
"x": -700.8138618525178,
|
||||||
"y": -25.693917945236056
|
"y": -25.693917945236084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -492,8 +492,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -670.5392892845424,
|
"x": -670.5392892845426,
|
||||||
"y": -33.53204687105762
|
"y": -33.532046871057645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -501,8 +501,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -649.4254060247999,
|
"x": -649.4254060248002,
|
||||||
"y": -40.69070943425643
|
"y": -40.69070943425645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -510,7 +510,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -636.4972481739833,
|
"x": -636.4972481739836,
|
||||||
"y": -46.04184558720286
|
"y": -46.04184558720286
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -519,7 +519,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -630.5509356263238,
|
"x": -630.5509356263242,
|
||||||
"y": -48.932226964906654
|
"y": -48.932226964906654
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -528,7 +528,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -612.7709374645622,
|
"x": -612.7709374645625,
|
||||||
"y": -58.17881193899319
|
"y": -58.17881193899319
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,288 +2,313 @@
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -594.0963839106644,
|
"x": -594.0963839106636,
|
||||||
"y": -115.97215530775212
|
"y": -115.97215530775165
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -218.43624764421457,
|
"x": -218.4362476442146,
|
||||||
"y": 60.082487681666
|
"y": 60.082487681666066
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -196.73040945651616,
|
"x": -196.73040945651604,
|
||||||
"y": 111.99504529263479
|
"y": 111.99504529263494
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -202.58871262669425,
|
"x": -196.73040945651593,
|
||||||
"y": 128.53121708773293
|
"y": 111.995045292635
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -214.84435298014535,
|
"x": -202.58871262669427,
|
||||||
"y": 166.709615345359
|
"y": 128.53121708773386
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -224.9007219166664,
|
"x": -214.84435298014208,
|
||||||
"y": 202.7867077349721
|
"y": 166.70961534534916
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -232.93434714099442,
|
"x": -224.9007219166651,
|
||||||
"y": 237.0808568349011
|
"y": 202.78670773496933
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -239.08903715169467,
|
"x": -232.93434714099388,
|
||||||
"y": 269.8170459573539
|
"y": 237.08085683490162
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -243.50661138639543,
|
"x": -239.0890371517,
|
||||||
"y": 301.2305028748881
|
"y": 269.81704595738483
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -246.32424570745593,
|
"x": -243.50661138639492,
|
||||||
"y": 331.5659013496859
|
"y": 301.2305028748772
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -247.42591881697234,
|
"x": -246.32424570745619,
|
||||||
"y": 355.68472552671597
|
"y": 331.5659013496832
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -274.1103616347226,
|
"x": -247.4259188169727,
|
||||||
"y": 368.3965019419771
|
"y": 355.684725526716
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -280.4308271742487,
|
"x": -274.1103616347323,
|
||||||
"y": 370.73899686729897
|
"y": 368.39650194198157
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -286.53994881447335,
|
"x": -280.43082717423164,
|
||||||
"y": 372.65108939343145
|
"y": 370.73899686729357
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -295.7605238049802,
|
"x": -285.6974576466219,
|
||||||
"y": 375.07066902356064
|
"y": 372.38739828360394
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -309.1086607001497,
|
"x": -295.7605238049826,
|
||||||
"y": 377.8122722714953
|
"y": 375.0706690235611
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -323.7918413406422,
|
"x": -308.3295870292442,
|
||||||
"y": 380.189287868496
|
"y": 377.6522566136316
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -339.7464924132723,
|
"x": -323.20961073643133,
|
||||||
"y": 382.2635758852316
|
"y": 380.0950323212031
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -356.9362622181957,
|
"x": -339.2933747725014,
|
||||||
"y": 384.07704503986554
|
"y": 382.20466538395215
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -375.2815276936278,
|
"x": -356.571621703457,
|
||||||
"y": 385.65320885961137
|
"y": 384.0385765592796
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -394.4224543531805,
|
"x": -374.97963878344376,
|
||||||
"y": 386.98897134293713
|
"y": 385.6272715746786
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251065,
|
"x": -394.4224543531813,
|
||||||
"y": 388.13579550460133
|
"y": 386.9889713429367
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -435.9520270040898,
|
"x": -414.7876067251059,
|
||||||
"y": 389.07661798449567
|
"y": 388.13579550460213
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -457.785958265363,
|
"x": -435.9520270040894,
|
||||||
"y": 389.8184840359457
|
"y": 389.07661798449516
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -480.1552993678824,
|
"x": -457.7859582653625,
|
||||||
"y": 390.36735593535275
|
"y": 389.818484035946
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -502.9230721502437,
|
"x": -480.15529936788164,
|
||||||
"y": 390.7285243590086
|
"y": 390.3673559353522
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -525.950383021198,
|
"x": -502.9230721502445,
|
||||||
"y": 390.9068434964294
|
"y": 390.728524359008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -549.0970864147915,
|
"x": -525.9503830211974,
|
||||||
"y": 390.90686803484715
|
"y": 390.90684349642925
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -572.2222728858721,
|
"x": -549.0970864147907,
|
||||||
"y": 390.7329321107654
|
"y": 390.9068680348474
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -595.1846601170994,
|
"x": -572.2222728858704,
|
||||||
"y": 390.3891909827694
|
"y": 390.7329321107656
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -617.8429427582319,
|
"x": -595.1846601171007,
|
||||||
"y": 389.8796354203741
|
"y": 390.3891909827686
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -640.0561486385068,
|
"x": -617.8429427582322,
|
||||||
"y": 389.2080817760433
|
"y": 389.87963542037477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -661.6840517509002,
|
"x": -640.0561486385066,
|
||||||
"y": 388.3781346110811
|
"y": 389.208081776043
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -682.5877079123363,
|
"x": -661.6840517509004,
|
||||||
"y": 387.3931112039708
|
"y": 388.3781346110808
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -702.6302136187057,
|
"x": -682.5877079123347,
|
||||||
"y": 386.2559049695029
|
"y": 387.3931112039713
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -721.6778577696422,
|
"x": -702.630213618707,
|
||||||
"y": 384.9687413227853
|
"y": 386.255904969502
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -739.6019742862303,
|
"x": -721.6778577696439,
|
||||||
"y": 383.5327301728113
|
"y": 384.9687413227849
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -756.6283706367624,
|
"x": -739.6019742862287,
|
||||||
"y": 381.91399989149096
|
"y": 383.5327301728105
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -772.0557074133295,
|
"x": -756.2820913691256,
|
||||||
"y": 380.1563856315983
|
"y": 381.94700726179155
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -786.1074176186619,
|
"x": -771.6116072858362,
|
||||||
"y": 378.2178680808823
|
"y": 380.2069813195123
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -798.8005062137145,
|
"x": -785.5087261025127,
|
||||||
"y": 376.0511796823399
|
"y": 378.3004611599152
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -810.1810632465617,
|
"x": -797.9392812498397,
|
||||||
"y": 373.5624561175911
|
"y": 376.198189302873
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7149606299213,
|
"x": -810.1810632465665,
|
||||||
"y": 372.2542552635798
|
"y": 373.5624561175904
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -818.0929557813755,
|
||||||
|
"y": 371.2795759163598
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -823.6929755287612,
|
||||||
|
"y": 369.27180555079025
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -829.5753368833404,
|
||||||
|
"y": 366.62694879394627
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -835.8151397150936,
|
||||||
|
"y": 362.8920896668543
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -838.7026077978918,
|
||||||
|
"y": 360.52065549216434
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 330.5891727033602
|
"y": 331.31319685039375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 28.923105387766057
|
"y": 28.923105387766014
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": -46.67441747789091
|
"y": -46.674417477891
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.2667801920695,
|
"x": -814.2667801920633,
|
||||||
"y": -46.77051665539474
|
"y": -46.770516655395255
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -778.5602746831969,
|
"x": -778.5602746831936,
|
||||||
"y": -50.54949176119329
|
"y": -50.54949176119353
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -737.9608911970803,
|
"x": -737.9608911970817,
|
||||||
"y": -56.790170478392334
|
"y": -56.79017047839188
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -709.2737849361882,
|
"x": -709.2737849361833,
|
||||||
"y": -62.54507114228297
|
"y": -62.54507114228375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -681.3583296765614,
|
"x": -681.3583296765719,
|
||||||
"y": -69.77242131730785
|
"y": -69.77242131730468
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -662.7349969797801,
|
"x": -662.7349969797737,
|
||||||
"y": -76.08666265976335
|
"y": -76.08666265976586
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -652.0000133582183,
|
"x": -652.0000133582188,
|
||||||
"y": -80.53001488530862
|
"y": -80.53001488530833
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -647.5347421078806,
|
"x": -647.5347421078782,
|
||||||
"y": -82.70049226350372
|
"y": -82.70049226350477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -631.5852394687715,
|
"x": -631.5852394687809,
|
||||||
"y": -90.99511806184105
|
"y": -90.99511806183605
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -616.3280202339934,
|
"x": -616.3280202339708,
|
||||||
"y": -100.59426715697732
|
"y": -100.59426715699185
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -594.0963839106644,
|
"x": -594.0963839106636,
|
||||||
"y": -115.97215530775212
|
"y": -115.97215530775165
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -810.9147913912859,
|
"x": -810.9147913912859,
|
||||||
"y": -9.118915311803082
|
"y": -9.118915311803084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -24,8 +24,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -773.6975657129408,
|
"x": -773.697565712941,
|
||||||
"y": -13.057776517652666
|
"y": -13.057776517652679
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -33,8 +33,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -731.3693960390715,
|
"x": -731.3693960390717,
|
||||||
"y": -19.564193239769583
|
"y": -19.56419323976961
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -42,8 +42,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -700.8138618525176,
|
"x": -700.8138618525178,
|
||||||
"y": -25.693917945236056
|
"y": -25.693917945236084
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -51,8 +51,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -670.5392892845424,
|
"x": -670.5392892845426,
|
||||||
"y": -33.53204687105762
|
"y": -33.532046871057645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -60,8 +60,8 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -649.4254060247999,
|
"x": -649.4254060248002,
|
||||||
"y": -40.69070943425643
|
"y": -40.69070943425645
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 6,
|
"angle": 6,
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -636.4972481739833,
|
"x": -636.4972481739836,
|
||||||
"y": -46.04184558720286
|
"y": -46.04184558720286
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -78,7 +78,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -630.5509356263238,
|
"x": -630.5509356263242,
|
||||||
"y": -48.932226964906654
|
"y": -48.932226964906654
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
"saAfter": 37.795275590551185,
|
"saAfter": 37.795275590551185,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
"x": -612.7709374645622,
|
"x": -612.7709374645625,
|
||||||
"y": -58.17881193899319
|
"y": -58.17881193899319
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,287 +3,312 @@
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 28.864326962967752
|
"y": 28.864326962967652
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": -46.747890508888815
|
"y": -46.74789050888896
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7887347652247,
|
"x": -814.7887347652259,
|
||||||
"y": -46.83087146146117
|
"y": -46.8308714614612
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -778.5027796007051,
|
"x": -778.5027796006967,
|
||||||
"y": -50.55832953918005
|
"y": -50.55832953918108
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -737.9608911970803,
|
"x": -737.9608911970817,
|
||||||
"y": -56.790170478392334
|
"y": -56.79017047839188
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -709.2737849361882,
|
"x": -709.2737849361833,
|
||||||
"y": -62.54507114228297
|
"y": -62.54507114228375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -681.3583296765614,
|
"x": -681.3583296765719,
|
||||||
"y": -69.77242131730785
|
"y": -69.77242131730468
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -662.7349969797801,
|
"x": -662.7349969797737,
|
||||||
"y": -76.08666265976335
|
"y": -76.08666265976586
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -652.0000133582183,
|
"x": -652.0000133582188,
|
||||||
"y": -80.53001488530862
|
"y": -80.53001488530833
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -647.5347421078806,
|
"x": -647.5347421078782,
|
||||||
"y": -82.70049226350372
|
"y": -82.70049226350477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -631.5852394687715,
|
"x": -631.5852394687809,
|
||||||
"y": -90.99511806184105
|
"y": -90.99511806183605
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -616.3280202339934,
|
"x": -616.3280202339708,
|
||||||
"y": -100.59426715697732
|
"y": -100.59426715699185
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -594.0963839106644,
|
"x": -594.0963839106636,
|
||||||
"y": -115.97215530775212
|
"y": -115.97215530775165
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -218.43624764421457,
|
"x": -218.4362476442146,
|
||||||
"y": 60.082487681666
|
"y": 60.082487681666066
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -196.73040945651616,
|
"x": -196.73040945651604,
|
||||||
"y": 111.99504529263479
|
"y": 111.99504529263494
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -202.58871262669425,
|
"x": -196.73040945651593,
|
||||||
"y": 128.53121708773293
|
"y": 111.995045292635
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -214.84435298014535,
|
"x": -202.58871262669427,
|
||||||
"y": 166.709615345359
|
"y": 128.53121708773386
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -224.9007219166664,
|
"x": -214.84435298014208,
|
||||||
"y": 202.7867077349721
|
"y": 166.70961534534916
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -232.93434714099442,
|
"x": -224.9007219166651,
|
||||||
"y": 237.0808568349011
|
"y": 202.78670773496933
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -239.08903715169467,
|
"x": -232.93434714099388,
|
||||||
"y": 269.8170459573539
|
"y": 237.08085683490162
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -243.50661138639543,
|
"x": -239.0890371517,
|
||||||
"y": 301.2305028748881
|
"y": 269.81704595738483
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -246.32424570745593,
|
"x": -243.50661138639492,
|
||||||
"y": 331.5659013496859
|
"y": 301.2305028748772
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -247.42591881697234,
|
"x": -246.32424570745619,
|
||||||
"y": 355.68472552671597
|
"y": 331.5659013496832
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -274.1103616347226,
|
"x": -247.4259188169727,
|
||||||
"y": 368.3965019419771
|
"y": 355.684725526716
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -280.4308271742487,
|
"x": -274.1103616347323,
|
||||||
"y": 370.73899686729897
|
"y": 368.39650194198157
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -286.53994881447335,
|
"x": -280.43082717423164,
|
||||||
"y": 372.65108939343145
|
"y": 370.73899686729357
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -295.7605238049802,
|
"x": -285.6974576466219,
|
||||||
"y": 375.07066902356064
|
"y": 372.38739828360394
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -309.1086607001497,
|
"x": -295.7605238049826,
|
||||||
"y": 377.8122722714953
|
"y": 375.0706690235611
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -323.7918413406422,
|
"x": -308.3295870292442,
|
||||||
"y": 380.189287868496
|
"y": 377.6522566136316
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -339.7464924132723,
|
"x": -323.20961073643133,
|
||||||
"y": 382.2635758852316
|
"y": 380.0950323212031
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -356.9362622181957,
|
"x": -339.2933747725014,
|
||||||
"y": 384.07704503986554
|
"y": 382.20466538395215
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -375.2815276936278,
|
"x": -356.571621703457,
|
||||||
"y": 385.65320885961137
|
"y": 384.0385765592796
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -394.4224543531805,
|
"x": -374.97963878344376,
|
||||||
"y": 386.98897134293713
|
"y": 385.6272715746786
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251065,
|
"x": -394.4224543531813,
|
||||||
"y": 388.13579550460133
|
"y": 386.9889713429367
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -435.9520270040898,
|
"x": -414.7876067251059,
|
||||||
"y": 389.07661798449567
|
"y": 388.13579550460213
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -457.785958265363,
|
"x": -435.9520270040894,
|
||||||
"y": 389.8184840359457
|
"y": 389.07661798449516
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -480.1552993678824,
|
"x": -457.7859582653625,
|
||||||
"y": 390.36735593535275
|
"y": 389.818484035946
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -502.9230721502437,
|
"x": -480.15529936788164,
|
||||||
"y": 390.7285243590086
|
"y": 390.3673559353522
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -525.950383021198,
|
"x": -502.9230721502445,
|
||||||
"y": 390.9068434964294
|
"y": 390.728524359008
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -549.0970864147915,
|
"x": -525.9503830211974,
|
||||||
"y": 390.90686803484715
|
"y": 390.90684349642925
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -572.2222728858721,
|
"x": -549.0970864147907,
|
||||||
"y": 390.7329321107654
|
"y": 390.9068680348474
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -595.1846601170994,
|
"x": -572.2222728858704,
|
||||||
"y": 390.3891909827694
|
"y": 390.7329321107656
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -617.8429427582319,
|
"x": -595.1846601171007,
|
||||||
"y": 389.8796354203741
|
"y": 390.3891909827686
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -640.0561486385068,
|
"x": -617.8429427582322,
|
||||||
"y": 389.2080817760433
|
"y": 389.87963542037477
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -661.6840517509002,
|
"x": -640.0561486385066,
|
||||||
"y": 388.3781346110811
|
"y": 389.208081776043
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -682.5877079123363,
|
"x": -661.6840517509004,
|
||||||
"y": 387.3931112039708
|
"y": 388.3781346110808
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -702.6302136187057,
|
"x": -682.5877079123347,
|
||||||
"y": 386.2559049695029
|
"y": 387.3931112039713
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -721.6778577696422,
|
"x": -702.630213618707,
|
||||||
"y": 384.9687413227853
|
"y": 386.255904969502
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -739.6019742862303,
|
"x": -721.6778577696439,
|
||||||
"y": 383.5327301728113
|
"y": 384.9687413227849
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -756.6283706367624,
|
"x": -739.6019742862287,
|
||||||
"y": 381.91399989149096
|
"y": 383.5327301728105
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -772.0557074133295,
|
"x": -756.2820913691256,
|
||||||
"y": 380.1563856315983
|
"y": 381.94700726179155
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -786.1074176186619,
|
"x": -771.6116072858362,
|
||||||
"y": 378.2178680808823
|
"y": 380.2069813195123
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -798.8005062137145,
|
"x": -785.5087261025127,
|
||||||
"y": 376.0511796823399
|
"y": 378.3004611599152
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -810.1810632465617,
|
"x": -797.9392812498397,
|
||||||
"y": 373.5624561175911
|
"y": 376.198189302873
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7149606299213,
|
"x": -810.1810632465665,
|
||||||
"y": 372.2542552635798
|
"y": 373.5624561175904
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -818.0929557813755,
|
||||||
|
"y": 371.2795759163598
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -823.6929755287612,
|
||||||
|
"y": 369.27180555079025
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -829.5753368833404,
|
||||||
|
"y": 366.62694879394627
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -835.8151397150936,
|
||||||
|
"y": 362.8920896668543
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -838.7026077978918,
|
||||||
|
"y": 360.52065549216434
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 330.5891727033602
|
"y": 331.31319685039375
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -815.5965354330709,
|
"x": -815.5965354330709,
|
||||||
"y": 28.864326962967752
|
"y": 28.864326962967652
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,626 +0,0 @@
|
||||||
{
|
|
||||||
"vector": [
|
|
||||||
{
|
|
||||||
"angle": 1,
|
|
||||||
"saBefore": 0,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 29.999999999999943,
|
|
||||||
"y": 361.25971653543314
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 1,
|
|
||||||
"curvePoint": true,
|
|
||||||
"saBefore": 0,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 29.999999999999943,
|
|
||||||
"y": 361.25971653543314
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 31.73396290699989,
|
|
||||||
"y": 354.45851017139887
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 41.25493119356215,
|
|
||||||
"y": 316.26845068079757
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 53.21939514673762,
|
|
||||||
"y": 275.12569164692474
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 63.17801030657803,
|
|
||||||
"y": 245.33022656552694
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 74.79698588969273,
|
|
||||||
"y": 215.28054296635247
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 88.04014693829234,
|
|
||||||
"y": 186.63293747986256
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 95.32490579737316,
|
|
||||||
"y": 173.5144451866591
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 102.15423147111207,
|
|
||||||
"y": 162.06333466959018
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 117.87361973531404,
|
|
||||||
"y": 138.88507040105114
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 135.55721109055781,
|
|
||||||
"y": 116.18046604379055
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 154.63980419348007,
|
|
||||||
"y": 94.84386803398598
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 174.5561977007173,
|
|
||||||
"y": 75.76962280781511
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 189.69581722752943,
|
|
||||||
"y": 63.60622127567666
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 199.74948802498102,
|
|
||||||
"y": 56.60431303423299
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 209.6936831678694,
|
|
||||||
"y": 50.671062859047666
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 219.45775248827417,
|
|
||||||
"y": 45.91826405464286
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 228.97104581827483,
|
|
||||||
"y": 42.45770992554081
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 238.162912989951,
|
|
||||||
"y": 40.401193776263696
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"curvePoint": true,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 242.5984251968504,
|
|
||||||
"y": 39.99987401574802
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 242.5984251968504,
|
|
||||||
"y": 39.99987401574802
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"curvePoint": true,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 242.5984251968504,
|
|
||||||
"y": 39.99987401574802
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 247.0339374037498,
|
|
||||||
"y": 40.401193776263696
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 256.22580457542597,
|
|
||||||
"y": 42.45770992554081
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 265.73909790542666,
|
|
||||||
"y": 45.91826405464286
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 275.5031672258314,
|
|
||||||
"y": 50.671062859047666
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 285.44736236871984,
|
|
||||||
"y": 56.60431303423299
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 295.50103316617134,
|
|
||||||
"y": 63.606221275676646
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 310.6406526929835,
|
|
||||||
"y": 75.76962280781508
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 330.5570462002207,
|
|
||||||
"y": 94.84386803398598
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 349.63963930314287,
|
|
||||||
"y": 116.18046604379055
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 367.32323065838676,
|
|
||||||
"y": 138.88507040105114
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 383.04261892258876,
|
|
||||||
"y": 162.06333466959018
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 389.87194459632764,
|
|
||||||
"y": 173.5144451866591
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 397.15670345540843,
|
|
||||||
"y": 186.63293747986256
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 410.39986450400806,
|
|
||||||
"y": 215.28054296635247
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 422.0188400871228,
|
|
||||||
"y": 245.33022656552694
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 431.97745524696313,
|
|
||||||
"y": 275.12569164692474
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 443.94191920013867,
|
|
||||||
"y": 316.26845068079757
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 453.46288748670094,
|
|
||||||
"y": 354.45851017139887
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"curvePoint": true,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 455.19685039370086,
|
|
||||||
"y": 361.25971653543314
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 455.19685039370086,
|
|
||||||
"y": 361.25971653543314
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"curvePoint": true,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 455.19685039370086,
|
|
||||||
"y": 361.25971653543314
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 456.9308133007008,
|
|
||||||
"y": 354.45851017139887
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 466.45178158726304,
|
|
||||||
"y": 316.26845068079757
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 478.41624554043847,
|
|
||||||
"y": 275.12569164692474
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 488.37486070027893,
|
|
||||||
"y": 245.3302265655269
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 499.99383628339353,
|
|
||||||
"y": 215.28054296635247
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 513.2369973319932,
|
|
||||||
"y": 186.63293747986256
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 520.521756191074,
|
|
||||||
"y": 173.5144451866591
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 527.351081864813,
|
|
||||||
"y": 162.06333466959015
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 543.0704701290149,
|
|
||||||
"y": 138.8850704010511
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 560.7540614842587,
|
|
||||||
"y": 116.18046604379052
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 579.8366545871809,
|
|
||||||
"y": 94.84386803398596
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 599.7530480944181,
|
|
||||||
"y": 75.76962280781505
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 614.8926676212302,
|
|
||||||
"y": 63.60622127567662
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 624.9463384186819,
|
|
||||||
"y": 56.60431303423296
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 634.8905335615702,
|
|
||||||
"y": 50.67106285904764
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 644.654602881975,
|
|
||||||
"y": 45.91826405464284
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 654.1678962119756,
|
|
||||||
"y": 42.4577099255408
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 663.3597633836519,
|
|
||||||
"y": 40.40119377626369
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"curvePoint": true,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 667.7952755905513,
|
|
||||||
"y": 39.99987401574802
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 667.7952755905512,
|
|
||||||
"y": 39.999874015748
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"curvePoint": true,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 667.7952755905511,
|
|
||||||
"y": 39.99987401574802
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 672.2307877974506,
|
|
||||||
"y": 40.40119377626369
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 681.4226549691268,
|
|
||||||
"y": 42.4577099255408
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 690.9359482991274,
|
|
||||||
"y": 45.91826405464284
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 700.7000176195322,
|
|
||||||
"y": 50.67106285904762
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 710.6442127624206,
|
|
||||||
"y": 56.60431303423295
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 720.6978835598723,
|
|
||||||
"y": 63.60622127567662
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 735.8375030866844,
|
|
||||||
"y": 75.76962280781505
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 755.7538965939216,
|
|
||||||
"y": 94.84386803398593
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 774.8364896968437,
|
|
||||||
"y": 116.18046604379049
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 792.5200810520876,
|
|
||||||
"y": 138.8850704010511
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 808.2394693162895,
|
|
||||||
"y": 162.06333466959015
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 815.0687949900284,
|
|
||||||
"y": 173.5144451866591
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 822.3535538491093,
|
|
||||||
"y": 186.63293747986256
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 835.5967148977088,
|
|
||||||
"y": 215.28054296635247
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 847.2156904808235,
|
|
||||||
"y": 245.33022656552694
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 857.174305640664,
|
|
||||||
"y": 275.1256916469248
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 869.1387695938392,
|
|
||||||
"y": 316.26845068079757
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 6,
|
|
||||||
"curvePoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 878.6597378804015,
|
|
||||||
"y": 354.45851017139887
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"curvePoint": true,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 880.3937007874016,
|
|
||||||
"y": 361.25971653543314
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 880.3937007874015,
|
|
||||||
"y": 361.25971653543314
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 880.3937007874015,
|
|
||||||
"y": 928.1888503937009
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 880.3937007874014,
|
|
||||||
"y": 1136.0628661417325
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"angle": 1,
|
|
||||||
"saAfter": 0,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 29.999999999999808,
|
|
||||||
"y": 1136.0628661417325
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"saAfter": 0,
|
|
||||||
"saBefore": 0,
|
|
||||||
"turnPoint": true,
|
|
||||||
"type": "VSAPoint",
|
|
||||||
"x": 29.999999999999844,
|
|
||||||
"y": 928.1888503937009
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,359 +0,0 @@
|
||||||
{
|
|
||||||
"vector": [
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 29.118425196850335,
|
|
||||||
"y": 364.7175599168278
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 29.94307799754262,
|
|
||||||
"y": 261.30591867833493
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 38.28034110598727,
|
|
||||||
"y": 236.36142309988847
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 50.42641664350457,
|
|
||||||
"y": 204.9485223442931
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 64.43563647205879,
|
|
||||||
"y": 174.64377853357186
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 72.39329255299187,
|
|
||||||
"y": 160.31352382108352
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 79.82602319478619,
|
|
||||||
"y": 147.85065060505283
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 96.46605143628082,
|
|
||||||
"y": 123.31490115126226
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 115.23721379286627,
|
|
||||||
"y": 99.21392493718594
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 135.60152983653606,
|
|
||||||
"y": 76.44420895441118
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 157.08834979360478,
|
|
||||||
"y": 55.86594146623459
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 173.83199157479038,
|
|
||||||
"y": 42.413843959149226
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 185.3936560720791,
|
|
||||||
"y": 34.361689123435625
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 197.10339835582204,
|
|
||||||
"y": 27.375017054145104
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 209.11808343103752,
|
|
||||||
"y": 21.526699207665782
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 221.5299864367533,
|
|
||||||
"y": 17.011747265524747
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 235.2394443108585,
|
|
||||||
"y": 13.944500862877867
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 249.9574060828423,
|
|
||||||
"y": 13.944500862877867
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 263.6668639569475,
|
|
||||||
"y": 17.01174726552474
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 276.07876696266345,
|
|
||||||
"y": 21.526699207665832
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 288.09345203787865,
|
|
||||||
"y": 27.37501705414501
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 299.8031943216219,
|
|
||||||
"y": 34.3616891234357
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 311.3648588189105,
|
|
||||||
"y": 42.4138439591493
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 328.1085006000962,
|
|
||||||
"y": 55.865941466234666
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 349.5953205571646,
|
|
||||||
"y": 76.44420895441102
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 369.95963660083424,
|
|
||||||
"y": 99.21392493718575
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 388.73079895742006,
|
|
||||||
"y": 123.31490115126236
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 405.37082719891447,
|
|
||||||
"y": 147.85065060505255
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 412.8035578407087,
|
|
||||||
"y": 160.3135238210832
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 420.761213921642,
|
|
||||||
"y": 174.64377853357206
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 434.7704337501962,
|
|
||||||
"y": 204.9485223442931
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 446.9165092877135,
|
|
||||||
"y": 236.36142309988838
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 455.1968503937008,
|
|
||||||
"y": 261.1356121136812
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 463.47719149968816,
|
|
||||||
"y": 236.3614230998884
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 475.6232670372052,
|
|
||||||
"y": 204.94852234429345
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 489.4457291590669,
|
|
||||||
"y": 175.04777279772534
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 497.41525548705096,
|
|
||||||
"y": 159.48566964361396
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 505.91960858174565,
|
|
||||||
"y": 147.49378076706674
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 521.5037972468683,
|
|
||||||
"y": 123.51918129653623
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 540.4340641865671,
|
|
||||||
"y": 99.21392493718614
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 560.7983802302371,
|
|
||||||
"y": 76.44420895441104
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 582.2852001873056,
|
|
||||||
"y": 55.86594146623453
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 599.0288419684916,
|
|
||||||
"y": 42.413843959148835
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 610.5905064657796,
|
|
||||||
"y": 34.36168912343576
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 622.3002487495228,
|
|
||||||
"y": 27.3750170541451
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 634.3149338247384,
|
|
||||||
"y": 21.526699207665764
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 646.7268368304541,
|
|
||||||
"y": 17.011747265524743
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 660.4362947045594,
|
|
||||||
"y": 13.94450086287786
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 675.1542564765431,
|
|
||||||
"y": 13.94450086287786
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 688.8637143506484,
|
|
||||||
"y": 17.011747265524743
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 701.275617356364,
|
|
||||||
"y": 21.526699207665743
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 713.2903024315797,
|
|
||||||
"y": 27.375017054145108
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 725.0000447153227,
|
|
||||||
"y": 34.36168912343571
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 736.5617092126108,
|
|
||||||
"y": 42.413843959148785
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 753.305350993797,
|
|
||||||
"y": 55.86594146623462
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 774.7921709508654,
|
|
||||||
"y": 76.44420895441098
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 795.156486994535,
|
|
||||||
"y": 99.21392493718571
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 813.9276493511209,
|
|
||||||
"y": 123.31490115126243
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 830.5676775926153,
|
|
||||||
"y": 147.85065060505264
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 838.0004082344087,
|
|
||||||
"y": 160.31352382108162
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 845.9580643153425,
|
|
||||||
"y": 174.64377853357124
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 859.9672841438971,
|
|
||||||
"y": 204.94852234429356
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 872.1133596814137,
|
|
||||||
"y": 236.36142309988713
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 882.4324649928317,
|
|
||||||
"y": 267.23544896017984
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 894.685954055627,
|
|
||||||
"y": 309.3720920900203
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 904.3306932614294,
|
|
||||||
"y": 348.05861566144995
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 906.8503937007875,
|
|
||||||
"y": 357.94025014347284
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 906.8503937007872,
|
|
||||||
"y": 1162.5195590551182
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 29.999999999999805,
|
|
||||||
"y": 1162.5195590551182
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 29.11842519685024,
|
|
||||||
"y": 1136.0628661417325
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": 29.118425196850335,
|
|
||||||
"y": 364.7175599168278
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -161,7 +161,5 @@
|
||||||
<file>custom_seam_allwance_exclude_p1/output.json</file>
|
<file>custom_seam_allwance_exclude_p1/output.json</file>
|
||||||
<file>custom_seam_allwance_exclude_p2/input.json</file>
|
<file>custom_seam_allwance_exclude_p2/input.json</file>
|
||||||
<file>custom_seam_allwance_exclude_p2/output.json</file>
|
<file>custom_seam_allwance_exclude_p2/output.json</file>
|
||||||
<file>hat/input.json</file>
|
|
||||||
<file>hat/output.json</file>
|
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -1140,12 +1140,6 @@ void TST_VAbstractPiece::EquidistantAngleType_data()
|
||||||
QStringLiteral("://smart_pattern_#133/input.json"),
|
QStringLiteral("://smart_pattern_#133/input.json"),
|
||||||
QStringLiteral("://smart_pattern_#133/output.json"),
|
QStringLiteral("://smart_pattern_#133/output.json"),
|
||||||
26.45669291338583 /*seam allowance width*/);
|
26.45669291338583 /*seam allowance width*/);
|
||||||
|
|
||||||
// See file valentina_private_collection/bugs/hat/hat.val
|
|
||||||
ASSERT_TEST_CASE("hat",
|
|
||||||
QStringLiteral("://hat/input.json"),
|
|
||||||
QStringLiteral("://hat/output.json"),
|
|
||||||
26.45669291338583 /*seam allowance width*/);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in a new issue