mirror of
https://gitlab.com/smart-pattern/valentina.git
synced 2024-09-19 15:24:03 +02:00
Compare commits
6 commits
b1470053f7
...
857e384221
Author | SHA1 | Date | |
---|---|---|---|
857e384221 | |||
9cd31f1dd7 | |||
6e295f7172 | |||
433389b798 | |||
e7e4e07162 | |||
944d9e71e0 |
|
@ -18,6 +18,10 @@
|
|||
- Fix QT issue on MacOS version 11.0 "Big Sur".
|
||||
- Fix excluding objects in internal path.
|
||||
- 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
|
||||
- Fix crash when default locale is ru.
|
||||
|
|
|
@ -270,7 +270,7 @@ void VPPiece::RotateToGrainline(const VPTransformationOrigon &origin)
|
|||
{
|
||||
degrees = DegreesAtRear();
|
||||
}
|
||||
else
|
||||
else if (type == GrainlineArrowDirection::atBoth)
|
||||
{
|
||||
const qreal atFront = DegreesAtFront();
|
||||
if (atFront <= 90 || atFront >= 270)
|
||||
|
@ -282,6 +282,22 @@ void VPPiece::RotateToGrainline(const VPTransformationOrigon &origin)
|
|||
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)
|
||||
{
|
||||
|
|
|
@ -111,9 +111,10 @@ auto StringToGrainlineArrowDirrection(const QString &dirrection) -> GrainlineArr
|
|||
{
|
||||
const QStringList arrows
|
||||
{
|
||||
ML::atFrontStr, // 0
|
||||
ML::atRearStr, // 1
|
||||
ML::atBothStr // 2
|
||||
ML::atFrontStr, // 0
|
||||
ML::atRearStr, // 1
|
||||
ML::atFourWayStr, // 2
|
||||
ML::atBothStr // 3
|
||||
};
|
||||
|
||||
GrainlineArrowDirection arrowDirection = GrainlineArrowDirection::atBoth;
|
||||
|
@ -125,7 +126,10 @@ auto StringToGrainlineArrowDirrection(const QString &dirrection) -> GrainlineArr
|
|||
case 1:// at rear
|
||||
arrowDirection = GrainlineArrowDirection::atRear;
|
||||
break;
|
||||
case 2:// at both
|
||||
case 2:// at four way
|
||||
arrowDirection = GrainlineArrowDirection::atFourWay;
|
||||
break;
|
||||
case 3:// at both
|
||||
default:
|
||||
arrowDirection = GrainlineArrowDirection::atBoth;
|
||||
break;
|
||||
|
|
|
@ -121,6 +121,8 @@ auto GrainlineArrowDirrectionToString(GrainlineArrowDirection type) -> QString
|
|||
return ML::atFrontStr;
|
||||
case GrainlineArrowDirection::atRear:
|
||||
return ML::atRearStr;
|
||||
case GrainlineArrowDirection::atFourWay:
|
||||
return ML::atFourWayStr;
|
||||
case GrainlineArrowDirection::atBoth:
|
||||
default:
|
||||
return ML::atBothStr;
|
||||
|
|
|
@ -117,6 +117,7 @@ const QString AttrCurvePoint = QStringLiteral("curvePoint"); // NOLINT
|
|||
|
||||
const QString atFrontStr = QStringLiteral("atFront"); // 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 QChar groupSep = QLatin1Char(';');
|
||||
|
|
|
@ -122,6 +122,7 @@ extern const QString AttrCurvePoint;
|
|||
|
||||
extern const QString atFrontStr;
|
||||
extern const QString atRearStr;
|
||||
extern const QString atFourWayStr;
|
||||
extern const QString atBothStr;
|
||||
|
||||
extern const QChar groupSep;
|
||||
|
|
|
@ -2905,6 +2905,21 @@ void TMainWindow::InitDimensionGradation(int index, const MeasurementDimension_p
|
|||
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
|
||||
// it invalid first
|
||||
control->setCurrentIndex(-1);
|
||||
|
|
|
@ -4918,6 +4918,21 @@ void MainWindow::InitDimensionGradation(int index, const MeasurementDimension_p
|
|||
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
|
||||
// it invalid first
|
||||
control->setCurrentIndex(-1);
|
||||
|
@ -5849,8 +5864,8 @@ auto MainWindow::LoadPattern(QString fileName, const QString& customMeasureFile)
|
|||
|
||||
QFuture<VPatternConverter *> futureConverter = QtConcurrent::run([fileName]()
|
||||
{
|
||||
QScopedPointer<VPatternConverter> converter(new VPatternConverter(fileName));
|
||||
return converter.take();
|
||||
std::unique_ptr<VPatternConverter> converter(new VPatternConverter(fileName));
|
||||
return converter.release();
|
||||
});
|
||||
|
||||
//We have unsaved changes or load more then one file per time
|
||||
|
|
|
@ -95,5 +95,6 @@
|
|||
<file>schema/layout/v0.1.1.xsd</file>
|
||||
<file>schema/layout/v0.1.2.xsd</file>
|
||||
<file>schema/layout/v0.1.3.xsd</file>
|
||||
<file>schema/layout/v0.1.4.xsd</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
568
src/libs/ifc/schema/layout/v0.1.4.xsd
Normal file
568
src/libs/ifc/schema/layout/v0.1.4.xsd
Normal file
|
@ -0,0 +1,568 @@
|
|||
<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,6 +953,8 @@
|
|||
<!--Front-->
|
||||
<xs:enumeration value="2"/>
|
||||
<!--Rear-->
|
||||
<xs:enumeration value="3"/>
|
||||
<!--For way-->
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="pieceVersion">
|
||||
|
|
|
@ -39,8 +39,8 @@
|
|||
*/
|
||||
|
||||
const QString VLayoutConverter::LayoutMinVerStr = QStringLiteral("0.1.0");
|
||||
const QString VLayoutConverter::LayoutMaxVerStr = QStringLiteral("0.1.3");
|
||||
const QString VLayoutConverter::CurrentSchema = QStringLiteral("://schema/layout/v0.1.3.xsd");
|
||||
const QString VLayoutConverter::LayoutMaxVerStr = QStringLiteral("0.1.4");
|
||||
const QString VLayoutConverter::CurrentSchema = QStringLiteral("://schema/layout/v0.1.4.xsd");
|
||||
|
||||
//VLayoutConverter::LayoutMinVer; // <== DON'T FORGET TO UPDATE TOO!!!!
|
||||
//VLayoutConverter::LayoutMaxVer; // <== DON'T FORGET TO UPDATE TOO!!!!
|
||||
|
@ -125,7 +125,8 @@ 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, 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, 3), CurrentSchema),
|
||||
std::make_pair(FormatVersion(0, 1, 3), QStringLiteral("://schema/layout/v0.1.3.xsd")),
|
||||
std::make_pair(FormatVersion(0, 1, 4), CurrentSchema),
|
||||
};
|
||||
|
||||
return schemas;
|
||||
|
@ -156,9 +157,12 @@ void VLayoutConverter::ApplyPatches()
|
|||
case (FormatVersion(0, 1, 1)):
|
||||
case (FormatVersion(0, 1, 2)):
|
||||
ToV0_1_3();
|
||||
ValidateXML(XSDSchema(FormatVersion(0, 1, 3)));
|
||||
Q_FALLTHROUGH();
|
||||
case (FormatVersion(0, 1, 3)):
|
||||
ToV0_1_4();
|
||||
ValidateXML(CurrentSchema);
|
||||
Q_FALLTHROUGH();
|
||||
case (FormatVersion(0, 1, 4)):
|
||||
break;
|
||||
default:
|
||||
InvalidVersion(m_ver);
|
||||
|
@ -271,3 +275,13 @@ void VLayoutConverter::ToV0_1_3()
|
|||
SetVersion(QStringLiteral("0.1.3"));
|
||||
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 CurrentSchema;
|
||||
static Q_DECL_CONSTEXPR const unsigned LayoutMinVer = FormatVersion(0, 1, 0);
|
||||
static Q_DECL_CONSTEXPR const unsigned LayoutMaxVer = FormatVersion(0, 1, 3);
|
||||
static Q_DECL_CONSTEXPR const unsigned LayoutMaxVer = FormatVersion(0, 1, 4);
|
||||
|
||||
static auto XSDSchemas() -> QHash <unsigned, QString>;
|
||||
|
||||
|
@ -70,6 +70,7 @@ protected:
|
|||
void ConvertPathToV0_1_3(QDomElement &node);
|
||||
|
||||
void ToV0_1_3();
|
||||
void ToV0_1_4();
|
||||
|
||||
private:
|
||||
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
|
||||
QMap<vsizetype, QString> tokens = cal->GetTokens();// Tokens (variables, measurements)
|
||||
delete cal.take();
|
||||
cal.reset();
|
||||
|
||||
QList<vsizetype> tKeys = tokens.keys();// Take all tokens positions
|
||||
QList<QString> tValues = tokens.values();
|
||||
|
|
|
@ -287,12 +287,19 @@ void dx_iface::AddAAMALayers()
|
|||
|
||||
// layer.name = "26";// REF
|
||||
// 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()
|
||||
{
|
||||
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()
|
||||
|
|
|
@ -101,6 +101,8 @@ public:
|
|||
bool fileExport(bool binary);
|
||||
void writeEntity(DRW_Entity* e);
|
||||
|
||||
void AddXSpaceBlock(bool add) {dxfW->AddXSpaceBlock(add);}
|
||||
|
||||
std::string ErrorString() const;
|
||||
|
||||
//reimplement virtual DRW_Interface functions
|
||||
|
@ -126,6 +128,7 @@ public:
|
|||
void AddQtLTypes();
|
||||
void AddDefLayers();
|
||||
void AddAAMALayers();
|
||||
void AddDefHeaderData();
|
||||
void AddAAMAHeaderData();
|
||||
void AddASTMLayers();
|
||||
|
||||
|
|
|
@ -234,9 +234,6 @@ class DRW_Point : public DRW_Entity {
|
|||
SETENTFRIENDS
|
||||
public:
|
||||
DRW_Point()
|
||||
: basePoint(),
|
||||
thickness(0),
|
||||
extPoint(DRW_Coord(0, 0, 1))
|
||||
{
|
||||
eType = DRW::POINT;
|
||||
}
|
||||
|
@ -247,9 +244,9 @@ protected:
|
|||
bool parseCode(int code, dxfReader *reader) override;
|
||||
|
||||
public:
|
||||
DRW_Coord basePoint; /*!< base point, code 10, 20 & 30 */
|
||||
double thickness; /*!< thickness, code 39 */
|
||||
DRW_Coord extPoint; /*!< Dir extrusion normal vector, code 210, 220 & 230 */
|
||||
DRW_Coord basePoint{}; /*!< base point, code 10, 20 & 30 */
|
||||
double thickness{0}; /*!< thickness, code 39 */
|
||||
DRW_Coord extPoint{DRW_Coord(0, 0, 1)}; /*!< Dir extrusion normal vector, code 210, 220 & 230 */
|
||||
// TNick: we're not handling code 50 - Angle of the X axis for
|
||||
// the UCS in effect when the point was drawn
|
||||
};
|
||||
|
|
|
@ -120,31 +120,32 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
|||
DRW_Coord varCoord;
|
||||
writer->writeString(2, "HEADER");
|
||||
writer->writeString(9, "$ACADVER");
|
||||
switch (ver) {
|
||||
case DRW::AC1006: //unsupported version acad 10
|
||||
case DRW::AC1009: //acad 11 & 12
|
||||
varStr = "AC1009";
|
||||
break;
|
||||
case DRW::AC1012: //unsupported version acad 13
|
||||
case DRW::AC1014: //acad 14
|
||||
varStr = "AC1014";
|
||||
break;
|
||||
case DRW::AC1015: //acad 2000
|
||||
varStr = "AC1015";
|
||||
break;
|
||||
case DRW::AC1018: //acad 2004
|
||||
varStr = "AC1018";
|
||||
break;
|
||||
case DRW::AC1024: //acad 2010
|
||||
varStr = "AC1024";
|
||||
break;
|
||||
case DRW::AC1027: //acad 2013
|
||||
varStr = "AC1027";
|
||||
break;
|
||||
case DRW::AC1021: //acad 2007
|
||||
default: //acad 2007 default version
|
||||
varStr = "AC1021";
|
||||
break;
|
||||
switch (ver)
|
||||
{
|
||||
case DRW::AC1006: //unsupported version acad 10
|
||||
case DRW::AC1009: //acad 11 & 12
|
||||
varStr = "AC1009";
|
||||
break;
|
||||
case DRW::AC1012: //unsupported version acad 13
|
||||
case DRW::AC1014: //acad 14
|
||||
varStr = "AC1014";
|
||||
break;
|
||||
case DRW::AC1015: //acad 2000
|
||||
varStr = "AC1015";
|
||||
break;
|
||||
case DRW::AC1018: //acad 2004
|
||||
varStr = "AC1018";
|
||||
break;
|
||||
case DRW::AC1024: //acad 2010
|
||||
varStr = "AC1024";
|
||||
break;
|
||||
case DRW::AC1027: //acad 2013
|
||||
varStr = "AC1027";
|
||||
break;
|
||||
case DRW::AC1021: //acad 2007
|
||||
default: //acad 2007 default version
|
||||
varStr = "AC1021";
|
||||
break;
|
||||
}
|
||||
writer->writeString(1, varStr);
|
||||
writer->setVersion(varStr, true);
|
||||
|
@ -271,14 +272,15 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
|||
writer->writeUtf8String(7, varStr);
|
||||
else
|
||||
writer->writeString(7, "STANDARD");
|
||||
writer->writeString(9, "$CLAYER");
|
||||
|
||||
if (getStr("$CLAYER", &varStr))
|
||||
{
|
||||
writer->writeString(9, "$CLAYER");
|
||||
if (ver == DRW::AC1009)
|
||||
writer->writeUtf8Caps(8, varStr);
|
||||
else
|
||||
writer->writeUtf8String(8, varStr);
|
||||
else
|
||||
writer->writeString(8, "0");
|
||||
}
|
||||
writer->writeString(9, "$CELTYPE");
|
||||
if (getStr("$CELTYPE", &varStr))
|
||||
if (ver == DRW::AC1009)
|
||||
|
@ -878,7 +880,8 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
|||
writer->writeInt16(70, varInt);
|
||||
} else
|
||||
writer->writeInt16(70, 8);
|
||||
if (ver < DRW::AC1012) {
|
||||
if (ver < DRW::AC1012)
|
||||
{
|
||||
writer->writeString(9, "$ATTDIA");
|
||||
if (getInt("$ATTDIA", &varInt)) {
|
||||
writer->writeInt16(70, varInt);
|
||||
|
@ -889,11 +892,19 @@ void DRW_Header::write(dxfWriter *writer, DRW::Version ver){
|
|||
writer->writeInt16(70, varInt);
|
||||
} else
|
||||
writer->writeInt16(70, 1);
|
||||
writer->writeString(9, "$HANDLING");
|
||||
if (getInt("$HANDLING", &varInt)) {
|
||||
|
||||
// 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->writeInt16(70, varInt);
|
||||
} else
|
||||
writer->writeInt16(70, 1);
|
||||
}
|
||||
}
|
||||
writer->writeString(9, "$HANDSEED");
|
||||
//RLZ dxfHex(5, 0xFFFF);
|
||||
|
@ -1694,37 +1705,39 @@ void DRW_Header::addCoord(std::string key, const DRW_Coord &value, int code){
|
|||
vars[key] =curr;
|
||||
}
|
||||
|
||||
bool DRW_Header::getDouble(const std::string &key, double *varDouble){
|
||||
bool DRW_Header::getDouble(const std::string &key, double *varDouble) const
|
||||
{
|
||||
bool result = false;
|
||||
auto it=vars.find( key);
|
||||
if (it != vars.end()) {
|
||||
if (it != vars.end())
|
||||
{
|
||||
DRW_Variant *var = (*it).second;
|
||||
if (var->type == DRW_Variant::DOUBLE) {
|
||||
if (var->type == DRW_Variant::DOUBLE)
|
||||
{
|
||||
*varDouble = var->content.d;
|
||||
result = true;
|
||||
}
|
||||
delete var;
|
||||
vars.erase (it);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool DRW_Header::getInt(const std::string &key, int *varInt){
|
||||
bool DRW_Header::getInt(const std::string &key, int *varInt) const
|
||||
{
|
||||
bool result = false;
|
||||
auto it=vars.find( key);
|
||||
if (it != vars.end()) {
|
||||
if (it != vars.end())
|
||||
{
|
||||
DRW_Variant *var = (*it).second;
|
||||
if (var->type == DRW_Variant::INTEGER) {
|
||||
if (var->type == DRW_Variant::INTEGER)
|
||||
{
|
||||
*varInt = var->content.i;
|
||||
result = true;
|
||||
}
|
||||
delete var;
|
||||
vars.erase (it);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool DRW_Header::getStr(const std::string &key, std::string *varStr){
|
||||
bool DRW_Header::getStr(const std::string &key, std::string *varStr) const{
|
||||
bool result = false;
|
||||
auto it=vars.find( key);
|
||||
if (it != vars.end()) {
|
||||
|
@ -1733,23 +1746,22 @@ bool DRW_Header::getStr(const std::string &key, std::string *varStr){
|
|||
*varStr = *var->content.s;
|
||||
result = true;
|
||||
}
|
||||
delete var;
|
||||
vars.erase (it);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool DRW_Header::getCoord(const std::string &key, DRW_Coord *varCoord){
|
||||
bool DRW_Header::getCoord(const std::string &key, DRW_Coord *varCoord) const
|
||||
{
|
||||
bool result = false;
|
||||
auto it=vars.find( key);
|
||||
if (it != vars.end()) {
|
||||
if (it != vars.end())
|
||||
{
|
||||
DRW_Variant *var = (*it).second;
|
||||
if (var->type == DRW_Variant::COORD) {
|
||||
if (var->type == DRW_Variant::COORD)
|
||||
{
|
||||
*varCoord = *var->content.v;
|
||||
result = true;
|
||||
}
|
||||
delete var;
|
||||
vars.erase (it);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -117,10 +117,10 @@ public:
|
|||
protected:
|
||||
bool parseCode(int code, dxfReader *reader);
|
||||
private:
|
||||
bool getDouble(const std::string &key, double *varDouble);
|
||||
bool getInt(const std::string &key, int *varInt);
|
||||
bool getStr(const std::string &key, std::string *varStr);
|
||||
bool getCoord(const std::string &key, DRW_Coord *varCoord);
|
||||
bool getDouble(const std::string &key, double *varDouble) const;
|
||||
bool getInt(const std::string &key, int *varInt) const;
|
||||
bool getStr(const std::string &key, std::string *varStr) const;
|
||||
bool getCoord(const std::string &key, DRW_Coord *varCoord) const;
|
||||
void clearVars()
|
||||
{
|
||||
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);
|
||||
writer->writeString(999, comm);
|
||||
}
|
||||
DRW_Header header;
|
||||
this->header = DRW_Header();
|
||||
iface->writeHeader(header);
|
||||
writer->writeString(0, "SECTION");
|
||||
entCount =FIRSTHANDLE;
|
||||
entCount = FIRSTHANDLE;
|
||||
header.write(writer, version);
|
||||
writer->writeString(0, "ENDSEC");
|
||||
if (ver > DRW::AC1009) {
|
||||
|
@ -190,9 +190,33 @@ bool dxfRW::write(DRW_Interface *interface_, DRW::Version ver, bool bin){
|
|||
return isOk;
|
||||
}
|
||||
|
||||
bool dxfRW::writeEntity(DRW_Entity *ent) {
|
||||
ent->handle = static_cast<duint32>(++entCount);
|
||||
writer->writeString(5, toHexStr(static_cast<int>(ent->handle)));
|
||||
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);
|
||||
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) {
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
|
@ -467,6 +491,7 @@ bool dxfRW::writeDimstyle(DRW_Dimstyle *ent){
|
|||
if (name == "STANDARD")
|
||||
dimstyleStd = true;
|
||||
}
|
||||
|
||||
if (version > DRW::AC1009) {
|
||||
writer->writeString(105, toHexStr(++entCount));
|
||||
}
|
||||
|
@ -615,7 +640,10 @@ bool dxfRW::writeASTMNotch(DRW_ASTMNotch *ent)
|
|||
{
|
||||
writePoint(ent);
|
||||
writer->writeDouble(50, ent->angle);
|
||||
writer->writeDouble(39, ent->thickness); // Defined, but not used in point
|
||||
if (not qFuzzyIsNull(ent->thickness))
|
||||
{
|
||||
writer->writeDouble(39, ent->thickness); // Defined, but not used in point
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1694,92 +1722,129 @@ bool dxfRW::writeTables() {
|
|||
return true;
|
||||
}
|
||||
|
||||
bool dxfRW::writeBlocks() {
|
||||
writer->writeString(0, "BLOCK");
|
||||
if (version > DRW::AC1009) {
|
||||
writer->writeString(5, "20");
|
||||
if (version > DRW::AC1014) {
|
||||
writer->writeString(330, "1F");
|
||||
bool dxfRW::writeBlocks()
|
||||
{
|
||||
if (version > DRW::AC1009 || m_xSpaceBlock)
|
||||
{
|
||||
writer->writeString(0, "BLOCK");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(5, "20");
|
||||
if (version > DRW::AC1014)
|
||||
{
|
||||
writer->writeString(330, "1F");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009) {
|
||||
writer->writeString(100, "AcDbBlockBegin");
|
||||
writer->writeString(2, "*Model_Space");
|
||||
} else
|
||||
writer->writeString(2, "$MODEL_SPACE");
|
||||
writer->writeInt16(70, 0);
|
||||
writer->writeDouble(10, 0.0);
|
||||
writer->writeDouble(20, 0.0);
|
||||
writer->writeDouble(30, 0.0);
|
||||
if (version > DRW::AC1009)
|
||||
writer->writeString(3, "*Model_Space");
|
||||
else
|
||||
writer->writeString(3, "$MODEL_SPACE");
|
||||
writer->writeString(1, "");
|
||||
writer->writeString(0, "ENDBLK");
|
||||
if (version > DRW::AC1009) {
|
||||
writer->writeString(5, "21");
|
||||
if (version > DRW::AC1014) {
|
||||
writer->writeString(330, "1F");
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(100, "AcDbBlockBegin");
|
||||
writer->writeString(2, "*Model_Space");
|
||||
}
|
||||
else
|
||||
{
|
||||
writer->writeString(2, "$MODEL_SPACE");
|
||||
}
|
||||
writer->writeInt16(70, 0);
|
||||
writer->writeDouble(10, 0.0);
|
||||
writer->writeDouble(20, 0.0);
|
||||
writer->writeDouble(30, 0.0);
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(3, "*Model_Space");
|
||||
}
|
||||
else
|
||||
{
|
||||
writer->writeString(3, "$MODEL_SPACE");
|
||||
}
|
||||
writer->writeString(1, "");
|
||||
writer->writeString(0, "ENDBLK");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(5, "21");
|
||||
if (version > DRW::AC1014)
|
||||
{
|
||||
writer->writeString(330, "1F");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(100, "AcDbBlockEnd");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009)
|
||||
writer->writeString(100, "AcDbBlockEnd");
|
||||
|
||||
writer->writeString(0, "BLOCK");
|
||||
if (version > DRW::AC1009) {
|
||||
writer->writeString(5, "1C");
|
||||
if (version > DRW::AC1014) {
|
||||
writer->writeString(330, "1B");
|
||||
writer->writeString(0, "BLOCK");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(5, "1C");
|
||||
if (version > DRW::AC1014)
|
||||
{
|
||||
writer->writeString(330, "1B");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009) {
|
||||
writer->writeString(100, "AcDbBlockBegin");
|
||||
writer->writeString(2, "*Paper_Space");
|
||||
} else
|
||||
writer->writeString(2, "$PAPER_SPACE");
|
||||
writer->writeInt16(70, 0);
|
||||
writer->writeDouble(10, 0.0);
|
||||
writer->writeDouble(20, 0.0);
|
||||
writer->writeDouble(30, 0.0);
|
||||
if (version > DRW::AC1009)
|
||||
writer->writeString(3, "*Paper_Space");
|
||||
else
|
||||
writer->writeString(3, "$PAPER_SPACE");
|
||||
writer->writeString(1, "");
|
||||
writer->writeString(0, "ENDBLK");
|
||||
if (version > DRW::AC1009) {
|
||||
writer->writeString(5, "1D");
|
||||
if (version > DRW::AC1014) {
|
||||
writer->writeString(330, "1F");
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(100, "AcDbBlockBegin");
|
||||
writer->writeString(2, "*Paper_Space");
|
||||
}
|
||||
else
|
||||
{
|
||||
writer->writeString(2, "$PAPER_SPACE");
|
||||
}
|
||||
writer->writeInt16(70, 0);
|
||||
writer->writeDouble(10, 0.0);
|
||||
writer->writeDouble(20, 0.0);
|
||||
writer->writeDouble(30, 0.0);
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(3, "*Paper_Space");
|
||||
}
|
||||
else
|
||||
{
|
||||
writer->writeString(3, "$PAPER_SPACE");
|
||||
}
|
||||
writer->writeString(1, "");
|
||||
writer->writeString(0, "ENDBLK");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(5, "1D");
|
||||
if (version > DRW::AC1014)
|
||||
{
|
||||
writer->writeString(330, "1F");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(100, "AcDbBlockEnd");
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009)
|
||||
writer->writeString(100, "AcDbBlockEnd");
|
||||
writingBlock = false;
|
||||
iface->writeBlocks();
|
||||
if (writingBlock) {
|
||||
if (writingBlock)
|
||||
{
|
||||
writingBlock = false;
|
||||
writer->writeString(0, "ENDBLK");
|
||||
if (version > DRW::AC1009) {
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(5, toHexStr(currHandle+2));
|
||||
// writer->writeString(5, "1D");
|
||||
if (version > DRW::AC1014) {
|
||||
if (version > DRW::AC1014)
|
||||
{
|
||||
writer->writeString(330, toHexStr(currHandle));
|
||||
}
|
||||
writer->writeString(100, "AcDbEntity");
|
||||
}
|
||||
writer->writeString(8, "0");
|
||||
if (version > DRW::AC1009)
|
||||
{
|
||||
writer->writeString(100, "AcDbBlockEnd");
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -2702,11 +2767,11 @@ bool dxfRW::processPolyline() {
|
|||
bool dxfRW::processVertex(DRW_Polyline *pl) {
|
||||
DRW_DBG("dxfRW::processVertex");
|
||||
int code;
|
||||
QScopedPointer<DRW_Vertex> v(new DRW_Vertex());
|
||||
std::unique_ptr<DRW_Vertex> v(new DRW_Vertex());
|
||||
while (reader->readRec(&code)) {
|
||||
DRW_DBG(code); DRW_DBG("\n");
|
||||
if (0 == code) {
|
||||
pl->appendVertex(v.take());
|
||||
pl->appendVertex(v.release());
|
||||
nextentity = reader->getString();
|
||||
DRW_DBG(nextentity); DRW_DBG("\n");
|
||||
if (nextentity == "SEQEND") {
|
||||
|
|
|
@ -39,6 +39,7 @@ public:
|
|||
*/
|
||||
bool read(DRW_Interface *interface_, bool ext);
|
||||
void setBinary(bool b) {binFile = b;}
|
||||
void AddXSpaceBlock(bool add) {m_xSpaceBlock = add;}
|
||||
|
||||
bool write(DRW_Interface *interface_, DRW::Version ver, bool bin);
|
||||
bool writeLineType(DRW_LType *ent);
|
||||
|
@ -138,6 +139,7 @@ private:
|
|||
std::string fileName;
|
||||
std::string codePage;
|
||||
bool binFile;
|
||||
bool m_xSpaceBlock{true};
|
||||
dxfReader *reader;
|
||||
dxfWriter *writer;
|
||||
DRW_Interface *iface;
|
||||
|
|
|
@ -157,6 +157,7 @@ auto VDxfEngine::begin(QPaintDevice *pdev) -> bool
|
|||
|
||||
m_input = QSharedPointer<dx_iface>(new dx_iface(GetFileNameForLocale(), m_version, m_varMeasurement,
|
||||
m_varInsunits));
|
||||
m_input->AddDefHeaderData();
|
||||
m_input->AddQtLTypes();
|
||||
m_input->AddDefLayers();
|
||||
return true;
|
||||
|
@ -700,6 +701,7 @@ auto VDxfEngine::ExportToAAMA(const QVector<VLayoutPiece> &details) -> bool
|
|||
}
|
||||
|
||||
m_input = QSharedPointer<dx_iface>::create(GetFileNameForLocale(), m_version, m_varMeasurement, m_varInsunits);
|
||||
m_input->AddXSpaceBlock(false);
|
||||
m_input->AddAAMAHeaderData();
|
||||
if (m_version > DRW::AC1009)
|
||||
{
|
||||
|
@ -730,6 +732,7 @@ auto VDxfEngine::ExportToAAMA(const QVector<VLayoutPiece> &details) -> bool
|
|||
}
|
||||
|
||||
detailBlock->name = blockName.toStdString();
|
||||
detailBlock->flags = 64;
|
||||
detailBlock->layer = *layer1;
|
||||
|
||||
detail.Scale(m_xscale, m_yscale);
|
||||
|
@ -744,11 +747,11 @@ auto VDxfEngine::ExportToAAMA(const QVector<VLayoutPiece> &details) -> bool
|
|||
|
||||
m_input->AddBlock(detailBlock.data());
|
||||
|
||||
QScopedPointer<DRW_Insert> insert(new DRW_Insert());
|
||||
std::unique_ptr<DRW_Insert> insert(new DRW_Insert());
|
||||
insert->name = blockName.toStdString();
|
||||
insert->layer = *layer1;
|
||||
|
||||
m_input->AddEntity(insert.take());
|
||||
m_input->AddEntity(insert.release());
|
||||
|
||||
deleteBlock = false; // lose ownership
|
||||
}
|
||||
|
@ -844,13 +847,16 @@ void VDxfEngine::ExportAAMANotch(const QSharedPointer<dx_ifaceBlock> &detailBloc
|
|||
const QVector<VLayoutPassmark> passmarks = detail.GetMappedPassmarks();
|
||||
for(const auto &passmark : passmarks)
|
||||
{
|
||||
for (const auto &line : passmark.lines)
|
||||
{
|
||||
if (DRW_Entity *e = AAMALine(line, *layer4))
|
||||
{
|
||||
detailBlock->ent.push_back(e);
|
||||
}
|
||||
}
|
||||
std::unique_ptr<DRW_ASTMNotch> notch(new DRW_ASTMNotch());
|
||||
const QPointF center = passmark.baseLine.p1();
|
||||
|
||||
notch->basePoint = DRW_Coord(FromPixel(center.x(), m_varInsunits),
|
||||
FromPixel(GetSize().height() - center.y(), m_varInsunits),
|
||||
FromPixel(passmark.baseLine.length(), m_varInsunits));
|
||||
notch->angle = passmark.baseLine.angle();
|
||||
notch->layer = *layer4;
|
||||
|
||||
detailBlock->ent.push_back(notch.release());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -928,7 +934,7 @@ auto VDxfEngine::ExportToASTM(const QVector<VLayoutPiece> &details) -> bool
|
|||
|
||||
m_input = QSharedPointer<dx_iface>(new dx_iface(GetFileNameForLocale(), m_version, m_varMeasurement,
|
||||
m_varInsunits));
|
||||
|
||||
m_input->AddXSpaceBlock(false);
|
||||
m_input->AddAAMAHeaderData();
|
||||
if (m_version > DRW::AC1009)
|
||||
{
|
||||
|
@ -974,11 +980,11 @@ auto VDxfEngine::ExportToASTM(const QVector<VLayoutPiece> &details) -> bool
|
|||
|
||||
m_input->AddBlock(detailBlock.data());
|
||||
|
||||
QScopedPointer<DRW_Insert> insert(new DRW_Insert());
|
||||
std::unique_ptr<DRW_Insert> insert(new DRW_Insert());
|
||||
insert->name = blockName.toStdString();
|
||||
insert->layer = *layer1;
|
||||
|
||||
m_input->AddEntity(insert.take());
|
||||
m_input->AddEntity(insert.release());
|
||||
|
||||
deleteBlock = false; // lose ownership
|
||||
}
|
||||
|
@ -1125,10 +1131,17 @@ void VDxfEngine::ExportASTMDrill(const QSharedPointer<dx_ifaceBlock> &detailBloc
|
|||
|| label.Type() == PlaceLabelType::Circle)
|
||||
{
|
||||
const QPointF center = detail.GetMatrix().map(label.Center());
|
||||
detailBlock->ent.push_back(AAMAPoint(center, *layer13));
|
||||
QLineF diameter = detail.GetMatrix().map(QLineF(label.Box().bottomLeft(), label.Box().topRight()));
|
||||
|
||||
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
|
||||
// QPointF pos(center.x(), center.y() - ToPixel(AAMATextHeight, varInsunits));
|
||||
// QPointF pos(center.x(), center.y() - ToPixel(AAMATextHeight, m_varInsunits));
|
||||
// detailBlock->ent.push_back(AAMAText(pos, category, *layer13));
|
||||
}
|
||||
}
|
||||
|
@ -1157,34 +1170,33 @@ void VDxfEngine::ExportASTMNotch(const QSharedPointer<dx_ifaceBlock> &detailBloc
|
|||
notch->layer = *layer4;
|
||||
}
|
||||
else if (passmark.type == PassmarkLineType::VMark || passmark.type == PassmarkLineType::VMark2)
|
||||
{
|
||||
{ // V-Notch
|
||||
QLineF boundaryLine(ConstFirst(passmark.lines).p2(), ConstLast(passmark.lines).p2());
|
||||
notch->thickness = FromPixel(boundaryLine.length(), m_varInsunits); // width
|
||||
|
||||
notch->layer = *layer4;
|
||||
}
|
||||
else if (passmark.type == PassmarkLineType::TMark)
|
||||
{
|
||||
qreal width = FromPixel(ConstLast(passmark.lines).length(), m_varInsunits);
|
||||
notch->thickness = FromPixel(width, m_varInsunits);
|
||||
{ // T-Notch
|
||||
notch->thickness = FromPixel(ConstLast(passmark.lines).length(), m_varInsunits); // width
|
||||
|
||||
notch->layer = *layer80;
|
||||
}
|
||||
else if (passmark.type == PassmarkLineType::BoxMark)
|
||||
{
|
||||
{ // Castle Notch
|
||||
QPointF start = ConstFirst(passmark.lines).p1();
|
||||
QPointF end = ConstLast(passmark.lines).p2();
|
||||
|
||||
notch->layer = *layer81;
|
||||
|
||||
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits);
|
||||
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits); // width
|
||||
}
|
||||
else if (passmark.type == PassmarkLineType::UMark)
|
||||
{
|
||||
{ // U-Notch
|
||||
QPointF start = ConstFirst(passmark.lines).p1();
|
||||
QPointF end = ConstLast(passmark.lines).p2();
|
||||
|
||||
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits);
|
||||
notch->thickness = FromPixel(QLineF(start, end).length(), m_varInsunits); // width
|
||||
|
||||
notch->layer = *layer83;
|
||||
}
|
||||
|
|
|
@ -115,7 +115,7 @@ private:
|
|||
QSize m_size{};
|
||||
double m_resolution{PrintDPI};
|
||||
QString m_fileName{};
|
||||
DRW::Version m_version{DRW::AC1014};
|
||||
DRW::Version m_version{DRW::AC1009};
|
||||
bool m_binary{false};
|
||||
QTransform m_matrix{};
|
||||
QSharedPointer<dx_iface> m_input{};
|
||||
|
|
|
@ -170,8 +170,8 @@ bool WatermarkWindow::Open(QString path)
|
|||
|
||||
QFuture<VWatermarkConverter *> futureConverter = QtConcurrent::run([path]()
|
||||
{
|
||||
QScopedPointer<VWatermarkConverter> converter(new VWatermarkConverter(path));
|
||||
return converter.take();
|
||||
std::unique_ptr<VWatermarkConverter> converter(new VWatermarkConverter(path));
|
||||
return converter.release();
|
||||
});
|
||||
|
||||
//We have unsaved changes or load more then one file per time
|
||||
|
|
|
@ -1275,7 +1275,8 @@ auto VAbstractPiece::EkvPoint(QVector<VRawSAPoint> points, const VSAPoint &p1Lin
|
|||
return true;
|
||||
};
|
||||
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(bigLine2.p1(), p2Line1.CurvePoint(), p2Line1.TurnPoint()));
|
||||
|
@ -1777,14 +1778,44 @@ auto VAbstractPiece::GrainlinePoints(const VGrainlineData &geom, const VContaine
|
|||
v << QPointF(pt1.x() + dArrowLen * qCos(rotation - dArrowAng),
|
||||
pt1.y() - dArrowLen * qSin(rotation - dArrowAng));
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
v << pt2;
|
||||
if (geom.GetArrowType() != GrainlineArrowDirection::atFourWay)
|
||||
{
|
||||
v << pt2;
|
||||
}
|
||||
|
||||
if (geom.GetArrowType() != GrainlineArrowDirection::atRear)
|
||||
{
|
||||
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),
|
||||
pt2.y() - dArrowLen * qSin(rotation + dArrowAng));
|
||||
v << QPointF(pt2.x() + dArrowLen * qCos(rotation - dArrowAng),
|
||||
|
|
|
@ -588,7 +588,24 @@ void VPosition::FollowGrainline()
|
|||
if (m_data.detail.GrainlineArrowType() == GrainlineArrowDirection::atBoth ||
|
||||
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,7 +37,8 @@ enum class GrainlineArrowDirection : qint8
|
|||
{
|
||||
atBoth,
|
||||
atFront,
|
||||
atRear
|
||||
atRear,
|
||||
atFourWay
|
||||
};
|
||||
|
||||
#endif // FLOATITEMDEF_H
|
||||
|
|
|
@ -1051,7 +1051,7 @@ auto VTranslateVars::FormulaFromUser(const QString &formula, bool osSeparator) c
|
|||
new qmu::QmuTokenParser(formula, osSeparator, true, GetTranslatedFunctions()));
|
||||
QMap<vsizetype, QString> tokens = cal->GetTokens();// Tokens (variables, measurements)
|
||||
QMap<vsizetype, QString> numbers = cal->GetNumbers();// All numbers in expression for changing decimal separator
|
||||
delete cal.take();
|
||||
cal.reset();
|
||||
|
||||
QString newFormula = formula;// Local copy for making changes
|
||||
|
||||
|
|
|
@ -3383,6 +3383,7 @@ void DialogSeamAllowance::InitGrainlineTab()
|
|||
uiTabGrainline->comboBoxArrow->addItem(tr("Both"));
|
||||
uiTabGrainline->comboBoxArrow->addItem(tr("Just front"));
|
||||
uiTabGrainline->comboBoxArrow->addItem(tr("Just rear"));
|
||||
uiTabGrainline->comboBoxArrow->addItem(tr("Four way"));
|
||||
|
||||
m_iRotBaseHeight = uiTabGrainline->lineEditRotFormula->height();
|
||||
m_iLenBaseHeight = uiTabGrainline->lineEditLenFormula->height();
|
||||
|
|
|
@ -2050,7 +2050,7 @@ void VToolSeamAllowance::InitSpecialPoints(const QVector<quint32> &points) const
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VToolSeamAllowance::DeleteToolWithConfirm(bool ask)
|
||||
{
|
||||
QScopedPointer<DeletePiece> delDet(new DeletePiece(doc, m_id, VAbstractTool::data, m_sceneDetails));
|
||||
std::unique_ptr<DeletePiece> delDet(new DeletePiece(doc, m_id, VAbstractTool::data, m_sceneDetails));
|
||||
if (ask)
|
||||
{
|
||||
if (ConfirmDeletion() == QMessageBox::No)
|
||||
|
@ -2059,7 +2059,7 @@ void VToolSeamAllowance::DeleteToolWithConfirm(bool ask)
|
|||
}
|
||||
}
|
||||
|
||||
VAbstractApplication::VApp()->getUndoStack()->push(delDet.take());
|
||||
VAbstractApplication::VApp()->getUndoStack()->push(delDet.release());
|
||||
|
||||
// Throw exception, this will help prevent case when we forget to immediately quit function.
|
||||
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,
|
||||
quint32 pRotate, qreal angle)
|
||||
{
|
||||
QScopedPointer<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(node.GetId())));
|
||||
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(node.GetId())));
|
||||
point->setMode(Draw::Modeling);
|
||||
|
||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||
{
|
||||
BiasRotatePoint(point.data(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||
BiasRotatePoint(point.get(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||
angle);
|
||||
}
|
||||
|
||||
QScopedPointer<VPointF> point1(new VPointF(*point));
|
||||
std::unique_ptr<VPointF> point1(new VPointF(*point));
|
||||
|
||||
const quint32 idObject = initData.data->AddGObject(point.take());
|
||||
const quint32 idObject = initData.data->AddGObject(point.release());
|
||||
children.append(idObject);
|
||||
point1->setIdObject(idObject);
|
||||
point1->setMode(Draw::Modeling);
|
||||
const quint32 id = initData.data->AddGObject(point1.take());
|
||||
const quint32 id = initData.data->AddGObject(point1.release());
|
||||
|
||||
VAbstractNodeInitData initNodeData;
|
||||
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,
|
||||
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle)
|
||||
{
|
||||
QScopedPointer<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(id)));
|
||||
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(id)));
|
||||
point->setMode(Draw::Modeling);
|
||||
|
||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||
{
|
||||
BiasRotatePoint(point.data(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||
BiasRotatePoint(point.get(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||
angle);
|
||||
}
|
||||
|
||||
QScopedPointer<VPointF> point1(new VPointF(*point));
|
||||
std::unique_ptr<VPointF> point1(new VPointF(*point));
|
||||
|
||||
const quint32 idObject = initData.data->AddGObject(point.take());
|
||||
const quint32 idObject = initData.data->AddGObject(point.release());
|
||||
children.append(idObject);
|
||||
point1->setMode(Draw::Modeling);
|
||||
const quint32 idPin = initData.data->AddGObject(point1.take());
|
||||
const quint32 idPin = initData.data->AddGObject(point1.release());
|
||||
|
||||
VToolPinInitData initNodeData;
|
||||
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,
|
||||
const QString &drawName, qreal dx, qreal dy, quint32 pRotate, qreal angle)
|
||||
{
|
||||
QScopedPointer<VPlaceLabelItem> label(new VPlaceLabelItem(*initData.data->GeometricObject<VPlaceLabelItem>(id)));
|
||||
std::unique_ptr<VPlaceLabelItem> label(new VPlaceLabelItem(*initData.data->GeometricObject<VPlaceLabelItem>(id)));
|
||||
|
||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||
{
|
||||
BiasRotatePoint(label.data(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||
BiasRotatePoint(label.get(), dx, dy, static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)),
|
||||
angle);
|
||||
}
|
||||
|
||||
|
@ -488,12 +488,12 @@ quint32 AddPlaceLabel(quint32 id, const VToolUnionDetailsInitData &initData, QVe
|
|||
initNodeData.visibilityTrigger = label->GetVisibilityTrigger();
|
||||
initNodeData.type = label->GetLabelType();
|
||||
|
||||
QScopedPointer<VPlaceLabelItem> label1(new VPlaceLabelItem(*label));
|
||||
std::unique_ptr<VPlaceLabelItem> label1(new VPlaceLabelItem(*label));
|
||||
|
||||
initNodeData.centerPoint = initData.data->AddGObject(label.take());
|
||||
initNodeData.centerPoint = initData.data->AddGObject(label.release());
|
||||
children.append(initNodeData.centerPoint);
|
||||
|
||||
const quint32 idLabel = initData.data->AddGObject(label1.take());
|
||||
const quint32 idLabel = initData.data->AddGObject(label1.release());
|
||||
initNodeData.id = idLabel;
|
||||
|
||||
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());
|
||||
VPointF p1 = VPointF(arc->GetP1(), "A", 0, 0);
|
||||
VPointF p2 = VPointF(arc->GetP2(), "A", 0, 0);
|
||||
QScopedPointer<VPointF> center(new VPointF(arc->GetCenter()));
|
||||
std::unique_ptr<VPointF> center(new VPointF(arc->GetCenter()));
|
||||
|
||||
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(&p2, dx, dy, p, angle);
|
||||
BiasRotatePoint(center.data(), dx, dy, p, angle);
|
||||
BiasRotatePoint(center.get(), dx, dy, p, angle);
|
||||
}
|
||||
|
||||
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
||||
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||
center->setMode(Draw::Modeling);
|
||||
VPointF *tmpCenter = center.take();
|
||||
VPointF *tmpCenter = center.release();
|
||||
const quint32 idCenter = initData.data->AddGObject(tmpCenter);
|
||||
Q_UNUSED(idCenter)
|
||||
QScopedPointer<VArc> arc1(new VArc(*tmpCenter, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
||||
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
||||
std::unique_ptr<VArc> arc1(new VArc(*tmpCenter, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
||||
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
||||
arc1->setMode(Draw::Modeling);
|
||||
|
||||
QScopedPointer<VArc>arc2(new VArc(*arc1));
|
||||
std::unique_ptr<VArc>arc2(new VArc(*arc1));
|
||||
|
||||
const quint32 idObject = initData.data->AddGObject(arc1.take());
|
||||
const quint32 idObject = initData.data->AddGObject(arc1.release());
|
||||
children.append(idObject);
|
||||
|
||||
arc2->setIdObject(idObject);
|
||||
arc2->setMode(Draw::Modeling);
|
||||
const quint32 id = initData.data->AddGObject(arc2.take());
|
||||
const quint32 id = initData.data->AddGObject(arc2.release());
|
||||
|
||||
VAbstractNodeInitData initNodeData;
|
||||
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());
|
||||
VPointF p1 = VPointF(arc->GetP1(), "A", 0, 0);
|
||||
VPointF p2 = VPointF(arc->GetP2(), "A", 0, 0);
|
||||
QScopedPointer<VPointF> center(new VPointF(arc->GetCenter()));
|
||||
std::unique_ptr<VPointF> center(new VPointF(arc->GetCenter()));
|
||||
|
||||
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(&p2, dx, dy, p, angle);
|
||||
BiasRotatePoint(center.data(), dx, dy, p, angle);
|
||||
BiasRotatePoint(center.get(), dx, dy, p, angle);
|
||||
}
|
||||
|
||||
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
||||
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||
center->setMode(Draw::Modeling);
|
||||
VPointF *tmpCenter = center.take();
|
||||
VPointF *tmpCenter = center.release();
|
||||
quint32 idCenter = initData.data->AddGObject(tmpCenter);
|
||||
Q_UNUSED(idCenter)
|
||||
QScopedPointer<VEllipticalArc> arc1(new VEllipticalArc (*tmpCenter, arc->GetRadius1(), arc->GetRadius2(),
|
||||
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
||||
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
||||
QString().setNum(l2.angle()), 0, QChar('0')));
|
||||
std::unique_ptr<VEllipticalArc> arc1(new VEllipticalArc (*tmpCenter, arc->GetRadius1(), arc->GetRadius2(),
|
||||
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
||||
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
||||
QString().setNum(l2.angle()), 0, QChar('0')));
|
||||
arc1->setMode(Draw::Modeling);
|
||||
|
||||
QScopedPointer<VEllipticalArc> arc2(new VEllipticalArc(*arc1));
|
||||
std::unique_ptr<VEllipticalArc> arc2(new VEllipticalArc(*arc1));
|
||||
|
||||
const quint32 idObject = initData.data->AddGObject(arc1.take());
|
||||
const quint32 idObject = initData.data->AddGObject(arc1.release());
|
||||
children.append(idObject);
|
||||
|
||||
arc2->setIdObject(idObject);
|
||||
arc2->setMode(Draw::Modeling);
|
||||
const quint32 id = initData.data->AddGObject(arc2.take());
|
||||
const quint32 id = initData.data->AddGObject(arc2.release());
|
||||
|
||||
VAbstractNodeInitData initNodeData;
|
||||
initNodeData.id = id;
|
||||
|
@ -657,7 +657,7 @@ quint32 AddNodeSplinePath(const VPieceNode &node, const VToolUnionDetailsInitDat
|
|||
QVector<quint32> &children, const QString &drawName, qreal dx, qreal dy,
|
||||
quint32 pRotate, qreal angle)
|
||||
{
|
||||
QScopedPointer<VSplinePath> path(new VSplinePath());
|
||||
std::unique_ptr<VSplinePath> path(new VSplinePath());
|
||||
path->setMode(Draw::Modeling);
|
||||
const QSharedPointer<VAbstractCubicBezierPath> splinePath =
|
||||
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,
|
||||
spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F));
|
||||
}
|
||||
QScopedPointer<VSplinePath> path1(new VSplinePath(*path));
|
||||
std::unique_ptr<VSplinePath> path1(new VSplinePath(*path));
|
||||
|
||||
const quint32 idObject = initData.data->AddGObject(path.take());
|
||||
const quint32 idObject = initData.data->AddGObject(path.release());
|
||||
children.append(idObject);
|
||||
|
||||
path1->setIdObject(idObject);
|
||||
path1->setMode(Draw::Modeling);
|
||||
const quint32 id = initData.data->AddGObject(path1.take());
|
||||
const quint32 id = initData.data->AddGObject(path1.release());
|
||||
|
||||
VAbstractNodeInitData initNodeData;
|
||||
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,
|
||||
quint32 pRotate, qreal angle)
|
||||
{
|
||||
QScopedPointer<VPointF> point(new VPointF(*data->GeometricObject<VPointF>(node.GetId())));
|
||||
std::unique_ptr<VPointF> point(new VPointF(*data->GeometricObject<VPointF>(node.GetId())));
|
||||
point->setMode(Draw::Modeling);
|
||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||
{
|
||||
BiasRotatePoint(point.data(), dx, dy, static_cast<QPointF>(*data->GeometricObject<VPointF>(pRotate)), angle);
|
||||
BiasRotatePoint(point.get(), dx, dy, static_cast<QPointF>(*data->GeometricObject<VPointF>(pRotate)), angle);
|
||||
}
|
||||
data->UpdateGObject(TakeNextId(children), point.take());
|
||||
data->UpdateGObject(TakeNextId(children), point.release());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -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 l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||
|
||||
QScopedPointer<VArc> arc1(new VArc(*center, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
||||
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
||||
std::unique_ptr<VArc> arc1(new VArc(*center, arc->GetRadius(), arc->GetFormulaRadius(), l1.angle(),
|
||||
QString().setNum(l1.angle()), l2.angle(), QString().setNum(l2.angle())));
|
||||
arc1->setMode(Draw::Modeling);
|
||||
data->UpdateGObject(TakeNextId(children), arc1.take());
|
||||
data->UpdateGObject(TakeNextId(children), arc1.release());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -992,12 +992,12 @@ void UpdateNodeElArc(VContainer *data, const VPieceNode &node, QVector<quint32>
|
|||
QLineF l1(static_cast<QPointF>(*center), static_cast<QPointF>(p1));
|
||||
QLineF l2(static_cast<QPointF>(*center), static_cast<QPointF>(p2));
|
||||
|
||||
QScopedPointer<VEllipticalArc> arc1(new VEllipticalArc (*center, arc->GetRadius1(), arc->GetRadius2(),
|
||||
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
||||
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
||||
QString().setNum(l2.angle()), 0, QChar('0')));
|
||||
std::unique_ptr<VEllipticalArc> arc1(new VEllipticalArc (*center, arc->GetRadius1(), arc->GetRadius2(),
|
||||
arc->GetFormulaRadius1(), arc->GetFormulaRadius2(),
|
||||
l1.angle(), QString().setNum(l1.angle()), l2.angle(),
|
||||
QString().setNum(l2.angle()), 0, QChar('0')));
|
||||
arc1->setMode(Draw::Modeling);
|
||||
data->UpdateGObject(TakeNextId(children), arc1.take());
|
||||
data->UpdateGObject(TakeNextId(children), arc1.release());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -1022,16 +1022,16 @@ void UpdateNodeSpline(VContainer *data, const VPieceNode &node, QVector<quint32>
|
|||
BiasRotatePoint(p4.data(), dx, dy, p, angle);
|
||||
}
|
||||
|
||||
QScopedPointer<VSpline> spl(new VSpline(*p1, static_cast<QPointF>(p2), static_cast<QPointF>(p3), *p4, 0,
|
||||
Draw::Modeling));
|
||||
data->UpdateGObject(TakeNextId(children), spl.take());
|
||||
std::unique_ptr<VSpline> spl(new VSpline(*p1, static_cast<QPointF>(p2), static_cast<QPointF>(p3), *p4, 0,
|
||||
Draw::Modeling));
|
||||
data->UpdateGObject(TakeNextId(children), spl.release());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void UpdateNodeSplinePath(VContainer *data, const VPieceNode &node, QVector<quint32> &children, qreal dx, qreal dy,
|
||||
quint32 pRotate, qreal angle)
|
||||
{
|
||||
QScopedPointer<VSplinePath> path(new VSplinePath());
|
||||
std::unique_ptr<VSplinePath> path(new VSplinePath());
|
||||
path->setMode(Draw::Modeling);
|
||||
const QSharedPointer<VAbstractCubicBezierPath> splinePath =
|
||||
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,
|
||||
spline.GetC2Length(), spline.GetC2LengthFormula(), pL2, pL2F));
|
||||
}
|
||||
data->UpdateGObject(TakeNextId(children), path.take());
|
||||
data->UpdateGObject(TakeNextId(children), path.release());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -1498,14 +1498,14 @@ void UpdateUnitedDetailPins(const VToolUnionDetailsInitData &initData, qreal dx,
|
|||
|
||||
for (auto record : records)
|
||||
{
|
||||
QScopedPointer<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(record)));
|
||||
std::unique_ptr<VPointF> point(new VPointF(*initData.data->GeometricObject<VPointF>(record)));
|
||||
point->setMode(Draw::Modeling);
|
||||
if (not qFuzzyIsNull(dx) || not qFuzzyIsNull(dy) || pRotate != NULL_ID)
|
||||
{
|
||||
BiasRotatePoint(point.data(), dx, dy,
|
||||
BiasRotatePoint(point.get(), dx, dy,
|
||||
static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle);
|
||||
}
|
||||
initData.data->UpdateGObject(TakeNextId(children), point.take());
|
||||
initData.data->UpdateGObject(TakeNextId(children), point.release());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1523,7 +1523,7 @@ void UpdateUnitedDetailPlaceLabels(const VToolUnionDetailsInitData &initData, qr
|
|||
BiasRotatePoint(parentLabel.data(), dx, dy,
|
||||
static_cast<QPointF>(*initData.data->GeometricObject<VPointF>(pRotate)), angle);
|
||||
}
|
||||
QScopedPointer<VPlaceLabelItem> label(new VPlaceLabelItem());
|
||||
std::unique_ptr<VPlaceLabelItem> label(new VPlaceLabelItem());
|
||||
label->setName(parentLabel->name());
|
||||
label->setX(parentLabel->x());
|
||||
label->setY(parentLabel->y());
|
||||
|
@ -1531,7 +1531,7 @@ void UpdateUnitedDetailPlaceLabels(const VToolUnionDetailsInitData &initData, qr
|
|||
label->setMy(parentLabel->my());
|
||||
|
||||
label->SetCorrectionAngle(parentLabel->GetCorrectionAngle()+angle);
|
||||
initData.data->UpdateGObject(TakeNextId(children), label.take());
|
||||
initData.data->UpdateGObject(TakeNextId(children), label.release());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -122,12 +122,26 @@ void VGrainlineItem::paint(QPainter* pP, const QStyleOptionGraphicsItem* pOption
|
|||
if (m_eArrowType != GrainlineArrowDirection::atRear)
|
||||
{
|
||||
// first arrow
|
||||
pP->drawPolygon(FirstArrow(dArrLen));
|
||||
pP->drawPolygon(FirstArrow(MainLine().p2(), 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)
|
||||
{
|
||||
// second arrow
|
||||
pP->drawPolygon(SecondArrow(dArrLen));
|
||||
pP->drawPolygon(SecondArrow(MainLine().p1(), 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)
|
||||
|
@ -636,28 +650,26 @@ QLineF VGrainlineItem::MainLine() const
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QPolygonF VGrainlineItem::FirstArrow(qreal dArrLen) const
|
||||
QPolygonF VGrainlineItem::FirstArrow(const QPointF &pt, qreal dArrLen) const
|
||||
{
|
||||
const QPointF pt2 = MainLine().p2();
|
||||
QPolygonF poly;
|
||||
poly << pt2;
|
||||
poly << QPointF(pt2.x() + dArrLen*cos(M_PI + m_dRotation + ARROW_ANGLE),
|
||||
pt2.y() - dArrLen*sin(M_PI + m_dRotation + ARROW_ANGLE));
|
||||
poly << QPointF(pt2.x() + dArrLen*cos(M_PI + m_dRotation - ARROW_ANGLE),
|
||||
pt2.y() - dArrLen*sin(M_PI + m_dRotation - ARROW_ANGLE));
|
||||
poly << pt;
|
||||
poly << QPointF(pt.x() + dArrLen*cos(M_PI + m_dRotation + ARROW_ANGLE),
|
||||
pt.y() - dArrLen*sin(M_PI + m_dRotation + ARROW_ANGLE));
|
||||
poly << QPointF(pt.x() + dArrLen*cos(M_PI + m_dRotation - ARROW_ANGLE),
|
||||
pt.y() - dArrLen*sin(M_PI + m_dRotation - ARROW_ANGLE));
|
||||
return poly;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QPolygonF VGrainlineItem::SecondArrow(qreal dArrLen) const
|
||||
QPolygonF VGrainlineItem::SecondArrow(const QPointF &pt, qreal dArrLen) const
|
||||
{
|
||||
const QPointF pt1 = MainLine().p1();
|
||||
QPolygonF poly;
|
||||
poly << pt1;
|
||||
poly << QPointF(pt1.x() + dArrLen*cos(m_dRotation + ARROW_ANGLE),
|
||||
pt1.y() - dArrLen*sin(m_dRotation + ARROW_ANGLE));
|
||||
poly << QPointF(pt1.x() + dArrLen*cos(m_dRotation - ARROW_ANGLE),
|
||||
pt1.y() - dArrLen*sin(m_dRotation - ARROW_ANGLE));
|
||||
poly << pt;
|
||||
poly << QPointF(pt.x() + dArrLen*cos(m_dRotation + ARROW_ANGLE),
|
||||
pt.y() - dArrLen*sin(m_dRotation + ARROW_ANGLE));
|
||||
poly << QPointF(pt.x() + dArrLen*cos(m_dRotation - ARROW_ANGLE),
|
||||
pt.y() - dArrLen*sin(m_dRotation - ARROW_ANGLE));
|
||||
return poly;
|
||||
}
|
||||
|
||||
|
@ -681,7 +693,15 @@ QPainterPath VGrainlineItem::MainShape() const
|
|||
{
|
||||
// first arrow
|
||||
QPainterPath polyPath;
|
||||
polyPath.addPolygon(FirstArrow(dArrLen));
|
||||
polyPath.addPolygon(FirstArrow(MainLine().p2(), 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.closeSubpath();
|
||||
}
|
||||
|
@ -690,7 +710,15 @@ QPainterPath VGrainlineItem::MainShape() const
|
|||
{
|
||||
// second arrow
|
||||
QPainterPath polyPath;
|
||||
polyPath.addPolygon(SecondArrow(dArrLen));
|
||||
polyPath.addPolygon(SecondArrow(MainLine().p1(), 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.closeSubpath();
|
||||
}
|
||||
|
|
|
@ -84,12 +84,12 @@ private:
|
|||
QPointF m_ptFinish;
|
||||
QPointF m_ptCenter;
|
||||
qreal m_dAngle;
|
||||
GrainlineArrowDirection m_eArrowType;
|
||||
GrainlineArrowDirection m_eArrowType;
|
||||
double m_penWidth{1};
|
||||
|
||||
QLineF MainLine() const;
|
||||
QPolygonF FirstArrow(qreal dArrLen) const;
|
||||
QPolygonF SecondArrow(qreal dArrLen) const;
|
||||
QPolygonF FirstArrow(const QPointF &pt, qreal dArrLen) const;
|
||||
QPolygonF SecondArrow(const QPointF &pt, qreal dArrLen) const;
|
||||
|
||||
QPainterPath MainShape() const;
|
||||
|
||||
|
|
|
@ -61,30 +61,30 @@ VHighlighter::VHighlighter(QTextDocument *document)
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VHighlighter::highlightBlock(const QString &text)
|
||||
{
|
||||
QScopedPointer<VTextBlockData> data(new VTextBlockData);
|
||||
std::unique_ptr<VTextBlockData> data(new VTextBlockData);
|
||||
|
||||
vsizetype leftPos = text.indexOf('(');
|
||||
while (leftPos != -1)
|
||||
{
|
||||
QScopedPointer<ParenthesisInfo> info(new ParenthesisInfo);
|
||||
std::unique_ptr<ParenthesisInfo> info(new ParenthesisInfo);
|
||||
info->character = '(';
|
||||
info->position = leftPos;
|
||||
|
||||
data->insert(info.take());
|
||||
data->insert(info.release());
|
||||
leftPos = text.indexOf('(', leftPos + 1);
|
||||
}
|
||||
|
||||
vsizetype rightPos = text.indexOf(')');
|
||||
while (rightPos != -1)
|
||||
{
|
||||
QScopedPointer<ParenthesisInfo> info(new ParenthesisInfo);
|
||||
std::unique_ptr<ParenthesisInfo> info(new ParenthesisInfo);
|
||||
info->character = ')';
|
||||
info->position = rightPos;
|
||||
|
||||
data->insert(info.take());
|
||||
data->insert(info.release());
|
||||
|
||||
rightPos = text.indexOf(')', rightPos +1);
|
||||
}
|
||||
|
||||
setCurrentBlockUserData(data.take());
|
||||
setCurrentBlockUserData(data.release());
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -810.9147913912859,
|
||||
"y": -9.118915311803084
|
||||
"y": -9.118915311803082
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -41,8 +41,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -773.697565712941,
|
||||
"y": -13.057776517652679
|
||||
"x": -773.6975657129408,
|
||||
"y": -13.057776517652666
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -50,8 +50,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -731.3693960390717,
|
||||
"y": -19.56419323976961
|
||||
"x": -731.3693960390715,
|
||||
"y": -19.564193239769583
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -59,8 +59,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -700.8138618525178,
|
||||
"y": -25.693917945236084
|
||||
"x": -700.8138618525176,
|
||||
"y": -25.693917945236056
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -68,8 +68,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -670.5392892845426,
|
||||
"y": -33.532046871057645
|
||||
"x": -670.5392892845424,
|
||||
"y": -33.53204687105762
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -77,8 +77,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -649.4254060248002,
|
||||
"y": -40.69070943425645
|
||||
"x": -649.4254060247999,
|
||||
"y": -40.69070943425643
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -86,7 +86,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -636.4972481739836,
|
||||
"x": -636.4972481739833,
|
||||
"y": -46.04184558720286
|
||||
},
|
||||
{
|
||||
|
@ -95,7 +95,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -630.5509356263242,
|
||||
"x": -630.5509356263238,
|
||||
"y": -48.932226964906654
|
||||
},
|
||||
{
|
||||
|
@ -104,7 +104,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -612.7709374645625,
|
||||
"x": -612.7709374645622,
|
||||
"y": -58.17881193899319
|
||||
},
|
||||
{
|
||||
|
|
|
@ -2,303 +2,283 @@
|
|||
"vector": [
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -838.7026077978918,
|
||||
"y": 360.52065549216434
|
||||
"x": -814.7149606299213,
|
||||
"y": 372.2542552635798
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 331.31319685039375
|
||||
"y": 330.5891727033602
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.923105387765915
|
||||
"y": 28.923105387766057
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": -46.674417477891
|
||||
"y": -46.67441747789094
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -814.2667801920632,
|
||||
"y": -46.77051665539527
|
||||
"x": -814.2667801920694,
|
||||
"y": -46.77051665539475
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -778.5602746831936,
|
||||
"y": -50.54949176119353
|
||||
"x": -778.5602746831969,
|
||||
"y": -50.54949176119329
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -737.9608911970817,
|
||||
"y": -56.79017047839188
|
||||
"x": -737.9608911970803,
|
||||
"y": -56.790170478392334
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -709.2737849361833,
|
||||
"y": -62.54507114228375
|
||||
"x": -709.2737849361882,
|
||||
"y": -62.54507114228297
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -681.3583296765719,
|
||||
"y": -69.77242131730468
|
||||
"x": -681.3583296765614,
|
||||
"y": -69.77242131730785
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -662.7349969797737,
|
||||
"y": -76.08666265976586
|
||||
"x": -662.7349969797801,
|
||||
"y": -76.08666265976335
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -652.0000133582188,
|
||||
"y": -80.53001488530833
|
||||
"x": -652.0000133582183,
|
||||
"y": -80.53001488530862
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -647.5347421078782,
|
||||
"y": -82.70049226350477
|
||||
"x": -647.5347421078806,
|
||||
"y": -82.70049226350372
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -631.5852394687809,
|
||||
"y": -90.99511806183605
|
||||
"x": -631.5852394687715,
|
||||
"y": -90.99511806184105
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -616.3280202339708,
|
||||
"y": -100.59426715699189
|
||||
"x": -616.3280202339932,
|
||||
"y": -100.59426715697734
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -594.0963839106636,
|
||||
"y": -115.9721553077516
|
||||
"x": -594.0963839106644,
|
||||
"y": -115.97215530775206
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -184.04865014874542,
|
||||
"y": 76.19837439910728
|
||||
"x": -184.04865014874576,
|
||||
"y": 76.19837439910705
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -202.58871262669427,
|
||||
"y": 128.53121708773386
|
||||
"x": -202.58871262669433,
|
||||
"y": 128.5312170877332
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -214.84435298014208,
|
||||
"y": 166.70961534534916
|
||||
"x": -214.84435298014535,
|
||||
"y": 166.709615345359
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -224.9007219166651,
|
||||
"y": 202.78670773496933
|
||||
"x": -224.9007219166664,
|
||||
"y": 202.7867077349721
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -232.93434714099388,
|
||||
"y": 237.08085683490162
|
||||
"x": -232.93434714099442,
|
||||
"y": 237.0808568349011
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -239.0890371517,
|
||||
"y": 269.81704595738483
|
||||
"x": -239.08903715169467,
|
||||
"y": 269.8170459573539
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -243.50661138639492,
|
||||
"y": 301.2305028748772
|
||||
"x": -243.50661138639543,
|
||||
"y": 301.2305028748881
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -246.32424570745619,
|
||||
"y": 331.5659013496832
|
||||
"x": -246.32424570745593,
|
||||
"y": 331.5659013496859
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -247.4259188169727,
|
||||
"y": 355.684725526716
|
||||
"x": -247.42591881697234,
|
||||
"y": 355.68472552671597
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -274.1103616347323,
|
||||
"y": 368.39650194198157
|
||||
"x": -274.1103616347226,
|
||||
"y": 368.3965019419771
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -280.43082717423164,
|
||||
"y": 370.73899686729357
|
||||
"x": -280.4308271742487,
|
||||
"y": 370.73899686729897
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -285.6974576466219,
|
||||
"y": 372.38739828360394
|
||||
"x": -286.53994881447335,
|
||||
"y": 372.65108939343145
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -295.7605238049826,
|
||||
"y": 375.0706690235611
|
||||
"x": -295.7605238049802,
|
||||
"y": 375.07066902356064
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -308.3295870292442,
|
||||
"y": 377.6522566136316
|
||||
"x": -309.1086607001497,
|
||||
"y": 377.8122722714953
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -323.20961073643133,
|
||||
"y": 380.0950323212031
|
||||
"x": -323.7918413406422,
|
||||
"y": 380.189287868496
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -339.2933747725014,
|
||||
"y": 382.20466538395215
|
||||
"x": -339.7464924132723,
|
||||
"y": 382.2635758852316
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -356.571621703457,
|
||||
"y": 384.0385765592796
|
||||
"x": -356.9362622181957,
|
||||
"y": 384.07704503986554
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -374.97963878344376,
|
||||
"y": 385.6272715746786
|
||||
"x": -375.2815276936278,
|
||||
"y": 385.65320885961137
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -394.4224543531813,
|
||||
"y": 386.9889713429367
|
||||
"x": -394.4224543531805,
|
||||
"y": 386.98897134293713
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -414.7876067251059,
|
||||
"y": 388.13579550460213
|
||||
"x": -414.7876067251065,
|
||||
"y": 388.13579550460133
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -435.9520270040894,
|
||||
"y": 389.07661798449516
|
||||
"x": -435.9520270040898,
|
||||
"y": 389.07661798449567
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -457.7859582653625,
|
||||
"y": 389.818484035946
|
||||
"x": -457.785958265363,
|
||||
"y": 389.8184840359457
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -480.15529936788164,
|
||||
"y": 390.3673559353522
|
||||
"x": -480.1552993678824,
|
||||
"y": 390.36735593535275
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -502.9230721502445,
|
||||
"y": 390.728524359008
|
||||
"x": -502.9230721502437,
|
||||
"y": 390.7285243590086
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -525.9503830211974,
|
||||
"y": 390.90684349642925
|
||||
"x": -525.950383021198,
|
||||
"y": 390.9068434964294
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -549.0970864147907,
|
||||
"y": 390.9068680348474
|
||||
"x": -549.0970864147915,
|
||||
"y": 390.90686803484715
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -572.2222728858704,
|
||||
"y": 390.7329321107656
|
||||
"x": -572.2222728858721,
|
||||
"y": 390.7329321107654
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -595.1846601171007,
|
||||
"y": 390.3891909827686
|
||||
"x": -595.1846601170994,
|
||||
"y": 390.3891909827694
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -617.8429427582322,
|
||||
"y": 389.87963542037477
|
||||
"x": -617.8429427582319,
|
||||
"y": 389.8796354203741
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -640.0561486385066,
|
||||
"y": 389.208081776043
|
||||
"x": -640.0561486385068,
|
||||
"y": 389.2080817760433
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -661.6840517509004,
|
||||
"y": 388.3781346110808
|
||||
"x": -661.6840517509002,
|
||||
"y": 388.3781346110811
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -682.5877079123347,
|
||||
"y": 387.3931112039713
|
||||
"x": -682.5877079123363,
|
||||
"y": 387.3931112039708
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -702.630213618707,
|
||||
"y": 386.255904969502
|
||||
"x": -702.6302136187057,
|
||||
"y": 386.2559049695029
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -721.6778577696439,
|
||||
"y": 384.9687413227849
|
||||
"x": -721.6778577696422,
|
||||
"y": 384.9687413227853
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -739.6019742862287,
|
||||
"y": 383.5327301728105
|
||||
"x": -739.6019742862303,
|
||||
"y": 383.5327301728113
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -756.2820913691256,
|
||||
"y": 381.94700726179155
|
||||
"x": -756.6283706367624,
|
||||
"y": 381.91399989149096
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -771.6116072858362,
|
||||
"y": 380.2069813195123
|
||||
"x": -772.0557074133295,
|
||||
"y": 380.1563856315983
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -785.5087261025127,
|
||||
"y": 378.3004611599152
|
||||
"x": -786.1074176186619,
|
||||
"y": 378.2178680808823
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -797.9392812498397,
|
||||
"y": 376.198189302873
|
||||
"x": -798.8005062137145,
|
||||
"y": 376.0511796823399
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -810.1810632465665,
|
||||
"y": 373.5624561175904
|
||||
"x": -810.1810632465617,
|
||||
"y": 373.5624561175911
|
||||
},
|
||||
{
|
||||
"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
|
||||
"x": -814.7149606299213,
|
||||
"y": 372.2542552635798
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -810.9147913912859,
|
||||
"y": -9.118915311803084
|
||||
"y": -9.118915311803082
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -41,8 +41,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -773.697565712941,
|
||||
"y": -13.057776517652679
|
||||
"x": -773.6975657129408,
|
||||
"y": -13.057776517652666
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -50,8 +50,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -731.3693960390717,
|
||||
"y": -19.56419323976961
|
||||
"x": -731.3693960390715,
|
||||
"y": -19.564193239769583
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -59,8 +59,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -700.8138618525178,
|
||||
"y": -25.693917945236084
|
||||
"x": -700.8138618525176,
|
||||
"y": -25.693917945236056
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -68,8 +68,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -670.5392892845426,
|
||||
"y": -33.532046871057645
|
||||
"x": -670.5392892845424,
|
||||
"y": -33.53204687105762
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -77,8 +77,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -649.4254060248002,
|
||||
"y": -40.69070943425645
|
||||
"x": -649.4254060247999,
|
||||
"y": -40.69070943425643
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -86,7 +86,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -636.4972481739836,
|
||||
"x": -636.4972481739833,
|
||||
"y": -46.04184558720286
|
||||
},
|
||||
{
|
||||
|
@ -95,7 +95,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -630.5509356263242,
|
||||
"x": -630.5509356263238,
|
||||
"y": -48.932226964906654
|
||||
},
|
||||
{
|
||||
|
@ -104,7 +104,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -612.7709374645625,
|
||||
"x": -612.7709374645622,
|
||||
"y": -58.17881193899319
|
||||
},
|
||||
{
|
||||
|
|
|
@ -2,303 +2,303 @@
|
|||
"vector": [
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -838.7026077978918,
|
||||
"y": 360.52065549216434
|
||||
"x": -863.5718297690097,
|
||||
"y": 340.0959369535931
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 331.31319685039375
|
||||
"y": 330.58917270335996
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.923105387765915
|
||||
"y": 28.923105387766057
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": -46.674417477891
|
||||
"y": -46.67441747789094
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -814.2667801920632,
|
||||
"y": -46.77051665539527
|
||||
"x": -814.2667801920694,
|
||||
"y": -46.77051665539475
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -778.5602746831936,
|
||||
"y": -50.54949176119353
|
||||
"x": -778.5602746831969,
|
||||
"y": -50.54949176119329
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -737.9608911970817,
|
||||
"y": -56.79017047839188
|
||||
"x": -737.9608911970803,
|
||||
"y": -56.790170478392334
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -709.2737849361833,
|
||||
"y": -62.54507114228375
|
||||
"x": -709.2737849361882,
|
||||
"y": -62.54507114228297
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -681.3583296765719,
|
||||
"y": -69.77242131730468
|
||||
"x": -681.3583296765614,
|
||||
"y": -69.77242131730785
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -662.7349969797737,
|
||||
"y": -76.08666265976586
|
||||
"x": -662.7349969797801,
|
||||
"y": -76.08666265976335
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -652.0000133582188,
|
||||
"y": -80.53001488530833
|
||||
"x": -652.0000133582183,
|
||||
"y": -80.53001488530862
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -647.5347421078782,
|
||||
"y": -82.70049226350477
|
||||
"x": -647.5347421078806,
|
||||
"y": -82.70049226350372
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -631.5852394687809,
|
||||
"y": -90.99511806183605
|
||||
"x": -631.5852394687715,
|
||||
"y": -90.99511806184105
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -616.3280202339708,
|
||||
"y": -100.59426715699189
|
||||
"x": -616.3280202339932,
|
||||
"y": -100.59426715697734
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -594.0963839106636,
|
||||
"y": -115.9721553077516
|
||||
"x": -594.0963839106644,
|
||||
"y": -115.97215530775206
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -184.04865014874542,
|
||||
"y": 76.19837439910728
|
||||
"x": -184.04865014874576,
|
||||
"y": 76.19837439910705
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -202.58871262669427,
|
||||
"y": 128.53121708773386
|
||||
"x": -202.58871262669433,
|
||||
"y": 128.5312170877332
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -214.84435298014208,
|
||||
"y": 166.70961534534916
|
||||
"x": -214.84435298014535,
|
||||
"y": 166.709615345359
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -224.9007219166651,
|
||||
"y": 202.78670773496933
|
||||
"x": -224.9007219166664,
|
||||
"y": 202.7867077349721
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -232.93434714099388,
|
||||
"y": 237.08085683490162
|
||||
"x": -232.93434714099442,
|
||||
"y": 237.0808568349011
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -239.0890371517,
|
||||
"y": 269.81704595738483
|
||||
"x": -239.08903715169467,
|
||||
"y": 269.8170459573539
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -243.50661138639492,
|
||||
"y": 301.2305028748772
|
||||
"x": -243.50661138639543,
|
||||
"y": 301.2305028748881
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -246.32424570745619,
|
||||
"y": 331.5659013496832
|
||||
"x": -246.32424570745593,
|
||||
"y": 331.5659013496859
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -247.4259188169727,
|
||||
"y": 355.684725526716
|
||||
"x": -247.42591881697234,
|
||||
"y": 355.68472552671597
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -274.1103616347323,
|
||||
"y": 368.39650194198157
|
||||
"x": -274.1103616347226,
|
||||
"y": 368.3965019419771
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -280.43082717423164,
|
||||
"y": 370.73899686729357
|
||||
"x": -280.4308271742487,
|
||||
"y": 370.73899686729897
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -285.6974576466219,
|
||||
"y": 372.38739828360394
|
||||
"x": -286.53994881447335,
|
||||
"y": 372.65108939343145
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -295.7605238049826,
|
||||
"y": 375.0706690235611
|
||||
"x": -295.7605238049802,
|
||||
"y": 375.07066902356064
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -308.3295870292442,
|
||||
"y": 377.6522566136316
|
||||
"x": -309.1086607001497,
|
||||
"y": 377.8122722714953
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -323.20961073643133,
|
||||
"y": 380.0950323212031
|
||||
"x": -323.7918413406422,
|
||||
"y": 380.189287868496
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -339.2933747725014,
|
||||
"y": 382.20466538395215
|
||||
"x": -339.7464924132723,
|
||||
"y": 382.2635758852316
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -356.571621703457,
|
||||
"y": 384.0385765592796
|
||||
"x": -356.9362622181957,
|
||||
"y": 384.07704503986554
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -374.97963878344376,
|
||||
"y": 385.6272715746786
|
||||
"x": -375.2815276936278,
|
||||
"y": 385.65320885961137
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -394.4224543531813,
|
||||
"y": 386.9889713429367
|
||||
"x": -394.4224543531805,
|
||||
"y": 386.98897134293713
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -414.7876067251059,
|
||||
"y": 388.13579550460213
|
||||
"x": -414.7876067251065,
|
||||
"y": 388.13579550460133
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -435.9520270040894,
|
||||
"y": 389.07661798449516
|
||||
"x": -435.9520270040898,
|
||||
"y": 389.07661798449567
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -457.7859582653625,
|
||||
"y": 389.818484035946
|
||||
"x": -457.785958265363,
|
||||
"y": 389.8184840359457
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -480.15529936788164,
|
||||
"y": 390.3673559353522
|
||||
"x": -480.1552993678824,
|
||||
"y": 390.36735593535275
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -502.9230721502445,
|
||||
"y": 390.728524359008
|
||||
"x": -502.9230721502437,
|
||||
"y": 390.7285243590086
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -525.9503830211974,
|
||||
"y": 390.90684349642925
|
||||
"x": -525.950383021198,
|
||||
"y": 390.9068434964294
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -549.0970864147907,
|
||||
"y": 390.9068680348474
|
||||
"x": -549.0970864147915,
|
||||
"y": 390.90686803484715
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -572.2222728858704,
|
||||
"y": 390.7329321107656
|
||||
"x": -572.2222728858721,
|
||||
"y": 390.7329321107654
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -595.1846601171007,
|
||||
"y": 390.3891909827686
|
||||
"x": -595.1846601170994,
|
||||
"y": 390.3891909827694
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -617.8429427582322,
|
||||
"y": 389.87963542037477
|
||||
"x": -617.8429427582319,
|
||||
"y": 389.8796354203741
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -640.0561486385066,
|
||||
"y": 389.208081776043
|
||||
"x": -640.0561486385068,
|
||||
"y": 389.2080817760433
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -661.6840517509004,
|
||||
"y": 388.3781346110808
|
||||
"x": -661.6840517509002,
|
||||
"y": 388.3781346110811
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -682.5877079123347,
|
||||
"y": 387.3931112039713
|
||||
"x": -682.5877079123363,
|
||||
"y": 387.3931112039708
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -702.630213618707,
|
||||
"y": 386.255904969502
|
||||
"x": -702.6302136187057,
|
||||
"y": 386.2559049695029
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -721.6778577696439,
|
||||
"y": 384.9687413227849
|
||||
"x": -721.6778577696422,
|
||||
"y": 384.9687413227853
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -739.6019742862287,
|
||||
"y": 383.5327301728105
|
||||
"x": -739.6019742862303,
|
||||
"y": 383.5327301728113
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -756.2820913691256,
|
||||
"y": 381.94700726179155
|
||||
"x": -756.6283706367624,
|
||||
"y": 381.91399989149096
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -771.6116072858362,
|
||||
"y": 380.2069813195123
|
||||
"x": -772.0557074133295,
|
||||
"y": 380.1563856315983
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -785.5087261025127,
|
||||
"y": 378.3004611599152
|
||||
"x": -786.1074176186619,
|
||||
"y": 378.2178680808823
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -797.9392812498397,
|
||||
"y": 376.198189302873
|
||||
"x": -798.8005062137145,
|
||||
"y": 376.0511796823399
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -810.1810632465665,
|
||||
"y": 373.5624561175904
|
||||
"x": -810.1810632465617,
|
||||
"y": 373.5624561175911
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -818.0929557813755,
|
||||
"y": 371.2795759163598
|
||||
"x": -818.0929557813661,
|
||||
"y": 371.27957591636186
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -823.6929755287612,
|
||||
"y": 369.27180555079025
|
||||
"x": -823.6929755287717,
|
||||
"y": 369.27180555078513
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -829.5753368833404,
|
||||
"y": 366.62694879394627
|
||||
"x": -829.5753368833371,
|
||||
"y": 366.62694879394735
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -835.8151397150936,
|
||||
"y": 362.8920896668543
|
||||
"x": -835.8151397150926,
|
||||
"y": 362.8920896668538
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -838.7026077978918,
|
||||
"y": 360.52065549216434
|
||||
"x": -863.5718297690097,
|
||||
"y": 340.0959369535931
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -810.9147913912859,
|
||||
"y": -9.118915311803084
|
||||
"y": -9.118915311803082
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -41,8 +41,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -773.697565712941,
|
||||
"y": -13.057776517652679
|
||||
"x": -773.6975657129408,
|
||||
"y": -13.057776517652666
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -50,8 +50,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -731.3693960390717,
|
||||
"y": -19.56419323976961
|
||||
"x": -731.3693960390715,
|
||||
"y": -19.564193239769583
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -59,8 +59,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -700.8138618525178,
|
||||
"y": -25.693917945236084
|
||||
"x": -700.8138618525176,
|
||||
"y": -25.693917945236056
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -68,8 +68,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -670.5392892845426,
|
||||
"y": -33.532046871057645
|
||||
"x": -670.5392892845424,
|
||||
"y": -33.53204687105762
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -77,8 +77,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -649.4254060248002,
|
||||
"y": -40.69070943425645
|
||||
"x": -649.4254060247999,
|
||||
"y": -40.69070943425643
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -86,7 +86,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -636.4972481739836,
|
||||
"x": -636.4972481739833,
|
||||
"y": -46.04184558720286
|
||||
},
|
||||
{
|
||||
|
@ -95,7 +95,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -630.5509356263242,
|
||||
"x": -630.5509356263238,
|
||||
"y": -48.932226964906654
|
||||
},
|
||||
{
|
||||
|
@ -104,7 +104,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -612.7709374645625,
|
||||
"x": -612.7709374645622,
|
||||
"y": -58.17881193899319
|
||||
},
|
||||
{
|
||||
|
|
|
@ -2,303 +2,283 @@
|
|||
"vector": [
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -838.7026077978918,
|
||||
"y": 360.52065549216434
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.923105387766057
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 331.31319685039375
|
||||
"y": -46.67441747789094
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.923105387765915
|
||||
"y": 372.2542552635798
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"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
|
||||
"y": 28.923105387766057
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -451,7 +451,7 @@
|
|||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -810.9147913912859,
|
||||
"y": -9.118915311803084
|
||||
"y": -9.118915311803082
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -459,8 +459,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -773.697565712941,
|
||||
"y": -13.057776517652679
|
||||
"x": -773.6975657129408,
|
||||
"y": -13.057776517652666
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -468,8 +468,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -731.3693960390717,
|
||||
"y": -19.56419323976961
|
||||
"x": -731.3693960390715,
|
||||
"y": -19.564193239769583
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -477,8 +477,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -700.8138618525178,
|
||||
"y": -25.693917945236084
|
||||
"x": -700.8138618525176,
|
||||
"y": -25.693917945236056
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -486,8 +486,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -670.5392892845426,
|
||||
"y": -33.532046871057645
|
||||
"x": -670.5392892845424,
|
||||
"y": -33.53204687105762
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -495,8 +495,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -649.4254060248002,
|
||||
"y": -40.69070943425645
|
||||
"x": -649.4254060247999,
|
||||
"y": -40.69070943425643
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -504,7 +504,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -636.4972481739836,
|
||||
"x": -636.4972481739833,
|
||||
"y": -46.04184558720286
|
||||
},
|
||||
{
|
||||
|
@ -513,7 +513,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -630.5509356263242,
|
||||
"x": -630.5509356263238,
|
||||
"y": -48.932226964906654
|
||||
},
|
||||
{
|
||||
|
@ -522,7 +522,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -612.7709374645625,
|
||||
"x": -612.7709374645622,
|
||||
"y": -58.17881193899319
|
||||
},
|
||||
{
|
||||
|
|
|
@ -2,313 +2,288 @@
|
|||
"vector": [
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -218.4362476442146,
|
||||
"y": 60.082487681666066
|
||||
"x": -218.43624764421457,
|
||||
"y": 60.082487681666
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -196.73040945651604,
|
||||
"y": 111.99504529263494
|
||||
"x": -196.73040945651616,
|
||||
"y": 111.99504529263479
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -196.73040945651593,
|
||||
"y": 111.995045292635
|
||||
"x": -202.58871262669425,
|
||||
"y": 128.53121708773293
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -202.58871262669427,
|
||||
"y": 128.53121708773386
|
||||
"x": -214.84435298014535,
|
||||
"y": 166.709615345359
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -214.84435298014208,
|
||||
"y": 166.70961534534916
|
||||
"x": -224.9007219166664,
|
||||
"y": 202.7867077349721
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -224.9007219166651,
|
||||
"y": 202.78670773496933
|
||||
"x": -232.93434714099442,
|
||||
"y": 237.0808568349011
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -232.93434714099388,
|
||||
"y": 237.08085683490162
|
||||
"x": -239.08903715169467,
|
||||
"y": 269.8170459573539
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -239.0890371517,
|
||||
"y": 269.81704595738483
|
||||
"x": -243.50661138639543,
|
||||
"y": 301.2305028748881
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -243.50661138639492,
|
||||
"y": 301.2305028748772
|
||||
"x": -246.32424570745593,
|
||||
"y": 331.5659013496859
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -246.32424570745619,
|
||||
"y": 331.5659013496832
|
||||
"x": -247.42591881697234,
|
||||
"y": 355.68472552671597
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -247.4259188169727,
|
||||
"y": 355.684725526716
|
||||
"x": -274.1103616347226,
|
||||
"y": 368.3965019419771
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -274.1103616347323,
|
||||
"y": 368.39650194198157
|
||||
"x": -280.4308271742487,
|
||||
"y": 370.73899686729897
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -280.43082717423164,
|
||||
"y": 370.73899686729357
|
||||
"x": -286.53994881447335,
|
||||
"y": 372.65108939343145
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -285.6974576466219,
|
||||
"y": 372.38739828360394
|
||||
"x": -295.7605238049802,
|
||||
"y": 375.07066902356064
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -295.7605238049826,
|
||||
"y": 375.0706690235611
|
||||
"x": -309.1086607001497,
|
||||
"y": 377.8122722714953
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -308.3295870292442,
|
||||
"y": 377.6522566136316
|
||||
"x": -323.7918413406422,
|
||||
"y": 380.189287868496
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -323.20961073643133,
|
||||
"y": 380.0950323212031
|
||||
"x": -339.7464924132723,
|
||||
"y": 382.2635758852316
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -339.2933747725014,
|
||||
"y": 382.20466538395215
|
||||
"x": -356.9362622181957,
|
||||
"y": 384.07704503986554
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -356.571621703457,
|
||||
"y": 384.0385765592796
|
||||
"x": -375.2815276936278,
|
||||
"y": 385.65320885961137
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -374.97963878344376,
|
||||
"y": 385.6272715746786
|
||||
"x": -394.4224543531805,
|
||||
"y": 386.98897134293713
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -394.4224543531813,
|
||||
"y": 386.9889713429367
|
||||
"x": -414.7876067251065,
|
||||
"y": 388.13579550460133
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -414.7876067251059,
|
||||
"y": 388.13579550460213
|
||||
"x": -435.9520270040898,
|
||||
"y": 389.07661798449567
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -435.9520270040894,
|
||||
"y": 389.07661798449516
|
||||
"x": -457.785958265363,
|
||||
"y": 389.8184840359457
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -457.7859582653625,
|
||||
"y": 389.818484035946
|
||||
"x": -480.1552993678824,
|
||||
"y": 390.36735593535275
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -480.15529936788164,
|
||||
"y": 390.3673559353522
|
||||
"x": -502.9230721502437,
|
||||
"y": 390.7285243590086
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -502.9230721502445,
|
||||
"y": 390.728524359008
|
||||
"x": -525.950383021198,
|
||||
"y": 390.9068434964294
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -525.9503830211974,
|
||||
"y": 390.90684349642925
|
||||
"x": -549.0970864147915,
|
||||
"y": 390.90686803484715
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -549.0970864147907,
|
||||
"y": 390.9068680348474
|
||||
"x": -572.2222728858721,
|
||||
"y": 390.7329321107654
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -572.2222728858704,
|
||||
"y": 390.7329321107656
|
||||
"x": -595.1846601170994,
|
||||
"y": 390.3891909827694
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -595.1846601171007,
|
||||
"y": 390.3891909827686
|
||||
"x": -617.8429427582319,
|
||||
"y": 389.8796354203741
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -617.8429427582322,
|
||||
"y": 389.87963542037477
|
||||
"x": -640.0561486385068,
|
||||
"y": 389.2080817760433
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -640.0561486385066,
|
||||
"y": 389.208081776043
|
||||
"x": -661.6840517509002,
|
||||
"y": 388.3781346110811
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -661.6840517509004,
|
||||
"y": 388.3781346110808
|
||||
"x": -682.5877079123363,
|
||||
"y": 387.3931112039708
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -682.5877079123347,
|
||||
"y": 387.3931112039713
|
||||
"x": -702.6302136187057,
|
||||
"y": 386.2559049695029
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -702.630213618707,
|
||||
"y": 386.255904969502
|
||||
"x": -721.6778577696422,
|
||||
"y": 384.9687413227853
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -721.6778577696439,
|
||||
"y": 384.9687413227849
|
||||
"x": -739.6019742862303,
|
||||
"y": 383.5327301728113
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -739.6019742862287,
|
||||
"y": 383.5327301728105
|
||||
"x": -756.6283706367624,
|
||||
"y": 381.91399989149096
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -756.2820913691256,
|
||||
"y": 381.94700726179155
|
||||
"x": -772.0557074133295,
|
||||
"y": 380.1563856315983
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -771.6116072858362,
|
||||
"y": 380.2069813195123
|
||||
"x": -786.1074176186619,
|
||||
"y": 378.2178680808823
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -785.5087261025127,
|
||||
"y": 378.3004611599152
|
||||
"x": -798.8005062137145,
|
||||
"y": 376.0511796823399
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -797.9392812498397,
|
||||
"y": 376.198189302873
|
||||
"x": -810.1810632465617,
|
||||
"y": 373.5624561175911
|
||||
},
|
||||
{
|
||||
"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
|
||||
"x": -814.7149606299213,
|
||||
"y": 372.2542552635798
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 331.31319685039375
|
||||
"y": 330.5891727033602
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.923105387766014
|
||||
"y": 28.923105387766057
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": -46.674417477891
|
||||
"y": -46.67441747789091
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -814.2667801920633,
|
||||
"y": -46.770516655395255
|
||||
"x": -814.2667801920695,
|
||||
"y": -46.77051665539474
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -778.5602746831936,
|
||||
"y": -50.54949176119353
|
||||
"x": -778.5602746831969,
|
||||
"y": -50.54949176119329
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -737.9608911970817,
|
||||
"y": -56.79017047839188
|
||||
"x": -737.9608911970803,
|
||||
"y": -56.790170478392334
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -709.2737849361833,
|
||||
"y": -62.54507114228375
|
||||
"x": -709.2737849361882,
|
||||
"y": -62.54507114228297
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -681.3583296765719,
|
||||
"y": -69.77242131730468
|
||||
"x": -681.3583296765614,
|
||||
"y": -69.77242131730785
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -662.7349969797737,
|
||||
"y": -76.08666265976586
|
||||
"x": -662.7349969797801,
|
||||
"y": -76.08666265976335
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -652.0000133582188,
|
||||
"y": -80.53001488530833
|
||||
"x": -652.0000133582183,
|
||||
"y": -80.53001488530862
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -647.5347421078782,
|
||||
"y": -82.70049226350477
|
||||
"x": -647.5347421078806,
|
||||
"y": -82.70049226350372
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -631.5852394687809,
|
||||
"y": -90.99511806183605
|
||||
"x": -631.5852394687715,
|
||||
"y": -90.99511806184105
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -616.3280202339708,
|
||||
"y": -100.59426715699185
|
||||
"x": -616.3280202339934,
|
||||
"y": -100.59426715697732
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -594.0963839106636,
|
||||
"y": -115.97215530775165
|
||||
"x": -594.0963839106644,
|
||||
"y": -115.97215530775212
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -218.4362476442146,
|
||||
"y": 60.082487681666066
|
||||
"x": -218.43624764421457,
|
||||
"y": 60.082487681666
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -457,7 +457,7 @@
|
|||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -810.9147913912859,
|
||||
"y": -9.118915311803084
|
||||
"y": -9.118915311803082
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -465,8 +465,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -773.697565712941,
|
||||
"y": -13.057776517652679
|
||||
"x": -773.6975657129408,
|
||||
"y": -13.057776517652666
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -474,8 +474,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -731.3693960390717,
|
||||
"y": -19.56419323976961
|
||||
"x": -731.3693960390715,
|
||||
"y": -19.564193239769583
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -483,8 +483,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -700.8138618525178,
|
||||
"y": -25.693917945236084
|
||||
"x": -700.8138618525176,
|
||||
"y": -25.693917945236056
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -492,8 +492,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -670.5392892845426,
|
||||
"y": -33.532046871057645
|
||||
"x": -670.5392892845424,
|
||||
"y": -33.53204687105762
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -501,8 +501,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -649.4254060248002,
|
||||
"y": -40.69070943425645
|
||||
"x": -649.4254060247999,
|
||||
"y": -40.69070943425643
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -510,7 +510,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -636.4972481739836,
|
||||
"x": -636.4972481739833,
|
||||
"y": -46.04184558720286
|
||||
},
|
||||
{
|
||||
|
@ -519,7 +519,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -630.5509356263242,
|
||||
"x": -630.5509356263238,
|
||||
"y": -48.932226964906654
|
||||
},
|
||||
{
|
||||
|
@ -528,7 +528,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -612.7709374645625,
|
||||
"x": -612.7709374645622,
|
||||
"y": -58.17881193899319
|
||||
},
|
||||
{
|
||||
|
|
|
@ -2,313 +2,288 @@
|
|||
"vector": [
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -594.0963839106636,
|
||||
"y": -115.97215530775165
|
||||
"x": -594.0963839106644,
|
||||
"y": -115.97215530775212
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -218.4362476442146,
|
||||
"y": 60.082487681666066
|
||||
"x": -218.43624764421457,
|
||||
"y": 60.082487681666
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -196.73040945651604,
|
||||
"y": 111.99504529263494
|
||||
"x": -196.73040945651616,
|
||||
"y": 111.99504529263479
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -196.73040945651593,
|
||||
"y": 111.995045292635
|
||||
"x": -202.58871262669425,
|
||||
"y": 128.53121708773293
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -202.58871262669427,
|
||||
"y": 128.53121708773386
|
||||
"x": -214.84435298014535,
|
||||
"y": 166.709615345359
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -214.84435298014208,
|
||||
"y": 166.70961534534916
|
||||
"x": -224.9007219166664,
|
||||
"y": 202.7867077349721
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -224.9007219166651,
|
||||
"y": 202.78670773496933
|
||||
"x": -232.93434714099442,
|
||||
"y": 237.0808568349011
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -232.93434714099388,
|
||||
"y": 237.08085683490162
|
||||
"x": -239.08903715169467,
|
||||
"y": 269.8170459573539
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -239.0890371517,
|
||||
"y": 269.81704595738483
|
||||
"x": -243.50661138639543,
|
||||
"y": 301.2305028748881
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -243.50661138639492,
|
||||
"y": 301.2305028748772
|
||||
"x": -246.32424570745593,
|
||||
"y": 331.5659013496859
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -246.32424570745619,
|
||||
"y": 331.5659013496832
|
||||
"x": -247.42591881697234,
|
||||
"y": 355.68472552671597
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -247.4259188169727,
|
||||
"y": 355.684725526716
|
||||
"x": -274.1103616347226,
|
||||
"y": 368.3965019419771
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -274.1103616347323,
|
||||
"y": 368.39650194198157
|
||||
"x": -280.4308271742487,
|
||||
"y": 370.73899686729897
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -280.43082717423164,
|
||||
"y": 370.73899686729357
|
||||
"x": -286.53994881447335,
|
||||
"y": 372.65108939343145
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -285.6974576466219,
|
||||
"y": 372.38739828360394
|
||||
"x": -295.7605238049802,
|
||||
"y": 375.07066902356064
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -295.7605238049826,
|
||||
"y": 375.0706690235611
|
||||
"x": -309.1086607001497,
|
||||
"y": 377.8122722714953
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -308.3295870292442,
|
||||
"y": 377.6522566136316
|
||||
"x": -323.7918413406422,
|
||||
"y": 380.189287868496
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -323.20961073643133,
|
||||
"y": 380.0950323212031
|
||||
"x": -339.7464924132723,
|
||||
"y": 382.2635758852316
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -339.2933747725014,
|
||||
"y": 382.20466538395215
|
||||
"x": -356.9362622181957,
|
||||
"y": 384.07704503986554
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -356.571621703457,
|
||||
"y": 384.0385765592796
|
||||
"x": -375.2815276936278,
|
||||
"y": 385.65320885961137
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -374.97963878344376,
|
||||
"y": 385.6272715746786
|
||||
"x": -394.4224543531805,
|
||||
"y": 386.98897134293713
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -394.4224543531813,
|
||||
"y": 386.9889713429367
|
||||
"x": -414.7876067251065,
|
||||
"y": 388.13579550460133
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -414.7876067251059,
|
||||
"y": 388.13579550460213
|
||||
"x": -435.9520270040898,
|
||||
"y": 389.07661798449567
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -435.9520270040894,
|
||||
"y": 389.07661798449516
|
||||
"x": -457.785958265363,
|
||||
"y": 389.8184840359457
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -457.7859582653625,
|
||||
"y": 389.818484035946
|
||||
"x": -480.1552993678824,
|
||||
"y": 390.36735593535275
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -480.15529936788164,
|
||||
"y": 390.3673559353522
|
||||
"x": -502.9230721502437,
|
||||
"y": 390.7285243590086
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -502.9230721502445,
|
||||
"y": 390.728524359008
|
||||
"x": -525.950383021198,
|
||||
"y": 390.9068434964294
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -525.9503830211974,
|
||||
"y": 390.90684349642925
|
||||
"x": -549.0970864147915,
|
||||
"y": 390.90686803484715
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -549.0970864147907,
|
||||
"y": 390.9068680348474
|
||||
"x": -572.2222728858721,
|
||||
"y": 390.7329321107654
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -572.2222728858704,
|
||||
"y": 390.7329321107656
|
||||
"x": -595.1846601170994,
|
||||
"y": 390.3891909827694
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -595.1846601171007,
|
||||
"y": 390.3891909827686
|
||||
"x": -617.8429427582319,
|
||||
"y": 389.8796354203741
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -617.8429427582322,
|
||||
"y": 389.87963542037477
|
||||
"x": -640.0561486385068,
|
||||
"y": 389.2080817760433
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -640.0561486385066,
|
||||
"y": 389.208081776043
|
||||
"x": -661.6840517509002,
|
||||
"y": 388.3781346110811
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -661.6840517509004,
|
||||
"y": 388.3781346110808
|
||||
"x": -682.5877079123363,
|
||||
"y": 387.3931112039708
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -682.5877079123347,
|
||||
"y": 387.3931112039713
|
||||
"x": -702.6302136187057,
|
||||
"y": 386.2559049695029
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -702.630213618707,
|
||||
"y": 386.255904969502
|
||||
"x": -721.6778577696422,
|
||||
"y": 384.9687413227853
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -721.6778577696439,
|
||||
"y": 384.9687413227849
|
||||
"x": -739.6019742862303,
|
||||
"y": 383.5327301728113
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -739.6019742862287,
|
||||
"y": 383.5327301728105
|
||||
"x": -756.6283706367624,
|
||||
"y": 381.91399989149096
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -756.2820913691256,
|
||||
"y": 381.94700726179155
|
||||
"x": -772.0557074133295,
|
||||
"y": 380.1563856315983
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -771.6116072858362,
|
||||
"y": 380.2069813195123
|
||||
"x": -786.1074176186619,
|
||||
"y": 378.2178680808823
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -785.5087261025127,
|
||||
"y": 378.3004611599152
|
||||
"x": -798.8005062137145,
|
||||
"y": 376.0511796823399
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -797.9392812498397,
|
||||
"y": 376.198189302873
|
||||
"x": -810.1810632465617,
|
||||
"y": 373.5624561175911
|
||||
},
|
||||
{
|
||||
"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
|
||||
"x": -814.7149606299213,
|
||||
"y": 372.2542552635798
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 331.31319685039375
|
||||
"y": 330.5891727033602
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.923105387766014
|
||||
"y": 28.923105387766057
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": -46.674417477891
|
||||
"y": -46.67441747789091
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -814.2667801920633,
|
||||
"y": -46.770516655395255
|
||||
"x": -814.2667801920695,
|
||||
"y": -46.77051665539474
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -778.5602746831936,
|
||||
"y": -50.54949176119353
|
||||
"x": -778.5602746831969,
|
||||
"y": -50.54949176119329
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -737.9608911970817,
|
||||
"y": -56.79017047839188
|
||||
"x": -737.9608911970803,
|
||||
"y": -56.790170478392334
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -709.2737849361833,
|
||||
"y": -62.54507114228375
|
||||
"x": -709.2737849361882,
|
||||
"y": -62.54507114228297
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -681.3583296765719,
|
||||
"y": -69.77242131730468
|
||||
"x": -681.3583296765614,
|
||||
"y": -69.77242131730785
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -662.7349969797737,
|
||||
"y": -76.08666265976586
|
||||
"x": -662.7349969797801,
|
||||
"y": -76.08666265976335
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -652.0000133582188,
|
||||
"y": -80.53001488530833
|
||||
"x": -652.0000133582183,
|
||||
"y": -80.53001488530862
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -647.5347421078782,
|
||||
"y": -82.70049226350477
|
||||
"x": -647.5347421078806,
|
||||
"y": -82.70049226350372
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -631.5852394687809,
|
||||
"y": -90.99511806183605
|
||||
"x": -631.5852394687715,
|
||||
"y": -90.99511806184105
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -616.3280202339708,
|
||||
"y": -100.59426715699185
|
||||
"x": -616.3280202339934,
|
||||
"y": -100.59426715697732
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -594.0963839106636,
|
||||
"y": -115.97215530775165
|
||||
"x": -594.0963839106644,
|
||||
"y": -115.97215530775212
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -810.9147913912859,
|
||||
"y": -9.118915311803084
|
||||
"y": -9.118915311803082
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -24,8 +24,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -773.697565712941,
|
||||
"y": -13.057776517652679
|
||||
"x": -773.6975657129408,
|
||||
"y": -13.057776517652666
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -33,8 +33,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -731.3693960390717,
|
||||
"y": -19.56419323976961
|
||||
"x": -731.3693960390715,
|
||||
"y": -19.564193239769583
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -42,8 +42,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -700.8138618525178,
|
||||
"y": -25.693917945236084
|
||||
"x": -700.8138618525176,
|
||||
"y": -25.693917945236056
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -51,8 +51,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -670.5392892845426,
|
||||
"y": -33.532046871057645
|
||||
"x": -670.5392892845424,
|
||||
"y": -33.53204687105762
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -60,8 +60,8 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -649.4254060248002,
|
||||
"y": -40.69070943425645
|
||||
"x": -649.4254060247999,
|
||||
"y": -40.69070943425643
|
||||
},
|
||||
{
|
||||
"angle": 6,
|
||||
|
@ -69,7 +69,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -636.4972481739836,
|
||||
"x": -636.4972481739833,
|
||||
"y": -46.04184558720286
|
||||
},
|
||||
{
|
||||
|
@ -78,7 +78,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -630.5509356263242,
|
||||
"x": -630.5509356263238,
|
||||
"y": -48.932226964906654
|
||||
},
|
||||
{
|
||||
|
@ -87,7 +87,7 @@
|
|||
"saAfter": 37.795275590551185,
|
||||
"saBefore": 37.795275590551185,
|
||||
"type": "VSAPoint",
|
||||
"x": -612.7709374645625,
|
||||
"x": -612.7709374645622,
|
||||
"y": -58.17881193899319
|
||||
},
|
||||
{
|
||||
|
|
|
@ -3,312 +3,287 @@
|
|||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.864326962967652
|
||||
"y": 28.864326962967752
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": -46.74789050888896
|
||||
"y": -46.747890508888815
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -814.7887347652259,
|
||||
"y": -46.8308714614612
|
||||
"x": -814.7887347652247,
|
||||
"y": -46.83087146146117
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -778.5027796006967,
|
||||
"y": -50.55832953918108
|
||||
"x": -778.5027796007051,
|
||||
"y": -50.55832953918005
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -737.9608911970817,
|
||||
"y": -56.79017047839188
|
||||
"x": -737.9608911970803,
|
||||
"y": -56.790170478392334
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -709.2737849361833,
|
||||
"y": -62.54507114228375
|
||||
"x": -709.2737849361882,
|
||||
"y": -62.54507114228297
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -681.3583296765719,
|
||||
"y": -69.77242131730468
|
||||
"x": -681.3583296765614,
|
||||
"y": -69.77242131730785
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -662.7349969797737,
|
||||
"y": -76.08666265976586
|
||||
"x": -662.7349969797801,
|
||||
"y": -76.08666265976335
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -652.0000133582188,
|
||||
"y": -80.53001488530833
|
||||
"x": -652.0000133582183,
|
||||
"y": -80.53001488530862
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -647.5347421078782,
|
||||
"y": -82.70049226350477
|
||||
"x": -647.5347421078806,
|
||||
"y": -82.70049226350372
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -631.5852394687809,
|
||||
"y": -90.99511806183605
|
||||
"x": -631.5852394687715,
|
||||
"y": -90.99511806184105
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -616.3280202339708,
|
||||
"y": -100.59426715699185
|
||||
"x": -616.3280202339934,
|
||||
"y": -100.59426715697732
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -594.0963839106636,
|
||||
"y": -115.97215530775165
|
||||
"x": -594.0963839106644,
|
||||
"y": -115.97215530775212
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -218.4362476442146,
|
||||
"y": 60.082487681666066
|
||||
"x": -218.43624764421457,
|
||||
"y": 60.082487681666
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -196.73040945651604,
|
||||
"y": 111.99504529263494
|
||||
"x": -196.73040945651616,
|
||||
"y": 111.99504529263479
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -196.73040945651593,
|
||||
"y": 111.995045292635
|
||||
"x": -202.58871262669425,
|
||||
"y": 128.53121708773293
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -202.58871262669427,
|
||||
"y": 128.53121708773386
|
||||
"x": -214.84435298014535,
|
||||
"y": 166.709615345359
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -214.84435298014208,
|
||||
"y": 166.70961534534916
|
||||
"x": -224.9007219166664,
|
||||
"y": 202.7867077349721
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -224.9007219166651,
|
||||
"y": 202.78670773496933
|
||||
"x": -232.93434714099442,
|
||||
"y": 237.0808568349011
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -232.93434714099388,
|
||||
"y": 237.08085683490162
|
||||
"x": -239.08903715169467,
|
||||
"y": 269.8170459573539
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -239.0890371517,
|
||||
"y": 269.81704595738483
|
||||
"x": -243.50661138639543,
|
||||
"y": 301.2305028748881
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -243.50661138639492,
|
||||
"y": 301.2305028748772
|
||||
"x": -246.32424570745593,
|
||||
"y": 331.5659013496859
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -246.32424570745619,
|
||||
"y": 331.5659013496832
|
||||
"x": -247.42591881697234,
|
||||
"y": 355.68472552671597
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -247.4259188169727,
|
||||
"y": 355.684725526716
|
||||
"x": -274.1103616347226,
|
||||
"y": 368.3965019419771
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -274.1103616347323,
|
||||
"y": 368.39650194198157
|
||||
"x": -280.4308271742487,
|
||||
"y": 370.73899686729897
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -280.43082717423164,
|
||||
"y": 370.73899686729357
|
||||
"x": -286.53994881447335,
|
||||
"y": 372.65108939343145
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -285.6974576466219,
|
||||
"y": 372.38739828360394
|
||||
"x": -295.7605238049802,
|
||||
"y": 375.07066902356064
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -295.7605238049826,
|
||||
"y": 375.0706690235611
|
||||
"x": -309.1086607001497,
|
||||
"y": 377.8122722714953
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -308.3295870292442,
|
||||
"y": 377.6522566136316
|
||||
"x": -323.7918413406422,
|
||||
"y": 380.189287868496
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -323.20961073643133,
|
||||
"y": 380.0950323212031
|
||||
"x": -339.7464924132723,
|
||||
"y": 382.2635758852316
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -339.2933747725014,
|
||||
"y": 382.20466538395215
|
||||
"x": -356.9362622181957,
|
||||
"y": 384.07704503986554
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -356.571621703457,
|
||||
"y": 384.0385765592796
|
||||
"x": -375.2815276936278,
|
||||
"y": 385.65320885961137
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -374.97963878344376,
|
||||
"y": 385.6272715746786
|
||||
"x": -394.4224543531805,
|
||||
"y": 386.98897134293713
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -394.4224543531813,
|
||||
"y": 386.9889713429367
|
||||
"x": -414.7876067251065,
|
||||
"y": 388.13579550460133
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -414.7876067251059,
|
||||
"y": 388.13579550460213
|
||||
"x": -435.9520270040898,
|
||||
"y": 389.07661798449567
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -435.9520270040894,
|
||||
"y": 389.07661798449516
|
||||
"x": -457.785958265363,
|
||||
"y": 389.8184840359457
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -457.7859582653625,
|
||||
"y": 389.818484035946
|
||||
"x": -480.1552993678824,
|
||||
"y": 390.36735593535275
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -480.15529936788164,
|
||||
"y": 390.3673559353522
|
||||
"x": -502.9230721502437,
|
||||
"y": 390.7285243590086
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -502.9230721502445,
|
||||
"y": 390.728524359008
|
||||
"x": -525.950383021198,
|
||||
"y": 390.9068434964294
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -525.9503830211974,
|
||||
"y": 390.90684349642925
|
||||
"x": -549.0970864147915,
|
||||
"y": 390.90686803484715
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -549.0970864147907,
|
||||
"y": 390.9068680348474
|
||||
"x": -572.2222728858721,
|
||||
"y": 390.7329321107654
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -572.2222728858704,
|
||||
"y": 390.7329321107656
|
||||
"x": -595.1846601170994,
|
||||
"y": 390.3891909827694
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -595.1846601171007,
|
||||
"y": 390.3891909827686
|
||||
"x": -617.8429427582319,
|
||||
"y": 389.8796354203741
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -617.8429427582322,
|
||||
"y": 389.87963542037477
|
||||
"x": -640.0561486385068,
|
||||
"y": 389.2080817760433
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -640.0561486385066,
|
||||
"y": 389.208081776043
|
||||
"x": -661.6840517509002,
|
||||
"y": 388.3781346110811
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -661.6840517509004,
|
||||
"y": 388.3781346110808
|
||||
"x": -682.5877079123363,
|
||||
"y": 387.3931112039708
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -682.5877079123347,
|
||||
"y": 387.3931112039713
|
||||
"x": -702.6302136187057,
|
||||
"y": 386.2559049695029
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -702.630213618707,
|
||||
"y": 386.255904969502
|
||||
"x": -721.6778577696422,
|
||||
"y": 384.9687413227853
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -721.6778577696439,
|
||||
"y": 384.9687413227849
|
||||
"x": -739.6019742862303,
|
||||
"y": 383.5327301728113
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -739.6019742862287,
|
||||
"y": 383.5327301728105
|
||||
"x": -756.6283706367624,
|
||||
"y": 381.91399989149096
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -756.2820913691256,
|
||||
"y": 381.94700726179155
|
||||
"x": -772.0557074133295,
|
||||
"y": 380.1563856315983
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -771.6116072858362,
|
||||
"y": 380.2069813195123
|
||||
"x": -786.1074176186619,
|
||||
"y": 378.2178680808823
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -785.5087261025127,
|
||||
"y": 378.3004611599152
|
||||
"x": -798.8005062137145,
|
||||
"y": 376.0511796823399
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -797.9392812498397,
|
||||
"y": 376.198189302873
|
||||
"x": -810.1810632465617,
|
||||
"y": 373.5624561175911
|
||||
},
|
||||
{
|
||||
"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
|
||||
"x": -814.7149606299213,
|
||||
"y": 372.2542552635798
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 331.31319685039375
|
||||
"y": 330.5891727033602
|
||||
},
|
||||
{
|
||||
"type": "QPointF",
|
||||
"x": -815.5965354330709,
|
||||
"y": 28.864326962967652
|
||||
"y": 28.864326962967752
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
626
src/test/ValentinaTest/share/hat/input.json
Normal file
626
src/test/ValentinaTest/share/hat/input.json
Normal file
|
@ -0,0 +1,626 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
359
src/test/ValentinaTest/share/hat/output.json
Normal file
359
src/test/ValentinaTest/share/hat/output.json
Normal file
|
@ -0,0 +1,359 @@
|
|||
{
|
||||
"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,5 +161,7 @@
|
|||
<file>custom_seam_allwance_exclude_p1/output.json</file>
|
||||
<file>custom_seam_allwance_exclude_p2/input.json</file>
|
||||
<file>custom_seam_allwance_exclude_p2/output.json</file>
|
||||
<file>hat/input.json</file>
|
||||
<file>hat/output.json</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1140,6 +1140,12 @@ void TST_VAbstractPiece::EquidistantAngleType_data()
|
|||
QStringLiteral("://smart_pattern_#133/input.json"),
|
||||
QStringLiteral("://smart_pattern_#133/output.json"),
|
||||
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